ClickHouse/tests/testflows
Vitaliy Zakaznikov e743d2fd26 * Fixing tests in the tests/testflows/ldap/external_user_directory/tests/authentications.py suite
* Moving TestFlows runs to use classic output format for stdout
* Moving to TestFlows 1.6.57
* Updating LDAP test code styling
2020-10-22 19:14:58 -04:00
..
aes_encryption Fixed argument checks and updated tests accordingly 2020-10-17 19:50:58 +03:00
example Updating healthcheck parameters. 2020-08-15 19:52:27 -04:00
helpers Merge branch 'master' into ldap-any-user-authentication 2020-10-03 00:45:57 +04:00
ldap * Fixing tests in the tests/testflows/ldap/external_user_directory/tests/authentications.py suite 2020-10-22 19:14:58 -04:00
rbac Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00
README.md Updating README.md. 2020-07-28 16:44:46 -04:00
regression.py Adding AES encryption tests in TestFlows. 2020-09-01 12:42:23 +03:00
runner Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00

ClickHouse Tests in TestFlows

This directory contains integration tests written using TestFlows that involves several ClickHouse instances, custom configs, ZooKeeper, etc.

Supported environment

Prerequisites

Running tests locally

You can run tests locally by passing --local and --clickhouse-binary-path to the regression.py.

  • --local specifies that regression will be run locally
  • --clickhouse-binary-path specifies the path to the ClickHouse binary that will be used during the regression run

Note: you can pass -h or --help argument to the regression.py to see a help message.

python3 regression.py -h

Note: make sure that the ClickHouse binary has correct permissions. If you are using /usr/bin/clickhouse its owner and group is set to root:root by default and it needs to be changed to clickhouse:clickhouse. You can change the owner and the group using the following command.

sudo chown clickhouse:clickhouse /usr/bin/clickhouse

Using the default ClickHouse installation and its server binary at /usr/bin/clickhouse, you can run regressions locally using the following command.

python3 regression.py --local --clickhouse-binary-path "/usr/bin/clickhouse"

Output Verbosity

You can control verbosity of the output by specifying the output format with -o or --output option. See --help for more details.

Running Only Selected Tests

You can run only the selected tests by passing --only option to the regression.py.

For example,

./regression.py --local --clickhouse-binary-path /usr/bin/clickhouse --only "/clickhouse/rbac/syntax/grant privilege/*"

will execute all rbac/syntax/grant privilege tests.

If you want to run only a single test such as the /clickhouse/rbac/syntax/grant privilege/grant privileges/privilege='KILL QUERY', on=('*.*',), allow_introspection=False you can do it as follows

./regression.py --local --clickhouse-binary-path /usr/bin/clickhouse --only "/clickhouse/rbac/syntax/grant privilege/grant privileges/privilege='KILL QUERY', on=('[*].[*]',), allow_introspection=False/*"

Note that you need to surround special characters such as * with square brackets, for example [*].

Note that you need to end the filtering pattern with /* to run all the steps inside the test.

For more information, please see Filtering section in the TestFlows Handbook.