scylladb / cpp-rust-driver

API-compatible rewrite of https://github.com/scylladb/cpp-driver as a wrapper for Rust driver.
GNU Lesser General Public License v2.1
16 stars 11 forks source link

cpp-rust-driver test parity with original cpp-driver #132

Open roydahan opened 4 months ago

roydahan commented 4 months ago

We would like the cpp-rust-driver to have all the original cpp driver tests running as part of CI. This is an umbrella issue (epic) to include all the current & future tasks to get a working running CI and update here about the status of it. (e.g. How many tests we have that are not passing (if any)).

### Tasks
- [x] Make sure we have all tests from original cpp driver (let's write here the amount of tests)
- [x] Enable (if not already) all tests to run as part of CI --> how many failing compared to original driver
- [ ] Start openning issues for failing tests / classes / missing functionality
- [ ] https://github.com/scylladb/cpp-rust-driver/issues/144

https://docs.google.com/spreadsheets/d/1CuXBS9CkBpwIoLmPOXPPS3_V-mMffnt_EWGJjNPDKgA/edit?usp=sharing

wprzytula commented 4 months ago

IIRC, some Datastax tests require some functionality besides the API defined by cassandra.h, whereas cpp-rust-driver only supports that API. Can you confirm that @Lorak-mmk?

Lorak-mmk commented 4 months ago

There is additional testing API https://github.com/scylladb/cpp-driver/blob/master/src/testing.hpp https://github.com/scylladb/cpp-driver/blob/master/src/testing.cpp

but it should not be a problem - we can implement it or change the tests to avoid using it (or modify it).

Regarding the issue: We already run integration tests, with both Scylla and C* - or at least the subset that works. You can find the list of used tests in CI yaml: https://github.com/scylladb/cpp-rust-driver/blob/master/.github/workflows/cassandra.yml

roydahan commented 4 months ago

Yes, I know we run some. First, we would like to run all and get a mapping of the amount of tests failing compared to original cpp driver and start mapping also missing functionality.

In this epic, we will collect the task items to enable/disable relevant tests and track the status till we reach parity.

roydahan commented 4 days ago

@muzarski can you please update your progress here?

muzarski commented 4 days ago

@muzarski can you please update your progress here?

The tests needed to be enabled to reach parity with cpp-driver:

Remaining test suites are not enabled by cpp-driver. The list of disabled test suites and specific tests in cpp-driver: