main: add -target flag to tests

This makes it easy to test one particular architecture, for example:

    go test -v -target=hifive1-qemu

This speeds up testing and allows testing targets that are not included
in the test by default (such as RISC-V tests on Linux).
Этот коммит содержится в:
Ayke van Laethem 2020-07-23 23:24:05 +02:00 коммит произвёл Ron Evans
родитель ca03b8d442
коммит e41e5106cc

Просмотреть файл

@ -6,6 +6,7 @@ package main
import (
"bufio"
"bytes"
"flag"
"fmt"
"io/ioutil"
"os"
@ -25,6 +26,8 @@ import (
const TESTDATA = "testdata"
var testTarget = flag.String("target", "", "override test target")
func TestCompiler(t *testing.T) {
matches, err := filepath.Glob(filepath.Join(TESTDATA, "*.go"))
if err != nil {
@ -44,6 +47,14 @@ func TestCompiler(t *testing.T) {
sort.Strings(matches)
if *testTarget != "" {
// This makes it possible to run one specific test (instead of all),
// which is especially useful to quickly check whether some changes
// affect a particular target architecture.
runPlatTests(*testTarget, matches, t)
return
}
if runtime.GOOS != "windows" {
t.Run("Host", func(t *testing.T) {
runPlatTests("", matches, t)