*: Skipped tests review (#2430)

Delete tests for old versions of Go that are no longer run, remove skip
from tests that seemingly work.
This commit is contained in:
Alessandro Arzilli 2021-04-12 23:56:12 +02:00 committed by GitHub
parent 1ffe2413c2
commit 623667b0f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 105 deletions

@ -1,23 +1,23 @@
Tests skipped by each supported backend:
* 386 skipped = 2.7% (4/149)
* 386 skipped = 2.7% (4/147)
* 1 broken
* 3 broken - cgo stacktraces
* arm64 skipped = 2.7% (4/149)
* 2 broken
* arm64 skipped = 2% (3/147)
* 1 broken
* 1 broken - cgo stacktraces
* 1 broken - global variable symbolication
* darwin/arm64 skipped = 0.67% (1/149)
* darwin/arm64 skipped = 0.68% (1/147)
* 1 broken - cgo stacktraces
* darwin/lldb skipped = 0.67% (1/149)
* darwin/lldb skipped = 0.68% (1/147)
* 1 upstream issue
* freebsd skipped = 8.1% (12/149)
* freebsd skipped = 8.2% (12/147)
* 11 broken
* 1 not implemented
* linux/386/pie skipped = 0.67% (1/149)
* linux/386/pie skipped = 0.68% (1/147)
* 1 broken
* pie skipped = 0.67% (1/149)
* pie skipped = 0.68% (1/147)
* 1 upstream issue - https://github.com/golang/go/issues/29322
* windows skipped = 1.3% (2/149)
* windows skipped = 1.4% (2/147)
* 1 broken
* 1 upstream issue

@ -3,7 +3,7 @@ set -e
set -x
apt-get -qq update
apt-get install -y dwz wget make git gcc curl jq
apt-get install -y dwz wget make git gcc curl jq lsof
dwz --version
version=$1

@ -1310,23 +1310,9 @@ func TestFrameEvaluation(t *testing.T) {
found[vval] = true
}
firsterr := false
if goversion.VersionAfterOrEqual(runtime.Version(), 1, 14) {
// We try to make sure that all goroutines are stopped at a sensible place
// before reading their stacktrace, but due to the nature of the test
// program there is no guarantee that we always find them in a reasonable
// state.
// Asynchronous preemption in Go 1.14 exacerbates this problem, to avoid
// unnecessary flakiness allow a single goroutine to be in a bad state.
firsterr = true
}
for i := range found {
if !found[i] {
if firsterr {
firsterr = false
} else {
t.Fatalf("Goroutine %d not found\n", i)
}
t.Fatalf("Goroutine %d not found\n", i)
}
}
@ -1734,24 +1720,6 @@ func TestStepIntoFunction(t *testing.T) {
})
}
func TestIssue384(t *testing.T) {
// Crash related to reading uninitialized memory, introduced by the memory prefetching optimization
ver, _ := goversion.Parse(runtime.Version())
if ver.Major < 0 || ver.AfterOrEqual(goversion.GoVersion{Major: 1, Minor: 10, Rev: -1}) {
// go 1.10 emits DW_AT_decl_line and we won't be able to evaluate 'st'
// which is declared after line 13.
t.Skip("can not evaluate not-yet-declared variables with go 1.10")
}
protest.AllowRecording(t)
withTestProcess("issue384", t, func(p *proc.Target, fixture protest.Fixture) {
setFileBreakpoint(p, t, fixture.Source, 13)
assertNoError(p.Continue(), t, "Continue()")
evalVariable(p, t, "st")
})
}
func TestIssue332_Part1(t *testing.T) {
// Next shouldn't step inside a function call
protest.AllowRecording(t)
@ -1817,17 +1785,6 @@ func TestIssue332_Part2(t *testing.T) {
})
}
func TestIssue396(t *testing.T) {
if goversion.VersionAfterOrEqual(runtime.Version(), 1, 13) {
// CL 161337 in Go 1.13 and later removes the autogenerated init function
// https://go-review.googlesource.com/c/go/+/161337
t.Skip("no autogenerated init function in Go 1.13 or later")
}
withTestProcess("callme", t, func(p *proc.Target, fixture protest.Fixture) {
findFunctionLocation(p, t, "main.init")
})
}
func TestIssue414(t *testing.T) {
skipOn(t, "broken", "linux", "386", "pie") // test occasionally hangs on linux/386/pie
// Stepping until the program exits
@ -2824,9 +2781,6 @@ func TestAttachDetach(t *testing.T) {
if testBackend == "rr" {
return
}
if os.Getenv("CI") == "true" {
t.Skip("disabled on Github actions")
}
var buildFlags protest.BuildFlags
if buildMode == "pie" {
buildFlags |= protest.BuildModePIE
@ -3960,7 +3914,6 @@ func TestIssue951(t *testing.T) {
}
func TestDWZCompression(t *testing.T) {
skipOn(t, "broken", "arm64")
// If dwz is not available in the system, skip this test
if _, err := exec.LookPath("dwz"); err != nil {
t.Skip("dwz not installed")

@ -254,9 +254,6 @@ func TestIssue354(t *testing.T) {
}
func TestIssue411(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
test.AllowRecording(t)
withTestTerminal("math", t, func(term *FakeTerminal) {
term.MustExec("break _fixtures/math.go:8")
@ -270,9 +267,6 @@ func TestIssue411(t *testing.T) {
}
func TestTrace(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
test.AllowRecording(t)
withTestTerminal("issue573", t, func(term *FakeTerminal) {
term.MustExec("trace foo")
@ -289,9 +283,6 @@ func TestTrace(t *testing.T) {
}
func TestTraceWithName(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
test.AllowRecording(t)
withTestTerminal("issue573", t, func(term *FakeTerminal) {
term.MustExec("trace foobar foo")
@ -308,9 +299,6 @@ func TestTraceWithName(t *testing.T) {
}
func TestTraceOnNonFunctionEntry(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
test.AllowRecording(t)
withTestTerminal("issue573", t, func(term *FakeTerminal) {
term.MustExec("trace foobar issue573.go:19")
@ -480,9 +468,6 @@ func TestScopePrefix(t *testing.T) {
}
func TestOnPrefix(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
if runtime.GOOS == "freebsd" {
t.Skip("test is not valid on FreeBSD")
}
@ -539,9 +524,6 @@ func TestNoVars(t *testing.T) {
}
func TestOnPrefixLocals(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
if runtime.GOOS == "freebsd" {
t.Skip("test is not valid on FreeBSD")
}
@ -600,9 +582,6 @@ func countOccurrences(s, needle string) int {
}
func TestIssue387(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
if runtime.GOOS == "freebsd" {
t.Skip("test is not valid on FreeBSD")
}
@ -875,25 +854,6 @@ func TestConfig(t *testing.T) {
}
}
func TestDisassembleAutogenerated(t *testing.T) {
// Executing the 'disassemble' command on autogenerated code should work correctly
if goversion.VersionAfterOrEqual(runtime.Version(), 1, 13) {
// CL 161337 in Go 1.13 and later removes the autogenerated init function
// https://go-review.googlesource.com/c/go/+/161337
t.Skip("no autogenerated init function in Go 1.13 or later")
}
withTestTerminal("math", t, func(term *FakeTerminal) {
term.MustExec("break main.init")
term.MustExec("continue")
out := term.MustExec("disassemble")
if !strings.Contains(out, "TEXT main.init(SB) ") {
t.Fatalf("output of disassemble wasn't for the main.init function %q", out)
}
})
}
func TestIssue1090(t *testing.T) {
// Exit while executing 'next' should report the "Process exited" error
// message instead of crashing.
@ -1000,9 +960,6 @@ func TestTruncateStacktrace(t *testing.T) {
}
func TestIssue1493(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("arm64 does not support FpRegs for now")
}
// The 'regs' command without the '-a' option should only return
// general purpose registers.
withTestTerminal("continuetestprog", t, func(term *FakeTerminal) {

@ -2,15 +2,11 @@ package terminal
import (
"fmt"
"runtime"
"strings"
"testing"
)
func TestStarlarkExamples(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("test is not valid on ARM64")
}
withTestTerminal("testvariables2", t, func(term *FakeTerminal) {
term.MustExec("continue")
t.Run("goroutine_start_line", func(t *testing.T) { testStarlarkExampleGoroutineStartLine(t, term) })