2 @message |
assert
- Parameter: param0, value is in HEX form.
+ Parameter: param0, value: "yA?Qc4*" - not in HEX form.
- Parameter: param1, value is in HEX form.
+ Parameter: param1, value: "rj~#x01#x171J\ Q" - not in HEX form.
- Parameter: param2, value is in HEX form.
+ Parameter: param2, value: "BBSGy#x02N#x02" - not in HEX form.
- Parameter: param3, value is in HEX form.
+ Parameter: param3, value: "1'+JE#x05F" - not in HEX form.
LOG DETAILS:
2025-02-06 12:54:12.414
2025-02-06 12:54:12.414 act = <firebird.qa.plugin.Action object at [hex]>
2025-02-06 12:54:12.414 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-02-06 12:54:12.414
2025-02-06 12:54:12.414 @pytest.mark.trace
2025-02-06 12:54:12.414 @pytest.mark.version('>=5.0.2')
2025-02-06 12:54:12.414 def test_1(act: Action, capsys):
2025-02-06 12:54:12.414
2025-02-06 12:54:12.414 with act.trace(db_events = trace_events_lst):
2025-02-06 12:54:12.414 act.reset()
2025-02-06 12:54:12.414 act.isql(switches = ['-q'], input = test_sql, combine_output = True)
2025-02-06 12:54:12.414
2025-02-06 12:54:12.414 # Process trace
2025-02-06 12:54:12.414 # BEFORE FIX: param0 = varchar(16), "<binary data here>"
2025-02-06 12:54:12.414 # AFTER FIX: param0 = varbinary(16), "D0EC952EC11A4C209011CF95C1712D2F"
2025-02-06 12:54:12.414
2025-02-06 12:54:12.415 param_name_pattern = re.compile( r'\s?param\d+\s?=\s?(var)?(binary|char)\(\d+\)', re.IGNORECASE )
2025-02-06 12:54:12.415 # param_hexvalue_ptn = re.compile('')
2025-02-06 12:54:12.415
2025-02-06 12:54:12.415 for line in act.trace_log:
2025-02-06 12:54:12.415 if param_name_pattern.search(line.lower()):
2025-02-06 12:54:12.415 param_name = line.split("=")[0].strip()
2025-02-06 12:54:12.415 param_val = line.split('"')[1]
2025-02-06 12:54:12.415 try:
2025-02-06 12:54:12.415 _ = int(param_val, 16)
2025-02-06 12:54:12.415 print(f'Parameter: {param_name}, value is in HEX form.')
2025-02-06 12:54:12.415 except ValueError as e:
2025-02-06 12:54:12.415 print(f'Parameter: {param_name}, value: "{param_val}" - not in HEX form.')
2025-02-06 12:54:12.415
2025-02-06 12:54:12.415 act.expected_stdout = """
2025-02-06 12:54:12.415 Parameter: param0, value is in HEX form.
2025-02-06 12:54:12.415 Parameter: param1, value is in HEX form.
2025-02-06 12:54:12.415 Parameter: param2, value is in HEX form.
2025-02-06 12:54:12.415 Parameter: param3, value is in HEX form.
2025-02-06 12:54:12.416 """
2025-02-06 12:54:12.416 act.stdout = capsys.readouterr().out
2025-02-06 12:54:12.416 > assert act.clean_stdout == act.clean_expected_stdout
2025-02-06 12:54:12.416 E assert
2025-02-06 12:54:12.416 E - Parameter: param0, value is in HEX form.
2025-02-06 12:54:12.416 E + Parameter: param0, value: "yA?Qc4*" - not in HEX form.
2025-02-06 12:54:12.416 E - Parameter: param1, value is in HEX form.
2025-02-06 12:54:12.416 E + Parameter: param1, value: "rj~1J\ Q" - not in HEX form.
2025-02-06 12:54:12.416 E - Parameter: param2, value is in HEX form.
2025-02-06 12:54:12.416 E + Parameter: param2, value: "BBSGyN" - not in HEX form.
2025-02-06 12:54:12.416 E - Parameter: param3, value is in HEX form.
2025-02-06 12:54:12.416 E + Parameter: param3, value: "1'+JEF" - not in HEX form.
2025-02-06 12:54:12.417
2025-02-06 12:54:12.417 tests\bugs\gh_8356_test.py:88: AssertionError
2025-02-06 12:54:12.417 ---------------------------- Captured stdout setup ----------------------------
2025-02-06 12:54:12.417 Creating db: localhost:H:\QA\temp\qa2024.tmp\fbqa\test_11701\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: "yA?Qc4*" - not in HEX form.
E - Parameter: param1, value is in HEX form.
E + Parameter: param1, value: "rj~#x01#x171J\ Q" - not in HEX form.
E - Parameter: param2, value is in HEX form.
E + Parameter: param2, value: "BBSGy#x02N#x02" - not in HEX form.
E - Parameter: param3, value is in HEX form.
E + Parameter: param3, value: "1'+JE#x05F" - not in HEX form.
tests\bugs\gh_8356_test.py:88: AssertionError
|