diff --git a/_scripts/make.go b/_scripts/make.go index 80b04300..0f4a9698 100644 --- a/_scripts/make.go +++ b/_scripts/make.go @@ -445,13 +445,17 @@ func testCmdIntl(testSet, testRegex, testBackend, testBuildMode string) { buildModeFlag = "-test-buildmode=" + testBuildMode } + env := []string{} + if os.Getenv("CI") != "" { + env = os.Environ() + } + if len(testPackages) > 3 { - env := []string{} executeq(env, "go", "test", testFlags(), buildFlags(), testPackages, backendFlag, buildModeFlag) } else if testRegex != "" { - execute("go", "test", testFlags(), buildFlags(), testPackages, "-run="+testRegex, backendFlag, buildModeFlag) + executeq(env, "go", "test", testFlags(), buildFlags(), testPackages, "-run="+testRegex, backendFlag, buildModeFlag) } else { - execute("go", "test", testFlags(), buildFlags(), testPackages, backendFlag, buildModeFlag) + executeq(env, "go", "test", testFlags(), buildFlags(), testPackages, backendFlag, buildModeFlag) } } diff --git a/_scripts/test_linux.sh b/_scripts/test_linux.sh index ddced784..0ae64d6d 100755 --- a/_scripts/test_linux.sh +++ b/_scripts/test_linux.sh @@ -57,6 +57,13 @@ elif [ ${version:4:2} -gt 17 ]; then export GOFLAGS=-buildvcs=false fi +if [ "$arch" = "386" ]; then + ver=$(go version) + if [ "$ver" = "go version go1.19 linux/386" ]; then + export CGO_CFLAGS='-g -O0 -fno-stack-protector' + fi +fi + set +e make test x=$? diff --git a/cmd/dlv/dlv_test.go b/cmd/dlv/dlv_test.go index 785dd303..ffe123c6 100644 --- a/cmd/dlv/dlv_test.go +++ b/cmd/dlv/dlv_test.go @@ -111,8 +111,13 @@ func TestBuild(t *testing.T) { scan := bufio.NewScanner(stderr) // wait for the debugger to start - scan.Scan() - t.Log(scan.Text()) + for scan.Scan() { + text := scan.Text() + t.Log(text) + if strings.Contains(text, "API server pid = ") { + break + } + } go func() { for scan.Scan() { t.Log(scan.Text()) diff --git a/pkg/proc/test/support.go b/pkg/proc/test/support.go index 71cf4452..11abf9ba 100644 --- a/pkg/proc/test/support.go +++ b/pkg/proc/test/support.go @@ -93,7 +93,9 @@ func BuildFixture(name string, flags BuildFlags) Fixture { } if flags&EnableCGOOptimization == 0 { - os.Setenv("CGO_CFLAGS", "-O0 -g") + if os.Getenv("CI") == "" || os.Getenv("CGO_CFLAGS") == "" { + os.Setenv("CGO_CFLAGS", "-O0 -g") + } } fixturesDir := FindFixturesDir() @@ -163,6 +165,9 @@ func BuildFixture(name string, flags BuildFlags) Fixture { cmd := exec.Command("go", buildFlags...) cmd.Dir = dir + if os.Getenv("CI") != "" { + cmd.Env = os.Environ() + } // Build the test binary if out, err := cmd.CombinedOutput(); err != nil {