diff --git a/.github/workflows/ci-actions.yml b/.github/workflows/ci-actions.yml
index 1505526eea..7efede9df5 100644
--- a/.github/workflows/ci-actions.yml
+++ b/.github/workflows/ci-actions.yml
@@ -3,7 +3,6 @@ name: Jakarta Contexts and Dependency Injection TCK CI
on:
workflow_dispatch:
pull_request:
- branches: [ master ]
jobs:
build:
diff --git a/impl/src/main/resources/tck-tests-previous.xml b/impl/src/main/resources/tck-tests-previous.xml
deleted file mode 100644
index 03c9ed11af..0000000000
--- a/impl/src/main/resources/tck-tests-previous.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pom.xml b/pom.xml
index 2c578612dd..c86fd3781d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,7 +112,8 @@
1.0.1.Final
3.1
2.50.0
- 4.7.2
+ 4.7.2
+ 2.9.1
${project.version}
5.0.0.SP2
@@ -192,12 +193,12 @@
org.seleniumhq.selenium
selenium-chrome-driver
${selenium.version}
-
+
io.github.bonigarcia
- webdrivermanager
- 5.3.1
+ webdrivermanager
+ 5.3.1
diff --git a/web/pom.xml b/web/pom.xml
index 049da543df..6c0d8b8737 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -187,6 +187,13 @@
2.2
test
+
+
+ org.xmlunit
+ xmlunit-core
+ ${xmlunit.version}
+ test
+
diff --git a/web/src/main/resources/tck-tests-previous.xml b/web/src/main/resources/tck-tests-previous.xml
deleted file mode 100644
index 03c9ed11af..0000000000
--- a/web/src/main/resources/tck-tests-previous.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/web/src/main/resources/tck-tests.xml b/web/src/main/resources/tck-tests.xml
index 2921a0e7a1..773785035c 100644
--- a/web/src/main/resources/tck-tests.xml
+++ b/web/src/main/resources/tck-tests.xml
@@ -1,5 +1,5 @@
-
+
@@ -23,6 +23,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/src/test/java/org/jboss/cdi/tck/test/ExclusionListsTest.java b/web/src/test/java/org/jboss/cdi/tck/test/ExclusionListsTest.java
new file mode 100644
index 0000000000..cc6e45cc7b
--- /dev/null
+++ b/web/src/test/java/org/jboss/cdi/tck/test/ExclusionListsTest.java
@@ -0,0 +1,53 @@
+package org.jboss.cdi.tck.test;
+
+import org.testng.annotations.Test;
+import org.xmlunit.builder.DiffBuilder;
+import org.xmlunit.diff.ComparisonResult;
+import org.xmlunit.diff.ComparisonType;
+import org.xmlunit.diff.Diff;
+import org.xmlunit.diff.DifferenceEvaluators;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+
+public class ExclusionListsTest {
+ @Test
+ public void compareExclusionLists() throws IOException {
+ List xmls = new ArrayList<>();
+ ExclusionListsTest.class.getClassLoader().getResources("tck-tests.xml").asIterator().forEachRemaining(xmls::add);
+ assertEquals(xmls.size(), 2);
+ URL control = xmls.stream().filter(it -> !it.toString().contains("web")).findFirst().orElseThrow();
+ URL test = xmls.stream().filter(it -> it.toString().contains("web")).findFirst().orElseThrow();
+
+ Diff diff = DiffBuilder.compare(control)
+ .withTest(test)
+ .checkForSimilar()
+ .ignoreComments()
+ .ignoreWhitespace()
+ .withDifferenceEvaluator(DifferenceEvaluators.chain(
+ DifferenceEvaluators.Default,
+ (comparison, outcome) -> {
+ if (outcome != ComparisonResult.DIFFERENT) {
+ return outcome;
+ }
+ if (comparison.getType() == ComparisonType.CHILD_NODELIST_LENGTH
+ && (Integer) comparison.getControlDetails().getValue() < (Integer) comparison.getTestDetails().getValue()) {
+ return ComparisonResult.SIMILAR;
+ }
+ if (comparison.getType() == ComparisonType.CHILD_LOOKUP
+ && comparison.getControlDetails().getValue() == null
+ && comparison.getTestDetails().getValue() != null) {
+ return ComparisonResult.SIMILAR;
+ }
+ return outcome;
+ }))
+ .build();
+ assertFalse(diff.hasDifferences(),
+ "Exclusion list in `web` must contain the exclusion list in `impl` as a prefix:\n" + diff.fullDescription());
+ }
+}