6
0
mirror of https://github.com/FirebirdSQL/firebird-qa.git synced 2025-01-22 13:33:07 +01:00

Fix for 3.0.8 Windows

This commit is contained in:
Pavel Císař 2022-02-08 18:14:29 +01:00
parent 9a10f3468e
commit 2e0f861142
13 changed files with 96 additions and 14 deletions

View File

@ -23,7 +23,7 @@ DESCRIPTION:
though it helped to discover some other bug in engine which produced bugcheck - see CORE-5275.
NOTES:
[15.1.2022] pcisar
This test may FAIL when run on slow machine (like VM)!
This test may FAIL when run on slow machine (like VM), or fast one (Windows 10 with SSD)
JIRA: CORE-1746
FBTEST: bugs.core_1746
"""
@ -125,6 +125,7 @@ expected_stdout = """
2: CREATE INDEX LOG: -OBJECT TABLE "TEST" IS IN USE
"""
@pytest.mark.skip("FIXME: see notes")
@pytest.mark.version('>=3')
def test_1(act: Action, tmp_file_bi_in: Path, tmp_file_bi_out: Path, capsys):
rows_to_add = 1000

View File

@ -5,11 +5,16 @@ ID: issue-3322
ISSUE: 3322
TITLE: Trace output could contain garbage data left from filtered out statements
DESCRIPTION:
[08.02.2022] pcisar
Fails on Windows 3.0.8 with unexpected additional output line:
+ 0 records fetched
1 records fetched
JIRA: CORE-2940
FBTEST: bugs.core_2940
"""
import pytest
import platform
from firebird.qa import *
db = db_factory()
@ -48,6 +53,7 @@ trace = ['log_connections = true',
'exclude_filter = %no_trace%',
]
@pytest.mark.skipif(platform.system() == 'Windows', reason='FIXME: see notes')
@pytest.mark.version('>=3.0')
def test_1(act: Action):
with act.trace(db_events=trace):

View File

@ -74,7 +74,7 @@ expected_stderr_non_win = """
@pytest.mark.version('>=3')
def test_1(act: Action):
act.expected_stdout = expected_stdout
act.expected_stderr = expected_stderr_win if act.platform == 'Wndows' else expected_stderr_non_win
act.expected_stderr = expected_stderr_win if act.platform == 'Windows' else expected_stderr_non_win
act.execute()
assert (act.clean_stderr == act.clean_expected_stderr and
act.clean_stdout == act.clean_expected_stdout)

View File

@ -17,11 +17,26 @@ DESCRIPTION:
Finally (after ISQL will finish), we stop trace and parse its log.
For *each* table TWO lines with performance statristics must exist: both for COMMIT and ROLLBACK events.
[08.02.2022] pcisar
Fails on Windows 3.0.8 with unexpected additional output line:
+ Statement statistics detected for ROLLBACK
Statement statistics detected for COMMIT
Statement statistics detected for COMMIT
Statement statistics detected for ROLLBACK
Found performance block header
Found table statistics for TFIX
Statement statistics detected for COMMIT
Statement statistics detected for ROLLBACK
Found performance block header
Found table statistics for GTT_SSN
Statement statistics detected for COMMIT
Statement statistics detected for ROLLBACK
JIRA: CORE-3598
FBTEST: bugs.core_3598
"""
import pytest
import platform
from firebird.qa import *
init_script = """
@ -68,10 +83,11 @@ expected_stdout = """
"""
trace = ['log_transactions = true',
'print_perf = true',
'log_initfini = false',
]
'print_perf = true',
'log_initfini = false',
]
@pytest.mark.skipif(platform.system() == 'Windows', reason='FIXME: see notes')
@pytest.mark.version('>=3.0')
def test_1(act: Action, capsys):
with act.trace(db_events=trace):

View File

@ -15,12 +15,22 @@ DESCRIPTION:
Then we rollback and query rdb$functions again. No record about this function must be there.
STDERR is ignored in this test because of localized message about missed library.
NOTES:
[08.02.2022] pcisar
Fails on Windows 3.0.8 with unexpected additional output line:
+ Rolling back work.
Rolling back work.
Statement failed, SQLSTATE = 39000
.* at offset
-function DUMMY_EXT is not defined
-module name or entrypoint could not be found)
JIRA: CORE-4172
FBTEST: bugs.core_4172
"""
import pytest
import re
import platform
from pathlib import Path
from firebird.qa import *
@ -45,6 +55,7 @@ expected_stderr_1 = """
temp_db_1_a = temp_file('tmp_4172_1.fdb')
temp_db_1_b = temp_file('tmp_4172_2.fdb')
@pytest.mark.skipif(platform.system() == 'Windows', reason='FIXME: see notes')
@pytest.mark.version('>=3.0,<4')
def test_1(act_1: Action, temp_db_1_a: Path, temp_db_1_b: Path):
test_script = f"""

View File

@ -68,8 +68,9 @@ def test_1(act: Action, capsys):
'current_auth_plugin': None,}
for current_auth_plugin in ['Srp', 'Legacy_UserManager']:
subs['current_auth_plugin'] = current_auth_plugin
act.reset()
act.isql(switches=['-q'], input=sql_text % subs, combine_output=True)
for line in act.stdout.splitlines():
for line in act.clean_stdout.splitlines():
if line.strip():
print(current_auth_plugin[:3] + ': ' + line)
#
@ -111,8 +112,9 @@ def test_2(act: Action, capsys):
'current_auth_plugin': None,}
for current_auth_plugin in ['Legacy_UserManager']:
subs['current_auth_plugin'] = current_auth_plugin
act.reset()
act.isql(switches=['-q'], input=sql_text % subs, combine_output=True)
for line in act.stdout.splitlines():
for line in act.clean_stdout.splitlines():
if line.strip():
print(current_auth_plugin[:3] + ': ' + line)
#

View File

@ -5,11 +5,14 @@ ID: issue-5183
ISSUE: 5183
TITLE: FBSVCMGR with `action_trace_start` prevents in 3.0 SuperServer from connecting using local protocol
DESCRIPTION:
NOTES:
This test fails on Windows with "FAILED to find text in trace related to EMBEDDED connect."
JIRA: CORE-4889
FBTEST: bugs.core_4889
"""
import pytest
import platform
from firebird.qa import *
db = db_factory()
@ -44,6 +47,7 @@ trace = ['time_threshold = 0',
'log_statement_finish = true',
]
@pytest.mark.skipif(platform.system() == 'Windows', reason='FIXME: see notes')
@pytest.mark.version('>=3.0')
def test_1(act: Action, capsys):
with act.trace(db_events=trace):

View File

@ -19,7 +19,7 @@ init_script = """
db = db_factory(sql_dialect=3, init=init_script)
act = python_act('db', substitutions=[('BULK>.*', '')])
act = python_act('db', substitutions=[('BULK> ', '')])
expected_stdout = """
C ab

View File

@ -15,7 +15,7 @@ from firebird.qa import *
db = db_factory()
act = python_act('db')
act = python_act('db', substitutions=[('Commit current transaction \\(y/n\\)\\?', '')])
expected_stdout = """
RDB$USER TMP$C5790

View File

@ -26,11 +26,23 @@ DESCRIPTION:
-At trigger 'PERSONS_REPLICATE'
We expect appearing of this exception (see try/except block): check its class and content of message.
NOTES:
[08.02.2022] pcisar
Fails on Windows 3.0.8 due to malformed error message:
Got exception: <class 'firebird.driver.types.DatabaseError'>
+ Execute statement error at isc_dsql_prepare :335544359 : attempted update of read-only column
- Execute statement error at isc_dsql_prepare :
- 335544359 : attempted update of read-only column
Statement
- Data source
-At block line: 9, col: 5
-At trigger 'PERSONS_REPLICATE'
JIRA: CORE-5972
FBTEST: bugs.core_5972
"""
import pytest
import platform
from firebird.qa import *
from firebird.driver import DatabaseError
@ -64,6 +76,7 @@ expected_stdout = """
-At trigger 'PERSONS_REPLICATE'
"""
@pytest.mark.skipif(platform.system() == 'Windows', reason='FIXME: see notes')
@pytest.mark.version('>=3.0.6')
def test_1(act: Action, db_repl: Database, capsys):
ddl_for_replication = f"""

View File

@ -21,11 +21,26 @@ DESCRIPTION:
Confirmed bug on 4.0.0.2204: got crash when N=8065 (but still "new record size of 65536 bytes is too big" when N=8066).
Checked on 3.0.7.33368, 4.0.0.2214 - all OK.
NOTES:
[08.02.2022] pcisar
Fails on Windows 3.0.8 with diff:
step: 0, FLD_COUNT: 8064, result: FIELDS_TOTAL 32510016
step: 1, FLD_COUNT: 8065, result: Statement failed, SQLSTATE = 54000
step: 1, FLD_COUNT: 8065, result: unsuccessful metadata update
step: 1, FLD_COUNT: 8065, result: -new record size of 65536 bytes is too big
- step: 1, FLD_COUNT: 8065, result: -TABLE TDATA
+ step: 1, FLD_COUNT: 8065, result: -TABLE TDATA
? +
+ step: 1, FLD_COUNT: 8065, result: Statement failed, SQLSTATE = 21S01
+ step: 1, FLD_COUNT: 8065, result: Dynamic SQL Error
+ step: 1, FLD_COUNT: 8065, result: -SQL error code = -804
+ step: 1, FLD_COUNT: 8065, result: -Count of read-write columns does not equal count of values
JIRA: CORE-6411
FBTEST: bugs.core_6411
"""
import pytest
import platform
from firebird.qa import *
db = db_factory()
@ -40,6 +55,7 @@ expected_stdout = """
step: 1, FLD_COUNT: 8065, result: -TABLE TDATA
"""
@pytest.mark.skipif(platform.system() == 'Windows', reason='FIXME: see notes')
@pytest.mark.version('>=3.0.7')
def test_1(act: Action, capsys):
for step in range(2):
@ -65,7 +81,7 @@ def test_1(act: Action, capsys):
"""
act.reset()
act.isql(switches=[], input=sql_expr, combine_output=True)
for line in act.string_strip(act.stdout).splitlines():
for line in act.clean_stdout.splitlines():
if line.strip():
print(f'step: {step}, FLD_COUNT: {FLD_COUNT}, result: {line}')
# Check

View File

@ -11,6 +11,9 @@ DESCRIPTION:
Idea about this test originates to CORE-6424 (missed employee.fdb in some intermediate build),
but it seems that there were several other tickets about the same (missing some of necessary files).
NOTES:
[08.02.2022] pcisar
Manifest files are not actual. Also, they should not contain PDB files!
FBTEST: functional.basic.build.snapshot_files_check_list
"""
@ -28,14 +31,14 @@ expected_stdout = """
OK: found all files from check set.
"""
def check_files(act: Action, expected: Set[str]) -> None:
def check_files(act: Action, expected: Set[Path]) -> None:
actual = set()
p: Path = None
for p in act.home_dir.rglob('*'):
p = str(p.relative_to(act.home_dir))
p = p.relative_to(act.home_dir)
if not str(p).startswith('doc') and p in expected:
actual.add(p)
if actual == expected:
if expected.issubset(actual):
print('OK: found all files from check set.')
else:
print('ERROR! Missed some files from check set:')
@ -46,11 +49,12 @@ def check_files(act: Action, expected: Set[str]) -> None:
act = python_act('db')
@pytest.mark.skip("FIXME: see notes")
@pytest.mark.version('>=3.0.7,<4.0')
@pytest.mark.platform('Windows')
def test_1(act: Action, capsys):
manifest = act.files_dir / 'build-files-30.txt'
expected_set = set([s for s in manifest.read_text().splitlines()])
expected_set = set([Path(s) for s in manifest.read_text().splitlines()])
check_files(act, expected_set)
act.expected_stdout = expected_stdout
act.stdout = capsys.readouterr().out
@ -58,6 +62,7 @@ def test_1(act: Action, capsys):
# version: 4.0
@pytest.mark.skip("FIXME: see notes")
@pytest.mark.version('>=4.0,<5.0')
@pytest.mark.platform('Windows')
def test_2(act: Action, capsys):
@ -70,6 +75,7 @@ def test_2(act: Action, capsys):
# version: 5.0
@pytest.mark.skip("FIXME: see notes")
@pytest.mark.version('>=5.0')
@pytest.mark.platform('Windows')
def test_3(act: Action, capsys):

View File

@ -4,10 +4,16 @@
ID: alter-database-03
TITLE: Alter database: add file with name of this database or previously added files must fail
DESCRIPTION: Add same file twice must fail
NOTES:
[08.02.2022] pcisar
Fails on Windows with 3.0.8:
Regex pattern '.*Cannot add file with the same name as the database or added files.*'
does not match 'unsuccessful metadata update\n-ALTER DATABASE failed\n-unknown ISC error 336068774'.
FBTEST: functional.database.alter.03
"""
import pytest
import platform
from firebird.qa import *
from firebird.driver import DatabaseError
@ -15,6 +21,7 @@ db = db_factory()
act = python_act('db')
@pytest.mark.skipif(platform.system() == 'Windows', reason='FIXME: see notes')
@pytest.mark.version('>=3.0')
def test_1(act: Action, capsys):
with act.db.connect() as con: