From e6e35dba937599d098fc034eff2686e5ddc409e9 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 26 Oct 2020 10:51:06 +0100 Subject: sys/targets: add OS/Arch name consts We use strings to identify OS/Arch. These strings are duplicated throughout the code base massively. golangci-lint points to possiblity of typos and duplication. We already had to define these names in pkg/csource and disable checking for prog package. A future change triggers such warnings in another package. Add OS/Arch name consts to sys/targets so that they can be used to refer to OS/Arch. Use the consts everywhere. --- pkg/runtest/run.go | 4 ++-- pkg/runtest/run_test.go | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'pkg/runtest') diff --git a/pkg/runtest/run.go b/pkg/runtest/run.go index 2352028fe..8366b8fb3 100644 --- a/pkg/runtest/run.go +++ b/pkg/runtest/run.go @@ -430,7 +430,7 @@ func (ctx *Context) createCTest(p *prog.Prog, sandbox string, threaded bool, tim Sandbox: sandbox, UseTmpDir: true, HandleSegv: true, - Cgroups: p.Target.OS == "linux" && sandbox != "", + Cgroups: p.Target.OS == targets.Linux && sandbox != "", Trace: true, } if sandbox != "" { @@ -512,7 +512,7 @@ func checkCallResult(req *RunRequest, isC bool, run, call int, info *ipc.ProgInf continue } } - if runtime.GOOS == "freebsd" && flag == ipc.CallBlocked { + if runtime.GOOS == targets.FreeBSD && flag == ipc.CallBlocked { // Blocking detection is flaky on freebsd. // TODO(dvyukov): try to increase the timeout in executor to make it non-flaky. continue diff --git a/pkg/runtest/run_test.go b/pkg/runtest/run_test.go index e4712033e..d72f5940e 100644 --- a/pkg/runtest/run_test.go +++ b/pkg/runtest/run_test.go @@ -26,12 +26,12 @@ var flagFilter = flag.String("filter", "", "prefix to match test file names") func Test(t *testing.T) { switch runtime.GOOS { - case "openbsd": + case targets.OpenBSD: t.Skipf("broken on %v", runtime.GOOS) } // Test only one target in short mode (each takes 5+ seconds to run). - shortTarget := targets.Get("test", "64") - for _, sysTarget := range targets.List["test"] { + shortTarget := targets.Get(targets.TestOS, targets.TestArch64) + for _, sysTarget := range targets.List[targets.TestOS] { if testing.Short() && sysTarget != shortTarget { continue } @@ -80,7 +80,7 @@ func test(t *testing.T, sysTarget *targets.Target) { } }() ctx := &Context{ - Dir: filepath.Join("..", "..", "sys", target.OS, "test"), + Dir: filepath.Join("..", "..", "sys", target.OS, targets.TestOS), Target: target, Tests: *flagFilter, Features: features, @@ -100,7 +100,7 @@ func test(t *testing.T, sysTarget *targets.Target) { func TestParsing(t *testing.T) { for OS, arches := range targets.List { - dir := filepath.Join("..", "..", "sys", OS, "test") + dir := filepath.Join("..", "..", "sys", OS, targets.TestOS) if !osutil.IsExist(dir) { continue } -- cgit mrf-deployment