aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-06-04 23:29:54 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-06-05 12:23:19 +0200
commit48b44e1ce06df8ab8a8571866e2cc658012103a2 (patch)
treeb1d2b70d05326fa27d435b156457f4a74c0bcb2c
parent2b2857bd2191458a131689502224abfe9cdd7a4a (diff)
.golangci.yml: reenable dupl checker
At some point it was enabled, but then somehow got disabled. Re-enable and fix some regressions.
-rw-r--r--.golangci.yml8
-rw-r--r--pkg/vcs/git_repo_test.go72
-rw-r--r--sys/targets/targets.go57
3 files changed, 54 insertions, 83 deletions
diff --git a/.golangci.yml b/.golangci.yml
index 8c4834bcf..3b311bff1 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -40,6 +40,7 @@ linters:
- godot
- gocognit
- funlen
+ - dupl
disable:
- bodyclose
- depguard
@@ -108,3 +109,10 @@ issues:
- lll
- path: (sys/.*/init.*|sys/targets/common.go)
text: "don't use ALL_CAPS in Go names"
+ # TODO: this is bad, need to fix and remove the suppression.
+ - path: (pkg/report/(net|open)bsd.*)
+ linters:
+ - dupl
+ - path: (dashboard/app/.*_test\.go)
+ linters:
+ - dupl
diff --git a/pkg/vcs/git_repo_test.go b/pkg/vcs/git_repo_test.go
index 2e768a72d..2bb8570d1 100644
--- a/pkg/vcs/git_repo_test.go
+++ b/pkg/vcs/git_repo_test.go
@@ -315,10 +315,29 @@ func TestBisect(t *testing.T) {
commits = append(commits, com.Hash)
t.Logf("%v %v", com.Hash, com.Title)
}
+ type predFunc func() (BisectResult, error)
type Test struct {
- pred func() (BisectResult, error)
+ pred predFunc
result []string
}
+ makePred := func(res1, res2, res3 BisectResult) predFunc {
+ return func() (BisectResult, error) {
+ current, err := repo.repo.HeadCommit()
+ if err != nil {
+ t.Fatal(err)
+ }
+ switch current.Hash {
+ case commits[1]:
+ return res1, nil
+ case commits[2]:
+ return res2, nil
+ case commits[3]:
+ return res3, nil
+ default:
+ return 0, fmt.Errorf("unknown commit %v", current.Hash)
+ }
+ }
+ }
tests := []Test{
{
// All are bad.
@@ -343,62 +362,17 @@ func TestBisect(t *testing.T) {
},
{
// Some are skipped.
- func() (BisectResult, error) {
- current, err := repo.repo.HeadCommit()
- if err != nil {
- t.Fatal(err)
- }
- switch current.Hash {
- case commits[1]:
- return BisectSkip, nil
- case commits[2]:
- return BisectSkip, nil
- case commits[3]:
- return BisectGood, nil
- default:
- return 0, fmt.Errorf("unknown commit %v", current.Hash)
- }
- },
+ makePred(BisectSkip, BisectSkip, BisectGood),
[]string{commits[4]},
},
{
// Some are skipped.
- func() (BisectResult, error) {
- current, err := repo.repo.HeadCommit()
- if err != nil {
- t.Fatal(err)
- }
- switch current.Hash {
- case commits[1]:
- return BisectGood, nil
- case commits[2]:
- return BisectSkip, nil
- case commits[3]:
- return BisectBad, nil
- default:
- return 0, fmt.Errorf("unknown commit %v", current.Hash)
- }
- },
+ makePred(BisectGood, BisectSkip, BisectBad),
[]string{commits[2], commits[3]},
},
{
// Some are skipped.
- func() (BisectResult, error) {
- current, err := repo.repo.HeadCommit()
- if err != nil {
- t.Fatal(err)
- }
- switch current.Hash {
- case commits[1]:
- return BisectSkip, nil
- case commits[2]:
- return BisectSkip, nil
- case commits[3]:
- return BisectGood, nil
- default:
- return 0, fmt.Errorf("unknown commit %v", current.Hash)
- }
- },
+ makePred(BisectSkip, BisectSkip, BisectGood),
[]string{commits[4]},
},
}
diff --git a/sys/targets/targets.go b/sys/targets/targets.go
index 47b3d8a97..b33dd5609 100644
--- a/sys/targets/targets.go
+++ b/sys/targets/targets.go
@@ -264,23 +264,7 @@ var List = map[string]map[string]*Target{
KernelHeaderArch: "x64",
CCompiler: sourceDirVar + "/prebuilt/third_party/clang/linux-x64/bin/clang",
Objdump: sourceDirVar + "/prebuilt/third_party/clang/linux-x64/bin/llvm-objdump",
- CFlags: []string{
- "-Wno-deprecated",
- "--target=x86_64-fuchsia",
- "-ldriver",
- "-lfdio",
- "-lzircon",
- "--sysroot", sourceDirVar + "/out/x64/zircon_toolchain/obj/zircon/public/sysroot/sysroot",
- "-I", sourceDirVar + "/zircon/system/ulib/fdio/include",
- "-I", sourceDirVar + "/zircon/system/ulib/fidl/include",
- "-I", sourceDirVar + "/src/lib/ddk/include",
- "-I", sourceDirVar + "/out/x64/fidling/gen/sdk/fidl/fuchsia.device",
- "-I", sourceDirVar + "/out/x64/fidling/gen/sdk/fidl/fuchsia.device.manager",
- "-I", sourceDirVar + "/out/x64/fidling/gen/sdk/fidl/fuchsia.hardware.nand",
- "-I", sourceDirVar + "/out/x64/fidling/gen/sdk/fidl/fuchsia.hardware.usb.peripheral",
- "-I", sourceDirVar + "/out/x64/fidling/gen/zircon/vdso/zx",
- "-L", sourceDirVar + "/out/x64/x64-shared",
- },
+ CFlags: fuchsiaCFlags("x64", "x86_64"),
},
"arm64": {
PtrSize: 8,
@@ -288,23 +272,7 @@ var List = map[string]map[string]*Target{
KernelHeaderArch: "arm64",
CCompiler: sourceDirVar + "/prebuilt/third_party/clang/linux-x64/bin/clang",
Objdump: sourceDirVar + "/prebuilt/third_party/clang/linux-x64/bin/llvm-objdump",
- CFlags: []string{
- "-Wno-deprecated",
- "--target=aarch64-fuchsia",
- "-ldriver",
- "-lfdio",
- "-lzircon",
- "--sysroot", sourceDirVar + "/out/arm64/zircon_toolchain/obj/zircon/public/sysroot/sysroot",
- "-I", sourceDirVar + "/zircon/system/ulib/fdio/include",
- "-I", sourceDirVar + "/zircon/system/ulib/fidl/include",
- "-I", sourceDirVar + "/src/lib/ddk/include",
- "-I", sourceDirVar + "/out/arm64/fidling/gen/sdk/fidl/fuchsia.device",
- "-I", sourceDirVar + "/out/arm64/fidling/gen/sdk/fidl/fuchsia.device.manager",
- "-I", sourceDirVar + "/out/arm64/fidling/gen/sdk/fidl/fuchsia.hardware.nand",
- "-I", sourceDirVar + "/out/arm64/fidling/gen/sdk/fidl/fuchsia.hardware.usb.peripheral",
- "-I", sourceDirVar + "/out/arm64/fidling/gen/zircon/vdso/zx",
- "-L", sourceDirVar + "/out/arm64/arm64-shared",
- },
+ CFlags: fuchsiaCFlags("arm64", "aarch64"),
},
},
"windows": {
@@ -419,6 +387,27 @@ var (
}
)
+func fuchsiaCFlags(arch, clangArch string) []string {
+ out := sourceDirVar + "/out/" + arch
+ return []string{
+ "-Wno-deprecated",
+ "--target", clangArch + "-fuchsia",
+ "-ldriver",
+ "-lfdio",
+ "-lzircon",
+ "--sysroot", out + "/zircon_toolchain/obj/zircon/public/sysroot/sysroot",
+ "-I", sourceDirVar + "/zircon/system/ulib/fdio/include",
+ "-I", sourceDirVar + "/zircon/system/ulib/fidl/include",
+ "-I", sourceDirVar + "/src/lib/ddk/include",
+ "-I", out + "/fidling/gen/sdk/fidl/fuchsia.device",
+ "-I", out + "/fidling/gen/sdk/fidl/fuchsia.device.manager",
+ "-I", out + "/fidling/gen/sdk/fidl/fuchsia.hardware.nand",
+ "-I", out + "/fidling/gen/sdk/fidl/fuchsia.hardware.usb.peripheral",
+ "-I", out + "/fidling/gen/zircon/vdso/zx",
+ "-L", out + "/" + arch + "-shared",
+ }
+}
+
func init() {
for OS, archs := range List {
for arch, target := range archs {