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-03-02 21:04:43 +03:00
backups Missing backup 2021-11-12 18:31:58 +01:00
databases database files used by tests 2021-04-26 20:04:53 +02:00
docs Documentation (Sphinx) 2022-02-24 19:18:17 +01:00
files New metadata + cleanup 2022-02-04 19:05:19 +01:00
firebird/qa Do not trace initfini events 2022-03-02 14:31:29 +01:00
tests Resolved problem with output mismatch on Windows vs Linux. See details in the source code. 2022-03-02 21:04:43 +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