Skip to content

CQL conformance test infrastructure using upstream ScyllaDB/Cassandra tests - #27

Merged
patricklbell merged 6 commits into
masterfrom
copilot/research-test-content-cql-implementation
Mar 20, 2026
Merged

patricklbell merged 6 commits into
masterfrom
copilot/research-test-content-cql-implementation

Conversation

Copilot AI commented Mar 16, 2026 •

Copy link
Copy Markdown

Run 313 existing CQL tests from ScyllaDB's test/cqlpy/cassandra_tests/ (ported from Apache Cassandra) against objstore to track protocol implementation correctness.

Native protocol fixes for cassandra-driver compatibility

  • Add COMPRESSION key to OPTIONS/SUPPORTED response (Python driver requires it)
  • Process all buffered frames per TCP read, not just one — fixes stream multiplexing timeouts when drivers send parallel metadata queries
  • Return empty result sets for unimplemented system_schema tables (indexes, triggers, types, functions, aggregates, views, vertices, edges) so driver metadata sync completes

Test runner (extra/cql_tests/)

Fetches test content from upstream ScyllaDB at a configurable git ref, starts objstore, runs via pytest:

# Run all 313 tests
bash extra/cql_tests/run.sh

# Filter to specific tests
bash extra/cql_tests/run.sh -t "insert_test or select_test"

# List available tests
bash extra/cql_tests/run.sh -l

Compatibility shims (conftest.py, util.py, nodetool.py) provide the fixtures and helpers the upstream tests expect — no test content is written or maintained locally.

GitHub Action (cql-conformance.yml)

Builds objstore, fetches tests, runs suite. Supports workflow_dispatch with test_filter (pytest -k expression) and scylla_ref inputs.

Original prompt

This section details on the original issue you should resolve

<issue_title>Research test content for driving CQL implementation correctness</issue_title>
<issue_description>Research by looking at the scylladb and apache cassandra repositories and documentation for existing end-to-end test content using the CQL native protocol. The test should ideally be focused and as minimal as possible, but the aim is to have as much test content as possible. Draft implementing a github action which allows running the test suite and subsets of the test suite, along with tracking overall progress. </issue_description>

Comments on the Issue (you are @copilot in this section)


💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

Copilot AI changed the title [WIP] Research test content for driving CQL implementation correctness CQL conformance test infrastructure using upstream ScyllaDB/Cassandra tests Mar 16, 2026
Copilot AI requested a review from patricklbell March 16, 2026 08:50
Copilot AI and others added 6 commits March 20, 2026 23:10
… CQL tests

Co-authored-by: patricklbell <46551885+patricklbell@users.noreply.github.com>
…RESSION to SUPPORTED, process multiple frames per read, add empty system_schema virtual tables

Co-authored-by: patricklbell <46551885+patricklbell@users.noreply.github.com>
…n.sh

Co-authored-by: patricklbell <46551885+patricklbell@users.noreply.github.com>
Co-authored-by: patricklbell <46551885+patricklbell@users.noreply.github.com>
@patricklbell
patricklbell force-pushed the copilot/research-test-content-cql-implementation branch from b16165f to 4c60f90 Compare March 20, 2026 13:21
@patricklbell
patricklbell marked this pull request as ready for review March 20, 2026 13:21
@patricklbell
patricklbell merged commit 4953584 into master Mar 20, 2026
3 checks passed
@patricklbell
patricklbell deleted the copilot/research-test-content-cql-implementation branch March 20, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Research test content for driving CQL implementation correctness

2 participants