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
Network / firewall ?

failed on setup with "firebird.driver.types.DatabaseError: Unable to complete network request to host "localhost".
-Failed to establish a connection."
3 #text
request = <SubRequest 'tmp_nonpriv_user' for <Function test_1>>

    @pytest.fixture
    def user_fixture(request: pytest.FixtureRequest) -> User:
>       with User(request.getfixturevalue(db_fixture_name), name=name, password=password,
                  plugin=plugin, charset=charset, active=active, tags=tags,
                  first_name=first_name, middle_name=middle_name, last_name=last_name,
                  admin=admin, do_not_create=do_not_create) as user:

src\firebird\qa\plugin.py:1242: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <firebird.qa.plugin.User pytest object at [hex]>

    def __enter__(self) -> User:
        if self.__create:
>           self.create()

src\firebird\qa\plugin.py:1067: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

database = 'db_main_alias'

    def connect(database: str, *, user: str=None, password: str=None, role: str=None,
                no_gc: bool=None, no_db_triggers: bool=None, dbkey_scope: DBKeyScope=None,
                crypt_callback: iCryptKeyCallbackImpl=None, charset: str=None,
                auth_plugin_list: str=None, session_time_zone: str=None) -> Connection:
        """Establishes a connection to the database.
    
        Arguments:
            database: DSN or Database configuration name.
            user: User name.
            password: User password.
            role: User role.
            no_gc: Do not perform garbage collection for this connection.
            no_db_triggers: Do not execute database triggers for this connection.
            dbkey_scope: DBKEY scope override for connection.
            crypt_callback: Callback that provides encryption key for the database.
            charset: Character set for connection.
            auth_plugin_list: List of authentication plugins override
            session_time_zone: Session time zone [Firebird 4]
    
        Hooks:
            Event `.ConnectionHook.ATTACH_REQUEST`: Executed after all parameters
            are preprocessed and before `Connection` is created. Hook
            must have signature::
    
                hook_func(dsn: str, dpb: bytes) -> Optional[Connection]
    
            Hook may return `Connection` instance or None.
            First instance returned by any hook will become the return value
            of this function and other hooks are not called.
    
            Event `.ConnectionHook.ATTACHED`: Executed before `Connection` instance is
            returned. Hook must have signature::
    
                hook_func(connection: Connection) -> None
    
            Any value returned by hook is ignored.
        """
        db_config = driver_config.get_database(database)
        if db_config is None:
            db_config = driver_config.db_defaults
        else:
            database = db_config.database.value
        if db_config.server.value is None:
            srv_config = driver_config.server_defaults
        else:
            srv_config = driver_config.get_server(db_config.server.value)
            if srv_config is None:
                raise ValueError(f"Configuration for server '{db_config.server.value}' not found")
        if user is None:
            user = db_config.user.value
            if user is None:
                user = srv_config.user.value
        if password is None:
            password = db_config.password.value
            if password is None:
                password = srv_config.password.value
        if role is None:
            role = db_config.role.value
        if charset is None:
            charset = db_config.charset.value
        if charset:
            charset = charset.upper()
        if auth_plugin_list is None:
            auth_plugin_list = db_config.auth_plugin_list.value
        if session_time_zone is None:
            session_time_zone = db_config.session_time_zone.value
        dsn = _connect_helper(db_config.dsn.value, srv_config.host.value, srv_config.port.value,
                              database, db_config.protocol.value)
        dpb = DPB(user=user, password=password, role=role, trusted_auth=db_config.trusted_auth.value,
                  sql_dialect=db_config.sql_dialect.value, timeout=db_config.timeout.value,
                  charset=charset, cache_size=db_config.cache_size.value,
                  no_linger=db_config.no_linger.value, utf8filename=db_config.utf8filename.value,
                  no_gc=no_gc, no_db_triggers=no_db_triggers, dbkey_scope=dbkey_scope,
                  dummy_packet_interval=db_config.dummy_packet_interval.value,
                  config=db_config.config.value, auth_plugin_list=auth_plugin_list,
                  session_time_zone=session_time_zone, set_bind=db_config.set_bind.value,
                  decfloat_round=db_config.decfloat_round.value,
                  decfloat_traps=db_config.decfloat_traps.value,
                  parallel_workers=db_config.parallel_workers.value)
>       return __make_connection(False, dsn, db_config.utf8filename.value, dpb.get_buffer(),
                                 db_config.sql_dialect.value, charset, crypt_callback)

C:\Python3x\Lib\site-packages\firebird\driver\core.py:2149: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

create = False, dsn = 'localhost/33337:db_main_alias', utf8filename = False
dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey?\x04\x03\x00\x00\x000\x04UTF8'
sql_dialect = 3, charset = 'UTF8', crypt_callback = None

    def __make_connection(create: bool, dsn: str, utf8filename: bool, dpb: bytes,
                          sql_dialect: int, charset: str,
                          crypt_callback: iCryptKeyCallbackImpl) -> Connection:
        with a.get_api().master.get_dispatcher() as provider:
            if crypt_callback is not None:
                provider.set_dbcrypt_callback(crypt_callback)
            if create:
                att = provider.create_database(dsn, dpb, 'utf-8' if utf8filename else FS_ENCODING)
                con = Connection(att, dsn, dpb, sql_dialect, charset)
            else:
                con = None
                for hook in get_callbacks(ConnectionHook.ATTACH_REQUEST, Connection):
                    try:
                        con = hook(dsn, dpb)
                    except Exception as e:
                        raise InterfaceError("Error in DATABASE_ATTACH_REQUEST hook.", *e.args) from e
                    if con is not None:
                        break
                if con is None:
>                   att = provider.attach_database(dsn, dpb, 'utf-8' if utf8filename else FS_ENCODING)

C:\Python3x\Lib\site-packages\firebird\driver\core.py:2064: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <firebird.driver.interfaces.iProvider pytest object at [hex]>
filename = 'localhost/33337:db_main_alias'
dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey?\x04\x03\x00\x00\x000\x04UTF8'
encoding = 'utf-8'

    def attach_database(self, filename: str, dpb: Optional[bytes] = None, encoding: str = 'ascii') -> iAttachment:
        "Replaces `isc_attach_database()`"
        result = self.vtable.attachDatabase(self, self.status, filename.encode(encoding),
                                            0 if dpb is None else len(dpb), dpb)
>       self._check()

C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:1295: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <firebird.driver.interfaces.iProvider pytest object at [hex]>

    def _check(self) -> None:
        state = self.status.get_state()
        if StateFlag.ERRORS in state:
>           raise self.__report(DatabaseError, self.status.get_errors())
E           firebird.driver.types.DatabaseError: Unable to complete network request to host "localhost".
E           -Failed to establish a connection.

C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:113: DatabaseError
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.3189 2025.02.25 1a1a5 P P 9875 7832 2025.06.29 13:23:50.244 2025.06.29 13:24:00.119 2025.06.29 12:22:23.259 2025.06.29 12:22:31.091
2 4.0.6.3184 2025.02.24 9388c P E 9712 2411 2025.02.25 11:05:38.514 2025.02.25 11:05:48.226 2025.02.25 10:02:59.662 2025.02.25 10:03:02.073
3 4.0.6.3183 2025.02.17 e4762 P P 8892 9793 2025.02.24 11:37:41.857 2025.02.24 11:37:50.749 2025.02.24 10:36:46.759 2025.02.24 10:36:56.552
4 4.0.6.3169 2024.12.13 42cc1 P P 10711 8949 2025.02.14 08:25:26.271 2025.02.14 08:25:36.982 2025.02.14 07:24:27.160 2025.02.14 07:24:36.109
5 4.0.6.3169 2024.12.08 50eb6 P P 9104 10002 2024.12.11 11:22:02.067 2024.12.11 11:22:11.171 2024.12.11 10:21:21.265 2024.12.11 10:21:31.267
6 4.0.6.3168 2024.12.07 98d69 P P 9662 8101 2024.12.08 04:05:39.675 2024.12.08 04:05:49.337 2024.12.08 03:03:07.620 2024.12.08 03:03:15.721
7 4.0.6.3168 2024.12.05 cee43 P P 9893 8253 2024.12.06 04:08:55.819 2024.12.06 04:09:05.712 2024.12.06 03:07:39.507 2024.12.06 03:07:47.760
8 4.0.6.3168 2024.11.28 48149 P P 10936 8847 2024.12.03 11:02:01.921 2024.12.03 11:02:12.857 2024.12.03 10:02:03.334 2024.12.03 10:02:12.181
9 4.0.6.3163 2024.10.30 832db P P 10936 10028 2024.11.28 11:00:42.097 2024.11.28 11:00:53.033 2024.11.28 10:00:53.079 2024.11.28 10:01:03.107
10 4.0.6.3163 2024.10.16 2bb10 P P 11044 9058 2024.10.30 11:09:43.949 2024.10.30 11:09:54.993 2024.10.30 10:09:48.379 2024.10.30 10:09:57.437
11 4.0.6.3147 2024.09.10 a4d11 P E 10714 2449 2024.10.16 04:17:16.967 2024.10.16 04:17:27.681 2024.10.16 03:14:57.811 2024.10.16 03:15:00.260
12 4.0.6.3147 2024.08.31 4655b P P 10935 8926 2024.09.10 11:15:33.315 2024.09.10 11:15:44.250 2024.09.10 10:11:06.884 2024.09.10 10:11:15.810
13 4.0.6.3140 2024.08.16 1dd8b P E 9096 2429 2024.09.01 11:37:59.540 2024.09.01 11:38:08.636 2024.09.01 10:32:35.852 2024.09.01 10:32:38.281
14 4.0.6.3140 2024.08.09 34747 P P 10823 8118 2024.08.16 11:18:24.675 2024.08.16 11:18:35.498 2024.08.16 10:14:20.719 2024.08.16 10:14:28.837
15 4.0.5.3110 2024.08.06 f851c P P 8903 7924 2024.08.09 10:57:09.838 2024.08.09 10:57:18.741 2024.08.09 09:53:57.048 2024.08.09 09:54:04.972
16 4.0.5.3110 2024.07.30 c6527 P P 8848 8210 2024.08.06 06:32:36.576 2024.08.06 06:32:45.424 2024.08.06 05:35:15.583 2024.08.06 05:35:23.793
17 4.0.5.3109 2024.06.11 6addf P P 10795 8808 2024.07.30 09:50:09.515 2024.07.30 09:50:20.310 2024.07.30 08:54:54.288 2024.07.30 08:55:03.096

Elapsed time, ms. Chart for last 17 runs:

Last commits information (all timestamps in UTC):