親イシュー: #29
依存: #31 (P1) の後に実施推奨(P1なしでも着手可能)
概要
現在、CIはビルドの成否だけを確認するのみであり、プロトコルの正当性を椚認する仕組みが何もない。「Snapshot Isolation」や「直列化可能」と主張するプロトコルを追加しても、その主張を椚認するテストが存在しないため、バグがあってもベンチはそのまま数値を出し続ける。
やること
テストインフラの修復
分離レベルチェッカーの実装
完了条件
ctest が CI 内で正常に実行されること
include/ 内の共通コンポーネントに少なくともユニットテストが存在すること
- 全プロトコルに分離レベル椚認テストが存在し、実装が定義と一致すること
備考
- P1(TxExecutorLike concept)と組み合わせると「コンパイル時椚認」「ランタイム椚認」の両方が機能し、最も安全なプロトコル追加環境になる
親イシュー: #29
依存: #31 (P1) の後に実施推奨(P1なしでも着手可能)
概要
現在、CIはビルドの成否だけを確認するのみであり、プロトコルの正当性を椚認する仕組みが何もない。「Snapshot Isolation」や「直列化可能」と主張するプロトコルを追加しても、その主張を椚認するテストが存在しないため、バグがあってもベンチはそのまま数値を出し続ける。
やること
テストインフラの修復
CMakeLists.txtにenable_testing()を追加するtest/および新規test/をadd_subdirectoryで接続する.github/workflows/build.yml)にctest --output-on-failureステップを追加するinclude/共通コンポーネントのユニットテストを作成する(zipf, atomic_wrapper, rwlock, masstree_wrapper等)分離レベルチェッカーの実装
完了条件
ctestが CI 内で正常に実行されることinclude/内の共通コンポーネントに少なくともユニットテストが存在すること備考