Skip to content

Commit f422b01

Browse files
committed
fix parse statement
1 parent 06e1308 commit f422b01

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

ydb/tests/functional/suite_tests/test_base.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ def __init__(self, suite: str, at_line: int, type: Type, text: [str]):
5656
self.s_type = type
5757
self.text = text
5858

59+
def __str__(self):
60+
return f'''StatementDefinition:
61+
suite: {self.suite_name}
62+
line: {self.at_line}
63+
type: {self.s_type}
64+
text:
65+
''' + '\n'.join([f' {row}' for row in self.text.split('\n')])
66+
5967
@staticmethod
6068
def _parse_statement_type(statement_line: str) -> Type:
6169
for t in list(StatementDefinition.Type):
@@ -114,23 +122,26 @@ def get_test_suites(directory):
114122
return suites
115123

116124

117-
def split_by_empty_lines(lines):
125+
def split_by_statement(lines):
118126
statement_lines = []
119127
statement_start_line_idx = 0
120128
for line_idx, line in lines:
121129
if line:
122-
if not statement_lines:
130+
if line.startswith("statement "):
123131
statement_start_line_idx = line_idx
124-
statement_lines.append(line)
125-
elif statement_lines:
126-
yield (statement_start_line_idx, statement_lines)
127-
statement_lines = []
132+
statement_lines = [line]
133+
elif statement_lines:
134+
statement_lines.append(line)
135+
else:
136+
if statement_lines:
137+
yield (statement_start_line_idx, statement_lines)
138+
statement_lines = []
128139
if statement_lines:
129140
yield (statement_start_line_idx, statement_lines)
130141

131142

132143
def get_statements(suite_path, suite_name):
133-
for statement_start_line_idx, statement_lines in split_by_empty_lines(get_lines(suite_path)):
144+
for statement_start_line_idx, statement_lines in split_by_statement(get_lines(suite_path)):
134145
yield StatementDefinition.parse(
135146
suite_name,
136147
statement_start_line_idx,

0 commit comments

Comments
 (0)