From afd2745e66fd719bb47bc0f69adc2cc1b15999dc Mon Sep 17 00:00:00 2001 From: David Spencer <1526975+DecisionNerd@users.noreply.github.com> Date: Tue, 23 Jun 2026 17:14:04 -0600 Subject: [PATCH] =?UTF-8?q?test(tck):=20un-skip=20null/boolean=20scalar=20?= =?UTF-8?q?scenarios=20=E2=80=94=20passing=209=20=E2=86=92=2018=20(#598)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per-scenario un-skip of the verified-passing scenarios in three expression features, using the #889-slice-2 machine: - Null3 [1][2][3] (null inverse / null = null / null <> null); - Boolean1 [1][2][3] (conjunction of N truth values); - Boolean2 [1][2][3] (disjunction of N truth values). Each confirmed green by running the BDD suite (not the static classifier, which over-predicted). The remaining scenarios — null truth-table commutativity/associativity, `IN` with null, IS NULL on properties/maps, and the type-error "Fail on …" outlines — stay tagged `@skip-rust` pending the features they need. coverage_matrix.json regenerated: corpus scenarios_passing 9 → 18; these three features now `partial`. BDD 18/18, tck_coverage green. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 4 ++++ tests/tck/coverage_matrix.json | 14 +++++++------- .../features/expressions/boolean/Boolean1.feature | 7 ++++++- .../features/expressions/boolean/Boolean2.feature | 7 ++++++- tests/tck/features/expressions/null/Null3.feature | 3 ++- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bec7e4ee..78c4021b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### In Development — v0.5.0 (Rust Core, `rust-core` branch) +- TCK un-skip batch — null/boolean scalar scenarios (#598) — un-skipped the + verified-passing scenarios of `Null3`, `Boolean1`, `Boolean2` (per-scenario; + the null-truth-table, `IN`, and type-error scenarios stay `@skip-rust`). + Corpus passing 9 → 18. Each was confirmed green by running, not predicted. - `CREATE` of an anonymous path binds its edge endpoints (#598/#601) — `CREATE (:A)-[:REL]->(:B)` no longer errors `CREATE edge references unbound dst var`. `lower_create` carried the same anonymous-destination bug fixed for diff --git a/tests/tck/coverage_matrix.json b/tests/tck/coverage_matrix.json index b4b7fec1..ed6edbf2 100644 --- a/tests/tck/coverage_matrix.json +++ b/tests/tck/coverage_matrix.json @@ -3,7 +3,7 @@ "corpus": "openCypher TCK tag 2024.3 (vendored, #874)", "feature_files": 220, "scenarios_total": 3880, - "scenarios_passing": 9, + "scenarios_passing": 18, "scenarios_written": 1615, "note": "Per-scenario aware (#889). 'scenarios' is the EXPANDED runnable count cucumber runs (Scenario=1; Scenario Outline=one per Examples data row). 'scenarios_passing' is the subset that RUNS: a scenario runs unless the feature OR the scenario carries @skip-rust (the BDD runner uses fail_on_skipped, so a runnable scenario that failed would fail CI). rust_status: 'passing'=all run, 'partial'=some run (per-scenario @skip-rust on the rest), 'skip'=none. scenarios_total (3880) is the 100%-gate denominator (#609/#742). Regression floor: do not lower a feature's scenarios_passing. crates/gf-api/tests/tck_coverage.rs recomputes all of this from the feature files and fails CI on drift." }, @@ -514,14 +514,14 @@ "scenarios_passing": 0 }, "expressions/boolean/Boolean1.feature": { - "rust_status": "skip", + "rust_status": "partial", "scenarios": 30, - "scenarios_passing": 0 + "scenarios_passing": 3 }, "expressions/boolean/Boolean2.feature": { - "rust_status": "skip", + "rust_status": "partial", "scenarios": 30, - "scenarios_passing": 0 + "scenarios_passing": 3 }, "expressions/boolean/Boolean3.feature": { "rust_status": "skip", @@ -839,9 +839,9 @@ "scenarios_passing": 0 }, "expressions/null/Null3.feature": { - "rust_status": "skip", + "rust_status": "partial", "scenarios": 10, - "scenarios_passing": 0 + "scenarios_passing": 3 }, "expressions/path/Path1.feature": { "rust_status": "skip", diff --git a/tests/tck/features/expressions/boolean/Boolean1.feature b/tests/tck/features/expressions/boolean/Boolean1.feature index 170cb68a..2008c672 100644 --- a/tests/tck/features/expressions/boolean/Boolean1.feature +++ b/tests/tck/features/expressions/boolean/Boolean1.feature @@ -28,7 +28,7 @@ #encoding: utf-8 -@skip-rust @skip-node +@skip-node Feature: Boolean1 - And logical operations Scenario: [1] Conjunction of two truth values @@ -109,6 +109,7 @@ Feature: Boolean1 - And logical operations | true | false | null | false | false | false | null | null | false | false | false | false | And no side effects + @skip-rust Scenario: [4] Conjunction is commutative on non-null Given any graph When executing query: @@ -125,6 +126,7 @@ Feature: Boolean1 - And logical operations | false | false | true | And no side effects + @skip-rust Scenario: [5] Conjunction is commutative on null Given any graph When executing query: @@ -143,6 +145,7 @@ Feature: Boolean1 - And logical operations | null | null | true | And no side effects + @skip-rust Scenario: [6] Conjunction is associative on non-null Given any graph When executing query: @@ -164,6 +167,7 @@ Feature: Boolean1 - And logical operations | false | false | false | true | And no side effects + @skip-rust Scenario: [7] Conjunction is associative on null Given any graph When executing query: @@ -197,6 +201,7 @@ Feature: Boolean1 - And logical operations | null | null | null | true | And no side effects + @skip-rust Scenario Outline: [8] Fail on conjunction of at least one non-booleans Given any graph When executing query: diff --git a/tests/tck/features/expressions/boolean/Boolean2.feature b/tests/tck/features/expressions/boolean/Boolean2.feature index 8908ff92..1c22a4d8 100644 --- a/tests/tck/features/expressions/boolean/Boolean2.feature +++ b/tests/tck/features/expressions/boolean/Boolean2.feature @@ -28,7 +28,7 @@ #encoding: utf-8 -@skip-rust @skip-node +@skip-node Feature: Boolean2 - OR logical operations Scenario: [1] Disjunction of two truth values @@ -109,6 +109,7 @@ Feature: Boolean2 - OR logical operations | true | true | true | false | true | null | null | true | null | true | true | true | And no side effects + @skip-rust Scenario: [4] Disjunction is commutative on non-null Given any graph When executing query: @@ -125,6 +126,7 @@ Feature: Boolean2 - OR logical operations | false | false | true | And no side effects + @skip-rust Scenario: [5] Disjunction is commutative on null Given any graph When executing query: @@ -143,6 +145,7 @@ Feature: Boolean2 - OR logical operations | null | null | true | And no side effects + @skip-rust Scenario: [6] Disjunction is associative on non-null Given any graph When executing query: @@ -164,6 +167,7 @@ Feature: Boolean2 - OR logical operations | false | false | false | true | And no side effects + @skip-rust Scenario: [7] Disjunction is associative on null Given any graph When executing query: @@ -197,6 +201,7 @@ Feature: Boolean2 - OR logical operations | null | null | null | true | And no side effects + @skip-rust Scenario Outline: [8] Fail on disjunction of at least one non-booleans Given any graph When executing query: diff --git a/tests/tck/features/expressions/null/Null3.feature b/tests/tck/features/expressions/null/Null3.feature index f51d1f8b..d247b9b2 100644 --- a/tests/tck/features/expressions/null/Null3.feature +++ b/tests/tck/features/expressions/null/Null3.feature @@ -28,7 +28,7 @@ #encoding: utf-8 -@skip-rust @skip-node +@skip-node Feature: Null3 - Null evaluation # the scenarios of this feature should be redistributed to the features of respective operations @@ -65,6 +65,7 @@ Feature: Null3 - Null evaluation | null | And no side effects + @skip-rust Scenario Outline: [4] Using null in IN Given any graph And parameters are: