Check firebird.log [no messages found for interval when this test was running]
Jump to: output_first_mismatch    outcomes_full_history    elapsed_time_chart
Show cross-report outcomes.

Annotation type Annotation details
2 @message
assert   
    FAILED EXECUTE_TRIGGER_FINISH
  - ERROR AT purge_attachment
    335544382 : paramètre non trouvé
    335545016 : Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
    335544842 : At trigger 'gâchette de déconnexion'

LOG DETAILS:

2025-03-13 09:53:42.498
2025-03-13 09:53:42.503 act = <firebird.qa.plugin.Action object at [hex]>
2025-03-13 09:53:42.509 tmp_worker = <firebird.qa.plugin.User object at [hex]>
2025-03-13 09:53:42.514 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-03-13 09:53:42.520
2025-03-13 09:53:42.526 @pytest.mark.intl
2025-03-13 09:53:42.532 @pytest.mark.trace
2025-03-13 09:53:42.538 @pytest.mark.version('>=4.0')
2025-03-13 09:53:42.546 def test_1(act: Action, tmp_worker: User, capsys):
2025-03-13 09:53:42.553
2025-03-13 09:53:42.560 init_sql  = f"""
2025-03-13 09:53:42.569 set list on;
2025-03-13 09:53:42.580 set bail on;
2025-03-13 09:53:42.589 create exception "paramètre non trouvé" q'#Paramètre "@1" a une valeur incorrecte ou n'a pas été trouvé dans#';
2025-03-13 09:53:42.596 set term ^;
2025-03-13 09:53:42.603 ^
2025-03-13 09:53:42.611 create trigger "gâchette de déconnexion" on disconnect as
2025-03-13 09:53:42.623 begin
2025-03-13 09:53:42.631 if ( current_user != '{act.db.user}' ) then
2025-03-13 09:53:42.639 begin
2025-03-13 09:53:42.648 exception "paramètre non trouvé" using ('fréquence fermée');
2025-03-13 09:53:42.663 end
2025-03-13 09:53:42.673 end
2025-03-13 09:53:42.681 ^
2025-03-13 09:53:42.688 set term ;^
2025-03-13 09:53:42.694 commit;
2025-03-13 09:53:42.700 """
2025-03-13 09:53:42.707
2025-03-13 09:53:42.713 #tmp_sql.write_bytes( bytes(init_sql.encode('utf-8')) )
2025-03-13 09:53:42.725 #act.isql(switches=['-q'], input_file = tmp_sql, combine_output = True, charset = 'utf8', io_enc = 'utf-8')
2025-03-13 09:53:42.735
2025-03-13 09:53:42.743 act.expected_stdout = ''
2025-03-13 09:53:42.757 act.isql(switches=['-q'], input = init_sql, combine_output = True, charset = 'utf8', io_enc = 'utf-8')
2025-03-13 09:53:42.770 assert act.clean_stdout == act.clean_expected_stdout
2025-03-13 09:53:42.787 act.reset()
2025-03-13 09:53:42.803
2025-03-13 09:53:42.818 # ----------------------------------------------------------------------------------------------
2025-03-13 09:53:42.833 with act.connect_server(encoding = 'utf-8') as srv:
2025-03-13 09:53:42.845 srv.info.get_log()
2025-03-13 09:53:42.853 fb_log_init = srv.readlines()
2025-03-13 09:53:42.864 # ----------------------------------------------------------------------------------------------
2025-03-13 09:53:42.877
2025-03-13 09:53:42.889 trace_cfg_items = [
2025-03-13 09:53:42.899 'log_connections = true',
2025-03-13 09:53:42.907 'log_transactions = true',
2025-03-13 09:53:42.914 'time_threshold = 0',
2025-03-13 09:53:42.924 'log_errors = true',
2025-03-13 09:53:42.938 'log_statement_finish = true',
2025-03-13 09:53:42.952 'log_trigger_finish = true',
2025-03-13 09:53:42.967 'max_sql_length = 32768',
2025-03-13 09:53:42.981 ]
2025-03-13 09:53:42.993
2025-03-13 09:53:43.007 with act.trace(db_events = trace_cfg_items, encoding='utf-8'):
2025-03-13 09:53:43.018 test_sql = f"""
2025-03-13 09:53:43.031 set names utf8;
2025-03-13 09:53:43.045 connect '{act.db.dsn}' user {tmp_worker.name} password '{tmp_worker.password}';
2025-03-13 09:53:43.058 quit;
2025-03-13 09:53:43.074 """
2025-03-13 09:53:43.086 act.isql(switches = ['-q'], input = test_sql, connect_db=False, credentials = False, combine_output = True, io_enc = 'utf-8')
2025-03-13 09:53:43.100 assert act.clean_stdout == act.clean_expected_stdout
2025-03-13 09:53:43.113 act.reset()
2025-03-13 09:53:43.124
2025-03-13 09:53:43.136 # ----------------------------------------------------------------------------------------------
2025-03-13 09:53:43.149
2025-03-13 09:53:43.160 allowed_patterns = \
2025-03-13 09:53:43.169 (
2025-03-13 09:53:43.185 re.escape(') FAILED EXECUTE_TRIGGER_FINISH')
2025-03-13 09:53:43.196 ,re.escape(') ERROR AT purge_attachment')
2025-03-13 09:53:43.205 ,re.escape('335544382 :') # name of exception: paramètre non trouvé (without quotes)
2025-03-13 09:53:43.214 ,re.escape('335545016 :') # message of exception: Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
2025-03-13 09:53:43.223 ,re.escape('335544842 : At trigger')
2025-03-13 09:53:43.229 )
2025-03-13 09:53:43.237 allowed_patterns = [ re.compile(p, re.IGNORECASE) for p in allowed_patterns ]
2025-03-13 09:53:43.244
2025-03-13 09:53:43.251 # Example of trace:
2025-03-13 09:53:43.259 # 2024-09-04T18:57:20.7950 (2184:00000000016B23C0) ERROR AT purge_attachment
2025-03-13 09:53:43.265 # ...
2025-03-13 09:53:43.282 # 335544517 : exception 1
2025-03-13 09:53:43.295 # 335544382 : paramètre non trouvé
2025-03-13 09:53:43.308 # 335545016 : Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
2025-03-13 09:53:43.317 # 335544842 : At trigger 'gâchette de déconnexion' line: 5, col: 17
2025-03-13 09:53:43.324
2025-03-13 09:53:43.331 for line in act.trace_log:
2025-03-13 09:53:43.338 #print(line)
2025-03-13 09:53:43.354 if line.strip():
2025-03-13 09:53:43.363 if act.match_any(line.strip(), allowed_patterns):
2025-03-13 09:53:43.371 print(line.strip())
2025-03-13 09:53:43.379
2025-03-13 09:53:43.385 expected_trace_log = """
2025-03-13 09:53:43.392 FAILED EXECUTE_TRIGGER_FINISH
2025-03-13 09:53:43.399 ERROR AT purge_attachment
2025-03-13 09:53:43.405 335544382 : paramètre non trouvé
2025-03-13 09:53:43.413 335545016 : Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
2025-03-13 09:53:43.422 335544842 : At trigger 'gâchette de déconnexion'
2025-03-13 09:53:43.439 """
2025-03-13 09:53:43.453 act.expected_stdout = expected_trace_log
2025-03-13 09:53:43.464 act.stdout = capsys.readouterr().out
2025-03-13 09:53:43.474 >       assert act.clean_stdout == act.clean_expected_stdout
2025-03-13 09:53:43.481 E       assert
2025-03-13 09:53:43.487 E           FAILED EXECUTE_TRIGGER_FINISH
2025-03-13 09:53:43.493 E         - ERROR AT purge_attachment
2025-03-13 09:53:43.498 E           335544382 : paramètre non trouvé
2025-03-13 09:53:43.504 E           335545016 : Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
2025-03-13 09:53:43.509 E           335544842 : At trigger 'gâchette de déconnexion'
2025-03-13 09:53:43.515
2025-03-13 09:53:43.520 tests/functional/intl/test_non_ascii_firebird_and_trace_utf8.py:136: AssertionError
2025-03-13 09:53:43.526 ---------------------------- Captured stdout setup -----------------------------
2025-03-13 09:53:43.531 Creating db: localhost:/var/tmp/qa_2024/test_12072/test.fdb [page_size=None, sql_dialect=None, charset='UTF8', user=SYSDBA, password=masterkey]
2025-03-13 09:53:43.536 CREATE user: TMP_WORKER PLUGIN: Srp
2025-03-13 09:53:43.541 --------------------------- Captured stdout teardown ---------------------------
2025-03-13 09:53:43.547 DROP user: TMP_WORKER PLUGIN: Srp
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
tmp_worker = <firebird.qa.plugin.User pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.intl
    @pytest.mark.trace
    @pytest.mark.version('>=4.0')
    def test_1(act: Action, tmp_worker: User, capsys):
    
        init_sql  = f"""
            set list on;
            set bail on;
            create exception "paramètre non trouvé" q'#Paramètre "@1" a une valeur incorrecte ou n'a pas été trouvé dans#';
            set term ^;
            ^
            create trigger "gâchette de déconnexion" on disconnect as
            begin
                if ( current_user != '{act.db.user}' ) then
                begin
                    exception "paramètre non trouvé" using ('fréquence fermée');
                end
            end
            ^
            set term ;^
            commit;
        """
    
        #tmp_sql.write_bytes( bytes(init_sql.encode('utf-8')) )
        #act.isql(switches=['-q'], input_file = tmp_sql, combine_output = True, charset = 'utf8', io_enc = 'utf-8')
    
        act.expected_stdout = ''
        act.isql(switches=['-q'], input = init_sql, combine_output = True, charset = 'utf8', io_enc = 'utf-8')
        assert act.clean_stdout == act.clean_expected_stdout
        act.reset()
    
        # ----------------------------------------------------------------------------------------------
        with act.connect_server(encoding = 'utf-8') as srv:
            srv.info.get_log()
            fb_log_init = srv.readlines()
        # ----------------------------------------------------------------------------------------------
    
        trace_cfg_items = [
            'log_connections = true',
            'log_transactions = true',
            'time_threshold = 0',
            'log_errors = true',
            'log_statement_finish = true',
            'log_trigger_finish = true',
            'max_sql_length = 32768',
        ]
    
        with act.trace(db_events = trace_cfg_items, encoding='utf-8'):
            test_sql = f"""
                set names utf8;
                connect '{act.db.dsn}' user {tmp_worker.name} password '{tmp_worker.password}';
                quit;
            """
            act.isql(switches = ['-q'], input = test_sql, connect_db=False, credentials = False, combine_output = True, io_enc = 'utf-8')
            assert act.clean_stdout == act.clean_expected_stdout
            act.reset()
    
        # ----------------------------------------------------------------------------------------------
    
        allowed_patterns = \
        (
             re.escape(') FAILED EXECUTE_TRIGGER_FINISH')
            ,re.escape(') ERROR AT purge_attachment')
            ,re.escape('335544382 :') # name of exception: paramètre non trouvé (without quotes)
            ,re.escape('335545016 :') # message of exception: Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
            ,re.escape('335544842 : At trigger')
        )
        allowed_patterns = [ re.compile(p, re.IGNORECASE) for p in allowed_patterns ]
    
        # Example of trace:
        # 2024-09-04T18:57:20.7950 (2184:00000000016B23C0) ERROR AT purge_attachment
        # ...
        # 335544517 : exception 1
        # 335544382 : paramètre non trouvé
        # 335545016 : Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
        # 335544842 : At trigger 'gâchette de déconnexion' line: 5, col: 17
    
        for line in act.trace_log:
            #print(line)
            if line.strip():
                if act.match_any(line.strip(), allowed_patterns):
                    print(line.strip())
    
        expected_trace_log = """
            FAILED EXECUTE_TRIGGER_FINISH
            ERROR AT purge_attachment
            335544382 : paramètre non trouvé
            335545016 : Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
            335544842 : At trigger 'gâchette de déconnexion'
        """
        act.expected_stdout = expected_trace_log
        act.stdout = capsys.readouterr().out
>       assert act.clean_stdout == act.clean_expected_stdout
E       assert   
E           FAILED EXECUTE_TRIGGER_FINISH
E         - ERROR AT purge_attachment
E           335544382 : paramètre non trouvé
E           335545016 : Paramètre "fréquence fermée" a une valeur incorrecte ou n'a pas été trouvé dans
E           335544842 : At trigger 'gâchette de déconnexion'

tests/functional/intl/test_non_ascii_firebird_and_trace_utf8.py:136: AssertionError
Full history of outcomes and elapsed time, ms:
NN SNAP_INFO CS_outcome SS_outcome CS_run_time SS_run_time CS_run_beg CS_run_end SS_run_beg SS_run_end
1 4.0.6.3215 2025.06.25 6461d P P 3704 3247 2025.07.03 08:13:09.487 2025.07.03 08:13:13.191 2025.07.03 06:51:52.087 2025.07.03 06:51:55.334
2 4.0.6.3214 2025.06.21 e11f6 P P 3698 3131 2025.06.25 07:59:56.790 2025.06.25 08:00:00.488 2025.06.25 06:49:03.747 2025.06.25 06:49:06.878
3 4.0.6.3213 2025.06.14 f015c P P 3732 3144 2025.06.21 07:36:18.488 2025.06.21 07:36:22.220 2025.06.21 06:25:27.207 2025.06.21 06:25:30.351
4 4.0.6.3212 2025.06.11 bc50d P P 3761 3227 2025.06.14 08:45:25.633 2025.06.14 08:45:29.394 2025.06.14 07:23:29.854 2025.06.14 07:23:33.081
5 4.0.6.3208 2025.06.10 19fe3 P P 4003 3292 2025.06.11 07:23:43.330 2025.06.11 07:23:47.333 2025.06.11 06:02:57.607 2025.06.11 06:03:00.899
6 4.0.6.3207 2025.06.07 205ff P P 3962 3439 2025.06.10 07:26:35.426 2025.06.10 07:26:39.388 2025.06.10 06:04:27.655 2025.06.10 06:04:31.094
7 4.0.6.3206 2025.05.22 d7d10 P P 3987 3403 2025.06.06 07:32:21.266 2025.06.06 07:32:25.253 2025.06.06 06:10:09.654 2025.06.06 06:10:13.057
8 4.0.6.3205 2025.05.07 00148 P P 3940 3400 2025.05.21 07:26:38.679 2025.05.21 07:26:42.619 2025.05.21 06:03:37.357 2025.05.21 06:03:40.757
9 4.0.6.3204 2025.05.06 35b85 P P 3925 3192 2025.05.07 06:58:37.244 2025.05.07 06:58:41.169 2025.05.07 05:37:01.844 2025.05.07 05:37:05.036
10 4.0.6.3203 2025.05.05 c2cbd P P 3955 3298 2025.05.06 07:04:58.259 2025.05.06 07:05:02.214 2025.05.06 05:33:57.934 2025.05.06 05:34:01.232
11 4.0.6.3200 2025.04.18 7ef56 P P 3969 3398 2025.05.01 06:46:41.605 2025.05.01 06:46:45.574 2025.05.01 05:25:21.547 2025.05.01 05:25:24.945
12 4.0.6.3199 2025.04.14 33a10 P P 3902 3331 2025.04.18 06:57:44.004 2025.04.18 06:57:47.906 2025.04.18 05:35:56.690 2025.04.18 05:36:00.021
13 4.0.6.3198 2025.04.13 64a7f P P 3848 3266 2025.04.14 06:02:02.980 2025.04.14 06:02:06.828 2025.04.14 04:46:56.218 2025.04.14 04:46:59.484
14 4.0.6.3195 2025.03.28 b9faf P P 3869 3276 2025.04.13 06:00:01.040 2025.04.13 06:00:04.909 2025.04.13 04:35:41.289 2025.04.13 04:35:44.565
15 4.0.6.3194 2025.03.26 912aa P P 3757 3186 2025.03.28 06:31:19.501 2025.03.28 06:31:23.258 2025.03.28 05:12:34.036 2025.03.28 05:12:37.222
16 4.0.6.3193 2025.03.20 80234 P P 3931 3303 2025.03.24 06:50:30.564 2025.03.24 06:50:34.495 2025.03.24 05:27:10.820 2025.03.24 05:27:14.123
17 4.0.6.3192 2025.03.13 2a9da P P 701 459 2025.03.17 03:32:27.061 2025.03.17 03:32:27.762 2025.03.17 02:09:47.723 2025.03.17 02:09:48.182
18 4.0.6.3191 2025.03.10 3d9fd F F 635 442 2025.03.13 06:41:29.337 2025.03.13 06:41:29.972 2025.03.13 05:17:24.088 2025.03.13 05:17:24.530
19 4.0.6.3190 2025.02.25 c9928 F F 725 518 2025.03.09 06:27:12.626 2025.03.09 06:27:13.351 2025.03.09 05:04:32.843 2025.03.09 05:04:33.361
20 4.0.6.3189 2025.02.22 3fb0b F F 622 445 2025.02.25 06:16:45.775 2025.02.25 06:16:46.397 2025.02.25 04:55:47.654 2025.02.25 04:55:48.099
21 4.0.6.3188 2025.02.21 8ee1c F F 708 474 2025.02.22 06:16:45.462 2025.02.22 06:16:46.170 2025.02.22 04:52:17.383 2025.02.22 04:52:17.857
22 4.0.6.3186 2025.02.19 92cb6 F F 694 477 2025.02.20 03:16:46.947 2025.02.20 03:16:47.641 2025.02.20 01:47:02.026 2025.02.20 01:47:02.503
23 4.0.6.3185 2025.02.16 9cac4 F F 1188 700 2025.02.17 00:15:47.866 2025.02.17 00:15:49.054 2025.02.16 22:22:43.767 2025.02.16 22:22:44.467
24 4.0.6.3183 2025.02.04 bf738 F F 682 462 2025.02.14 06:29:14.574 2025.02.14 06:29:15.256 2025.02.14 05:06:40.598 2025.02.14 05:06:41.060
25 4.0.6.3181 2025.02.01 00b64 F F 698 480 2025.02.04 06:32:34.732 2025.02.04 06:32:35.430 2025.02.04 05:10:20.419 2025.02.04 05:10:20.899
26 4.0.6.3180 2025.01.27 2edb8 F F 693 468 2025.01.28 06:33:08.098 2025.01.28 06:33:08.791 2025.01.28 05:01:01.690 2025.01.28 05:01:02.158
27 4.0.6.3179 2025.01.24 008d4 F F 645 461 2025.01.25 06:18:49.917 2025.01.25 06:18:50.562 2025.01.25 04:56:52.668 2025.01.25 04:56:53.129
28 4.0.6.3178 2025.01.20 ec94d F F 642 463 2025.01.24 06:18:26.317 2025.01.24 06:18:26.959 2025.01.24 04:56:30.802 2025.01.24 04:56:31.265
29 4.0.6.3176 2025.01.16 79cc1 F F 700 440 2025.01.20 06:07:48.784 2025.01.20 06:07:49.484 2025.01.20 04:47:46.290 2025.01.20 04:47:46.730
30 4.0.6.3175 2025.01.15 91361 F F 663 438 2025.01.16 06:07:05.219 2025.01.16 06:07:05.882 2025.01.16 04:47:15.518 2025.01.16 04:47:15.956
31 4.0.6.3174 2024.12.23 ffd39 F F 685 464 2025.01.14 06:22:10.178 2025.01.14 06:22:10.863 2025.01.14 04:51:41.798 2025.01.14 04:51:42.262
32 4.0.6.3173 2024.12.19 60b32 F F 481 325 2024.12.21 17:47:41.873 2024.12.21 17:47:42.354 2024.12.21 16:43:20.172 2024.12.21 16:43:20.497
33 4.0.6.3172 2024.12.11 33f5d F F 508 364 2024.12.16 04:40:55.410 2024.12.16 04:40:55.918 2024.12.16 03:36:34.498 2024.12.16 03:36:34.862
34 4.0.6.3171 2024.12.10 ab1d4 F F 493 330 2024.12.11 04:27:18.085 2024.12.11 04:27:18.578 2024.12.11 03:23:10.925 2024.12.11 03:23:11.255
35 4.0.6.3170 2024.12.02 68abd F F 525 384 2024.12.04 04:17:17.352 2024.12.04 04:17:17.877 2024.12.04 03:13:05.181 2024.12.04 03:13:05.565
36 4.0.6.3169 2024.11.28 1673f F F 520 365 2024.11.30 04:40:55.392 2024.11.30 04:40:55.912 2024.11.30 03:26:53.378 2024.11.30 03:26:53.743
37 4.0.6.3168 2024.11.07 f67e2 F F 534 345 2024.11.27 04:14:48.204 2024.11.27 04:14:48.738 2024.11.27 03:03:38.432 2024.11.27 03:03:38.777
38 4.0.6.3167 2024.11.04 c9228 F F 504 357 2024.11.05 05:52:55.890 2024.11.05 05:52:56.394 2024.11.05 04:52:15.083 2024.11.05 04:52:15.440
39 4.0.6.3165 2024.10.23 b0c36 F F 442 350 2024.11.04 05:57:21.817 2024.11.04 05:57:22.259 2024.11.04 04:56:02.259 2024.11.04 04:56:02.609
40 4.0.6.3164 2024.10.17 35344 F F 545 352 2024.10.23 06:12:11.122 2024.10.23 06:12:11.667 2024.10.23 05:08:36.878 2024.10.23 05:08:37.230
41 4.0.6.3163 2024.10.14 2e35e F F 558 336 2024.10.15 05:59:39.983 2024.10.15 05:59:40.541 2024.10.15 04:57:13.382 2024.10.15 04:57:13.718
42 4.0.6.3161 2024.10.05 91502 F F 556 403 2024.10.06 04:03:38.780 2024.10.06 04:03:39.336 2024.10.06 02:57:12.345 2024.10.06 02:57:12.748
43 4.0.6.3159 2024.10.01 85136 F F 926 334 2024.10.02 01:30:16.947 2024.10.02 01:30:17.873 2024.10.02 00:03:24.711 2024.10.02 00:03:25.045
44 4.0.6.3158 2024.09.30 d2c33 F F 533 344 2024.10.01 06:07:48.599 2024.10.01 06:07:49.132 2024.10.01 05:05:08.449 2024.10.01 05:05:08.793
45 4.0.6.3157 2024.09.24 3bb2e F F 505 368 2024.09.30 06:13:22.443 2024.09.30 06:13:22.948 2024.09.30 05:08:30.729 2024.09.30 05:08:31.097
46 4.0.6.3156 2024.09.21 f6416 F F 518 374 2024.09.24 04:18:52.021 2024.09.24 04:18:52.539 2024.09.24 03:14:23.169 2024.09.24 03:14:23.543
47 4.0.6.3155 2024.09.20 1ed0c F F 513 389 2024.09.21 04:13:30.653 2024.09.21 04:13:31.166 2024.09.21 03:09:24.151 2024.09.21 03:09:24.540
48 4.0.6.3151 2024.09.09 1b77f F F 829 582 2024.09.17 06:51:18.090 2024.09.17 06:51:18.919 2024.09.17 05:16:06.041 2024.09.17 05:16:06.623
49 4.0.6.3149 2024.09.04 32ce9 F F 876 564 2024.09.06 06:59:06.883 2024.09.06 06:59:07.759 2024.09.06 05:24:10.943 2024.09.06 05:24:11.507

Elapsed time, ms. Chart for last 49 runs:

Last commits information (all timestamps in UTC):