mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-23 18:10:39 +00:00
Add pylib_test to norecursedirs in pytest.ini so it is not collected during ./test.py or pytest test/ runs, but can still be run directly via 'pytest test/pylib_test'. Also fix pytest log cleanup: worker log files (pytest_gw*) were not being deleted on success because cleanup was restricted to the main process only. Now each process (main and workers) cleans up its own log file on success. Closes scylladb/scylladb#29551
74 lines
4.1 KiB
INI
74 lines
4.1 KiB
INI
[pytest]
|
|
xfail_strict = true
|
|
|
|
addopts = --strict-markers --strict-config
|
|
|
|
asyncio_mode = auto
|
|
asyncio_default_fixture_loop_scope = session
|
|
|
|
junit_logging = all
|
|
junit_log_passing_tests = False
|
|
|
|
log_format = %(asctime)s.%(msecs)03d %(levelname)s> %(message)s
|
|
log_date_format = %H:%M:%S
|
|
log_file_format = %(asctime)s.%(msecs)03d %(processName)s %(threadName)s %(taskName)s %(levelname)s %(name)s> %(message)s
|
|
|
|
#Capture logs, folder pytest_tests_logs
|
|
log_level=INFO
|
|
|
|
#File logs, folder pytest_logs
|
|
log_file_level = INFO
|
|
|
|
markers =
|
|
slow: tests that take more than 30 seconds to run
|
|
replication_factor: replication factor for RandomTables
|
|
without_scylla: run without attaching to a scylla process
|
|
enable_tablets: create keyspace with tablets enabled or disabled
|
|
repair: tests for repair
|
|
cpp: marker for c++ tests
|
|
prepare_3_nodes_cluster: prepare 3 nodes cluster for test case based on suite.yaml (all tests from old topology folder)
|
|
prepare_3_racks_cluster: prepare 3 nodes cluster in 1 dc and 3 racks for test case based on suite.yaml
|
|
single_node: test that are mark like this, should be using only one node, and should boot much quicker (dtest only)
|
|
exclude_errors: do not consider a logging message as an error if it contains any of the specified strings (dtest only)
|
|
cluster_options: specify cluster options used to initialize a cluster (dtest only)
|
|
perf: mark for performance tests, these tests will automatically apply non_gating marker
|
|
manual: to mark manual test cases, these tests will automatically apply non_gating marker
|
|
unstable: mark for unstable tests that may pass may fail, these tests will continue to run every night and generate up-to-date statistics with failures without failing the “Main” verification path(scylla-ci, Next), these tests will automatically apply non_gating marker
|
|
non_gating: tests that are not run in CI/Next/Nightly verification, but can be run manually or on special job when needed
|
|
nightly: for tests that are quite old, stable, and test functionality that rather not be changed or affected by other features, are partially covered in other tests, verify non-critical functionality, have not found any issues or regressions, too long to run on every PR, and can be popped out from the CI run, but will continue run in Next/Nightly verification
|
|
skip_mode(mode, reason, platform_key=None): Skip test in a specific build mode (e.g. dev, debug, release).
|
|
skip_bug(reason): Skip due to a known bug (reason = issue reference).
|
|
skip_not_implemented(reason): Skip because the feature is not yet implemented.
|
|
skip_slow(reason): Skip because the test is too slow for regular CI.
|
|
skip_env(reason): Skip due to a missing environment requirement.
|
|
|
|
norecursedirs = manual perf lib pylib_test
|
|
# Ignore warnings about HTTPS requests without certificate verification
|
|
# (see issue #15287). Pytest breaks urllib3.disable_warnings() in conftest.py,
|
|
# so we need to do this here.
|
|
#
|
|
# Ignore warning of
|
|
# PytestWarning: record_property is incompatible with junit_family 'xunit2' (use 'legacy' or 'xunit1')
|
|
# Because `record_property` adds <properties> inside <testcase>, which is not allowed
|
|
# as per the latest xunit2 schema. see
|
|
# https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsdtestcase,
|
|
# an alternative is `record_testsuite_property`, but we want to attach test
|
|
# log on a per-test basis. so let's continue using this feature before
|
|
# switching to xunit1 or legacy.
|
|
filterwarnings =
|
|
ignore::urllib3.exceptions.InsecureRequestWarning
|
|
ignore:record_property is incompatible with junit_family:pytest.PytestWarning
|
|
ignore::DeprecationWarning:importlib._bootstrap
|
|
ignore::DeprecationWarning:botocore
|
|
ignore::DeprecationWarning:pytest_elk_reporter
|
|
ignore::sqlalchemy.exc.MovedIn20Warning:kmip.pie.sqltypes
|
|
ignore::cryptography.utils.CryptographyDeprecationWarning:kmip
|
|
ignore:TypeDecorator .* will not produce a cache key:sqlalchemy.exc.SAWarning:kmip
|
|
ignore:Exception in thread[\s\S]*kmip[\s\S]*shutdown:pytest.PytestUnhandledThreadExceptionWarning
|
|
|
|
|
|
tmp_path_retention_count = 1
|
|
tmp_path_retention_policy = failed
|
|
|
|
python_files = test_*.py *_test.py *_tests.py
|