aboutsummaryrefslogtreecommitdiff
path: root/src/testing
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2017-07-13 08:10:43 -0700
committerIan Lance Taylor <iant@golang.org>2017-07-13 16:01:49 +0000
commit5bcfd8847207ad8399265bc7efd49c50b286223b (patch)
tree6684a3ebc3bed68af5a0782766b4a1b23ed9fce5 /src/testing
parent7e172509d96db8cc3d0fb58ab4389b9785307d2c (diff)
downloadgo-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')
-rw-r--r--src/testing/testing.go66
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.