2 @message |
assert
+ Restore FAILED:
+ arithmetic exception, numeric overflow, or string truncation
+ -string right truncation
+ -expected length 38, actual 45318
+ -gds_$send failed
+ -Exiting before completion due to errors
+ (335544321, 335544914, 335545033, 336330800, 336330835)
LOG DETAILS:
2024-09-10 13:18:25.733
2024-09-10 13:18:25.733 act = <firebird.qa.plugin.Action object at [hex]>
2024-09-10 13:18:25.733 db_tmp = <firebird.qa.plugin.Database object at [hex]>
2024-09-10 13:18:25.733 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2024-09-10 13:18:25.733
2024-09-10 13:18:25.733 @pytest.mark.version('>=4.0')
2024-09-10 13:18:25.734 def test_1(act: Action, db_tmp: Database, capsys):
2024-09-10 13:18:25.734
2024-09-10 13:18:25.734 #with act.db.connect() as con:
2024-09-10 13:18:25.734 # if act.is_version('>=5'):
2024-09-10 13:18:25.734 # pytest.skip("currently works only in FB 4.x.")
2024-09-10 13:18:25.734
2024-09-10 13:18:25.734 backup = BytesIO()
2024-09-10 13:18:25.734 with act.connect_server() as srv:
2024-09-10 13:18:25.734 # 5.0.0.882:
2024-09-10 13:18:25.734 # firebird.driver.types.DatabaseError: message length error (encountered 32, expected 65568)
2024-09-10 13:18:25.734 # -gds_$receive failed
2024-09-10 13:18:25.734 # -Exiting before completion due to errors
2024-09-10 13:18:25.734 #
2024-09-10 13:18:25.734 srv.database.local_backup(database=act.db.db_path, backup_stream=backup)
2024-09-10 13:18:25.734 backup.seek(0)
2024-09-10 13:18:25.734
2024-09-10 13:18:25.734 # 5.0.1.1318, 6.0.0.219 (before fix):
2024-09-10 13:18:25.734 # firebird.driver.types.DatabaseError: expected record length
2024-09-10 13:18:25.734 # -Exiting before completion due to errors
2024-09-10 13:18:25.735 #
2024-09-10 13:18:25.735 try:
2024-09-10 13:18:25.735 srv.database.local_restore(backup_stream = backup, database = db_tmp.db_path, flags = SrvRestoreFlag.REPLACE)
2024-09-10 13:18:25.735 # Validation must pass without any output:
2024-09-10 13:18:25.735 act.gfix(switches=['-v', '-full', db_tmp.db_path], combine_output = True, io_enc = locale.getpreferredencoding())
2024-09-10 13:18:25.735 except DatabaseError as e:
2024-09-10 13:18:25.735 print('Restore FAILED:')
2024-09-10 13:18:25.735 print(e.__str__())
2024-09-10 13:18:25.735 print(e.gds_codes)
2024-09-10 13:18:25.735 finally:
2024-09-10 13:18:25.735 if Path(db_tmp.db_path).is_file():
2024-09-10 13:18:25.735 Path(db_tmp.db_path).unlink()
2024-09-10 13:18:25.735
2024-09-10 13:18:25.735 act.expected_stdout = ''
2024-09-10 13:18:25.735 act.stdout = capsys.readouterr().out
2024-09-10 13:18:25.735 > assert act.clean_stdout == act.clean_expected_stdout
2024-09-10 13:18:25.735 E assert
2024-09-10 13:18:25.735 E + Restore FAILED:
2024-09-10 13:18:25.735 E + arithmetic exception, numeric overflow, or string truncation
2024-09-10 13:18:25.736 E + -string right truncation
2024-09-10 13:18:25.736 E + -expected length 38, actual 45318
2024-09-10 13:18:25.736 E + -gds_$send failed
2024-09-10 13:18:25.736 E + -Exiting before completion due to errors
2024-09-10 13:18:25.736 E + (335544321, 335544914, 335545033, 336330800, 336330835)
2024-09-10 13:18:25.736
2024-09-10 13:18:25.736 tests\bugs\gh_7436_test.py:284: AssertionError
2024-09-10 13:18:25.736 ---------------------------- Captured stdout setup ----------------------------
2024-09-10 13:18:25.736 Creating db: localhost:H:\QA\temp\qa2024.tmp\fbqa\test_11514\test.fdb [page_size=None, sql_dialect=None, charset='WIN1251', user=SYSDBA, password=masterkey]
|
3 #text |
act = <firebird.qa.plugin.Action pytest object at [hex]>
db_tmp = <firebird.qa.plugin.Database pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>
@pytest.mark.version('>=4.0')
def test_1(act: Action, db_tmp: Database, capsys):
#with act.db.connect() as con:
# if act.is_version('>=5'):
# pytest.skip("currently works only in FB 4.x.")
backup = BytesIO()
with act.connect_server() as srv:
# 5.0.0.882:
# firebird.driver.types.DatabaseError: message length error (encountered 32, expected 65568)
# -gds_$receive failed
# -Exiting before completion due to errors
#
srv.database.local_backup(database=act.db.db_path, backup_stream=backup)
backup.seek(0)
# 5.0.1.1318, 6.0.0.219 (before fix):
# firebird.driver.types.DatabaseError: expected record length
# -Exiting before completion due to errors
#
try:
srv.database.local_restore(backup_stream = backup, database = db_tmp.db_path, flags = SrvRestoreFlag.REPLACE)
# Validation must pass without any output:
act.gfix(switches=['-v', '-full', db_tmp.db_path], combine_output = True, io_enc = locale.getpreferredencoding())
except DatabaseError as e:
print('Restore FAILED:')
print(e.__str__())
print(e.gds_codes)
finally:
if Path(db_tmp.db_path).is_file():
Path(db_tmp.db_path).unlink()
act.expected_stdout = ''
act.stdout = capsys.readouterr().out
> assert act.clean_stdout == act.clean_expected_stdout
E assert
E + Restore FAILED:
E + arithmetic exception, numeric overflow, or string truncation
E + -string right truncation
E + -expected length 38, actual 45318
E + -gds_$send failed
E + -Exiting before completion due to errors
E + (335544321, 335544914, 335545033, 336330800, 336330835)
tests\bugs\gh_7436_test.py:284: AssertionError
|