scylladb / scylladb/python-rs-driver

Ensure idempotence of test runs

Open
#114 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/testing
Dominant language
Rust
Stars
6
Forks
7
Avg merge
5d 13h
Merged PRs (30d)
9

Description

📌 We're using hardcoded keyspace names, and we're not dropping them at the end of each test. This may have the following consequences:

  1. Test runs are not idempotent.
  2. Tests may interfere with each other when (unintentionally) using same keyspace.

In Rust Driver, we have both solutions:

  1. Tests drop keyspaces they create, so cleanup is ensured.
  2. Tests use unique keyspace names, generated from timestamps.

As @Lorak-mmk said, we should do both here as well.

Originally posted by @wprzytula in https://github.com/scylladb-zpp-2025-python-rs-driver/python-rs-driver/pull/102#discussion_r3450329582

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the tests that use hardcoded keyspace names and identify how those keyspaces are created. Compare the Rust Driver approach described in the issue: generate unique names and drop created keyspaces during cleanup. Done means repeated test runs are idempotent and tests do not interfere through shared keyspaces.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
databases, testing-qa
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.