.golangci.yml: reenable dupl checker

At some point it was enabled, but then somehow got disabled.
Re-enable and fix some regressions.
This commit is contained in:
Dmitry Vyukov 2020-06-04 23:29:54 +02:00
parent 2b2857bd21
commit 48b44e1ce0
3 changed files with 54 additions and 83 deletions

View File

@ -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

View File

@ -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]},
},
}

View File

@ -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 {