Files
scylladb/test/redis
Avi Kivity c5f52f9d97 schema_tables: don't flush in tests
Flushing schema tables is important for crash recovery (without a flush,
we might have sstables using a new schema before the commitlog entry
noting the schema change has been replayed), but not important for tests
that do not test crash recovery. Avoiding those flushes reduces system,
user, and real time on tests running on a consumer-level SSD.

before:
real	8m51.347s
user	7m5.743s
sys	5m11.185s

after:
real	7m4.249s
user	5m14.085s
sys	2m11.197s

Note real time is higher that user+sys time divided by the number
of hardware threads, indicating that there is still idle time due
to the disk flushing, so more work is needed.

Closes #9319
2021-09-12 11:32:13 +03:00
..
2021-09-12 11:32:13 +03:00
2020-09-21 12:32:33 +03:00

Tests for Scylla with Redis API that should also pass, identically, against Redis.

Tests use the redis library for Redis API, and the pytest frameworks (both are available from Linux distributions, or with "pip install").

To run all tests against the local installation of Scylla with Redis API on localhost:6379, just run pytest.

Some additional pytest options:

  • To run all tests in a single file, do pytest test_strings.py.
  • To run a single specific test, do pytest test_strings.py::set.
  • Additional useful pytest options, especially useful for debugging tests:
    • -v: show the names of each individual test running instead of just dots.
    • -s: show the full output of running tests (by default, pytest captures the test's output and only displays it if a test fails)