6
0
mirror of https://github.com/FirebirdSQL/firebird-qa.git synced 2025-01-22 13:33:07 +01:00
Python tools used for Firebird QA This is a mirror - read only access!
Go to file
2022-04-07 15:54:51 +03:00
backups Removed unneeded .fbk 2022-03-23 20:11:42 +03:00
databases database files used by tests 2021-04-26 20:04:53 +02:00
docs Clenup + todo 2022-03-07 20:06:04 +01:00
files New metadata + cleanup 2022-02-04 19:05:19 +01:00
firebird/qa add: Support for utf8filename in db_factory() 2022-03-07 20:06:48 +01:00
tests Added/Updated bugs\core_3834_test.py: No need to use .fbk from original ticket. Expected stdout depends now on major FB version because of changes since 5.0.0.455 in PLAN HASH when data sources have the same cardinality. See details in the test source. 2022-04-07 15:54:51 +03:00
.gitignore pytest plugin for Firebird QA 2021-04-26 20:02:48 +02:00
.readthedocs.yml readthedocs configuration 2022-02-24 19:31:41 +01:00
firebird-driver.conf Adjusted output to fresh FB-5.x snashot 2022-02-14 11:49:12 +03:00
LICENSE Initial commit 2020-09-15 11:41:24 +02:00
pyproject.toml Bump version 2021-10-21 19:28:33 +02:00
README.rst README 2022-02-24 19:21:45 +01:00
setup.cfg v0.12.1 2022-02-24 19:20:17 +01:00
setup.py pytest plugin for Firebird QA 2021-04-26 20:02:48 +02:00

===========
Firebird QA
===========

This package contains:

- pytest plugin that provides support for testing the Firebird engine. It uses new Python
  driver for Firebird (firebird-driver).
- tests for Firebird engine (directory 'tests')
- files needed by tests (directories 'databases', 'files', 'backups')

Requirements: Python 3.8+, Firebird 3+

You should definitelly read the `QA suite documanetation`_ !

Quickstart
----------

1. Clone the git repository

2. Install the plugin and required dependencies by running next command from repo. directory::

   pip install -e .

3. Adjust Firebird server configuration.

   Firebird 3::

     # Required
     ExternalFileAccess = Full
     AuthServer = Srp, Legacy_Auth
     UserManager = Srp, Legacy_UserManager
     WireCrypt = Enabled

     # Recommended
     DefaultDbCachePages = 10000
     MaxUnflushedWrites = -1
     MaxUnflushedWriteTime = -1
     BugcheckAbort = 1

   Firebird 4+::

     # Required
     ExternalFileAccess = Full
     AuthServer = Srp256, Legacy_auth
     UserManager = Srp, Legacy_UserManager
     ReadConsistency = 0
     WireCrypt = Enabled
     ExtConnPoolSize = 10
     ExtConnPoolLifeTime = 10

     # Recommended
     DefaultDbCachePages = 10000
     MaxUnflushedWrites = -1
     MaxUnflushedWriteTime = -1
     BugcheckAbort = 1

3. Use pytest to run tests.

   The plugin adds next options to pytest::

      Firebird server:
         --server=SERVER       Server configuration name
         --bin-dir=PATH        Path to directory with Firebird utilities
         --protocol={xnet,inet,inet4,wnet}
                               Network protocol used for database attachments
         --runslow             Run slow tests
         --save-output         Save test std[out|err] output to files
         --skip-deselected={platform,version,any}
                               SKIP tests instead deselection
         --extend-xml          Extend XML JUnit report with additional information
         --install-terminal    Use our own terminal reporter

   To run all tests (except slow ones) against local server use next command::

      pytest --server local ./tests

  Note: If plugin fails to determine the directory with Firebird utilities (isql, gbak etc.),
        use `--bin-dir` option to specify it.

.. _QA suite documanetation: https://firebird-qa.readthedocs.io