honnef.co/go/tools@v0.4.7/staticcheck/lint_test.go (about)

     1  package staticcheck
     2  
     3  import (
     4  	"testing"
     5  
     6  	"honnef.co/go/tools/analysis/lint/testutil"
     7  )
     8  
     9  func TestAll(t *testing.T) {
    10  	checks := map[string][]testutil.Test{
    11  		"SA1000": {{Dir: "example.com/CheckRegexps"}},
    12  		"SA1001": {{Dir: "example.com/CheckTemplate"}},
    13  		"SA1002": {{Dir: "example.com/CheckTimeParse"}},
    14  		"SA1003": {{Dir: "example.com/CheckEncodingBinary"}, {Dir: "example.com/CheckEncodingBinary_go17", Version: "1.7"}, {Dir: "example.com/CheckEncodingBinary_go18", Version: "1.8"}},
    15  		"SA1004": {{Dir: "example.com/CheckTimeSleepConstant"}},
    16  		"SA1005": {{Dir: "example.com/CheckExec"}},
    17  		"SA1006": {{Dir: "example.com/CheckUnsafePrintf"}},
    18  		"SA1007": {{Dir: "example.com/CheckURLs"}},
    19  		"SA1008": {{Dir: "example.com/CheckCanonicalHeaderKey"}},
    20  		"SA1010": {{Dir: "example.com/checkStdlibUsageRegexpFindAll"}},
    21  		"SA1011": {{Dir: "example.com/checkStdlibUsageUTF8Cutset"}},
    22  		"SA1012": {{Dir: "example.com/checkStdlibUsageNilContext"}},
    23  		"SA1013": {{Dir: "example.com/checkStdlibUsageSeeker"}},
    24  		"SA1014": {{Dir: "example.com/CheckUnmarshalPointer"}},
    25  		"SA1015": {{Dir: "example.com/CheckLeakyTimeTick"}, {Dir: "example.com/CheckLeakyTimeTick-main"}},
    26  		"SA1016": {{Dir: "example.com/CheckUntrappableSignal"}},
    27  		"SA1017": {{Dir: "example.com/CheckUnbufferedSignalChan"}},
    28  		"SA1018": {{Dir: "example.com/CheckStringsReplaceZero"}},
    29  		"SA1019": {
    30  			{Dir: "example.com/CheckDeprecated"},
    31  			{Dir: "example.com/CheckDeprecated_go13", Version: "1.3"},
    32  			{Dir: "example.com/CheckDeprecated_go14", Version: "1.4"},
    33  			{Dir: "example.com/CheckDeprecated_go18", Version: "1.8"},
    34  			{Dir: "example.com/CheckDeprecated_go119", Version: "1.19"},
    35  		},
    36  		"SA1020": {{Dir: "example.com/CheckListenAddress"}},
    37  		"SA1021": {{Dir: "example.com/CheckBytesEqualIP"}},
    38  		"SA1023": {{Dir: "example.com/CheckWriterBufferModified"}},
    39  		"SA1024": {{Dir: "example.com/CheckNonUniqueCutset"}},
    40  		"SA1025": {{Dir: "example.com/CheckTimerResetReturnValue"}},
    41  		"SA1026": {{Dir: "example.com/CheckUnsupportedMarshal"}},
    42  		"SA1027": {{Dir: "example.com/CheckAtomicAlignment"}},
    43  		"SA1028": {{Dir: "example.com/CheckSortSlice"}},
    44  		"SA1029": {{Dir: "example.com/CheckWithValueKey"}},
    45  		"SA1030": {
    46  			{Dir: "example.com/CheckStrconv"},
    47  			{Dir: "example.com/CheckStrconv_go115", Version: "1.15"},
    48  		},
    49  		"SA2000": {{Dir: "example.com/CheckWaitgroupAdd"}},
    50  		"SA2001": {{Dir: "example.com/CheckEmptyCriticalSection"}},
    51  		"SA2002": {{Dir: "example.com/CheckConcurrentTesting"}},
    52  		"SA2003": {{Dir: "example.com/CheckDeferLock"}},
    53  		"SA3000": {
    54  			{Dir: "example.com/CheckTestMainExit-1_go14", Version: "1.4"},
    55  			{Dir: "example.com/CheckTestMainExit-2_go14", Version: "1.4"},
    56  			{Dir: "example.com/CheckTestMainExit-3_go14", Version: "1.4"},
    57  			{Dir: "example.com/CheckTestMainExit-4_go14", Version: "1.4"},
    58  			{Dir: "example.com/CheckTestMainExit-5_go14", Version: "1.4"},
    59  			{Dir: "example.com/CheckTestMainExit-1_go115", Version: "1.15"},
    60  		},
    61  		"SA3001": {{Dir: "example.com/CheckBenchmarkN"}},
    62  		"SA4000": {{Dir: "example.com/CheckLhsRhsIdentical"}},
    63  		"SA4001": {{Dir: "example.com/CheckIneffectiveCopy"}},
    64  		"SA4003": {{Dir: "example.com/CheckExtremeComparison"}},
    65  		"SA4004": {{Dir: "example.com/CheckIneffectiveLoop"}},
    66  		"SA4005": {{Dir: "example.com/CheckIneffectiveFieldAssignments"}},
    67  		"SA4006": {{Dir: "example.com/CheckUnreadVariableValues"}},
    68  		"SA4008": {{Dir: "example.com/CheckLoopCondition"}},
    69  		"SA4009": {{Dir: "example.com/CheckArgOverwritten"}},
    70  		"SA4010": {{Dir: "example.com/CheckIneffectiveAppend"}},
    71  		"SA4011": {{Dir: "example.com/CheckScopedBreak"}},
    72  		"SA4012": {{Dir: "example.com/CheckNaNComparison"}},
    73  		"SA4013": {{Dir: "example.com/CheckDoubleNegation"}},
    74  		"SA4014": {{Dir: "example.com/CheckRepeatedIfElse"}},
    75  		"SA4015": {{Dir: "example.com/CheckMathInt"}},
    76  		"SA4016": {{Dir: "example.com/CheckSillyBitwiseOps"}, {Dir: "example.com/CheckSillyBitwiseOps_shadowedIota"}, {Dir: "example.com/CheckSillyBitwiseOps_dotImport"}},
    77  		"SA4017": {{Dir: "example.com/CheckSideEffectFreeCalls"}},
    78  		"SA4018": {{Dir: "example.com/CheckSelfAssignment"}},
    79  		"SA4019": {{Dir: "example.com/CheckDuplicateBuildConstraints"}},
    80  		"SA4020": {{Dir: "example.com/CheckUnreachableTypeCases"}},
    81  		"SA4021": {{Dir: "example.com/CheckSingleArgAppend"}},
    82  		"SA4022": {{Dir: "example.com/CheckAddressIsNil"}},
    83  		"SA4023": {
    84  			{Dir: "example.com/CheckTypedNilInterface"},
    85  			{Dir: "example.com/CheckTypedNilInterface/i26000"},
    86  			{Dir: "example.com/CheckTypedNilInterface/i27815"},
    87  			{Dir: "example.com/CheckTypedNilInterface/i28241"},
    88  			{Dir: "example.com/CheckTypedNilInterface/i31873"},
    89  			{Dir: "example.com/CheckTypedNilInterface/i33965"},
    90  			{Dir: "example.com/CheckTypedNilInterface/i33994"},
    91  			{Dir: "example.com/CheckTypedNilInterface/i35217"},
    92  		},
    93  		"SA4024": {{Dir: "example.com/CheckBuiltinZeroComparison"}},
    94  		"SA4025": {{Dir: "example.com/CheckIntegerDivisionEqualsZero"}},
    95  		"SA4026": {{Dir: "example.com/CheckNegativeZeroFloat"}},
    96  		"SA4027": {{Dir: "example.com/CheckIneffectiveURLQueryModification"}},
    97  		"SA4028": {{Dir: "example.com/CheckModuloOne"}},
    98  		"SA4029": {{Dir: "example.com/CheckIneffectiveSort"}},
    99  		"SA4030": {{Dir: "example.com/CheckIneffectiveRandInt"}},
   100  		"SA4031": {{Dir: "example.com/CheckAllocationNilCheck"}},
   101  		"SA5000": {{Dir: "example.com/CheckNilMaps"}},
   102  		"SA5001": {{Dir: "example.com/CheckEarlyDefer"}},
   103  		"SA5002": {{Dir: "example.com/CheckInfiniteEmptyLoop"}},
   104  		"SA5003": {{Dir: "example.com/CheckDeferInInfiniteLoop"}},
   105  		"SA5004": {{Dir: "example.com/CheckLoopEmptyDefault"}},
   106  		"SA5005": {{Dir: "example.com/CheckCyclicFinalizer"}},
   107  		"SA5007": {{Dir: "example.com/CheckInfiniteRecursion"}},
   108  		"SA5008": {{Dir: "example.com/CheckStructTags"}, {Dir: "example.com/CheckStructTags2"}, {Dir: "example.com/CheckStructTags3"}},
   109  		"SA5009": {{Dir: "example.com/CheckPrintf"}},
   110  		"SA5010": {{Dir: "example.com/CheckImpossibleTypeAssertion"}},
   111  		"SA5011": {{Dir: "example.com/CheckMaybeNil"}},
   112  		"SA5012": {{Dir: "example.com/CheckEvenSliceLength"}},
   113  		"SA6000": {{Dir: "example.com/CheckRegexpMatchLoop"}},
   114  		"SA6001": {{Dir: "example.com/CheckMapBytesKey"}},
   115  		"SA6002": {{Dir: "example.com/CheckSyncPoolValue"}},
   116  		"SA6003": {{Dir: "example.com/CheckRangeStringRunes"}},
   117  		"SA6005": {{Dir: "example.com/CheckToLowerToUpperComparison"}},
   118  		"SA9001": {{Dir: "example.com/CheckDubiousDeferInChannelRangeLoop"}},
   119  		"SA9002": {{Dir: "example.com/CheckNonOctalFileMode"}},
   120  		"SA9003": {{Dir: "example.com/CheckEmptyBranch"}},
   121  		"SA9004": {{Dir: "example.com/CheckMissingEnumTypesInDeclaration"}},
   122  		"SA9005": {{Dir: "example.com/CheckNoopMarshal"}},
   123  		"SA9006": {{Dir: "example.com/CheckStaticBitShift"}},
   124  		"SA9007": {{Dir: "example.com/CheckBadRemoveAll"}},
   125  		"SA9008": {{Dir: "example.com/CheckTypeAssertionShadowingElse"}},
   126  	}
   127  
   128  	testutil.Run(t, Analyzers, checks)
   129  }