6
0
mirror of https://github.com/FirebirdSQL/firebird-qa.git synced 2025-02-02 02:40:42 +01:00

Added/Updated tests\bugs\core_4137_test.py: Procedure text parameters have collate clause in FB 6.x, added splitting.

This commit is contained in:
pavel-zotov 2023-09-30 21:21:55 +03:00
parent 23acc4e983
commit ee235a052a

View File

@ -7,6 +7,9 @@ TITLE: Wrong metadata output script generated by isql / CHARACTER SETISO88
DESCRIPTION: NB: missed space in the clause CHARACTER SET<SPACE>ISO8859_1
JIRA: CORE-4137
FBTEST: bugs.core_4137
NOTES:
[30.09.2023] pzotov
Procedure text parameters have collate clause in FB 6.x, added splitting.
"""
import pytest
@ -33,7 +36,7 @@ test_script = """
commit;
"""
expected_stdout = """
expected_stdout_5x = """
SET SQL DIALECT 3;
/* Character sets */
ALTER CHARACTER SET ISO8859_1 SET DEFAULT COLLATION PT_BR;
@ -64,12 +67,42 @@ expected_stdout = """
SET AUTODDL ON;
"""
expected_stdout_6x = """
SET SQL DIALECT 3;
/* Character sets */
ALTER CHARACTER SET ISO8859_1 SET DEFAULT COLLATION PT_BR;
COMMIT WORK;
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures headers */
CREATE OR ALTER PROCEDURE TEST (P01 CHAR(10) CHARACTER SET ISO8859_1 COLLATE PT_BR)
RETURNS (O01 VARCHAR(30) CHARACTER SET ISO8859_1 COLLATE PT_BR)
AS
BEGIN EXIT; END ^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures bodies */
ALTER PROCEDURE TEST (P01 CHAR(10) CHARACTER SET ISO8859_1 COLLATE PT_BR)
RETURNS (O01 VARCHAR(30) CHARACTER SET ISO8859_1 COLLATE PT_BR)
AS
begin
exit;
end ^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
"""
@pytest.mark.version('>=3.0')
def test_1(act: Action):
act.isql(switches=[], input=test_script, charset='ISO8859_1')
act.reset()
act.expected_stdout = expected_stdout
act.isql(switches=['-x'])
act.expected_stdout = expected_stdout_5x if act.is_version('<6') else expected_stdout_6x
act.isql(switches=['-x'], combine_output = True)
assert act.clean_stdout == act.clean_expected_stdout