2 @message |
assert
- Parameter: param0, value is in HEX form.
+ Parameter: param0, value: "#x01BFMA" - not in HEX form.
- Parameter: param1, value is in HEX form.
+ Parameter: param1, value: ".o#x08Hs7" - not in HEX form.
- Parameter: param2, value is in HEX form.
+ Parameter: param2, value: "cp.M&w#x1Ah~#x07j" - not in HEX form.
- Parameter: param3, value is in HEX form.
+ Parameter: param3, value: "
+ Ka@#x1AG|
+ #x18" - not in HEX form.
LOG DETAILS:
2025-02-06 11:45:14.155
2025-02-06 11:45:14.155 act = <firebird.qa.plugin.Action object at [hex]>
2025-02-06 11:45:14.155 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-02-06 11:45:14.155
2025-02-06 11:45:14.155 @pytest.mark.trace
2025-02-06 11:45:14.155 @pytest.mark.version('>=5.0.2')
2025-02-06 11:45:14.155 def test_1(act: Action, capsys):
2025-02-06 11:45:14.155
2025-02-06 11:45:14.155 with act.trace(db_events = trace_events_lst):
2025-02-06 11:45:14.155 act.reset()
2025-02-06 11:45:14.155 act.isql(switches = ['-q'], input = test_sql, combine_output = True)
2025-02-06 11:45:14.156
2025-02-06 11:45:14.156 # Process trace
2025-02-06 11:45:14.156 # BEFORE FIX: param0 = varchar(16), "<binary data here>"
2025-02-06 11:45:14.156 # AFTER FIX: param0 = varbinary(16), "D0EC952EC11A4C209011CF95C1712D2F"
2025-02-06 11:45:14.156
2025-02-06 11:45:14.156 param_name_pattern = re.compile( r'\s?param\d+\s?=\s?(var)?(binary|char)\(\d+\)', re.IGNORECASE )
2025-02-06 11:45:14.156 # param_hexvalue_ptn = re.compile('')
2025-02-06 11:45:14.156
2025-02-06 11:45:14.156 for line in act.trace_log:
2025-02-06 11:45:14.156 if param_name_pattern.search(line.lower()):
2025-02-06 11:45:14.156 param_name = line.split("=")[0].strip()
2025-02-06 11:45:14.156 param_val = line.split('"')[1]
2025-02-06 11:45:14.156 try:
2025-02-06 11:45:14.156 _ = int(param_val, 16)
2025-02-06 11:45:14.156 print(f'Parameter: {param_name}, value is in HEX form.')
2025-02-06 11:45:14.156 except ValueError as e:
2025-02-06 11:45:14.156 print(f'Parameter: {param_name}, value: "{param_val}" - not in HEX form.')
2025-02-06 11:45:14.156
2025-02-06 11:45:14.156 act.expected_stdout = """
2025-02-06 11:45:14.157 Parameter: param0, value is in HEX form.
2025-02-06 11:45:14.157 Parameter: param1, value is in HEX form.
2025-02-06 11:45:14.157 Parameter: param2, value is in HEX form.
2025-02-06 11:45:14.157 Parameter: param3, value is in HEX form.
2025-02-06 11:45:14.157 """
2025-02-06 11:45:14.157 act.stdout = capsys.readouterr().out
2025-02-06 11:45:14.157 > assert act.clean_stdout == act.clean_expected_stdout
2025-02-06 11:45:14.157 E assert
2025-02-06 11:45:14.157 E - Parameter: param0, value is in HEX form.
2025-02-06 11:45:14.157 E + Parameter: param0, value: "BFMA" - not in HEX form.
2025-02-06 11:45:14.157 E - Parameter: param1, value is in HEX form.
2025-02-06 11:45:14.157 E + Parameter: param1, value: ".oHs7" - not in HEX form.
2025-02-06 11:45:14.157 E - Parameter: param2, value is in HEX form.
2025-02-06 11:45:14.157 E + Parameter: param2, value: "cp.M&wh~j" - not in HEX form.
2025-02-06 11:45:14.158 E - Parameter: param3, value is in HEX form.
2025-02-06 11:45:14.158 E + Parameter: param3, value: "
2025-02-06 11:45:14.158 E + Ka@G|
2025-02-06 11:45:14.158 E + " - not in HEX form.
2025-02-06 11:45:14.158
2025-02-06 11:45:14.158 tests\bugs\gh_8356_test.py:88: AssertionError
2025-02-06 11:45:14.158 ---------------------------- Captured stdout setup ----------------------------
2025-02-06 11:45:14.158 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: "#x01BFMA" - not in HEX form.
E - Parameter: param1, value is in HEX form.
E + Parameter: param1, value: ".o#x08Hs7" - not in HEX form.
E - Parameter: param2, value is in HEX form.
E + Parameter: param2, value: "cp.M&w#x1Ah~#x07j" - not in HEX form.
E - Parameter: param3, value is in HEX form.
E + Parameter: param3, value: "
E + Ka@#x1AG|
E + #x18" - not in HEX form.
tests\bugs\gh_8356_test.py:88: AssertionError
|