2 @message |
assert
- Parameter: param0, value is in HEX form.
+ Parameter: param0, value: "glbK(#x04#x12)
+ " - not in HEX form.
- Parameter: param1, value is in HEX form.
+ Parameter: param1, value: "~#x18N@#x06#x16#x13#x06^0" - not in HEX form.
- Parameter: param2, value is in HEX form.
+ Parameter: param2, value: "#x07v+B#x03#x12B" - not in HEX form.
- Parameter: param3, value is in HEX form.
+ Parameter: param3, value: "i#x1F;M*qFm" - not in HEX form.
LOG DETAILS:
2025-02-14 12:51:13.824
2025-02-14 12:51:13.833 act = <firebird.qa.plugin.Action object at [hex]>
2025-02-14 12:51:13.845 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-02-14 12:51:13.854
2025-02-14 12:51:13.862 @pytest.mark.trace
2025-02-14 12:51:13.870 @pytest.mark.version('>=5.0.2')
2025-02-14 12:51:13.877 def test_1(act: Action, capsys):
2025-02-14 12:51:13.884
2025-02-14 12:51:13.889 with act.trace(db_events = trace_events_lst):
2025-02-14 12:51:13.895 act.reset()
2025-02-14 12:51:13.901 act.isql(switches = ['-q'], input = test_sql, combine_output = True)
2025-02-14 12:51:13.907
2025-02-14 12:51:13.914 # Process trace
2025-02-14 12:51:13.927 # BEFORE FIX: param0 = varchar(16), "<binary data here>"
2025-02-14 12:51:13.939 # AFTER FIX: param0 = varbinary(16), "D0EC952EC11A4C209011CF95C1712D2F"
2025-02-14 12:51:13.946
2025-02-14 12:51:13.953 param_name_pattern = re.compile( r'\s?param\d+\s?=\s?(var)?(binary|char)\(\d+\)', re.IGNORECASE )
2025-02-14 12:51:13.961 # param_hexvalue_ptn = re.compile('')
2025-02-14 12:51:13.967
2025-02-14 12:51:13.975 for line in act.trace_log:
2025-02-14 12:51:13.985 if param_name_pattern.search(line.lower()):
2025-02-14 12:51:13.992 param_name = line.split("=")[0].strip()
2025-02-14 12:51:13.999 param_val = line.split('"')[1]
2025-02-14 12:51:14.008 try:
2025-02-14 12:51:14.017 _ = int(param_val, 16)
2025-02-14 12:51:14.030 print(f'Parameter: {param_name}, value is in HEX form.')
2025-02-14 12:51:14.040 except ValueError as e:
2025-02-14 12:51:14.050 print(f'Parameter: {param_name}, value: "{param_val}" - not in HEX form.')
2025-02-14 12:51:14.059
2025-02-14 12:51:14.068 act.expected_stdout = """
2025-02-14 12:51:14.075 Parameter: param0, value is in HEX form.
2025-02-14 12:51:14.081 Parameter: param1, value is in HEX form.
2025-02-14 12:51:14.088 Parameter: param2, value is in HEX form.
2025-02-14 12:51:14.094 Parameter: param3, value is in HEX form.
2025-02-14 12:51:14.102 """
2025-02-14 12:51:14.113 act.stdout = capsys.readouterr().out
2025-02-14 12:51:14.120 > assert act.clean_stdout == act.clean_expected_stdout
2025-02-14 12:51:14.127 E assert
2025-02-14 12:51:14.135 E - Parameter: param0, value is in HEX form.
2025-02-14 12:51:14.147 E + Parameter: param0, value: "glbK()
2025-02-14 12:51:14.156 E + " - not in HEX form.
2025-02-14 12:51:14.163 E - Parameter: param1, value is in HEX form.
2025-02-14 12:51:14.175 E + Parameter: param1, value: "~N@^0" - not in HEX form.
2025-02-14 12:51:14.196 E - Parameter: param2, value is in HEX form.
2025-02-14 12:51:14.216 E + Parameter: param2, value: "v+BB" - not in HEX form.
2025-02-14 12:51:14.230 E - Parameter: param3, value is in HEX form.
2025-02-14 12:51:14.252 E + Parameter: param3, value: "i;M*qFm" - not in HEX form.
2025-02-14 12:51:14.276
2025-02-14 12:51:14.285 tests/bugs/gh_8356_test.py:88: AssertionError
2025-02-14 12:51:14.293 ---------------------------- Captured stdout setup -----------------------------
2025-02-14 12:51:14.300 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: "glbK(#x04#x12)
E + " - not in HEX form.
E - Parameter: param1, value is in HEX form.
E + Parameter: param1, value: "~#x18N@#x06#x16#x13#x06^0" - not in HEX form.
E - Parameter: param2, value is in HEX form.
E + Parameter: param2, value: "#x07v+B#x03#x12B" - not in HEX form.
E - Parameter: param3, value is in HEX form.
E + Parameter: param3, value: "i#x1F;M*qFm" - not in HEX form.
tests/bugs/gh_8356_test.py:88: AssertionError
|