|
7 | 7 | DESCRIPTION:
|
8 | 8 | JIRA: CORE-3545
|
9 | 9 | FBTEST: bugs.core_3545
|
| 10 | +NOTES: |
| 11 | + [27.06.2025] pzotov |
| 12 | + Separated expected output for FB major versions prior/since 6.x. |
| 13 | + No substitutions are used to suppress schema and quotes. Discussed with dimitr, 24.06.2025 12:39. |
| 14 | +
|
| 15 | + Checked on 6.0.0.876; 5.0.3.1668; 4.0.6.3214; 3.0.13.33813. |
10 | 16 | """
|
11 | 17 |
|
12 | 18 | import pytest
|
|
117 | 123 |
|
118 | 124 | act = isql_act('db', test_script, substitutions=[('-At block line: [\\d]+, col: [\\d]+', '-At block line')])
|
119 | 125 |
|
120 |
| -expected_stdout = """ |
121 |
| - ID 1 |
122 |
| - N 4 |
123 |
| -
|
124 |
| - ID 3 |
125 |
| - N 4 |
126 |
| -""" |
127 |
| - |
128 |
| -expected_stderr = """ |
| 126 | +expected_stdout_5x = """ |
129 | 127 | Statement failed, SQLSTATE = 23000
|
130 | 128 | validation error for column "TEST"."N", value "399"
|
131 |
| -
|
132 | 129 | Statement failed, SQLSTATE = 23000
|
133 | 130 | validation error for column "TEST"."N", value "50"
|
134 |
| -
|
135 | 131 | Statement failed, SQLSTATE = 23000
|
136 | 132 | validation error for column "TEST"."N", value "399"
|
137 |
| -
|
138 | 133 | Statement failed, SQLSTATE = 23000
|
139 | 134 | validation error for column "TEST"."N", value "50"
|
140 |
| -
|
| 135 | + ID 1 |
| 136 | + N 4 |
| 137 | + ID 3 |
| 138 | + N 4 |
141 | 139 | Statement failed, SQLSTATE = 42000
|
142 | 140 | validation error for variable VAR2_ASSIGNMENT_WITHOUT_CAST, value "50"
|
143 |
| - -At block line: 4, col: 7 |
144 |
| -
|
| 141 | + -At block line |
145 | 142 | Statement failed, SQLSTATE = 42000
|
146 | 143 | validation error for variable VAR2_ASSIGNMENT_WITHOUT_CAST, value "399"
|
147 |
| - -At block line: 4, col: 7 |
148 |
| -
|
| 144 | + -At block line |
149 | 145 | Statement failed, SQLSTATE = 42000
|
150 | 146 | validation error for variable VAR2_CAST_INT_TO_DOMAIN, value "50"
|
151 |
| - -At block line: 4, col: 7 |
152 |
| -
|
| 147 | + -At block line |
153 | 148 | Statement failed, SQLSTATE = 42000
|
154 | 149 | validation error for variable VAR2_CAST_INT_TO_DOMAIN, value "399"
|
155 |
| - -At block line: 4, col: 7 |
| 150 | + -At block line |
| 151 | +""" |
| 152 | + |
| 153 | +expected_stdout_6x = """ |
| 154 | + Statement failed, SQLSTATE = 23000 |
| 155 | + validation error for column "PUBLIC"."TEST"."N", value "399" |
| 156 | + Statement failed, SQLSTATE = 23000 |
| 157 | + validation error for column "PUBLIC"."TEST"."N", value "50" |
| 158 | + Statement failed, SQLSTATE = 23000 |
| 159 | + validation error for column "PUBLIC"."TEST"."N", value "399" |
| 160 | + Statement failed, SQLSTATE = 23000 |
| 161 | + validation error for column "PUBLIC"."TEST"."N", value "50" |
| 162 | + ID 1 |
| 163 | + N 4 |
| 164 | + ID 3 |
| 165 | + N 4 |
| 166 | + Statement failed, SQLSTATE = 42000 |
| 167 | + validation error for variable "VAR2_ASSIGNMENT_WITHOUT_CAST", value "50" |
| 168 | + -At block line |
| 169 | + Statement failed, SQLSTATE = 42000 |
| 170 | + validation error for variable "VAR2_ASSIGNMENT_WITHOUT_CAST", value "399" |
| 171 | + -At block line |
| 172 | + Statement failed, SQLSTATE = 42000 |
| 173 | + validation error for variable "VAR2_CAST_INT_TO_DOMAIN", value "50" |
| 174 | + -At block line |
| 175 | + Statement failed, SQLSTATE = 42000 |
| 176 | + validation error for variable "VAR2_CAST_INT_TO_DOMAIN", value "399" |
| 177 | + -At block line |
156 | 178 | """
|
157 | 179 |
|
158 | 180 | @pytest.mark.version('>=3.0')
|
159 | 181 | def test_1(act: Action):
|
160 |
| - act.expected_stdout = expected_stdout |
161 |
| - act.expected_stderr = expected_stderr |
162 |
| - act.execute() |
163 |
| - assert (act.clean_stderr == act.clean_expected_stderr and |
164 |
| - act.clean_stdout == act.clean_expected_stdout) |
165 |
| - |
| 182 | + act.expected_stdout = expected_stdout_5x if act.is_version('<6') else expected_stdout_6x |
| 183 | + act.execute(combine_output = True) |
| 184 | + assert act.clean_stdout == act.clean_expected_stdout |
0 commit comments