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   
    MON_SEC_DB                      Self
  - MSG                             Connected OK when local mapping is duplicated.
  - WHO_AM_I                        LOCAL_MAPPED_USER
  - MSG                             Connected OK when global mapping is duplicated.
  - WHO_AM_I                        GLOBAL_MAPPED_USER
  + Statement failed, SQLSTATE = 2C000
  + unsuccessful metadata update
  + -CREATE OR ALTER MAPPING LOCAL_MAP_FOR_USER_1 failed
  + -Dynamic SQL Error
  + -SQL error code = -504
  + -CHARACTER SET "UTF8" is not defined

LOG DETAILS:

2025-06-25 05:20:32.801
2025-06-25 05:20:32.808 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-25 05:20:32.815 tmp_user = <firebird.qa.plugin.User object at [hex]>
2025-06-25 05:20:32.821 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-06-25 05:20:32.828
2025-06-25 05:20:32.834 @pytest.mark.version('>=3')
2025-06-25 05:20:32.845 def test_1(act: Action, tmp_user: User, capsys):
2025-06-25 05:20:32.856
2025-06-25 05:20:32.865 # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
2025-06-25 05:20:32.871 # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
2025-06-25 05:20:32.877 # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
2025-06-25 05:20:32.882 p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
2025-06-25 05:20:32.886 fname_in_dbconf = None
2025-06-25 05:20:32.891
2025-06-25 05:20:32.901 with open(act.home_dir/'databases.conf', 'r') as f:
2025-06-25 05:20:32.910 for line in f:
2025-06-25 05:20:32.917 if p_required_alias_ptn.search(line):
2025-06-25 05:20:32.928 # If databases.conf contains line like this:
2025-06-25 05:20:32.937 #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
2025-06-25 05:20:32.945 # - then we extract filename: 'tmp_core_6147.fdb' (see below):
2025-06-25 05:20:32.955 fname_in_dbconf = Path(line.split('=')[1].strip()).name
2025-06-25 05:20:32.967 break
2025-06-25 05:20:32.976
2025-06-25 05:20:32.984 # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
2025-06-25 05:20:32.991 #
2025-06-25 05:20:32.998 assert fname_in_dbconf
2025-06-25 05:20:33.004
2025-06-25 05:20:33.012 # Full path + filename of database to which we will try to connect:
2025-06-25 05:20:33.018 #
2025-06-25 05:20:33.025 tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
2025-06-25 05:20:33.032
2025-06-25 05:20:33.038 tmp_dba_pswd = 'alterkey'
2025-06-25 05:20:33.045 USER_PLUGIN = 'Srp'
2025-06-25 05:20:33.052 AUTH_PLUGIN = 'Srp'
2025-06-25 05:20:33.058
2025-06-25 05:20:33.066 sql_txt = f"""
2025-06-25 05:20:33.074 set bail on;
2025-06-25 05:20:33.080 set wng off;
2025-06-25 05:20:33.086 set list on;
2025-06-25 05:20:33.091 -- set echo on;
2025-06-25 05:20:33.097 create database '{REQUIRED_ALIAS}' user {act.db.user};
2025-06-25 05:20:33.102 create user {act.db.user} password '{tmp_dba_pswd}' using plugin {USER_PLUGIN};
2025-06-25 05:20:33.108
2025-06-25 05:20:33.114 select
2025-06-25 05:20:33.125 m.mon$sec_database as mon_sec_db
2025-06-25 05:20:33.133 from mon$database m;
2025-06-25 05:20:33.141 commit;
2025-06-25 05:20:33.147
2025-06-25 05:20:33.157 create or alter user {tmp_user.name} password '{tmp_user.password}' using plugin {USER_PLUGIN};
2025-06-25 05:20:33.165 commit;
2025-06-25 05:20:33.172
2025-06-25 05:20:33.177 -- ++++++++++++++++++++++++ T E S T    L O C A L    M A P P I N G  +++++++++++++++++++++++
2025-06-25 05:20:33.182
2025-06-25 05:20:33.187 create or alter mapping local_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
2025-06-25 05:20:33.193 create or alter mapping local_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
2025-06-25 05:20:33.198 commit;
2025-06-25 05:20:33.204
2025-06-25 05:20:33.210 connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
2025-06-25 05:20:33.215
2025-06-25 05:20:33.221 select
2025-06-25 05:20:33.227 'Connected OK when local mapping is duplicated.' as msg
2025-06-25 05:20:33.233 ,current_user as who_am_i     -- <<< 'local_mapped_user' must be shown here, *NOT* {tmp_user.name}
2025-06-25 05:20:33.239 from rdb$database;
2025-06-25 05:20:33.244 commit;
2025-06-25 05:20:33.251
2025-06-25 05:20:33.259 -- for SELF-SECURITY database we have to DROP local mappings
2025-06-25 05:20:33.270 -- otherwise subsequent connect will fail with 08004 (multiple mappings):
2025-06-25 05:20:33.278 connect 'localhost:{REQUIRED_ALIAS}' user {act.db.user} password '{tmp_dba_pswd}';
2025-06-25 05:20:33.285 drop mapping local_map_for_user_1;
2025-06-25 05:20:33.292 drop mapping local_map_for_user_2;
2025-06-25 05:20:33.301 commit;
2025-06-25 05:20:33.309
2025-06-25 05:20:33.316 -- ++++++++++++++++++++++++ T E S T    G L O B A L    M A P P I N G  +++++++++++++++++++++++
2025-06-25 05:20:33.322
2025-06-25 05:20:33.331 create or alter global mapping global_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
2025-06-25 05:20:33.342 create or alter global mapping global_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
2025-06-25 05:20:33.352 commit;
2025-06-25 05:20:33.359
2025-06-25 05:20:33.366 connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
2025-06-25 05:20:33.370
2025-06-25 05:20:33.375 select
2025-06-25 05:20:33.385 'Connected OK when global mapping is duplicated.' as msg
2025-06-25 05:20:33.395 ,current_user as who_am_i     -- <<< 'global_mapped_user' must be shown here, *NOT* {tmp_user.name}
2025-06-25 05:20:33.403 from rdb$database;
2025-06-25 05:20:33.410 commit;
2025-06-25 05:20:33.419
2025-06-25 05:20:33.428 """
2025-06-25 05:20:33.434
2025-06-25 05:20:33.443 try:
2025-06-25 05:20:33.455 act.expected_stdout = """
2025-06-25 05:20:33.464 MON_SEC_DB                      Self
2025-06-25 05:20:33.472 MSG                             Connected OK when local mapping is duplicated.
2025-06-25 05:20:33.484 WHO_AM_I                        LOCAL_MAPPED_USER
2025-06-25 05:20:33.496 MSG                             Connected OK when global mapping is duplicated.
2025-06-25 05:20:33.504 WHO_AM_I                        GLOBAL_MAPPED_USER
2025-06-25 05:20:33.512 """
2025-06-25 05:20:33.519 act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
2025-06-25 05:20:33.525 >           assert act.clean_stdout == act.clean_expected_stdout
2025-06-25 05:20:33.531 E           assert
2025-06-25 05:20:33.536 E               MON_SEC_DB                      Self
2025-06-25 05:20:33.542 E             - MSG                             Connected OK when local mapping is duplicated.
2025-06-25 05:20:33.548 E             - WHO_AM_I                        LOCAL_MAPPED_USER
2025-06-25 05:20:33.554 E             - MSG                             Connected OK when global mapping is duplicated.
2025-06-25 05:20:33.560 E             - WHO_AM_I                        GLOBAL_MAPPED_USER
2025-06-25 05:20:33.566 E             + Statement failed, SQLSTATE = 2C000
2025-06-25 05:20:33.575 E             + unsuccessful metadata update
2025-06-25 05:20:33.584 E             + -CREATE OR ALTER MAPPING LOCAL_MAP_FOR_USER_1 failed
2025-06-25 05:20:33.592 E             + -Dynamic SQL Error
2025-06-25 05:20:33.599 E             + -SQL error code = -504
2025-06-25 05:20:33.608 E             + -CHARACTER SET "UTF8" is not defined
2025-06-25 05:20:33.618
2025-06-25 05:20:33.624 tests/bugs/core_6143_test.py:146: AssertionError
2025-06-25 05:20:33.630
2025-06-25 05:20:33.636 During handling of the above exception, another exception occurred:
2025-06-25 05:20:33.641
2025-06-25 05:20:33.646 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-25 05:20:33.650 tmp_user = <firebird.qa.plugin.User object at [hex]>
2025-06-25 05:20:33.655 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-06-25 05:20:33.660
2025-06-25 05:20:33.665 @pytest.mark.version('>=3')
2025-06-25 05:20:33.669 def test_1(act: Action, tmp_user: User, capsys):
2025-06-25 05:20:33.674
2025-06-25 05:20:33.678 # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
2025-06-25 05:20:33.683 # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
2025-06-25 05:20:33.688 # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
2025-06-25 05:20:33.693 p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
2025-06-25 05:20:33.698 fname_in_dbconf = None
2025-06-25 05:20:33.702
2025-06-25 05:20:33.707 with open(act.home_dir/'databases.conf', 'r') as f:
2025-06-25 05:20:33.712 for line in f:
2025-06-25 05:20:33.718 if p_required_alias_ptn.search(line):
2025-06-25 05:20:33.724 # If databases.conf contains line like this:
2025-06-25 05:20:33.730 #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
2025-06-25 05:20:33.737 # - then we extract filename: 'tmp_core_6147.fdb' (see below):
2025-06-25 05:20:33.748 fname_in_dbconf = Path(line.split('=')[1].strip()).name
2025-06-25 05:20:33.754 break
2025-06-25 05:20:33.759
2025-06-25 05:20:33.764 # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
2025-06-25 05:20:33.769 #
2025-06-25 05:20:33.776 assert fname_in_dbconf
2025-06-25 05:20:33.786
2025-06-25 05:20:33.794 # Full path + filename of database to which we will try to connect:
2025-06-25 05:20:33.802 #
2025-06-25 05:20:33.811 tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
2025-06-25 05:20:33.823
2025-06-25 05:20:33.833 tmp_dba_pswd = 'alterkey'
2025-06-25 05:20:33.841 USER_PLUGIN = 'Srp'
2025-06-25 05:20:33.848 AUTH_PLUGIN = 'Srp'
2025-06-25 05:20:33.854
2025-06-25 05:20:33.864 sql_txt = f"""
2025-06-25 05:20:33.874 set bail on;
2025-06-25 05:20:33.882 set wng off;
2025-06-25 05:20:33.891 set list on;
2025-06-25 05:20:33.904 -- set echo on;
2025-06-25 05:20:33.914 create database '{REQUIRED_ALIAS}' user {act.db.user};
2025-06-25 05:20:33.923 create user {act.db.user} password '{tmp_dba_pswd}' using plugin {USER_PLUGIN};
2025-06-25 05:20:33.930
2025-06-25 05:20:33.939 select
2025-06-25 05:20:33.948 m.mon$sec_database as mon_sec_db
2025-06-25 05:20:33.955 from mon$database m;
2025-06-25 05:20:33.968 commit;
2025-06-25 05:20:33.979
2025-06-25 05:20:33.986 create or alter user {tmp_user.name} password '{tmp_user.password}' using plugin {USER_PLUGIN};
2025-06-25 05:20:33.993 commit;
2025-06-25 05:20:33.999
2025-06-25 05:20:34.005 -- ++++++++++++++++++++++++ T E S T    L O C A L    M A P P I N G  +++++++++++++++++++++++
2025-06-25 05:20:34.011
2025-06-25 05:20:34.015 create or alter mapping local_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
2025-06-25 05:20:34.020 create or alter mapping local_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
2025-06-25 05:20:34.025 commit;
2025-06-25 05:20:34.030
2025-06-25 05:20:34.037 connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
2025-06-25 05:20:34.044
2025-06-25 05:20:34.050 select
2025-06-25 05:20:34.055 'Connected OK when local mapping is duplicated.' as msg
2025-06-25 05:20:34.060 ,current_user as who_am_i     -- <<< 'local_mapped_user' must be shown here, *NOT* {tmp_user.name}
2025-06-25 05:20:34.065 from rdb$database;
2025-06-25 05:20:34.070 commit;
2025-06-25 05:20:34.081
2025-06-25 05:20:34.089 -- for SELF-SECURITY database we have to DROP local mappings
2025-06-25 05:20:34.095 -- otherwise subsequent connect will fail with 08004 (multiple mappings):
2025-06-25 05:20:34.101 connect 'localhost:{REQUIRED_ALIAS}' user {act.db.user} password '{tmp_dba_pswd}';
2025-06-25 05:20:34.106 drop mapping local_map_for_user_1;
2025-06-25 05:20:34.110 drop mapping local_map_for_user_2;
2025-06-25 05:20:34.115 commit;
2025-06-25 05:20:34.120
2025-06-25 05:20:34.125 -- ++++++++++++++++++++++++ T E S T    G L O B A L    M A P P I N G  +++++++++++++++++++++++
2025-06-25 05:20:34.130
2025-06-25 05:20:34.135 create or alter global mapping global_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
2025-06-25 05:20:34.142 create or alter global mapping global_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
2025-06-25 05:20:34.152 commit;
2025-06-25 05:20:34.163
2025-06-25 05:20:34.170 connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
2025-06-25 05:20:34.176
2025-06-25 05:20:34.183 select
2025-06-25 05:20:34.190 'Connected OK when global mapping is duplicated.' as msg
2025-06-25 05:20:34.200 ,current_user as who_am_i     -- <<< 'global_mapped_user' must be shown here, *NOT* {tmp_user.name}
2025-06-25 05:20:34.209 from rdb$database;
2025-06-25 05:20:34.217 commit;
2025-06-25 05:20:34.223
2025-06-25 05:20:34.230 """
2025-06-25 05:20:34.236
2025-06-25 05:20:34.242 try:
2025-06-25 05:20:34.247 act.expected_stdout = """
2025-06-25 05:20:34.255 MON_SEC_DB                      Self
2025-06-25 05:20:34.265 MSG                             Connected OK when local mapping is duplicated.
2025-06-25 05:20:34.274 WHO_AM_I                        LOCAL_MAPPED_USER
2025-06-25 05:20:34.283 MSG                             Connected OK when global mapping is duplicated.
2025-06-25 05:20:34.290 WHO_AM_I                        GLOBAL_MAPPED_USER
2025-06-25 05:20:34.296 """
2025-06-25 05:20:34.302 act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
2025-06-25 05:20:34.308 assert act.clean_stdout == act.clean_expected_stdout
2025-06-25 05:20:34.314 act.reset()
2025-06-25 05:20:34.319
2025-06-25 05:20:34.326 finally:
2025-06-25 05:20:34.333 if Path.exists(tmp_fdb):
2025-06-25 05:20:34.339 # Change DB state to full shutdown in order to have ability to drop database file.
2025-06-25 05:20:34.347 # This is needed because when DB is self-security then it will be kept opened for 10s
2025-06-25 05:20:34.357 # (as it always occurs for common security.db). Set linger to 0 does not help.
2025-06-25 05:20:34.366 # Attempt to use 'drop database' fails with:
2025-06-25 05:20:34.373 # "SQLSTATE = 40001 / lock time-out on wait transaction / -object ... is in use"
2025-06-25 05:20:34.382 act.gfix(switches=['-shut', 'full', '-force', '0', f'localhost:{REQUIRED_ALIAS}', '-user', act.db.user, '-pas', tmp_dba_pswd], io_enc = locale.getpreferredencoding(), credentials = False, combine_output = True)
2025-06-25 05:20:34.391 tmp_fdb.unlink()
2025-06-25 05:20:34.401
2025-06-25 05:20:34.411 act.stdout = capsys.readouterr().out
2025-06-25 05:20:34.420 >               assert act.clean_stdout == act.clean_expected_stdout
2025-06-25 05:20:34.428 E               assert
2025-06-25 05:20:34.435 E                   MON_SEC_DB                      Self
2025-06-25 05:20:34.442 E                 - MSG                             Connected OK when local mapping is duplicated.
2025-06-25 05:20:34.448 E                 - WHO_AM_I                        LOCAL_MAPPED_USER
2025-06-25 05:20:34.454 E                 - MSG                             Connected OK when global mapping is duplicated.
2025-06-25 05:20:34.465 E                 - WHO_AM_I                        GLOBAL_MAPPED_USER
2025-06-25 05:20:34.476 E                 + Statement failed, SQLSTATE = 2C000
2025-06-25 05:20:34.484 E                 + unsuccessful metadata update
2025-06-25 05:20:34.491 E                 + -CREATE OR ALTER MAPPING LOCAL_MAP_FOR_USER_1 failed
2025-06-25 05:20:34.496 E                 + -Dynamic SQL Error
2025-06-25 05:20:34.501 E                 + -SQL error code = -504
2025-06-25 05:20:34.506 E                 + -CHARACTER SET "UTF8" is not defined
2025-06-25 05:20:34.512
2025-06-25 05:20:34.518 tests/bugs/core_6143_test.py:160: AssertionError
2025-06-25 05:20:34.524 ---------------------------- Captured stdout setup -----------------------------
2025-06-25 05:20:34.530 Creating db: localhost:/var/tmp/qa_2024/test_11271/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
2025-06-25 05:20:34.535 CREATE user: TMP$C6143_FOO PLUGIN: Srp
2025-06-25 05:20:34.542 --------------------------- Captured stdout teardown ---------------------------
2025-06-25 05:20:34.552 DROP user: TMP$C6143_FOO PLUGIN: Srp
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
tmp_user = <firebird.qa.plugin.User pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=3')
    def test_1(act: Action, tmp_user: User, capsys):
    
        # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
        # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
        # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
        p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
        fname_in_dbconf = None
    
        with open(act.home_dir/'databases.conf', 'r') as f:
            for line in f:
                if p_required_alias_ptn.search(line):
                    # If databases.conf contains line like this:
                    #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
                    # - then we extract filename: 'tmp_core_6147.fdb' (see below):
                    fname_in_dbconf = Path(line.split('=')[1].strip()).name
                    break
    
        # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
        #
        assert fname_in_dbconf
    
        # Full path + filename of database to which we will try to connect:
        #
        tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
    
        tmp_dba_pswd = 'alterkey'
        USER_PLUGIN = 'Srp'
        AUTH_PLUGIN = 'Srp'
    
        sql_txt = f"""
            set bail on;
            set wng off;
            set list on;
            -- set echo on;
            create database '{REQUIRED_ALIAS}' user {act.db.user};
            create user {act.db.user} password '{tmp_dba_pswd}' using plugin {USER_PLUGIN};
    
            select
                m.mon$sec_database as mon_sec_db
            from mon$database m;
            commit;
    
            create or alter user {tmp_user.name} password '{tmp_user.password}' using plugin {USER_PLUGIN};
            commit;
    
            -- ++++++++++++++++++++++++ T E S T    L O C A L    M A P P I N G  +++++++++++++++++++++++
    
            create or alter mapping local_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
            create or alter mapping local_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
    
            select
                'Connected OK when local mapping is duplicated.' as msg
                ,current_user as who_am_i     -- <<< 'local_mapped_user' must be shown here, *NOT* {tmp_user.name}
            from rdb$database;
            commit;
    
            -- for SELF-SECURITY database we have to DROP local mappings
            -- otherwise subsequent connect will fail with 08004 (multiple mappings):
            connect 'localhost:{REQUIRED_ALIAS}' user {act.db.user} password '{tmp_dba_pswd}';
            drop mapping local_map_for_user_1;
            drop mapping local_map_for_user_2;
            commit;
    
            -- ++++++++++++++++++++++++ T E S T    G L O B A L    M A P P I N G  +++++++++++++++++++++++
    
            create or alter global mapping global_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
            create or alter global mapping global_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
    
            select
                'Connected OK when global mapping is duplicated.' as msg
                ,current_user as who_am_i     -- <<< 'global_mapped_user' must be shown here, *NOT* {tmp_user.name}
            from rdb$database;
            commit;
    
        """
    
        try:
            act.expected_stdout = """
                MON_SEC_DB                      Self
                MSG                             Connected OK when local mapping is duplicated.
                WHO_AM_I                        LOCAL_MAPPED_USER
                MSG                             Connected OK when global mapping is duplicated.
                WHO_AM_I                        GLOBAL_MAPPED_USER
            """
            act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
>           assert act.clean_stdout == act.clean_expected_stdout
E           assert   
E               MON_SEC_DB                      Self
E             - MSG                             Connected OK when local mapping is duplicated.
E             - WHO_AM_I                        LOCAL_MAPPED_USER
E             - MSG                             Connected OK when global mapping is duplicated.
E             - WHO_AM_I                        GLOBAL_MAPPED_USER
E             + Statement failed, SQLSTATE = 2C000
E             + unsuccessful metadata update
E             + -CREATE OR ALTER MAPPING LOCAL_MAP_FOR_USER_1 failed
E             + -Dynamic SQL Error
E             + -SQL error code = -504
E             + -CHARACTER SET "UTF8" is not defined

tests/bugs/core_6143_test.py:146: AssertionError

During handling of the above exception, another exception occurred:

act = <firebird.qa.plugin.Action pytest object at [hex]>
tmp_user = <firebird.qa.plugin.User pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=3')
    def test_1(act: Action, tmp_user: User, capsys):
    
        # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
        # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
        # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
        p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
        fname_in_dbconf = None
    
        with open(act.home_dir/'databases.conf', 'r') as f:
            for line in f:
                if p_required_alias_ptn.search(line):
                    # If databases.conf contains line like this:
                    #     tmp_6147_alias = $(dir_sampleDb)/qa/tmp_core_6147.fdb
                    # - then we extract filename: 'tmp_core_6147.fdb' (see below):
                    fname_in_dbconf = Path(line.split('=')[1].strip()).name
                    break
    
        # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
        #
        assert fname_in_dbconf
    
        # Full path + filename of database to which we will try to connect:
        #
        tmp_fdb = Path( act.vars['sample_dir'], 'qa', fname_in_dbconf )
    
        tmp_dba_pswd = 'alterkey'
        USER_PLUGIN = 'Srp'
        AUTH_PLUGIN = 'Srp'
    
        sql_txt = f"""
            set bail on;
            set wng off;
            set list on;
            -- set echo on;
            create database '{REQUIRED_ALIAS}' user {act.db.user};
            create user {act.db.user} password '{tmp_dba_pswd}' using plugin {USER_PLUGIN};
    
            select
                m.mon$sec_database as mon_sec_db
            from mon$database m;
            commit;
    
            create or alter user {tmp_user.name} password '{tmp_user.password}' using plugin {USER_PLUGIN};
            commit;
    
            -- ++++++++++++++++++++++++ T E S T    L O C A L    M A P P I N G  +++++++++++++++++++++++
    
            create or alter mapping local_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
            create or alter mapping local_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user local_mapped_user;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
    
            select
                'Connected OK when local mapping is duplicated.' as msg
                ,current_user as who_am_i     -- <<< 'local_mapped_user' must be shown here, *NOT* {tmp_user.name}
            from rdb$database;
            commit;
    
            -- for SELF-SECURITY database we have to DROP local mappings
            -- otherwise subsequent connect will fail with 08004 (multiple mappings):
            connect 'localhost:{REQUIRED_ALIAS}' user {act.db.user} password '{tmp_dba_pswd}';
            drop mapping local_map_for_user_1;
            drop mapping local_map_for_user_2;
            commit;
    
            -- ++++++++++++++++++++++++ T E S T    G L O B A L    M A P P I N G  +++++++++++++++++++++++
    
            create or alter global mapping global_map_for_user_1 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
            create or alter global mapping global_map_for_user_2 using plugin {AUTH_PLUGIN} from user {tmp_user.name} to user global_mapped_user;
            commit;
    
            connect 'localhost:{REQUIRED_ALIAS}' user {tmp_user.name} password '{tmp_user.password}';
    
            select
                'Connected OK when global mapping is duplicated.' as msg
                ,current_user as who_am_i     -- <<< 'global_mapped_user' must be shown here, *NOT* {tmp_user.name}
            from rdb$database;
            commit;
    
        """
    
        try:
            act.expected_stdout = """
                MON_SEC_DB                      Self
                MSG                             Connected OK when local mapping is duplicated.
                WHO_AM_I                        LOCAL_MAPPED_USER
                MSG                             Connected OK when global mapping is duplicated.
                WHO_AM_I                        GLOBAL_MAPPED_USER
            """
            act.isql(switches = ['-q'], input = sql_txt, connect_db=False, credentials = False, combine_output = True, io_enc = locale.getpreferredencoding())
            assert act.clean_stdout == act.clean_expected_stdout
            act.reset()
    
        finally:
            if Path.exists(tmp_fdb):
                # Change DB state to full shutdown in order to have ability to drop database file.
                # This is needed because when DB is self-security then it will be kept opened for 10s
                # (as it always occurs for common security.db). Set linger to 0 does not help.
                # Attempt to use 'drop database' fails with:
                # "SQLSTATE = 40001 / lock time-out on wait transaction / -object ... is in use"
                act.gfix(switches=['-shut', 'full', '-force', '0', f'localhost:{REQUIRED_ALIAS}', '-user', act.db.user, '-pas', tmp_dba_pswd], io_enc = locale.getpreferredencoding(), credentials = False, combine_output = True)
                tmp_fdb.unlink()
    
                act.stdout = capsys.readouterr().out
>               assert act.clean_stdout == act.clean_expected_stdout
E               assert   
E                   MON_SEC_DB                      Self
E                 - MSG                             Connected OK when local mapping is duplicated.
E                 - WHO_AM_I                        LOCAL_MAPPED_USER
E                 - MSG                             Connected OK when global mapping is duplicated.
E                 - WHO_AM_I                        GLOBAL_MAPPED_USER
E                 + Statement failed, SQLSTATE = 2C000
E                 + unsuccessful metadata update
E                 + -CREATE OR ALTER MAPPING LOCAL_MAP_FOR_USER_1 failed
E                 + -Dynamic SQL Error
E                 + -SQL error code = -504
E                 + -CHARACTER SET "UTF8" is not defined

tests/bugs/core_6143_test.py:160: 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 6.0.0.892 2025.07.02 10f7d P P 1933 1525 2025.07.03 01:18:49.797 2025.07.03 01:18:51.730 2025.07.02 22:40:39.701 2025.07.02 22:40:41.226
2 6.0.0.889 2025.07.01 969ac P P 2047 1555 2025.07.02 01:45:46.784 2025.07.02 01:45:48.831 2025.07.01 22:51:25.958 2025.07.01 22:51:27.513
3 6.0.0.884 2025.06.30 f7e5f P P 1916 1748 2025.07.01 01:47:00.823 2025.07.01 01:47:02.739 2025.06.30 23:02:06.138 2025.06.30 23:02:07.886
4 6.0.0.881 2025.06.27 7035d P P 2069 1839 2025.06.30 01:35:44.710 2025.06.30 01:35:46.779 2025.06.29 22:47:36.139 2025.06.29 22:47:37.978
5 6.0.0.877 2025.06.26 8e38f P P 2006 1658 2025.06.27 01:16:29.754 2025.06.27 01:16:31.760 2025.06.26 22:40:32.904 2025.06.26 22:40:34.562
6 6.0.0.876 2025.06.25 b1bec P P 1978 1537 2025.06.26 01:20:17.018 2025.06.26 01:20:18.996 2025.06.25 22:42:07.898 2025.06.25 22:42:09.435
7 6.0.0.863 2025.06.24 c3c20 F F 1556 1331 2025.06.25 01:20:38.822 2025.06.25 01:20:40.378 2025.06.24 22:42:15.106 2025.06.24 22:42:16.437
8 6.0.0.858 2025.06.23 8d6f7 F F 1585 1460 2025.06.24 01:20:57.646 2025.06.24 01:20:59.231 2025.06.23 22:42:25.378 2025.06.23 22:42:26.838
9 6.0.0.849 2025.06.20 7b79c F F 1525 1062 2025.06.21 01:32:15.772 2025.06.21 01:32:17.297 2025.06.20 22:49:23.598 2025.06.20 22:49:24.660
10 6.0.0.848 2025.06.19 c483c F F 1486 996 2025.06.20 01:28:35.279 2025.06.20 01:28:36.765 2025.06.19 22:47:24.883 2025.06.19 22:47:25.879
11 6.0.0.845 2025.06.18 22b12 F F 1568 1777 2025.06.19 01:36:33.761 2025.06.19 01:36:35.329 2025.06.18 22:49:14.021 2025.06.18 22:49:15.798
12 6.0.0.843 2025.06.16 995f4 F F 1626 1273 2025.06.18 01:35:21.872 2025.06.18 01:35:23.498 2025.06.17 22:51:33.042 2025.06.17 22:51:34.315
13 6.0.0.840 2025.06.14 29bca F F 1496 1669 2025.06.16 01:26:46.689 2025.06.16 01:26:48.185 2025.06.15 22:44:59.802 2025.06.15 22:45:01.471
14 6.0.0.838 2025.06.13 0e28a F F 1526 870 2025.06.14 01:39:08.145 2025.06.14 01:39:09.671 2025.06.13 22:50:29.744 2025.06.13 22:50:30.614
15 6.0.0.835 2025.06.12 2cf29 F F 1625 1648 2025.06.13 01:40:19.598 2025.06.13 01:40:21.223 2025.06.12 22:55:56.230 2025.06.12 22:55:57.878
16 6.0.0.834 2025.06.11 e889f F F 1579 897 2025.06.12 01:34:45.895 2025.06.12 01:34:47.474 2025.06.11 22:51:29.429 2025.06.11 22:51:30.326
17 6.0.0.800 2025.06.10 1f226 P P 1835 1221 2025.06.11 00:04:17.842 2025.06.11 00:04:19.677 2025.06.10 21:56:36.825 2025.06.10 21:56:38.046
18 6.0.0.799 2025.06.07 be644 P P 1813 1243 2025.06.10 00:03:05.251 2025.06.10 00:03:07.064 2025.06.09 21:56:20.367 2025.06.09 21:56:21.610
19 6.0.0.797 2025.06.06 303e8 P P 1743 1250 2025.06.07 00:06:39.440 2025.06.07 00:06:41.183 2025.06.06 21:54:51.879 2025.06.06 21:54:53.129
20 6.0.0.795 2025.05.29 7a71a P P 1796 1396 2025.06.06 00:02:34.671 2025.06.06 00:02:36.467 2025.06.05 21:54:03.830 2025.06.05 21:54:05.226
21 6.0.0.792 2025.05.28 b4327 P P 2103 1291 2025.05.29 00:13:04.483 2025.05.29 00:13:06.586 2025.05.28 21:55:05.303 2025.05.28 21:55:06.594
22 6.0.0.791 2025.05.27 02db8 P P 3124 1186 2025.05.28 00:11:43.702 2025.05.28 00:11:46.826 2025.05.27 21:55:12.671 2025.05.27 21:55:13.857
23 6.0.0.789 2025.05.21 64051 P P 1826 1326 2025.05.25 00:07:08.582 2025.05.25 00:07:10.408 2025.05.24 21:54:37.726 2025.05.24 21:54:39.052
24 6.0.0.787 2025.05.20 230ad P P 1807 1303 2025.05.21 00:03:55.739 2025.05.21 00:03:57.546 2025.05.20 21:53:56.636 2025.05.20 21:53:57.939
25 6.0.0.783 2025.05.12 37320 P P 2036 1137 2025.05.19 11:36:35.971 2025.05.19 11:36:38.007 2025.05.19 09:45:05.670 2025.05.19 09:45:06.807
26 6.0.0.779 2025.05.11 136fa P P 1787 1216 2025.05.11 23:59:21.199 2025.05.11 23:59:22.986 2025.05.11 21:53:11.915 2025.05.11 21:53:13.131
27 6.0.0.778 2025.05.07 d735e P P 2953 1114 2025.05.07 23:59:38.345 2025.05.07 23:59:41.298 2025.05.07 21:52:46.228 2025.05.07 21:52:47.342
28 6.0.0.776 2025.05.06 007cd P P 3164 1182 2025.05.06 23:52:33.297 2025.05.06 23:52:36.461 2025.05.06 21:52:04.638 2025.05.06 21:52:05.820
29 6.0.0.770 2025.05.05 82c4a P P 3074 1242 2025.05.05 23:51:17.114 2025.05.05 23:51:20.188 2025.05.05 21:52:07.336 2025.05.05 21:52:08.578
30 6.0.0.767 2025.05.01 cdd29 P P 2935 1122 2025.05.01 23:49:38.187 2025.05.01 23:49:41.122 2025.05.01 21:52:05.523 2025.05.01 21:52:06.645
31 6.0.0.762 2025.04.30 5cb15 P P 2979 1192 2025.04.30 23:46:17.777 2025.04.30 23:46:20.756 2025.04.30 21:51:23.126 2025.04.30 21:51:24.318
32 6.0.0.755 2025.04.29 739c6 P P 2932 1238 2025.04.29 23:48:29.982 2025.04.29 23:48:32.914 2025.04.29 21:51:59.472 2025.04.29 21:52:00.710
33 6.0.0.753 2025.04.27 29ab3 P P 2869 1347 2025.04.27 23:49:34.121 2025.04.27 23:49:36.990 2025.04.27 21:51:45.350 2025.04.27 21:51:46.697
34 6.0.0.745 2025.04.21 78ad8 P P 2768 1343 2025.04.25 23:47:58.185 2025.04.25 23:48:00.953 2025.04.25 21:53:17.305 2025.04.25 21:53:18.648
35 6.0.0.744 2025.04.19 e883a P P 2745 1280 2025.04.19 23:49:45.765 2025.04.19 23:49:48.510 2025.04.19 21:52:09.262 2025.04.19 21:52:10.542
36 6.0.0.742 2025.04.17 abc3b P P 2920 1216 2025.04.18 23:51:30.022 2025.04.18 23:51:32.942 2025.04.18 21:52:07.365 2025.04.18 21:52:08.581
37 6.0.0.737 2025.04.16 fe52b P P 2929 1170 2025.04.16 23:49:49.282 2025.04.16 23:49:52.211 2025.04.16 21:52:01.993 2025.04.16 21:52:03.163
38 6.0.0.736 2025.04.14 3e6be P P 2812 1075 2025.04.14 23:33:29.041 2025.04.14 23:33:31.853 2025.04.14 21:49:12.802 2025.04.14 21:49:13.877
39 6.0.0.735 2025.04.13 6635c P P 2824 1221 2025.04.13 23:35:28.341 2025.04.13 23:35:31.165 2025.04.13 21:49:50.130 2025.04.13 21:49:51.351
40 6.0.0.734 2025.04.12 12f3f P P 2754 1157 2025.04.12 23:34:15.846 2025.04.12 23:34:18.600 2025.04.12 21:49:16.710 2025.04.12 21:49:17.867
41 6.0.0.730 2025.04.11 240b8 P P 2727 1139 2025.04.11 23:35:30.950 2025.04.11 23:35:33.677 2025.04.11 21:48:53.768 2025.04.11 21:48:54.907
42 6.0.0.726 2025.04.10 d79c6 P P 2784 1333 2025.04.10 23:34:56.431 2025.04.10 23:34:59.215 2025.04.10 21:48:54.104 2025.04.10 21:48:55.437
43 6.0.0.725 2025.04.09 a2b05 P P 2738 1174 2025.04.09 23:35:27.986 2025.04.09 23:35:30.724 2025.04.09 21:49:59.787 2025.04.09 21:50:00.961
44 6.0.0.722 2025.04.08 a8b86 P P 2906 1144 2025.04.08 23:48:32.716 2025.04.08 23:48:35.622 2025.04.08 21:51:54.585 2025.04.08 21:51:55.729
45 6.0.0.719 2025.04.06 90fd9 P P 2770 1333 2025.04.06 23:46:17.524 2025.04.06 23:46:20.294 2025.04.06 21:51:55.274 2025.04.06 21:51:56.607
46 6.0.0.717 2025.04.04 53d70 P P 3115 1249 2025.04.04 23:42:53.051 2025.04.04 23:42:56.166 2025.04.04 21:51:27.200 2025.04.04 21:51:28.449
47 6.0.0.716 2025.04.03 fc636 P P 2899 1300 2025.04.03 23:47:11.539 2025.04.03 23:47:14.438 2025.04.03 21:51:38.052 2025.04.03 21:51:39.352
48 6.0.0.715 2025.04.02 907ed P P 2845 1267 2025.04.02 23:46:51.977 2025.04.02 23:46:54.822 2025.04.02 21:52:17.001 2025.04.02 21:52:18.268
49 6.0.0.710 2025.04.01 40651 P P 2992 1244 2025.04.01 23:45:45.386 2025.04.01 23:45:48.378 2025.04.01 21:51:29.015 2025.04.01 21:51:30.259
50 6.0.0.708 2025.03.31 cb069 P P 2858 1215 2025.03.31 23:37:43.015 2025.03.31 23:37:45.873 2025.03.31 21:49:48.575 2025.03.31 21:49:49.790
51 6.0.0.707 2025.03.28 4bd4f P P 2786 1225 2025.03.30 23:36:57.946 2025.03.30 23:37:00.732 2025.03.30 21:49:58.316 2025.03.30 21:49:59.541
52 6.0.0.698 2025.03.26 d72a7 P P 3006 1094 2025.03.27 23:53:24.557 2025.03.27 23:53:27.563 2025.03.27 21:51:42.244 2025.03.27 21:51:43.338
53 6.0.0.693 2025.03.24 0b559 P P 3537 1128 2025.03.24 23:43:29.355 2025.03.24 23:43:32.892 2025.03.24 21:51:11.583 2025.03.24 21:51:12.711
54 6.0.0.687 2025.03.22 730aa P P 3016 1290 2025.03.23 23:54:34.791 2025.03.23 23:54:37.807 2025.03.23 21:53:18.935 2025.03.23 21:53:20.225
55 6.0.0.686 2025.03.20 71bf6 P P 2932 1232 2025.03.20 23:58:46.767 2025.03.20 23:58:49.699 2025.03.20 21:54:05.666 2025.03.20 21:54:06.898
56 6.0.0.685 2025.03.19 a8577 P P 2889 1148 2025.03.19 23:56:07.648 2025.03.19 23:56:10.537 2025.03.19 21:53:00.257 2025.03.19 21:53:01.405
57 6.0.0.680 2025.03.18 90d29 P P 752 386 2025.03.19 10:24:27.247 2025.03.19 10:24:27.999 2025.03.19 08:42:44.713 2025.03.19 08:42:45.099
58 6.0.0.677 2025.03.16 c0a60 P P 1101 442 2025.03.16 23:49:33.576 2025.03.16 23:49:34.677 2025.03.16 21:53:24.494 2025.03.16 21:53:24.936
59 6.0.0.676 2025.03.15 3034f P P 689 420 2025.03.16 15:26:37.147 2025.03.16 15:26:37.836 2025.03.16 13:48:12.054 2025.03.16 13:48:12.474
60 6.0.0.673 2025.03.13 40f5b P P 1108 505 2025.03.13 23:49:09.612 2025.03.13 23:49:10.720 2025.03.13 21:52:53.901 2025.03.13 21:52:54.406
61 6.0.0.671 2025.03.12 a4fff P P 1102 473 2025.03.12 23:52:42.787 2025.03.12 23:52:43.889 2025.03.12 21:53:43.637 2025.03.12 21:53:44.110
62 6.0.0.663 2025.03.11 daad2 P P 1136 466 2025.03.11 23:50:18.949 2025.03.11 23:50:20.085 2025.03.11 21:53:39.012 2025.03.11 21:53:39.478
63 6.0.0.661 2025.03.07 b9869 P P 1063 437 2025.03.10 23:34:14.910 2025.03.10 23:34:15.973 2025.03.10 21:50:51.096 2025.03.10 21:50:51.533
64 6.0.0.660 2025.03.04 a6700 P P 1230 406 2025.03.06 23:42:02.056 2025.03.06 23:42:03.286 2025.03.06 21:51:47.928 2025.03.06 21:51:48.334
65 6.0.0.658 2025.03.03 f15f8 P P 1120 378 2025.03.03 23:36:52.834 2025.03.03 23:36:53.954 2025.03.03 21:50:42.896 2025.03.03 21:50:43.274
66 6.0.0.656 2025.02.27 25fb4 P P 1201 435 2025.03.02 23:58:21.706 2025.03.02 23:58:22.907 2025.03.02 21:54:58.366 2025.03.02 21:54:58.801
67 6.0.0.655 2025.02.25 6e3e0 P P 1036 388 2025.02.26 23:40:43.042 2025.02.26 23:40:44.078 2025.02.26 21:51:22.528 2025.02.26 21:51:22.916
68 6.0.0.654 2025.02.24 b7141 P P 1047 410 2025.02.24 23:42:51.943 2025.02.24 23:42:52.990 2025.02.24 21:51:53.169 2025.02.24 21:51:53.579
69 6.0.0.652 2025.02.22 22662 P P 778 363 2025.02.24 07:00:34.035 2025.02.24 07:00:34.813 2025.02.24 00:07:43.981 2025.02.24 00:07:44.344
70 6.0.0.647 2025.02.21 9fccb P P 1053 418 2025.02.21 23:44:43.626 2025.02.21 23:44:44.679 2025.02.21 21:55:30.364 2025.02.21 21:55:30.782
71 6.0.0.640 2025.02.19 9b8ac P P 1031 398 2025.02.19 23:41:32.716 2025.02.19 23:41:33.747 2025.02.19 21:51:25.253 2025.02.19 21:51:25.651
72 6.0.0.639 2025.02.18 201a4 P P 1059 449 2025.02.18 23:36:05.058 2025.02.18 23:36:06.117 2025.02.18 21:51:10.116 2025.02.18 21:51:10.565
73 6.0.0.637 2025.02.12 6d0f5 P P 1320 435 2025.02.13 23:50:14.246 2025.02.13 23:50:15.566 2025.02.13 21:52:54.172 2025.02.13 21:52:54.607
74 6.0.0.636 2025.02.11 0424f P P 1060 384 2025.02.11 23:47:42.747 2025.02.11 23:47:43.807 2025.02.11 21:52:27.901 2025.02.11 21:52:28.285
75 6.0.0.635 2025.02.10 f640f P P 1025 491 2025.02.10 23:47:21.771 2025.02.10 23:47:22.796 2025.02.10 21:53:33.408 2025.02.10 21:53:33.899
76 6.0.0.629 2025.02.07 194f9 P P 968 465 2025.02.07 23:45:52.370 2025.02.07 23:45:53.338 2025.02.07 21:52:34.241 2025.02.07 21:52:34.706
77 6.0.0.628 2025.02.06 859d5 P P 1188 440 2025.02.06 23:52:19.202 2025.02.06 23:52:20.390 2025.02.06 21:52:20.233 2025.02.06 21:52:20.673
78 6.0.0.621 2025.02.05 34fe7 P P 1096 420 2025.02.05 23:52:39.997 2025.02.05 23:52:41.093 2025.02.05 21:52:20.457 2025.02.05 21:52:20.877
79 6.0.0.609 2025.02.04 76d57 P P 657 439 2025.02.04 23:46:22.029 2025.02.04 23:46:22.686 2025.02.04 21:52:20.046 2025.02.04 21:52:20.485
80 6.0.0.607 2025.02.03 1985b P P 1068 466 2025.02.03 23:46:47.970 2025.02.03 23:46:49.038 2025.02.03 21:52:36.677 2025.02.03 21:52:37.143
81 6.0.0.601 2025.02.01 6af07 P P 1001 424 2025.02.01 23:43:51.733 2025.02.01 23:43:52.734 2025.02.01 21:52:09.693 2025.02.01 21:52:10.117
82 6.0.0.600 2025.01.27 188de P P 1088 405 2025.01.27 23:49:37.690 2025.01.27 23:49:38.778 2025.01.27 21:52:39.917 2025.01.27 21:52:40.322
83 6.0.0.599 2025.01.25 ba588 P P 1201 405 2025.01.25 23:49:54.696 2025.01.25 23:49:55.897 2025.01.25 21:53:07.610 2025.01.25 21:53:08.015
84 6.0.0.598 2025.01.23 ddbc3 P P 1263 465 2025.01.24 23:50:11.253 2025.01.24 23:50:12.516 2025.01.24 21:52:26.672 2025.01.24 21:52:27.137
85 6.0.0.595 2025.01.22 e62f3 P P 1011 455 2025.01.22 23:41:45.303 2025.01.22 23:41:46.314 2025.01.22 21:51:40.820 2025.01.22 21:51:41.275
86 6.0.0.594 2025.01.21 47fb6 P P 944 439 2025.01.21 23:39:41.570 2025.01.21 23:39:42.514 2025.01.21 21:51:33.985 2025.01.21 21:51:34.424
87 6.0.0.590 2025.01.20 9dc1e P P 1153 446 2025.01.20 23:46:51.105 2025.01.20 23:46:52.258 2025.01.20 21:52:17.507 2025.01.20 21:52:17.953
88 6.0.0.588 2025.01.19 b1c4e P P 990 416 2025.01.19 23:43:09.887 2025.01.19 23:43:10.877 2025.01.19 21:52:44.316 2025.01.19 21:52:44.732
89 6.0.0.587 2025.01.18 63e6e P P 1143 455 2025.01.18 23:47:32.154 2025.01.18 23:47:33.297 2025.01.18 21:53:08.956 2025.01.18 21:53:09.411
90 6.0.0.585 2025.01.16 2d6bb P P 1137 451 2025.01.17 23:40:22.954 2025.01.17 23:40:24.091 2025.01.17 21:51:41.875 2025.01.17 21:51:42.326
91 6.0.0.584 2025.01.15 a0aa2 P P 1104 434 2025.01.15 23:45:39.110 2025.01.15 23:45:40.214 2025.01.15 21:52:37.603 2025.01.15 21:52:38.037
92 6.0.0.581 2025.01.14 21e9e P P 1147 400 2025.01.14 23:46:58.467 2025.01.14 23:46:59.614 2025.01.14 21:52:25.107 2025.01.14 21:52:25.507
93 6.0.0.577 2025.01.13 7e293 P P 1187 474 2025.01.13 23:47:40.493 2025.01.13 23:47:41.680 2025.01.13 21:52:23.109 2025.01.13 21:52:23.583
94 6.0.0.576 2025.01.12 05898 P P 1069 412 2025.01.12 23:44:15.909 2025.01.12 23:44:16.978 2025.01.12 21:51:50.888 2025.01.12 21:51:51.300
95 6.0.0.573 2025.01.10 c20f3 P P 1051 438 2025.01.10 23:44:25.935 2025.01.10 23:44:26.986 2025.01.10 21:52:18.325 2025.01.10 21:52:18.763
96 6.0.0.571 2024.12.31 81bba P P 498 318 2024.12.31 23:16:18.847 2024.12.31 23:16:19.345 2024.12.31 21:44:25.348 2024.12.31 21:44:25.666
97 6.0.0.570 2024.12.30 c3c8d P P 1010 327 2024.12.30 23:16:13.771 2024.12.30 23:16:14.781 2024.12.30 21:44:34.588 2024.12.30 21:44:34.915
98 6.0.0.565 2024.12.28 5fc59 P P 552 307 2024.12.30 12:06:13.491 2024.12.30 12:06:14.043 2024.12.30 10:53:06.315 2024.12.30 10:53:06.622
99 6.0.0.564 2024.12.26 12514 P P 512 336 2024.12.26 23:17:03.723 2024.12.26 23:17:04.235 2024.12.26 21:44:25.775 2024.12.26 21:44:26.111
100 6.0.0.560 2024.12.25 fa83e P P 536 309 2024.12.25 23:16:36.074 2024.12.25 23:16:36.610 2024.12.25 21:44:25.047 2024.12.25 21:44:25.356
101 6.0.0.559 2024.12.23 cc800 P P 528 316 2024.12.24 23:18:01.515 2024.12.24 23:18:02.043 2024.12.24 21:44:45.404 2024.12.24 21:44:45.720
102 6.0.0.556 2024.12.22 a0404 P P 521 316 2024.12.22 23:17:44.889 2024.12.22 23:17:45.410 2024.12.22 21:44:39.439 2024.12.22 21:44:39.755
103 6.0.0.555 2024.12.19 6990a P P 554 312 2024.12.21 12:42:09.843 2024.12.21 12:42:10.397 2024.12.21 11:19:31.506 2024.12.21 11:19:31.818
104 6.0.0.553 2024.12.17 d1f8a P P 901 308 2024.12.17 23:18:07.814 2024.12.17 23:18:08.715 2024.12.17 21:45:01.080 2024.12.17 21:45:01.388
105 6.0.0.552 2024.12.11 85e25 P P 525 315 2024.12.15 23:16:45.826 2024.12.15 23:16:46.351 2024.12.15 21:44:49.719 2024.12.15 21:44:50.034
106 6.0.0.550 2024.12.10 b37ac P P 556 313 2024.12.10 23:19:32.639 2024.12.10 23:19:33.195 2024.12.10 21:45:47.297 2024.12.10 21:45:47.610
107 6.0.0.548 2024.12.08 2cc77 P P 1003 287 2024.12.08 23:14:46.695 2024.12.08 23:14:47.698 2024.12.08 21:44:08.496 2024.12.08 21:44:08.783
108 6.0.0.544 2024.12.05 96943 P P 540 333 2024.12.05 23:18:24.099 2024.12.05 23:18:24.639 2024.12.05 21:46:14.378 2024.12.05 21:46:14.711
109 6.0.0.543 2024.12.03 30b77 P P 538 321 2024.12.03 23:20:34.869 2024.12.03 23:20:35.407 2024.12.03 21:45:23.016 2024.12.03 21:45:23.337
110 6.0.0.540 2024.12.02 4a1f4 P P 964 303 2024.12.02 23:09:45.659 2024.12.02 23:09:46.623 2024.12.02 21:44:45.647 2024.12.02 21:44:45.950
111 6.0.0.539 2024.11.28 1f283 P P 852 311 2024.11.29 23:19:17.030 2024.11.29 23:19:17.882 2024.11.29 21:45:08.888 2024.11.29 21:45:09.199
112 6.0.0.535 2024.11.26 77b95 P P 940 286 2024.11.26 23:10:10.466 2024.11.26 23:10:11.406 2024.11.26 21:43:29.182 2024.11.26 21:43:29.468
113 6.0.0.534 2024.11.25 e9584 P P 881 311 2024.11.25 23:11:25.226 2024.11.25 23:11:26.107 2024.11.25 21:44:00.401 2024.11.25 21:44:00.712
114 6.0.0.533 2024.11.17 933ac P P 577 304 2024.11.22 09:23:15.899 2024.11.22 09:23:16.476 2024.11.22 08:13:27.063 2024.11.22 08:13:27.367
115 6.0.0.532 2024.11.16 9e263 P P 626 308 2024.11.16 23:04:10.534 2024.11.16 23:04:11.160 2024.11.16 21:43:58.992 2024.11.16 21:43:59.300
116 6.0.0.530 2024.11.15 49804 P P 1000 297 2024.11.16 01:10:32.362 2024.11.16 01:10:33.362 2024.11.15 23:43:41.473 2024.11.15 23:43:41.770
117 6.0.0.528 2024.11.14 9625b P P 973 318 2024.11.15 01:12:39.765 2024.11.15 01:12:40.738 2024.11.14 23:44:37.084 2024.11.14 23:44:37.402
118 6.0.0.526 2024.11.12 65b80 P P 965 289 2024.11.14 01:11:43.823 2024.11.14 01:11:44.788 2024.11.13 23:44:05.562 2024.11.13 23:44:05.851
119 6.0.0.523 2024.11.08 8ca23 P P 1004 296 2024.11.11 01:09:06.410 2024.11.11 01:09:07.414 2024.11.10 23:43:24.669 2024.11.10 23:43:24.965
120 6.0.0.520 2024.11.07 4eefa P P 964 324 2024.11.08 01:06:44.986 2024.11.08 01:06:45.950 2024.11.07 23:43:17.736 2024.11.07 23:43:18.060
121 6.0.0.516 2024.11.04 b0c36 P P 909 298 2024.11.05 01:06:21.145 2024.11.05 01:06:22.054 2024.11.04 23:43:13.721 2024.11.04 23:43:14.019
122 6.0.0.515 2024.10.30 d53f3 P P 849 315 2024.11.04 01:08:25.815 2024.11.04 01:08:26.664 2024.11.03 23:43:26.707 2024.11.03 23:43:27.022
123 6.0.0.512 2024.10.29 833ef P P 1036 356 2024.10.30 01:10:36.026 2024.10.30 01:10:37.062 2024.10.29 23:44:29.933 2024.10.29 23:44:30.289
124 6.0.0.511 2024.10.26 c4bc9 P P 988 334 2024.10.29 01:10:52.373 2024.10.29 01:10:53.361 2024.10.28 23:44:05.434 2024.10.28 23:44:05.768
125 6.0.0.509 2024.10.25 3aedb P P 1024 324 2024.10.26 01:18:44.669 2024.10.26 01:18:45.693 2024.10.25 23:45:51.948 2024.10.25 23:45:52.272
126 6.0.0.508 2024.10.24 a8f5b P P 1048 301 2024.10.25 01:13:44.313 2024.10.25 01:13:45.361 2024.10.24 23:44:53.823 2024.10.24 23:44:54.124
127 6.0.0.502 2024.10.22 6bfd7 P P 1036 303 2024.10.23 01:13:21.618 2024.10.23 01:13:22.654 2024.10.22 23:44:39.302 2024.10.22 23:44:39.605
128 6.0.0.500 2024.10.21 be565 P P 580 342 2024.10.22 17:26:15.954 2024.10.22 17:26:16.534 2024.10.22 16:14:09.812 2024.10.22 16:14:10.154
129 6.0.0.499 2024.10.19 6214b P P 961 358 2024.10.20 01:14:38.852 2024.10.20 01:14:39.813 2024.10.19 23:45:25.593 2024.10.19 23:45:25.951
130 6.0.0.498 2024.10.18 591a7 P P 1004 330 2024.10.19 01:12:23.257 2024.10.19 01:12:24.261 2024.10.18 23:44:16.788 2024.10.18 23:44:17.118
131 6.0.0.494 2024.10.17 cf5a4 P P 1089 318 2024.10.18 01:13:18.963 2024.10.18 01:13:20.052 2024.10.17 23:45:32.528 2024.10.17 23:45:32.846
132 6.0.0.491 2024.10.14 dc5fb P P 1028 311 2024.10.15 01:09:57.081 2024.10.15 01:09:58.109 2024.10.14 23:43:46.896 2024.10.14 23:43:47.207
133 6.0.0.489 2024.10.11 2ba59 P P 1020 364 2024.10.12 01:15:11.657 2024.10.12 01:15:12.677 2024.10.11 23:44:58.120 2024.10.11 23:44:58.484
134 6.0.0.488 2024.10.09 1c93e P P 988 369 2024.10.10 01:22:54.173 2024.10.10 01:22:55.161 2024.10.09 23:46:49.148 2024.10.09 23:46:49.517
135 6.0.0.487 2024.10.06 065a3 P P 539 360 2024.10.07 01:22:04.465 2024.10.07 01:22:05.004 2024.10.06 23:47:00.303 2024.10.06 23:47:00.663
136 6.0.0.485 2024.10.04 e95c1 P P 1024 356 2024.10.05 01:23:30.785 2024.10.05 01:23:31.809 2024.10.04 23:46:16.561 2024.10.04 23:46:16.917
137 6.0.0.483 2024.10.02 5e5ae P P 990 326 2024.10.03 01:20:21.253 2024.10.03 01:20:22.243 2024.10.02 23:46:12.108 2024.10.02 23:46:12.434
138 6.0.0.478 2024.09.30 b5010 P P 1004 316 2024.10.01 01:16:13.601 2024.10.01 01:16:14.605 2024.09.30 23:45:49.094 2024.09.30 23:45:49.410
139 6.0.0.474 2024.09.26 e4efb P P 974 395 2024.09.30 01:15:18.524 2024.09.30 01:15:19.498 2024.09.29 23:45:18.984 2024.09.29 23:45:19.379
140 6.0.0.471 2024.09.24 01b51 P P 1109 313 2024.09.25 23:17:58.378 2024.09.25 23:17:59.487 2024.09.25 21:45:24.408 2024.09.25 21:45:24.721
141 6.0.0.470 2024.09.23 77cc0 P P 1045 316 2024.09.23 23:16:56.588 2024.09.23 23:16:57.633 2024.09.23 21:45:38.513 2024.09.23 21:45:38.829
142 6.0.0.467 2024.09.21 ea0b8 P P 1009 328 2024.09.22 23:15:44.025 2024.09.22 23:15:45.034 2024.09.22 21:44:55.903 2024.09.22 21:44:56.231
143 6.0.0.466 2024.09.20 32dc6 P P 1011 336 2024.09.20 23:14:42.945 2024.09.20 23:14:43.956 2024.09.20 21:45:02.841 2024.09.20 21:45:03.177
144 6.0.0.461 2024.09.17 2c895 P P 1148 479 2024.09.17 23:45:36.993 2024.09.17 23:45:38.141 2024.09.17 21:57:06.132 2024.09.17 21:57:06.611
145 6.0.0.460 2024.09.11 3c253 P P 1203 489 2024.09.16 23:46:54.538 2024.09.16 23:46:55.741 2024.09.16 21:57:54.830 2024.09.16 21:57:55.319
146 6.0.0.457 2024.09.09 fdc6f P P 1223 572 2024.09.10 00:05:33.046 2024.09.10 00:05:34.269 2024.09.09 22:00:52.623 2024.09.09 22:00:53.195
147 6.0.0.455 2024.09.07 500d8 P P 1275 537 2024.09.08 00:01:58.409 2024.09.08 00:01:59.684 2024.09.07 22:00:31.784 2024.09.07 22:00:32.321
148 6.0.0.454 2024.09.05 4d70f P P 1202 573 2024.09.05 23:47:11.109 2024.09.05 23:47:12.311 2024.09.05 21:58:50.881 2024.09.05 21:58:51.454
149 6.0.0.452 2024.09.04 9ff9c P P 1130 489 2024.09.04 23:46:15.237 2024.09.04 23:46:16.367 2024.09.04 21:57:44.764 2024.09.04 21:57:45.253
150 6.0.0.450 2024.09.02 27124 P P 814 625 2024.09.04 00:46:07.614 2024.09.04 00:46:08.428 2024.09.03 22:16:59.509 2024.09.03 22:17:00.134
151 6.0.0.447 2024.09.01 056ec P P 2606 478 2024.09.02 00:07:05.184 2024.09.02 00:07:07.790 2024.09.01 22:01:32.790 2024.09.01 22:01:33.268
152 6.0.0.446 2024.08.30 fe1b2 P P 1028 625 2024.09.01 00:13:36.545 2024.09.01 00:13:37.573 2024.08.31 22:14:03.633 2024.08.31 22:14:04.258
153 6.0.0.444 2024.08.28 785d4 P P 1168 638 2024.08.30 00:25:28.413 2024.08.30 00:25:29.581 2024.08.29 22:13:27.686 2024.08.29 22:13:28.324
154 6.0.0.442 2024.08.21 4a68f P P 2240 1334 2024.08.28 01:41:21.433 2024.08.28 01:41:23.673 2024.08.27 22:28:20.268 2024.08.27 22:28:21.602
155 6.0.0.441 2024.08.20 75042 P P 1147 555 2024.08.20 23:54:13.580 2024.08.20 23:54:14.727 2024.08.20 22:00:41.824 2024.08.20 22:00:42.379
156 6.0.0.438 2024.08.16 088b5 P P 617 395 2024.08.18 23:18:43.813 2024.08.18 23:18:44.430 2024.08.18 21:49:49.522 2024.08.18 21:49:49.917
157 6.0.0.437 2024.08.14 3c88b P P 685 451 2024.08.15 23:17:33.868 2024.08.15 23:17:34.553 2024.08.15 21:49:32.075 2024.08.15 21:49:32.526
158 6.0.0.432 2024.08.11 e82ac P P 585 472 2024.08.12 23:16:59.492 2024.08.12 23:17:00.077 2024.08.12 21:49:08.044 2024.08.12 21:49:08.516
159 6.0.0.431 2024.08.09 de5a7 P P 636 498 2024.08.09 23:18:13.213 2024.08.09 23:18:13.849 2024.08.09 21:49:50.598 2024.08.09 21:49:51.096
160 6.0.0.428 2024.08.08 9191b P P 660 420 2024.08.08 23:17:22.141 2024.08.08 23:17:22.801 2024.08.08 21:49:33.502 2024.08.08 21:49:33.922
161 6.0.0.423 2024.08.07 33b41 P P 753 449 2024.08.08 09:11:14.089 2024.08.08 09:11:14.842 2024.08.08 07:57:02.417 2024.08.08 07:57:02.866
162 6.0.0.421 2024.08.06 ed60d P P 707 315 2024.08.06 23:02:12.425 2024.08.06 23:02:13.132 2024.08.06 21:46:12.834 2024.08.06 21:46:13.149
163 6.0.0.419 2024.08.05 3505a P P 588 262 2024.08.05 23:04:08.002 2024.08.05 23:04:08.590 2024.08.05 21:46:16.824 2024.08.05 21:46:17.086
164 6.0.0.409 2024.08.02 ec18f P P 761 312 2024.08.04 23:07:48.973 2024.08.04 23:07:49.734 2024.08.04 21:47:01.256 2024.08.04 21:47:01.568
165 6.0.0.406 2024.08.01 b20be P P 750 296 2024.08.01 23:06:53.327 2024.08.01 23:06:54.077 2024.08.01 21:46:27.146 2024.08.01 21:46:27.442
166 6.0.0.405 2024.07.31 a62ac P P 800 313 2024.07.31 23:05:45.317 2024.07.31 23:05:46.117 2024.07.31 21:46:27.947 2024.07.31 21:46:28.260
167 6.0.0.403 2024.07.29 30f03 P P 779 305 2024.07.29 23:05:27.862 2024.07.29 23:05:28.641 2024.07.29 21:46:11.455 2024.07.29 21:46:11.760
168 6.0.0.401 2024.07.26 24e41 P P 674 317 2024.07.26 23:02:10.135 2024.07.26 23:02:10.809 2024.07.26 21:46:05.668 2024.07.26 21:46:05.985
169 6.0.0.400 2024.07.24 5bb78 P P 755 294 2024.07.24 23:01:45.765 2024.07.24 23:01:46.520 2024.07.24 21:46:15.979 2024.07.24 21:46:16.273
170 6.0.0.398 2024.07.23 85b18 P P 744 289 2024.07.23 23:09:33.477 2024.07.23 23:09:34.221 2024.07.23 21:46:17.122 2024.07.23 21:46:17.411
171 6.0.0.397 2024.07.22 c734c P P 583 297 2024.07.22 23:01:50.090 2024.07.22 23:01:50.673 2024.07.22 21:46:13.657 2024.07.22 21:46:13.954
172 6.0.0.396 2024.07.13 cf952 P P 608 320 2024.07.21 23:02:33.817 2024.07.21 23:02:34.425 2024.07.21 21:45:59.706 2024.07.21 21:46:00.026
173 6.0.0.395 2024.07.10 845f4 P P 388 283 2024.07.12 23:03:28.141 2024.07.12 23:03:28.529 2024.07.12 21:45:39.947 2024.07.12 21:45:40.230
174 6.0.0.392 2024.07.09 ea301 P P 426 285 2024.07.09 22:59:59.821 2024.07.09 23:00:00.247 2024.07.09 21:45:24.863 2024.07.09 21:45:25.148
175 6.0.0.391 2024.07.08 7d50c P P 492 306 2024.07.08 23:01:00.100 2024.07.08 23:01:00.592 2024.07.08 21:46:05.637 2024.07.08 21:46:05.943
176 6.0.0.389 2024.07.05 cc71c P P 422 310 2024.07.05 23:03:38.462 2024.07.05 23:03:38.884 2024.07.05 21:45:54.482 2024.07.05 21:45:54.792
177 6.0.0.388 2024.06.30 e5700 P P 412 333 2024.06.30 23:01:00.821 2024.06.30 23:01:01.233 2024.06.30 21:46:10.714 2024.06.30 21:46:11.047
178 6.0.0.387 2024.06.27 7c28a P P 390 251 2024.06.27 23:00:32.176 2024.06.27 23:00:32.566 2024.06.27 21:46:03.609 2024.06.27 21:46:03.860
179 6.0.0.386 2024.06.23 7c57f P P 385 268 2024.06.23 22:58:20.653 2024.06.23 22:58:21.038 2024.06.23 21:45:13.108 2024.06.23 21:45:13.376
180 6.0.0.384 2024.06.21 24d99 P P 425 322 2024.06.21 23:02:10.973 2024.06.21 23:02:11.398 2024.06.21 21:45:45.953 2024.06.21 21:45:46.275
181 6.0.0.374 2024.06.13 0097d P P 483 353 2024.06.20 23:00:52.740 2024.06.20 23:00:53.223 2024.06.20 21:45:31.329 2024.06.20 21:45:31.682
182 6.0.0.373 2024.06.09 363f0 P P 494 289 2024.06.13 13:15:26.419 2024.06.13 13:15:26.913 2024.06.13 12:08:51.692 2024.06.13 12:08:51.981
183 6.0.0.371 2024.06.08 f7130 P P 411 208 2024.06.11 22:04:17.905 2024.06.11 22:04:18.316 2024.06.11 21:05:04.388 2024.06.11 21:05:04.596
184 6.0.0.366 2024.05.30 ab2c9 P P 724 318 2024.06.12 09:02:34.736 2024.06.12 09:02:35.460 2024.06.12 07:39:01.478 2024.06.12 07:39:01.796
185 6.0.0.363 2024.05.27 06703 P P 498 237 2024.06.12 14:10:02.283 2024.06.12 14:10:02.781 2024.06.12 13:07:55.603 2024.06.12 13:07:55.840
186 6.0.0.359 2024.05.23 9cb11 P P 514 229 2024.06.12 12:02:50.565 2024.06.12 12:02:51.079 2024.06.12 11:00:25.801 2024.06.12 11:00:26.030
187 6.0.0.358 2024.05.21 995dd P P 474 232 2024.06.12 16:46:08.734 2024.06.12 16:46:09.208 2024.06.12 15:45:29.998 2024.06.12 15:45:30.230
188 6.0.0.357 2024.05.18 bf6c4 P P 440 215 2024.06.12 21:22:35.996 2024.06.12 21:22:36.436 2024.06.12 20:21:44.968 2024.06.12 20:21:45.183
189 6.0.0.356 2024.05.17 eab06 P P 423 239 2024.06.13 05:28:55.482 2024.06.13 05:28:55.905 2024.06.13 04:28:04.493 2024.06.13 04:28:04.732
190 6.0.0.355 2024.05.16 8dd6e P P 412 217 2024.06.13 07:36:21.909 2024.06.13 07:36:22.321 2024.06.13 06:35:29.421 2024.06.13 06:35:29.638
191 6.0.0.354 2024.05.15 d3adc P P 456 306 2024.06.13 10:40:43.369 2024.06.13 10:40:43.825 2024.06.13 09:34:18.694 2024.06.13 09:34:19.000
192 6.0.0.351 2024.05.14 2e3e0 P P 455 315 2024.06.13 15:54:41.976 2024.06.13 15:54:42.431 2024.06.13 14:47:06.934 2024.06.13 14:47:07.249

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):