summaryrefslogtreecommitdiff
path: root/doTest.go
diff options
context:
space:
mode:
Diffstat (limited to 'doTest.go')
-rw-r--r--doTest.go32
1 files changed, 19 insertions, 13 deletions
diff --git a/doTest.go b/doTest.go
index 1247d94..c7610a7 100644
--- a/doTest.go
+++ b/doTest.go
@@ -8,6 +8,7 @@ import (
"strings"
"github.com/go-cmd/cmd"
+ "go.wit.com/lib/cobol"
"go.wit.com/lib/config"
"go.wit.com/lib/gui/shell"
"go.wit.com/log"
@@ -31,6 +32,7 @@ func doTest() (string, error) {
log.Info(s, err)
return s, config.ErrEmpty
}
+ var allver string
for _, line := range strings.Split(string(data), "\n") {
line := strings.TrimSpace(line)
if line == "" {
@@ -60,9 +62,12 @@ func doTest() (string, error) {
}
if argv.Test.Version != nil {
// log.Info("LINE=", cmdname)
- allerr = errors.Join(allerr, doTestVersion(cmdname))
+ s, err := doTestVersion(cmdname)
+ allver += s + "\n"
+ allerr = errors.Join(allerr, err)
}
}
+ cobol.DumbTable(allver)
if allerr != nil {
log.Printf("ALLERR=(%v)\n", allerr)
return "version tests failed", allerr
@@ -90,39 +95,40 @@ func versionStderr(cmdname string, r *cmd.Status) error {
return stderr
}
-func doTestVersion(cmdname string) error {
+func doTestVersion(cmdname string) (string, error) {
+ var good string
r := shell.Run([]string{cmdname, "--version"})
if r.Exit != 0 {
- return versionStderr(cmdname, &r)
+ return good, versionStderr(cmdname, &r)
}
if r.Error != nil {
- return versionStderr(cmdname, &r)
+ return good, versionStderr(cmdname, &r)
}
if len(r.Stdout) == 0 {
- return versionStderr(cmdname, &r)
+ return good, versionStderr(cmdname, &r)
}
if len(r.Stdout) == 1 {
line := r.Stdout[0]
if !strings.HasPrefix(line, cmdname) {
- return versionStderr(cmdname, &r)
+ return good, versionStderr(cmdname, &r)
}
- log.Info(line)
// probably okay
- return nil
+ good = line
+ return good, nil
}
if len(r.Stdout) == 2 {
line := r.Stdout[0]
if !strings.HasPrefix(line, "APPNAME=") {
- return versionStderr(cmdname, &r)
+ return good, versionStderr(cmdname, &r)
}
line = r.Stdout[1]
if !strings.HasPrefix(line, cmdname) {
- return versionStderr(cmdname, &r)
+ return good, versionStderr(cmdname, &r)
}
- log.Info(line)
// probably okay
- return nil
+ good = line
+ return good, nil
}
- return versionStderr(cmdname, &r)
+ return good, versionStderr(cmdname, &r)
}