diff options
| author | Ian Lance Taylor <iant@golang.org> | 2017-07-13 08:10:43 -0700 |
|---|---|---|
| committer | Ian Lance Taylor <iant@golang.org> | 2017-07-13 16:01:49 +0000 |
| commit | 5bcfd8847207ad8399265bc7efd49c50b286223b (patch) | |
| tree | 6684a3ebc3bed68af5a0782766b4a1b23ed9fce5 /src/testing/testing.go | |
| parent | 7e172509d96db8cc3d0fb58ab4389b9785307d2c (diff) | |
| download | go-5bcfd8847207ad8399265bc7efd49c50b286223b.tar.xz | |
testing: roll back CL 44352 (show in-progress tests upon SIGINT)
CL 44352 changed the behavior of SIGINT, which can break tests that
themselves use SIGINT. I think we can only implement this if the
testing package has a way to know whether the code under test is using
SIGINT, but os/signal does not provide an API for that. Roll back for
1.9 and think about this again for 1.10.
Updates #19397
Change-Id: I021c314db2b9d0a80d0088b120a6ade685459990
Reviewed-on: https://go-review.googlesource.com/48370
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/testing/testing.go')
| -rw-r--r-- | src/testing/testing.go | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/testing/testing.go b/src/testing/testing.go index 80031039b4..3d1c0c6947 100644 --- a/src/testing/testing.go +++ b/src/testing/testing.go @@ -224,16 +224,13 @@ import ( "internal/race" "io" "os" - "os/signal" "runtime" "runtime/debug" "runtime/trace" - "sort" "strconv" "strings" "sync" "sync/atomic" - "syscall" "time" ) @@ -272,10 +269,6 @@ var ( haveExamples bool // are there examples? cpuList []int - - inProgressMu sync.Mutex // guards this group of fields - inProgressRegistry = make(map[string]int) - inProgressIdx int ) // common holds the elements common between T and B and @@ -785,12 +778,9 @@ func (t *T) Run(name string, f func(t *T)) bool { root := t.parent for ; root.parent != nil; root = root.parent { } - inProgressMu.Lock() root.mu.Lock() - t.registerInProgress() fmt.Fprintf(root.w, "=== RUN %s\n", t.name) root.mu.Unlock() - inProgressMu.Unlock() } // Instead of reducing the running count of this test before calling the // tRunner and increasing it afterwards, we rely on tRunner keeping the @@ -952,11 +942,6 @@ func (t *T) report() { } dstr := fmtDuration(t.duration) format := "--- %s: %s (%s)\n" - - inProgressMu.Lock() - defer inProgressMu.Unlock() - defer t.registerComplete() - if t.Failed() { t.flushToParent(format, "FAIL", t.name, dstr) } else if t.chatty { @@ -968,39 +953,6 @@ func (t *T) report() { } } -func (t *T) registerInProgress() { - if !t.chatty { - return - } - inProgressRegistry[t.name] = inProgressIdx - inProgressIdx++ -} - -func (t *T) registerComplete() { - if !t.chatty { - return - } - delete(inProgressRegistry, t.name) -} - -func reportTestsInProgress() { - if len(inProgressRegistry) == 0 { - return - } - idxToName := make(map[int]string) - var indexes []int - for name, idx := range inProgressRegistry { - idxToName[idx] = name - indexes = append(indexes, idx) - } - sort.Ints(indexes) - var namesInOrder []string - for _, idx := range indexes { - namesInOrder = append(namesInOrder, idxToName[idx]) - } - fmt.Printf("\ntests in progress: %s\n", strings.Join(namesInOrder, ", ")) -} - func listTests(matchString func(pat, str string) (bool, error), tests []InternalTest, benchmarks []InternalBenchmark, examples []InternalExample) { if _, err := matchString(*matchList, "non-empty"); err != nil { fmt.Fprintf(os.Stderr, "testing: invalid regexp in -test.list (%q): %s\n", *matchList, err) @@ -1104,24 +1056,6 @@ func (m *M) before() { fmt.Fprintf(os.Stderr, "testing: cannot use -test.coverprofile because test binary was not built with coverage enabled\n") os.Exit(2) } - if Verbose() { - sigCh := make(chan os.Signal, 1) - signal.Notify(sigCh, os.Interrupt) - go func() { - <-sigCh - signal.Stop(sigCh) - inProgressMu.Lock() - reportTestsInProgress() - inProgressMu.Unlock() - proc, err := os.FindProcess(syscall.Getpid()) - if err == nil { - err = proc.Signal(os.Interrupt) - } - if err != nil { - os.Exit(2) - } - }() - } } // after runs after all testing. |
