| 46 | /*const*/ Settings settings = settingsBuilder().library("std.cfg").build(); |
| 47 | |
| 48 | void run() override { |
| 49 | // strcpy, abort cfg |
| 50 | constexpr char cfg[] = "<?xml version=\"1.0\"?>\n" |
| 51 | "<def>\n" |
| 52 | " <function name=\"strcpy\"> <arg nr=\"1\"><not-null/></arg> </function>\n" |
| 53 | " <function name=\"abort\"> <noreturn>true</noreturn> </function>\n" // abort is a noreturn function |
| 54 | "</def>"; |
| 55 | settings = settingsBuilder(settings).libraryxml(cfg).build(); |
| 56 | |
| 57 | mNewTemplate = true; |
| 58 | TEST_CASE(valueFlowNumber); |
| 59 | TEST_CASE(valueFlowString); |
| 60 | TEST_CASE(valueFlowTypeTraits); |
| 61 | TEST_CASE(valueFlowPointerAlias); |
| 62 | TEST_CASE(valueFlowLifetime); |
| 63 | TEST_CASE(valueFlowArrayElement); |
| 64 | TEST_CASE(valueFlowMove); |
| 65 | |
| 66 | TEST_CASE(valueFlowBitAnd); |
| 67 | TEST_CASE(valueFlowRightShift); |
| 68 | |
| 69 | TEST_CASE(valueFlowCalculations); |
| 70 | TEST_CASE(valueFlowSizeof); |
| 71 | TEST_CASE(valueFlowComma); |
| 72 | |
| 73 | TEST_CASE(valueFlowErrorPath); |
| 74 | |
| 75 | TEST_CASE(valueFlowBeforeCondition); |
| 76 | TEST_CASE(valueFlowBeforeConditionAndAndOrOrGuard); |
| 77 | TEST_CASE(valueFlowBeforeConditionAssignIncDec); |
| 78 | TEST_CASE(valueFlowBeforeConditionFunctionCall); |
| 79 | TEST_CASE(valueFlowBeforeConditionGlobalVariables); |
| 80 | mNewTemplate = false; |
| 81 | TEST_CASE(valueFlowBeforeConditionGoto); |
| 82 | mNewTemplate = true; |
| 83 | TEST_CASE(valueFlowBeforeConditionIfElse); |
| 84 | TEST_CASE(valueFlowBeforeConditionLoop); |
| 85 | mNewTemplate = false; |
| 86 | TEST_CASE(valueFlowBeforeConditionMacro); |
| 87 | mNewTemplate = true; |
| 88 | TEST_CASE(valueFlowBeforeConditionSizeof); |
| 89 | TEST_CASE(valueFlowBeforeConditionSwitch); |
| 90 | TEST_CASE(valueFlowBeforeConditionTernaryOp); |
| 91 | TEST_CASE(valueFlowBeforeConditionForward); |
| 92 | TEST_CASE(valueFlowBeforeConditionConstructor); |
| 93 | |
| 94 | TEST_CASE(valueFlowAfterAssign); |
| 95 | TEST_CASE(valueFlowAfterSwap); |
| 96 | TEST_CASE(valueFlowAfterCondition); |
| 97 | TEST_CASE(valueFlowAfterConditionTernary); |
| 98 | TEST_CASE(valueFlowAfterConditionExpr); |
| 99 | TEST_CASE(valueFlowAfterConditionSeveralNot); |
| 100 | TEST_CASE(valueFlowForwardCompoundAssign); |
| 101 | TEST_CASE(valueFlowForwardCorrelatedVariables); |
| 102 | TEST_CASE(valueFlowForwardModifiedVariables); |
| 103 | TEST_CASE(valueFlowForwardFunction); |
| 104 | TEST_CASE(valueFlowForwardTernary); |
| 105 | TEST_CASE(valueFlowForwardLambda); |