aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/testdata
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2018-06-17 17:27:13 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2018-06-19 22:19:28 +0000
commit65d55a13a92a3bbc2a3750fd3318d63bd3e664c9 (patch)
treeb73447efcde4c949268e35b0b1f6cd0bf8f95c43 /src/runtime/testdata
parent2036f16247c6702a95d6c5e876a35c8ef484dbf8 (diff)
downloadgo-65d55a13a92a3bbc2a3750fd3318d63bd3e664c9.tar.xz
runtime: fix FreeBSDNumCPU test
num cpu unit test fixes for FreeBSD. cpuset -g can possibly output more data than expected. Fixes #25924 Change-Id: Iec45a919df68648759331da7cd1fa3b9f3ca4241 GitHub-Last-Rev: 4cc275b519cda13189ec48b581ab9ce00cacd7f6 GitHub-Pull-Request: golang/go#25931 Reviewed-on: https://go-review.googlesource.com/119376 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/runtime/testdata')
-rw-r--r--src/runtime/testdata/testprog/numcpu_freebsd.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/runtime/testdata/testprog/numcpu_freebsd.go b/src/runtime/testdata/testprog/numcpu_freebsd.go
index 035c53470b..42ee154883 100644
--- a/src/runtime/testdata/testprog/numcpu_freebsd.go
+++ b/src/runtime/testdata/testprog/numcpu_freebsd.go
@@ -9,12 +9,17 @@ import (
"fmt"
"os"
"os/exec"
+ "regexp"
"runtime"
"strconv"
"strings"
"syscall"
)
+var (
+ cpuSetRE = regexp.MustCompile(`(\d,?)+`)
+)
+
func init() {
register("FreeBSDNumCPU", FreeBSDNumCPU)
register("FreeBSDNumCPUHelper", FreeBSDNumCPUHelper)
@@ -105,8 +110,12 @@ func checkNCPU(list []string) error {
return fmt.Errorf("could not check against an empty CPU list")
}
+ cListString := cpuSetRE.FindString(listString)
+ if len(cListString) == 0 {
+ return fmt.Errorf("invalid cpuset output '%s'", listString)
+ }
// Launch FreeBSDNumCPUHelper() with specified CPUs list.
- cmd := exec.Command("cpuset", "-l", listString, os.Args[0], "FreeBSDNumCPUHelper")
+ cmd := exec.Command("cpuset", "-l", cListString, os.Args[0], "FreeBSDNumCPUHelper")
cmdline := strings.Join(cmd.Args, " ")
output, err := cmd.CombinedOutput()
if err != nil {
@@ -120,7 +129,7 @@ func checkNCPU(list []string) error {
return fmt.Errorf("fail to parse output from child '%s', error: %s, output: %s", cmdline, err, output)
}
if n != len(list) {
- return fmt.Errorf("runtime.NumCPU() expected to %d, got %d when run with CPU list %s", len(list), n, listString)
+ return fmt.Errorf("runtime.NumCPU() expected to %d, got %d when run with CPU list %s", len(list), n, cListString)
}
return nil
}