From c56d7ae1e3d35f576c1d5de6a3c0afc234edab10 Mon Sep 17 00:00:00 2001 From: Alex Klibisz Date: Sat, 18 Nov 2023 21:54:54 -0500 Subject: [PATCH] Build: split integration tests into a separate subproject (#588) --- Taskfile.yaml | 13 +++++++++---- build.sbt | 13 ++++++++++--- .../elastiknn/testdata-densefloat-unit.json.gz | Bin .../klibisz/elastiknn/testdata-densefloat.json.gz | Bin .../klibisz/elastiknn/testdata-sparsebool.json.gz | Bin .../src/test}/resources/log4j.properties | 0 .../src/test}/resources/logback-test.xml | 0 .../elastiknn/ApproximateQueryTotalHitsSuite.scala | 0 .../elastiknn/CloseIndexRegressionSuite.scala | 0 .../com/klibisz/elastiknn/ClusterCatSuite.scala | 0 .../elastiknn/DocsWithMissingVectorsSuite.scala | 0 .../elastiknn/DocsWithMultipleVectorsSuite.scala | 0 .../elastiknn/DocsWithNestedVectorsSuite.scala | 0 .../com/klibisz/elastiknn/Elastic4sMatchers.scala | 0 .../com/klibisz/elastiknn/ElasticAsyncClient.scala | 0 .../com/klibisz/elastiknn/ExistsQuerySuite.scala | 0 .../elastiknn/FunctionScoreQuerySuite.scala | 0 .../com/klibisz/elastiknn/IndexedVectorSuite.scala | 0 .../elastiknn/MixedIndexSearchDeleteSuite.scala | 0 .../com/klibisz/elastiknn/QueryRescorerSuite.scala | 0 .../scala/com/klibisz/elastiknn/RecallSuite.scala | 0 .../com/klibisz/elastiknn/SilentMatchers.scala | 0 .../elastiknn/SparseUnsortedIndicesSuite.scala | 0 .../scala/com/klibisz/elastiknn/TestData.scala | 0 .../com/klibisz/elastiknn/VectorMapperSuite.scala | 0 25 files changed, 19 insertions(+), 7 deletions(-) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/resources/com/klibisz/elastiknn/testdata-densefloat-unit.json.gz (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/resources/com/klibisz/elastiknn/testdata-densefloat.json.gz (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/resources/com/klibisz/elastiknn/testdata-sparsebool.json.gz (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/resources/log4j.properties (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/resources/logback-test.xml (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/ApproximateQueryTotalHitsSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/CloseIndexRegressionSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/ClusterCatSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/DocsWithMultipleVectorsSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/Elastic4sMatchers.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/ElasticAsyncClient.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/IndexedVectorSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/RecallSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/SilentMatchers.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/TestData.scala (100%) rename {elastiknn-plugin/src/it => elastiknn-plugin-integration-tests/src/test}/scala/com/klibisz/elastiknn/VectorMapperSuite.scala (100%) diff --git a/Taskfile.yaml b/Taskfile.yaml index b0f0fb127..8d281fcbd 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -158,7 +158,7 @@ tasks: jvmCompile: desc: Compile Scala and Java code using SBT cmds: - - sbt -client "compile; Test/compile; IntegrationTest/compile" + - sbt -client "compile; Test/compile" jvmAssemble: desc: Build the plugin bundle using SBT @@ -169,17 +169,22 @@ tasks: jvmIntegrationTest: desc: Run JVM tests using SBT cmds: - - sbt -client IntegrationTest/test + - sbt -client elastiknn-plugin-integration-tests/test jvmIntegrationTestQuick: desc: Run JVM tests using SBT, but only the ones that were recompiled cmds: - - sbt -client IntegrationTest/testQuick + - sbt -client elastiknn-plugin-integration-tests/testQuick jvmUnitTest: desc: Run JVM tests using SBT cmds: - - sbt -client test + - sbt -client elastiknn-api4s/test + - sbt -client elastiknn-client-elastic4s/test + - sbt -client elastiknn-lucene/test + - sbt -client elastiknn-models/test + - sbt -client elastiknn-models-benchmarks/test + - sbt -client elastiknn-plugin/test jvmUnitTestQuick: desc: Run JVM tests using SBT, but only the ones that were recompiled diff --git a/build.sbt b/build.sbt index 3afbebfdd..05f79f1d8 100644 --- a/build.sbt +++ b/build.sbt @@ -27,7 +27,8 @@ lazy val `elastiknn-root` = project `elastiknn-lucene`, `elastiknn-models`, `elastiknn-models-benchmarks`, - `elastiknn-plugin` + `elastiknn-plugin`, + `elastiknn-plugin-integration-tests` ) lazy val `elastiknn-api4s` = project @@ -104,7 +105,6 @@ lazy val `elastiknn-plugin` = project `elastiknn-lucene` % "compile->compile;test->test", `elastiknn-client-elastic4s` % "test->compile" ) - .configs(IntegrationTest.extend(Test)) .settings( name := "elastiknn", version := ElastiknnVersion, @@ -125,6 +125,13 @@ lazy val `elastiknn-plugin` = project "com.klibisz.futil" %% "futil" % "0.1.2" % Test ), scalacOptions ++= ScalacOptions, - Defaults.itSettings, + TestSettings + ) + +lazy val `elastiknn-plugin-integration-tests` = project + .in(file("elastiknn-plugin-integration-tests")) + .dependsOn(`elastiknn-plugin` % "test->test") + .settings( + scalacOptions ++= ScalacOptions, TestSettings ) diff --git a/elastiknn-plugin/src/it/resources/com/klibisz/elastiknn/testdata-densefloat-unit.json.gz b/elastiknn-plugin-integration-tests/src/test/resources/com/klibisz/elastiknn/testdata-densefloat-unit.json.gz similarity index 100% rename from elastiknn-plugin/src/it/resources/com/klibisz/elastiknn/testdata-densefloat-unit.json.gz rename to elastiknn-plugin-integration-tests/src/test/resources/com/klibisz/elastiknn/testdata-densefloat-unit.json.gz diff --git a/elastiknn-plugin/src/it/resources/com/klibisz/elastiknn/testdata-densefloat.json.gz b/elastiknn-plugin-integration-tests/src/test/resources/com/klibisz/elastiknn/testdata-densefloat.json.gz similarity index 100% rename from elastiknn-plugin/src/it/resources/com/klibisz/elastiknn/testdata-densefloat.json.gz rename to elastiknn-plugin-integration-tests/src/test/resources/com/klibisz/elastiknn/testdata-densefloat.json.gz diff --git a/elastiknn-plugin/src/it/resources/com/klibisz/elastiknn/testdata-sparsebool.json.gz b/elastiknn-plugin-integration-tests/src/test/resources/com/klibisz/elastiknn/testdata-sparsebool.json.gz similarity index 100% rename from elastiknn-plugin/src/it/resources/com/klibisz/elastiknn/testdata-sparsebool.json.gz rename to elastiknn-plugin-integration-tests/src/test/resources/com/klibisz/elastiknn/testdata-sparsebool.json.gz diff --git a/elastiknn-plugin/src/it/resources/log4j.properties b/elastiknn-plugin-integration-tests/src/test/resources/log4j.properties similarity index 100% rename from elastiknn-plugin/src/it/resources/log4j.properties rename to elastiknn-plugin-integration-tests/src/test/resources/log4j.properties diff --git a/elastiknn-plugin/src/it/resources/logback-test.xml b/elastiknn-plugin-integration-tests/src/test/resources/logback-test.xml similarity index 100% rename from elastiknn-plugin/src/it/resources/logback-test.xml rename to elastiknn-plugin-integration-tests/src/test/resources/logback-test.xml diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ApproximateQueryTotalHitsSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ApproximateQueryTotalHitsSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ApproximateQueryTotalHitsSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ApproximateQueryTotalHitsSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/CloseIndexRegressionSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/CloseIndexRegressionSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/CloseIndexRegressionSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/CloseIndexRegressionSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ClusterCatSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ClusterCatSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ClusterCatSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ClusterCatSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMissingVectorsSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/DocsWithMultipleVectorsSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMultipleVectorsSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/DocsWithMultipleVectorsSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithMultipleVectorsSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/DocsWithNestedVectorsSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/Elastic4sMatchers.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/Elastic4sMatchers.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/Elastic4sMatchers.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/Elastic4sMatchers.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ElasticAsyncClient.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ElasticAsyncClient.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ElasticAsyncClient.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ElasticAsyncClient.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/ExistsQuerySuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/FunctionScoreQuerySuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/IndexedVectorSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/IndexedVectorSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/IndexedVectorSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/IndexedVectorSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/MixedIndexSearchDeleteSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/QueryRescorerSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/RecallSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/RecallSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/RecallSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/RecallSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/SilentMatchers.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SilentMatchers.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/SilentMatchers.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SilentMatchers.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/SparseUnsortedIndicesSuite.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/TestData.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/TestData.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/TestData.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/TestData.scala diff --git a/elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/VectorMapperSuite.scala b/elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/VectorMapperSuite.scala similarity index 100% rename from elastiknn-plugin/src/it/scala/com/klibisz/elastiknn/VectorMapperSuite.scala rename to elastiknn-plugin-integration-tests/src/test/scala/com/klibisz/elastiknn/VectorMapperSuite.scala