MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / TestValueFlow

Class TestValueFlow

test/testvalueflow.cpp:41–9387  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39#include <vector>
40
41class TestValueFlow : public TestFixture {
42public:
43 TestValueFlow() : TestFixture("TestValueFlow") {}
44
45private:
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);

Callers

nothing calls this directly

Calls 2

buildMethod · 0.80
libraryMethod · 0.80

Tested by

no test coverage detected