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-28 20:19:55 +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 Release 0.13.0 2022-04-19 12:00:38 +02:00
files Added .sql which will replace 'gtcs-ref-integ.sql' after all tests will be re-implemented: ID values must be of numeric type rather than strange char(3) that was taken from employee standard DB. 2022-04-20 18:22:13 +03:00
firebird/qa Explicit Optional typing + encodinf/ecoding_errors for server connection and trace 2022-04-19 11:59:48 +02:00
tests Added/Updated functional\gtcs\test_ref_integ_drop_pk_constraint.py: checked on 4.0.1.2692 2022-04-28 20:19:55 +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 Release 0.13.0 2022-04-19 12:00:38 +02: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