File indexing completed on 2024-04-28 05:38:40
0001 unset CLAZY_CHECKS 0002 0003 if [ -z "${CLAZY_CXX}" ]; then 0004 CLAZY_CXX=clazy 0005 fi 0006 0007 CLAZY_COMMAND="${CLAZY_CXX} -c -o /dev/null -xc++ -Xclang -plugin-arg-clazy -Xclang print-requested-checks " 0008 CLAZY_COMMAND_STDIN=$CLAZY_COMMAND"-" 0009 0010 # Test without checks: 0011 echo | $CLAZY_COMMAND_STDIN 0012 0013 # Test with invalid check: 0014 export CLAZY_CHECKS="foo" 0015 echo | $CLAZY_COMMAND_STDIN 0016 0017 # Test with 1 check specified through env variable 0018 export CLAZY_CHECKS="foreach" 0019 echo | $CLAZY_COMMAND_STDIN 0020 0021 # Test with 2 checks specified through env variable 0022 export CLAZY_CHECKS="foreach,writing-to-temporary" 0023 echo | $CLAZY_COMMAND_STDIN 0024 0025 # Test with 2 checks specified through env variable plus one error 0026 export CLAZY_CHECKS="foreach,writing-to-temporary,foo" 0027 echo | $CLAZY_COMMAND_STDIN 0028 0029 # Test that fixit enables the check 0030 unset CLAZY_CHECKS 0031 echo | $CLAZY_COMMAND_STDIN 0032 0033 # Test both check and fixit 0034 export CLAZY_CHECKS="old-style-connect" 0035 echo | $CLAZY_COMMAND_STDIN 0036 0037 # Test fixit+check + unrelated check 0038 export CLAZY_CHECKS="old-style-connect,foreach" 0039 echo | $CLAZY_COMMAND_STDIN 0040 0041 # test all_checks 0042 export CLAZY_CHECKS="all_checks" 0043 echo | $CLAZY_COMMAND_STDIN 0044 0045 unset CLAZY_CHECKS 0046 0047 # Test specifying check in command line 0048 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang implicit-casts -) 0049 0050 # Pass two checks in command line 0051 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang implicit-casts,foreach -) 0052 0053 # Pass fixits through the command-line 0054 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang fix-old-style-connect -) 0055 0056 # Pass level0 0057 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang level0 -) 0058 0059 # Pass level1 0060 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang level1 -) 0061 0062 # Pass level0 + another check 0063 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang reserve-candidates -Xclang -plugin-arg-clazy -Xclang level0 -) 0064 0065 # Pass level0 + another check that's already in level0 0066 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang qdatetime-utc -Xclang -plugin-arg-clazy -Xclang level0 -) 0067 0068 # Use a level argument in the checks list 0069 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang implicit-casts,foreach,level0 -) 0070 0071 # Use a level in env-variable 0072 export CLAZY_CHECKS="level1" 0073 echo | $CLAZY_COMMAND_STDIN 0074 0075 # Should also work with quotes. Users sometimes add quotes in QtCreator. 0076 echo Test9 0077 export CLAZY_CHECKS=\"level1\" 0078 echo | $CLAZY_COMMAND_STDIN 0079 0080 # Use a level in env-variable + another check 0081 export CLAZY_CHECKS="level0,reserve-candidates" 0082 echo | $CLAZY_COMMAND_STDIN 0083 0084 # Use both env variable and compiler argument 0085 export CLAZY_CHECKS="level0,reserve-candidates" 0086 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang implicit-casts,level0 -) 0087 0088 unset CLAZY_CHECKS 0089 0090 # Test disabling checks works 0091 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang implicit-casts,foreach,no-foreach -) 0092 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang implicit-casts,no-foreach -) 0093 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang implicit-casts,no-implicit-casts -) 0094 echo | $($CLAZY_COMMAND -Xclang -plugin-arg-clazy -Xclang level0,no-qenums,no-qgetenv -) 0095 0096 # Test disabling checks works, now with env variables 0097 export CLAZY_CHECKS="implicit-casts,foreach,no-foreach" 0098 echo | $CLAZY_COMMAND_STDIN 0099 0100 export CLAZY_CHECKS="implicit-casts,no-foreach" 0101 echo | $CLAZY_COMMAND_STDIN 0102 0103 export CLAZY_CHECKS="implicit-casts,no-implicit-casts" 0104 echo | $CLAZY_COMMAND_STDIN 0105 0106 export CLAZY_CHECKS="level0,no-qenums,no-qgetenv" 0107 echo | $CLAZY_COMMAND_STDIN 0108 0109 export CLAZY_CHECKS="no-qenums" 0110 echo | $CLAZY_COMMAND_STDIN 0111