This will move responsibility for running tests with pytest in the same manner as it was done with boost tests. From this commit, test.py is not responsible anymore for running python tests and relies completely on pytest. This is another step for unification of test execution. Convert skip_mode function to `pytest.mark` to be able to use to annotate the whole module instead of each test explicitly. NOTE: this is a breaking change. From this commit, several directories with tests will require a path to the file to launch the test. Affected directories test/alternator test/broadcast_tables test/cql test/cqlpy test/rest_api Changes only in framework, so no backport. This PR will increase the amount of the tests by 30 test, due to the fact that how test.py and pytest discover tests. test.py count a file as a test, and when skip used in suite.yaml it will exclude the tests from discovery completely. While the pytest count test funstion as a test and uses skip_mode mark and will discover the tests, but it will skip them during execution, hence the difference test.py output before PR: ```bash > ./test.py --mode=release rest_api/test_compaction_task rest_api/test_task_manager --list --no-gather-metrics ``` test.py output in this PR: ```bash > ./test.py --mode=release test/rest_api/test_compaction_task.py test/rest_api/test_task_manager.py --list rest_api/test_compaction_task.py::test_global_major_keyspace_compaction_task.release.1 rest_api/test_compaction_task.py::test_major_keyspace_compaction_task.release.1 rest_api/test_compaction_task.py::test_cleanup_keyspace_compaction_task.release.1 rest_api/test_compaction_task.py::test_offstrategy_keyspace_compaction_task.release.1 rest_api/test_compaction_task.py::test_rewrite_sstables_keyspace_compaction_task.release.1 rest_api/test_compaction_task.py::test_reshaping_compaction_task.release.1 rest_api/test_compaction_task.py::test_resharding_compaction_task.release.1 rest_api/test_compaction_task.py::test_regular_compaction_task.release.1 rest_api/test_compaction_task.py::test_compaction_task_abort.release.1 rest_api/test_compaction_task.py::test_major_keyspace_compaction_task_async.release.1 rest_api/test_compaction_task.py::test_cleanup_keyspace_compaction_task_async.release.1 rest_api/test_compaction_task.py::test_offstrategy_keyspace_compaction_task_async.release.1 rest_api/test_compaction_task.py::test_rewrite_sstables_keyspace_compaction_task_async.release.1 rest_api/test_compaction_task.py::test_compaction_progress[major_keyspace_compaction_task_impl_run_fail].release.1 rest_api/test_compaction_task.py::test_compaction_progress[shard_major_keyspace_compaction_task_impl_run_fail].release.1 rest_api/test_compaction_task.py::test_compaction_progress[table_major_keyspace_compaction_task_impl_run_fail].release.1 rest_api/test_task_manager.py::test_task_manager_modules.release.1 rest_api/test_task_manager.py::test_task_manager_tasks.release.1 rest_api/test_task_manager.py::test_task_manager_status_running.release.1 rest_api/test_task_manager.py::test_task_manager_status_done.release.1 rest_api/test_task_manager.py::test_task_manager_status_failed.release.1 rest_api/test_task_manager.py::test_task_manager_not_abortable.release.1 rest_api/test_task_manager.py::test_task_manager_wait.release.1 rest_api/test_task_manager.py::test_task_manager_ttl.release.1 rest_api/test_task_manager.py::test_task_manager_user_ttl.release.1 rest_api/test_task_manager.py::test_task_manager_sequence_number.release.1 rest_api/test_task_manager.py::test_task_manager_recursive_status.release.1 rest_api/test_task_manager.py::test_module_not_exists.release.1 rest_api/test_task_manager.py::test_task_folding.release.1 rest_api/test_task_manager.py::test_abort_on_unregistered_task.release.1 ``` Fixes: https://github.com/scylladb/scylladb/issues/27716 Closes scylladb/scylladb#26395 * github.com:scylladb/scylladb: test.py: fix test_vector_similarity.py docs: add directories excluded from test.py test.py: prevent file descriptors leaking test.py: capture print inside the test test.py: do not print header for collection with test.py test.py: remove not supported functionality test.py: switch of execution of several test directories by test.py runner test.py: integrate python tests to be executed with pytest runner test.py: fix test/vector_search_validator to be able to run with pytest test.py: prepare base class for migration test.py: move environment preparation to one method test.py: introduce new environment variable TESTPY_PREPARED_ENVIRONMENT
Scylla developer documentation
This folder contains developer-oriented documentation concerning the ScyllaDB codebase. We also have a wiki, which contains additional developer-oriented documentation. There is currently no clear definition of what goes where, so when looking for something be sure to check both.
Seastar documentation can be found here.
User documentation can be found on docs.scylladb.com
For information on how to build Scylla and how to contribute visit HACKING.md and CONTRIBUTING.md.