From 9a3ab4ae9b9e8695aa2615bc671d5bbbfe4cd365 Mon Sep 17 00:00:00 2001 From: John Ed Quinn Date: Thu, 11 Apr 2024 16:17:17 -0700 Subject: [PATCH] Skips GPML conformance tests for new evaluator --- .../org/partiql/runner/ConformanceTestBase.kt | 7 +- .../org/partiql/runner/ConformanceTestEval.kt | 360 ++++++++++++++++++ .../partiql/runner/ConformanceTestLegacy.kt | 4 + 3 files changed, 369 insertions(+), 2 deletions(-) diff --git a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestBase.kt b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestBase.kt index 4fb441b5a9..7df65787dd 100644 --- a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestBase.kt +++ b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestBase.kt @@ -3,12 +3,15 @@ package org.partiql.runner import org.junit.jupiter.api.Timeout import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.ArgumentsSource +import org.partiql.lang.eval.CompileOptions import org.partiql.runner.schema.TestCase import org.partiql.runner.test.TestProvider import org.partiql.runner.test.TestRunner abstract class ConformanceTestBase { abstract val runner: TestRunner + abstract val skipListForEvaluation: List> + abstract val skipListForEquivalence: List> // Tests the eval tests with the Kotlin implementation // Unit is second. @@ -20,7 +23,7 @@ abstract class ConformanceTestBase { @ArgumentsSource(TestProvider.Eval::class) fun validatePartiQLEvalTestData(tc: TestCase) { when (tc) { - is TestCase.Eval -> runner.test(tc, emptyList()) + is TestCase.Eval -> runner.test(tc, skipListForEvaluation) else -> error("Unsupported test case category") } } @@ -31,7 +34,7 @@ abstract class ConformanceTestBase { @ArgumentsSource(TestProvider.Equiv::class) fun validatePartiQLEvalEquivTestData(tc: TestCase) { when (tc) { - is TestCase.Equiv -> runner.test(tc, emptyList()) + is TestCase.Equiv -> runner.test(tc, skipListForEquivalence) else -> error("Unsupported test case category") } } diff --git a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestEval.kt b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestEval.kt index d30498a070..a05a9bea38 100644 --- a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestEval.kt +++ b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestEval.kt @@ -3,6 +3,8 @@ package org.partiql.runner import org.junit.jupiter.api.extension.RegisterExtension import org.partiql.eval.PartiQLResult import org.partiql.eval.PartiQLStatement +import org.partiql.lang.eval.CompileOptions +import org.partiql.lang.eval.TypingMode import org.partiql.runner.executor.EvalExecutor import org.partiql.runner.report.ReportGenerator import org.partiql.runner.test.TestRunner @@ -12,7 +14,365 @@ class ConformanceTestEval : ConformanceTestBase, PartiQLResu @JvmStatic @RegisterExtension val reporter = ReportGenerator("eval") + + private val COERCE_EVAL_MODE_COMPILE_OPTIONS = CompileOptions.build { typingMode(TypingMode.PERMISSIVE) } + private val ERROR_EVAL_MODE_COMPILE_OPTIONS = CompileOptions.build { typingMode(TypingMode.LEGACY) } } + private val factory = EvalExecutor.Factory override val runner = TestRunner(factory) + + /** + * This holds all of the Graph Pattern Matching Language conformance tests. The new evaluator does not yet support + * their evaluation. + */ + private val gpmlTests: List> = listOf( + Pair("Right with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables and label", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables and label", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables and label", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right with variables and label", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables and label", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables and label", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables and label", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Undirected with variables and label", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables and labels", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables and labels", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables and labels", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Right+undirected with variables and labels", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables and label", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables and label", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables and label", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+undirected with variables and label", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with variables", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with variables", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with spots", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected with spots", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected shorthand", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("Left+right+undirected shorthand", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N0E0 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1E0 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH ~[y]~ )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH ~[y]~ )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH ~[y]~ )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH ~[y]~ )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x)~[y]~(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N1D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2E0 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH ~[y]~ )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH ~[y]~ )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH ~[y]~ )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH ~[y]~ )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x)~[y]~(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)~[y1]~(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U1 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2 MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH -[y]-> )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH -[y]-> )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x)-[y]->(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x1) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x1) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x1) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]->(x1) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]->(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]->(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2D2c MATCH (x1)-[y1]-(x2)-[y2]-(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x))", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x))", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH ~[y]~ )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH ~[y]~ )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH ~[y]~ )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH ~[y]~ )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(z) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(z) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(x) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x)~[y]~(x) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x3) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x1) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x1) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x1) )", COERCE_EVAL_MODE_COMPILE_OPTIONS), + Pair("(N2U2 MATCH (x1)~[y1]~(x2)~[y2]~(x1) )", ERROR_EVAL_MODE_COMPILE_OPTIONS), + ) + + /** + * Currently, the [ConformanceTestEval] only skips GPML-related tests. + */ + override val skipListForEvaluation: List> = gpmlTests + + override val skipListForEquivalence: List> = emptyList() } diff --git a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestLegacy.kt b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestLegacy.kt index daf83548d1..fada672df1 100644 --- a/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestLegacy.kt +++ b/test/partiql-tests-runner/src/test/kotlin/org/partiql/runner/ConformanceTestLegacy.kt @@ -2,6 +2,7 @@ package org.partiql.runner import com.amazon.ion.IonValue import org.junit.jupiter.api.extension.RegisterExtension +import org.partiql.lang.eval.CompileOptions import org.partiql.lang.eval.ExprValue import org.partiql.runner.executor.LegacyExecutor import org.partiql.runner.report.ReportGenerator @@ -24,4 +25,7 @@ class ConformanceTestLegacy : ConformanceTestBase() { private val factory = LegacyExecutor.Factory override val runner = TestRunner(factory) + + override val skipListForEvaluation: List> = emptyList() + override val skipListForEquivalence: List> = emptyList() }