From 59d53182bb30e7b1de8076550057b465b28a4ccb Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Sun, 15 Aug 2021 16:03:17 +0200 Subject: [PATCH] all: use new testing features of Go 1.14 and 1.15 This simplifies the tests a bit. --- main_test.go | 11 +---------- tests/wasm/chan_test.go | 3 +-- tests/wasm/event_test.go | 3 +-- tests/wasm/fmt_test.go | 3 +-- tests/wasm/fmtprint_test.go | 3 +-- tests/wasm/log_test.go | 3 +-- tests/wasm/setup_test.go | 23 ++++------------------- 7 files changed, 10 insertions(+), 39 deletions(-) diff --git a/main_test.go b/main_test.go index 8159951c..bbc1a062 100644 --- a/main_test.go +++ b/main_test.go @@ -210,16 +210,7 @@ func runTestWithConfig(name, target string, t *testing.T, options compileopts.Op } // Create a temporary directory for test output files. - tmpdir, err := ioutil.TempDir("", "tinygo-test") - if err != nil { - t.Fatal("could not create temporary directory:", err) - } - defer func() { - rerr := os.RemoveAll(tmpdir) - if rerr != nil { - t.Errorf("failed to remove temporary directory %q: %s", tmpdir, rerr.Error()) - } - }() + tmpdir := t.TempDir() // Determine whether we're on a system that supports environment variables // and command line parameters (operating systems, WASI) or not (baremetal, diff --git a/tests/wasm/chan_test.go b/tests/wasm/chan_test.go index 2faf95ba..793bf1de 100644 --- a/tests/wasm/chan_test.go +++ b/tests/wasm/chan_test.go @@ -11,8 +11,7 @@ func TestChan(t *testing.T) { t.Parallel() - wasmTmpDir, server, cleanup := startServer(t) - defer cleanup() + wasmTmpDir, server := startServer(t) err := run("tinygo build -o " + wasmTmpDir + "/chan.wasm -target wasm testdata/chan.go") if err != nil { diff --git a/tests/wasm/event_test.go b/tests/wasm/event_test.go index bbece4b4..038a500a 100644 --- a/tests/wasm/event_test.go +++ b/tests/wasm/event_test.go @@ -11,8 +11,7 @@ func TestEvent(t *testing.T) { t.Parallel() - wasmTmpDir, server, cleanup := startServer(t) - defer cleanup() + wasmTmpDir, server := startServer(t) err := run("tinygo build -o " + wasmTmpDir + "/event.wasm -target wasm testdata/event.go") if err != nil { diff --git a/tests/wasm/fmt_test.go b/tests/wasm/fmt_test.go index 0a96c45d..f9f2f77b 100644 --- a/tests/wasm/fmt_test.go +++ b/tests/wasm/fmt_test.go @@ -11,8 +11,7 @@ func TestFmt(t *testing.T) { t.Parallel() - wasmTmpDir, server, cleanup := startServer(t) - defer cleanup() + wasmTmpDir, server := startServer(t) err := run("tinygo build -o " + wasmTmpDir + "/fmt.wasm -target wasm testdata/fmt.go") if err != nil { diff --git a/tests/wasm/fmtprint_test.go b/tests/wasm/fmtprint_test.go index 16a2173b..90825ba0 100644 --- a/tests/wasm/fmtprint_test.go +++ b/tests/wasm/fmtprint_test.go @@ -11,8 +11,7 @@ func TestFmtprint(t *testing.T) { t.Parallel() - wasmTmpDir, server, cleanup := startServer(t) - defer cleanup() + wasmTmpDir, server := startServer(t) err := run("tinygo build -o " + wasmTmpDir + "/fmtprint.wasm -target wasm testdata/fmtprint.go") if err != nil { diff --git a/tests/wasm/log_test.go b/tests/wasm/log_test.go index 3da94ed3..fae4c670 100644 --- a/tests/wasm/log_test.go +++ b/tests/wasm/log_test.go @@ -11,8 +11,7 @@ func TestLog(t *testing.T) { t.Parallel() - wasmTmpDir, server, cleanup := startServer(t) - defer cleanup() + wasmTmpDir, server := startServer(t) err := run("tinygo build -o " + wasmTmpDir + "/log.wasm -target wasm testdata/log.go") if err != nil { diff --git a/tests/wasm/setup_test.go b/tests/wasm/setup_test.go index 77f5063f..0071076c 100644 --- a/tests/wasm/setup_test.go +++ b/tests/wasm/setup_test.go @@ -4,11 +4,9 @@ import ( "context" "errors" "fmt" - "io/ioutil" "log" "net/http" "net/http/httptest" - "os" "os/exec" "regexp" "strings" @@ -47,12 +45,8 @@ func chromectx(timeout time.Duration) (context.Context, context.CancelFunc) { return ctx, cancel } -func startServer(t *testing.T) (string, *httptest.Server, func()) { - // In Go 1.15, all this can be replaced by t.TempDir() - tmpDir, err := ioutil.TempDir("", "wasm_test") - if err != nil { - t.Fatalf("unable to create temp dir: %v", err) - } +func startServer(t *testing.T) (string, *httptest.Server) { + tmpDir := t.TempDir() fsh := http.FileServer(http.Dir(tmpDir)) h := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -124,18 +118,9 @@ if (wasmSupported) { server := httptest.NewServer(h) t.Logf("Started server at %q for dir: %s", server.URL, tmpDir) + t.Cleanup(server.Close) - // In Go 1.14+, this can be replaced by t.Cleanup() - cleanup := func() { - err := os.RemoveAll(tmpDir) - if err != nil { - t.Error(err) - } - - server.Close() - } - - return tmpDir, server, cleanup + return tmpDir, server } // waitLog blocks until the log output equals the text provided (ignoring whitespace before and after)