Skip to content

Commit 38ad058

Browse files
Update performance_test.py
1 parent c221f52 commit 38ad058

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

test/cli/performance_test.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,30 @@ def test_slow_exprid(tmpdir):
147147
cppcheck([filename], env=my_env)
148148

149149

150+
@pytest.mark.timeout(10)
151+
def test_stack_overflow_AST(tmpdir):
152+
# 14435
153+
filename = os.path.join(tmpdir, 'hang.cpp')
154+
with open(filename, 'wt') as f:
155+
f.write("""
156+
#define ROW 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
157+
#define ROW8 ROW ROW ROW ROW ROW ROW ROW ROW
158+
#define ROW64 ROW8 ROW8 ROW8 ROW8 ROW8 ROW8 ROW8 ROW8
159+
#define ROW512 ROW64 ROW64 ROW64 ROW64 ROW64 ROW64 ROW64 ROW64
160+
#define ROW4096 ROW512 ROW512 ROW512 ROW512 ROW512 ROW512 ROW512 ROW512
161+
#define ROW32768 ROW4096 ROW4096 ROW4096 ROW4096 ROW4096 ROW4096 ROW4096 ROW4096
162+
void f(std::vector<int>& v) {
163+
v = {
164+
ROW32768 0
165+
};
166+
}
167+
""")
168+
169+
my_env = os.environ.copy()
170+
my_env["DISABLE_VALUEFLOW"] = "1"
171+
cppcheck([filename], env=my_env)
172+
173+
150174
@pytest.mark.timeout(10)
151175
def test_slow_initlist_varchanged(tmpdir):
152176
# #12235

0 commit comments

Comments
 (0)