aboutsummaryrefslogtreecommitdiffhomepage
path: root/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'testdata')
-rw-r--r--testdata/testing.go54
-rw-r--r--testdata/testing.txt5
2 files changed, 51 insertions, 8 deletions
diff --git a/testdata/testing.go b/testdata/testing.go
index 9e0a018d1..4a1f67c49 100644
--- a/testdata/testing.go
+++ b/testdata/testing.go
@@ -4,6 +4,7 @@ package main
import (
"errors"
+ "flag"
"io"
"testing"
)
@@ -26,15 +27,60 @@ func TestBar(t *testing.T) {
t.Log("log Bar end")
}
+func TestAllLowercase(t *testing.T) {
+ names := []string {
+ "alpha",
+ "BETA",
+ "gamma",
+ "DELTA",
+ }
+
+ for _, name := range names {
+ t.Run(name, func(t *testing.T) {
+ if 'a' <= name[0] && name[0] <= 'a' {
+ t.Logf("expected lowercase name, and got one, so I'm happy")
+ } else {
+ t.Errorf("expected lowercase name, got %s", name)
+ }
+ })
+ }
+}
+
var tests = []testing.InternalTest{
{"TestFoo", TestFoo},
{"TestBar", TestBar},
+ {"TestAllLowercase", TestAllLowercase},
}
var benchmarks = []testing.InternalBenchmark{}
var examples = []testing.InternalExample{}
+// A fake regexp matcher that can only handle two patterns.
+// Inflexible, but saves 50KB of flash and 50KB of RAM per -size full,
+// and lets tests pass on cortex-m3.
+func fakeMatchString(pat, str string) (bool, error) {
+ if pat == ".*" {
+ return true, nil
+ }
+ if pat == "[BD]" {
+ return (str[0] == 'B' || str[0] == 'D'), nil
+ }
+ println("BUG: fakeMatchString does not grok", pat)
+ return false, nil
+}
+
+func main() {
+ testing.Init()
+ flag.Set("test.run", ".*/[BD]")
+ m := testing.MainStart(matchStringOnly(fakeMatchString /*regexp.MatchString*/), tests, benchmarks, examples)
+
+ exitcode := m.Run()
+ if exitcode != 0 {
+ println("exitcode:", exitcode)
+ }
+}
+
var errMain = errors.New("testing: unexpected use of func Main")
// matchStringOnly is part of upstream, and is used below to provide a dummy deps to pass to MainStart
@@ -50,11 +96,3 @@ func (f matchStringOnly) ImportPath() string { return "
func (f matchStringOnly) StartTestLog(io.Writer) {}
func (f matchStringOnly) StopTestLog() error { return errMain }
func (f matchStringOnly) SetPanicOnExit0(bool) {}
-
-func main() {
- m := testing.MainStart(matchStringOnly(nil), tests, benchmarks, examples)
- exitcode := m.Run()
- if exitcode != 0 {
- println("exitcode:", exitcode)
- }
-}
diff --git a/testdata/testing.txt b/testdata/testing.txt
index 814ddff3b..ff124de14 100644
--- a/testdata/testing.txt
+++ b/testdata/testing.txt
@@ -12,5 +12,10 @@
failed
after failed
log Bar end
+--- FAIL: TestAllLowercase (0.00s)
+ --- FAIL: TestAllLowercase/BETA (0.00s)
+ expected lowercase name, got BETA
+ --- FAIL: TestAllLowercase/DELTA (0.00s)
+ expected lowercase name, got DELTA
FAIL
exitcode: 1