Skip to content

Commit 9e38f23

Browse files
committed
Fix test counting python to account for comma in strings
The python script would previously count the following example as 3 tests where it should have counted it as 2 tests - `TEMPLATE_TEST_CASE("a,b", "[core]", class_at, class_bt)`
1 parent ce2680b commit 9e38f23

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

unit/count_tests.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,22 @@ def __init__(self):
1414
self.separators = 0
1515

1616
def read_text(self, text):
17+
previous_character = None
18+
in_quotes = False
1719
for character in text:
18-
if character == '(' or character == '<':
19-
self.bracket_depth += 1
20-
elif character == ')' or character == '(':
21-
self.bracket_depth -= 1
22-
elif character == ',' and self.bracket_depth == 1:
23-
self.separators += 1
20+
if in_quotes:
21+
if character == '"' and previous_character != "\\":
22+
in_quotes = False
23+
else:
24+
if character == '"':
25+
in_quotes = True
26+
elif character == '(' or character == '<':
27+
self.bracket_depth += 1
28+
elif character == ')' or character == '(':
29+
self.bracket_depth -= 1
30+
elif character == ',' and self.bracket_depth == 1:
31+
self.separators += 1
32+
previous_character = character
2433

2534

2635
def tests_in_file(file_path):

0 commit comments

Comments
 (0)