From: Ian Lance Taylor Date: Fri, 24 Jul 2015 05:40:30 +0000 (-0700) Subject: runtime: require gdb version 7.9 for gdb test X-Git-Tag: go1.5beta3~85 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=eb248c4df2c2850d49b9656f6aa1e3d1d67af61b;p=gostls13.git runtime: require gdb version 7.9 for gdb test Issue 11214 reports problems with older versions of gdb. It does work with gdb 7.9 on my Ubuntu Trusty system, so take that as the minimum required version. Fixes #11214. Change-Id: I61b732895506575be7af595f81fc1bcf696f58c2 Reviewed-on: https://go-review.googlesource.com/12626 Reviewed-by: Austin Clements --- diff --git a/src/runtime/runtime-gdb_test.go b/src/runtime/runtime-gdb_test.go index a1c96bf134..2843633ee1 100644 --- a/src/runtime/runtime-gdb_test.go +++ b/src/runtime/runtime-gdb_test.go @@ -9,6 +9,7 @@ import ( "path/filepath" "regexp" "runtime" + "strconv" "testing" ) @@ -22,6 +23,23 @@ func checkGdbPython(t *testing.T) { if string(out) != "go gdb python support\n" { t.Skipf("skipping due to lack of python gdb support: %s", out) } + + // Issue 11214 reports various failures with older versions of gdb. + out, err = exec.Command("gdb", "--version").CombinedOutput() + re := regexp.MustCompile(`([0-9]+)\.([0-9]+)`) + matches := re.FindSubmatch(out) + if len(matches) < 3 { + t.Skipf("skipping: can't determine gdb version from\n%s\n", out) + } + major, err1 := strconv.Atoi(string(matches[1])) + minor, err2 := strconv.Atoi(string(matches[2])) + if err1 != nil || err2 != nil { + t.Skipf("skipping: can't determine gdb version: %v, %v", err1, err2) + } + if major < 7 || (major == 7 && minor < 7) { + t.Skipf("skipping: gdb version %d.%d too old", major, minor) + } + t.Logf("gdb version %d.%d", major, minor) } const helloSource = `