[stub, to be replaced]

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 'act' for <Function test_1>>

        @pytest.fixture
        def isql_act_fixture(request: pytest.FixtureRequest) -> Action:
    >       db: Database = request.getfixturevalue(db_fixture_name)

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

    request = <SubRequest 'db' for <Function test_1>>
    db_path = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_11709')
    db_cache = <firebird.qa.plugin.DbCache pytest object at [hex]>

        @pytest.fixture
        def database_fixture(request: pytest.FixtureRequest, db_path, db_cache) -> Database:
            db = Database(db_path, filename, user, password, charset, debug=str(request.module),
                          config_name=config_name, utf8filename=utf8filename)
            if not do_not_create:
                if from_backup is None and copy_of is None:
    >               db.create(page_size, sql_dialect, db_cache)

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

    database = 'pytest'

        def create_database(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,
                            overwrite: bool=False, auth_plugin_list=None,
                            session_time_zone: str=None) -> Connection:
            """Creates new 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.
                overwrite: Overwite the existing database.
                auth_plugin_list: List of authentication plugins override
                session_time_zone: Session time zone [Firebird 4]

            Hooks:
                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
                db_config.database.value = database
                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")
            else:
                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,
                                  db_config.database.value, db_config.protocol.value)
            dpb = DPB(user=user, password=password, role=role, trusted_auth=db_config.trusted_auth.value,
                      sql_dialect=db_config.db_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,
                      overwrite=overwrite, db_cache_size=db_config.db_cache_size.value,
                      forced_writes=db_config.forced_writes.value, page_size=db_config.page_size.value,
                      reserve_space=db_config.reserve_space.value, sweep_interval=db_config.sweep_interval.value,
                      db_sql_dialect=db_config.db_sql_dialect.value, db_charset=db_config.db_charset.value)
    >       return __make_connection(True, dsn, db_config.utf8filename.value,
                                     dpb.get_buffer(for_create=True), db_config.sql_dialect.value,
                                     charset, crypt_callback)

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

    create = True
    dsn = 'localhost/33337:H:\\QA\\temp\\qa2024.tmp\\fbqa\\test_11709\\test.fdb'
    utf8filename = False
    dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey0\x04NONED\x04NONED\x04NONE'
    sql_dialect = 3, charset = 'NONE', 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)

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

    self = <firebird.driver.interfaces.iProvider pytest object at [hex]>
    filename = 'localhost/33337:H:\\QA\\temp\\qa2024.tmp\\fbqa\\test_11709\\test.fdb'
    dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey0\x04NONED\x04NONED\x04NONE'
    encoding = 'utf-8'

        def create_database(self, filename: str, dpb: bytes, encoding: str = 'ascii') -> iAttachment:
            "Replaces `isc_create_database()`"
            result = self.vtable.createDatabase(self, self.status, filename.encode(encoding), len(dpb), dpb)
    >       self._check()

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

    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 | 5.0.3.1674 2025.06.27 3ee5c | P | P | 22475 | 9989 | 2025.06.30 11:06:55.009 | 2025.06.30 11:07:17.484 | 2025.06.30 10:05:45.761 | 2025.06.30 10:05:55.750
2 | 5.0.3.1657 2025.06.26 dcb8a | P | P | 23219 | 10352 | 2025.06.27 11:08:17.024 | 2025.06.27 11:08:40.243 | 2025.06.27 10:07:21.063 | 2025.06.27 10:07:31.415
3 | 5.0.3.1657 2025.06.20 8b4d2 | F | P | 23628 | 10075 | 2025.06.26 11:22:44.983 | 2025.06.26 11:23:08.611 | 2025.06.26 10:21:37.782 | 2025.06.26 10:21:47.857
4 | 5.0.3.1657 2025.06.19 4bd4c | P | P | 23250 | 10504 | 2025.06.20 05:26:59.265 | 2025.06.20 05:27:22.515 | 2025.06.20 04:25:56.002 | 2025.06.20 04:26:06.506
5 | 5.0.3.1657 2025.06.11 dae6f | P | P | 23563 | 11001 | 2025.06.19 10:58:26.553 | 2025.06.19 10:58:50.116 | 2025.06.19 09:57:19.666 | 2025.06.19 09:57:30.667
6 | 5.0.3.1657 2025.06.10 dbc92 | P | P | 23224 | 10479 | 2025.06.11 08:44:36.487 | 2025.06.11 08:44:59.711 | 2025.06.11 07:43:16.666 | 2025.06.11 07:43:27.145
7 | 5.0.3.1656 2025.06.05 00512 | P | P | 23417 | 11374 | 2025.06.10 10:00:06.676 | 2025.06.10 10:00:30.093 | 2025.06.10 08:58:21.526 | 2025.06.10 08:58:32.900
8 | 5.0.3.1656 2025.05.20 c4b11 | P | P | 23527 | 10792 | 2025.06.03 09:46:59.604 | 2025.06.03 09:47:23.131 | 2025.06.03 08:46:25.428 | 2025.06.03 08:46:36.220
9 | 5.0.3.1652 2025.05.13 f51c6 | P | P | 22402 | 10664 | 2025.05.21 06:27:59.285 | 2025.05.21 06:28:21.687 | 2025.05.21 05:27:41.213 | 2025.05.21 05:27:51.877
10 | 5.0.3.1651 2025.05.08 ee9d2 | P | E | 22798 | 2393 | 2025.05.13 06:40:38.475 | 2025.05.13 06:41:01.273 | 2025.05.13 05:21:56.679 | 2025.05.13 05:21:59.072
11 | 5.0.3.1651 2025.05.04 3d914 | P | E | 23105 | 2396 | 2025.05.09 04:29:41.421 | 2025.05.09 04:30:04.526 | 2025.05.09 03:10:54.514 | 2025.05.09 03:10:56.910
12 | 5.0.3.1651 2025.04.30 141ef | P | E | 22300 | 2439 | 2025.05.02 04:37:18.431 | 2025.05.02 04:37:40.731 | 2025.05.02 03:18:47.870 | 2025.05.02 03:18:50.309
13 | 5.0.3.1650 2025.04.30 6253f | P | E | 23092 | 2385 | 2025.05.01 04:36:21.165 | 2025.05.01 04:36:44.257 | 2025.05.01 03:17:44.131 | 2025.05.01 03:17:46.516
14 | 5.0.3.1650 2025.04.28 4cbff | P | E | 22523 | 2418 | 2025.04.30 04:35:22.777 | 2025.04.30 04:35:45.300 | 2025.04.30 03:16:57.156 | 2025.04.30 03:16:59.574
15 | 5.0.3.1649 2025.04.21 5b2d0 | P | E | 25280 | 2394 | 2025.04.26 10:09:18.062 | 2025.04.26 10:09:43.342 | 2025.04.26 08:49:57.163 | 2025.04.26 08:49:59.557
16 | 5.0.3.1648 2025.04.18 2f4c5 | P | P | 25108 | 12429 | 2025.04.20 04:20:32.166 | 2025.04.20 04:20:57.274 | 2025.04.20 03:19:12.721 | 2025.04.20 03:19:25.150
17 | 5.0.3.1635 2025.04.03 f6bd1 | P | E | 24830 | 2244 | 2025.04.18 06:48:13.001 | 2025.04.18 06:48:37.831 | 2025.04.18 05:29:07.478 | 2025.04.18 05:29:09.722
18 | 5.0.3.1635 2025.03.31 22ec6 | P | E | 25889 | 2424 | 2025.04.03 09:54:02.153 | 2025.04.03 09:54:28.042 | 2025.04.03 08:34:37.739 | 2025.04.03 08:34:40.163
19 | 5.0.3.1633 2025.03.28 3123a | P | E | 24787 | 2417 | 2025.03.31 09:52:31.373 | 2025.03.31 09:52:56.160 | 2025.03.31 08:33:13.795 | 2025.03.31 08:33:16.212
20 | 5.0.3.1633 2025.03.27 e0fb8 | P | E | 25934 | 2261 | 2025.03.28 10:24:10.279 | 2025.03.28 10:24:36.213 | 2025.03.28 09:01:08.178 | 2025.03.28 09:01:10.439
21 | 5.0.3.1631 2025.03.25 bda65 | P | P | 25485 | 13246 | 2025.03.27 10:04:41.563 | 2025.03.27 10:05:07.048 | 2025.03.27 08:59:39.783 | 2025.03.27 08:59:53.029
22 | 5.0.3.1631 2025.03.21 1925b | P | P | 25661 | 12613 | 2025.03.25 06:38:43.916 | 2025.03.25 06:39:09.577 | 2025.03.25 05:33:33.005 | 2025.03.25 05:33:45.618
23 | 5.0.3.1629 2025.03.18 506d7 | P | P | 25650 | 12475 | 2025.03.20 09:39:01.290 | 2025.03.20 09:39:26.940 | 2025.03.20 08:33:40.037 | 2025.03.20 08:33:52.512
24 | 5.0.3.1628 2025.03.14 16d05 | P | P | 25662 | 13118 | 2025.03.18 09:33:09.138 | 2025.03.18 09:33:34.800 | 2025.03.18 08:29:21.865 | 2025.03.18 08:29:34.983
25 | 5.0.3.1627 2025.02.26 4e218 | P | P | 25625 | 12795 | 2025.03.13 09:52:27.096 | 2025.03.13 09:52:52.721 | 2025.03.13 08:46:54.120 | 2025.03.13 08:47:06.915
26 | 5.0.3.1624 2025.02.25 dc3b2 | P | P | 25044 | 12676 | 2025.02.26 15:24:42.360 | 2025.02.26 15:25:07.404 | 2025.02.26 14:19:50.800 | 2025.02.26 14:20:03.476

#### Elapsed time, ms. Chart for last 26 runs:

Last commits information (all timestamps in UTC):