2 @message |
assert
- Parameter: param0, value is in HEX form.
+ Parameter: param0, value: "#x108F1j#x0F" - not in HEX form.
- Parameter: param1, value is in HEX form.
- Parameter: param2, value is in HEX form.
+ Parameter: param1, value: "#x10_#x05
+ " - not in HEX form.
+ Parameter: param2, value: "UV!;
+ M\|<" - not in HEX form.
- Parameter: param3, value is in HEX form.
+ Parameter: param3, value: "c#x01F`" - not in HEX form.
LOG DETAILS:
2025-02-14 14:31:21.939
2025-02-14 14:31:21.947 act = <firebird.qa.plugin.Action object at [hex]>
2025-02-14 14:31:21.956 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-02-14 14:31:21.968
2025-02-14 14:31:21.977 @pytest.mark.trace
2025-02-14 14:31:21.983 @pytest.mark.version('>=5.0.2')
2025-02-14 14:31:21.990 def test_1(act: Action, capsys):
2025-02-14 14:31:22.001
2025-02-14 14:31:22.012 with act.trace(db_events = trace_events_lst):
2025-02-14 14:31:22.019 act.reset()
2025-02-14 14:31:22.026 act.isql(switches = ['-q'], input = test_sql, combine_output = True)
2025-02-14 14:31:22.037
2025-02-14 14:31:22.045 # Process trace
2025-02-14 14:31:22.052 # BEFORE FIX: param0 = varchar(16), "<binary data here>"
2025-02-14 14:31:22.061 # AFTER FIX: param0 = varbinary(16), "D0EC952EC11A4C209011CF95C1712D2F"
2025-02-14 14:31:22.069
2025-02-14 14:31:22.077 param_name_pattern = re.compile( r'\s?param\d+\s?=\s?(var)?(binary|char)\(\d+\)', re.IGNORECASE )
2025-02-14 14:31:22.093 # param_hexvalue_ptn = re.compile('')
2025-02-14 14:31:22.104
2025-02-14 14:31:22.115 for line in act.trace_log:
2025-02-14 14:31:22.123 if param_name_pattern.search(line.lower()):
2025-02-14 14:31:22.131 param_name = line.split("=")[0].strip()
2025-02-14 14:31:22.138 param_val = line.split('"')[1]
2025-02-14 14:31:22.145 try:
2025-02-14 14:31:22.151 _ = int(param_val, 16)
2025-02-14 14:31:22.158 print(f'Parameter: {param_name}, value is in HEX form.')
2025-02-14 14:31:22.167 except ValueError as e:
2025-02-14 14:31:22.177 print(f'Parameter: {param_name}, value: "{param_val}" - not in HEX form.')
2025-02-14 14:31:22.184
2025-02-14 14:31:22.192 act.expected_stdout = """
2025-02-14 14:31:22.199 Parameter: param0, value is in HEX form.
2025-02-14 14:31:22.208 Parameter: param1, value is in HEX form.
2025-02-14 14:31:22.216 Parameter: param2, value is in HEX form.
2025-02-14 14:31:22.223 Parameter: param3, value is in HEX form.
2025-02-14 14:31:22.231 """
2025-02-14 14:31:22.240 act.stdout = capsys.readouterr().out
2025-02-14 14:31:22.248 > assert act.clean_stdout == act.clean_expected_stdout
2025-02-14 14:31:22.256 E assert
2025-02-14 14:31:22.265 E - Parameter: param0, value is in HEX form.
2025-02-14 14:31:22.288 E + Parameter: param0, value: "8F1j" - not in HEX form.
2025-02-14 14:31:22.310 E - Parameter: param1, value is in HEX form.
2025-02-14 14:31:22.319 E - Parameter: param2, value is in HEX form.
2025-02-14 14:31:22.328 E + Parameter: param1, value: "_
2025-02-14 14:31:22.336 E + " - not in HEX form.
2025-02-14 14:31:22.345 E + Parameter: param2, value: "UV!;
2025-02-14 14:31:22.353 E + M\|<" - not in HEX form.
2025-02-14 14:31:22.361 E - Parameter: param3, value is in HEX form.
2025-02-14 14:31:22.375 E + Parameter: param3, value: "cF`" - not in HEX form.
2025-02-14 14:31:22.388
2025-02-14 14:31:22.395 tests/bugs/gh_8356_test.py:88: AssertionError
2025-02-14 14:31:22.402 ---------------------------- Captured stdout setup -----------------------------
2025-02-14 14:31:22.409 Creating db: localhost:/var/tmp/qa_2024/test_11679/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
|
3 #text |
act = <firebird.qa.plugin.Action pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>
@pytest.mark.trace
@pytest.mark.version('>=5.0.2')
def test_1(act: Action, capsys):
with act.trace(db_events = trace_events_lst):
act.reset()
act.isql(switches = ['-q'], input = test_sql, combine_output = True)
# Process trace
# BEFORE FIX: param0 = varchar(16), "<binary data here>"
# AFTER FIX: param0 = varbinary(16), "D0EC952EC11A4C209011CF95C1712D2F"
param_name_pattern = re.compile( r'\s?param\d+\s?=\s?(var)?(binary|char)\(\d+\)', re.IGNORECASE )
# param_hexvalue_ptn = re.compile('')
for line in act.trace_log:
if param_name_pattern.search(line.lower()):
param_name = line.split("=")[0].strip()
param_val = line.split('"')[1]
try:
_ = int(param_val, 16)
print(f'Parameter: {param_name}, value is in HEX form.')
except ValueError as e:
print(f'Parameter: {param_name}, value: "{param_val}" - not in HEX form.')
act.expected_stdout = """
Parameter: param0, value is in HEX form.
Parameter: param1, value is in HEX form.
Parameter: param2, value is in HEX form.
Parameter: param3, value is in HEX form.
"""
act.stdout = capsys.readouterr().out
> assert act.clean_stdout == act.clean_expected_stdout
E assert
E - Parameter: param0, value is in HEX form.
E + Parameter: param0, value: "#x108F1j#x0F" - not in HEX form.
E - Parameter: param1, value is in HEX form.
E - Parameter: param2, value is in HEX form.
E + Parameter: param1, value: "#x10_#x05
E + " - not in HEX form.
E + Parameter: param2, value: "UV!;
E + M\|<" - not in HEX form.
E - Parameter: param3, value is in HEX form.
E + Parameter: param3, value: "c#x01F`" - not in HEX form.
tests/bugs/gh_8356_test.py:88: AssertionError
|