diff --git a/.idea/libraries/junit5_rt.xml b/.idea/libraries/junit5_rt.xml index 2dccb586144a..4d30254ee173 100644 --- a/.idea/libraries/junit5_rt.xml +++ b/.idea/libraries/junit5_rt.xml @@ -1,12 +1,13 @@ - - - - - - + + + + + + + diff --git a/.idea/libraries/opentest4j.xml b/.idea/libraries/opentest4j.xml index 75d2d775180b..ca645e269a69 100644 --- a/.idea/libraries/opentest4j.xml +++ b/.idea/libraries/opentest4j.xml @@ -1,7 +1,7 @@ - + diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy index eeb1f29f8a0a..58149968d3a1 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy @@ -200,7 +200,7 @@ class CommunityRepositoryModules { withModule("junit5_rt", "junit5-rt.jar") withProjectLibrary("junit5_rt") withProjectLibrary("opentest4j") - withModuleLibrary("junit-jupiter-api-5.0.0-M3.jar", "junit5_rt_tests", "") + withModuleLibrary("junit-jupiter-api-5.0.0-M4.jar", "junit5_rt_tests", "") }, plugin("ByteCodeViewer") { mainJarName = "byteCodeViewer.jar" diff --git a/plugins/junit5_rt/lib/junit-jupiter-api-5.0.0-M3.jar b/plugins/junit5_rt/lib/junit-jupiter-api-5.0.0-M4.jar similarity index 59% rename from plugins/junit5_rt/lib/junit-jupiter-api-5.0.0-M3.jar rename to plugins/junit5_rt/lib/junit-jupiter-api-5.0.0-M4.jar index ac895e738637..c5f95cc11c7a 100644 Binary files a/plugins/junit5_rt/lib/junit-jupiter-api-5.0.0-M3.jar and b/plugins/junit5_rt/lib/junit-jupiter-api-5.0.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/junit-jupiter-engine-5.0.0-M3.jar b/plugins/junit5_rt/lib/junit-jupiter-engine-5.0.0-M3.jar deleted file mode 100644 index 455d72a9f4d8..000000000000 Binary files a/plugins/junit5_rt/lib/junit-jupiter-engine-5.0.0-M3.jar and /dev/null differ diff --git a/plugins/junit5_rt/lib/junit-jupiter-engine-5.0.0-M4.jar b/plugins/junit5_rt/lib/junit-jupiter-engine-5.0.0-M4.jar new file mode 100644 index 000000000000..619466e45bb6 Binary files /dev/null and b/plugins/junit5_rt/lib/junit-jupiter-engine-5.0.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/junit-platform-commons-1.0.0-M3.jar b/plugins/junit5_rt/lib/junit-platform-commons-1.0.0-M3.jar deleted file mode 100644 index 52fb3d98a481..000000000000 Binary files a/plugins/junit5_rt/lib/junit-platform-commons-1.0.0-M3.jar and /dev/null differ diff --git a/plugins/junit5_rt/lib/junit-platform-commons-1.0.0-M4.jar b/plugins/junit5_rt/lib/junit-platform-commons-1.0.0-M4.jar new file mode 100644 index 000000000000..150c0c29579d Binary files /dev/null and b/plugins/junit5_rt/lib/junit-platform-commons-1.0.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/junit-platform-engine-1.0.0-M3.jar b/plugins/junit5_rt/lib/junit-platform-engine-1.0.0-M4.jar similarity index 59% rename from plugins/junit5_rt/lib/junit-platform-engine-1.0.0-M3.jar rename to plugins/junit5_rt/lib/junit-platform-engine-1.0.0-M4.jar index fd74110694f3..e180a37ac1ff 100644 Binary files a/plugins/junit5_rt/lib/junit-platform-engine-1.0.0-M3.jar and b/plugins/junit5_rt/lib/junit-platform-engine-1.0.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/junit-platform-launcher-1.0.0-M3.jar b/plugins/junit5_rt/lib/junit-platform-launcher-1.0.0-M4.jar similarity index 50% rename from plugins/junit5_rt/lib/junit-platform-launcher-1.0.0-M3.jar rename to plugins/junit5_rt/lib/junit-platform-launcher-1.0.0-M4.jar index 6cbf6f57563d..6c4366541d6f 100644 Binary files a/plugins/junit5_rt/lib/junit-platform-launcher-1.0.0-M3.jar and b/plugins/junit5_rt/lib/junit-platform-launcher-1.0.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/junit-platform-runner-1.0.0-M3.jar b/plugins/junit5_rt/lib/junit-platform-runner-1.0.0-M3.jar deleted file mode 100644 index f5c1f0b51067..000000000000 Binary files a/plugins/junit5_rt/lib/junit-platform-runner-1.0.0-M3.jar and /dev/null differ diff --git a/plugins/junit5_rt/lib/junit-platform-runner-1.0.0-M4.jar b/plugins/junit5_rt/lib/junit-platform-runner-1.0.0-M4.jar new file mode 100644 index 000000000000..d94e657adcad Binary files /dev/null and b/plugins/junit5_rt/lib/junit-platform-runner-1.0.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/junit-platform-suite-api-1.0.0-M4.jar b/plugins/junit5_rt/lib/junit-platform-suite-api-1.0.0-M4.jar new file mode 100644 index 000000000000..0d39725b3a04 Binary files /dev/null and b/plugins/junit5_rt/lib/junit-platform-suite-api-1.0.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/junit-vintage-engine-4.12.0-M3.jar b/plugins/junit5_rt/lib/junit-vintage-engine-4.12.0-M4.jar similarity index 68% rename from plugins/junit5_rt/lib/junit-vintage-engine-4.12.0-M3.jar rename to plugins/junit5_rt/lib/junit-vintage-engine-4.12.0-M4.jar index 8b8346cdf59d..7e05e544203c 100644 Binary files a/plugins/junit5_rt/lib/junit-vintage-engine-4.12.0-M3.jar and b/plugins/junit5_rt/lib/junit-vintage-engine-4.12.0-M4.jar differ diff --git a/plugins/junit5_rt/lib/opentest4j-1.0.0-M1.jar b/plugins/junit5_rt/lib/opentest4j-1.0.0-M1.jar deleted file mode 100644 index 4601e32664fb..000000000000 Binary files a/plugins/junit5_rt/lib/opentest4j-1.0.0-M1.jar and /dev/null differ diff --git a/plugins/junit5_rt/lib/opentest4j-1.0.0-M2.jar b/plugins/junit5_rt/lib/opentest4j-1.0.0-M2.jar new file mode 100644 index 000000000000..7543a8068ff4 Binary files /dev/null and b/plugins/junit5_rt/lib/opentest4j-1.0.0-M2.jar differ diff --git a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java index be3c72e47746..bbe5dd26f82e 100644 --- a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java +++ b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java @@ -219,7 +219,7 @@ public class JUnit5TestExecutionListener implements TestExecutionListener { if (ex != null) { ComparisonFailureData failureData = null; if (ex instanceof MultipleFailuresError && ((MultipleFailuresError)ex).hasFailures()) { - for (AssertionError assertionError : ((MultipleFailuresError)ex).getFailures()) { + for (Throwable assertionError : ((MultipleFailuresError)ex).getFailures()) { testFailure(methodName, id, messageName, assertionError, duration, reason, false); } } diff --git a/plugins/junit5_rt_tests/junit5_rt_tests.iml b/plugins/junit5_rt_tests/junit5_rt_tests.iml index 8da2dc584bc0..fd86a4cb7b56 100644 --- a/plugins/junit5_rt_tests/junit5_rt_tests.iml +++ b/plugins/junit5_rt_tests/junit5_rt_tests.iml @@ -10,7 +10,7 @@ - + diff --git a/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5EventsTest.java b/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5EventsTest.java index ce6ae9af43ad..e1251cebaa33 100644 --- a/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5EventsTest.java +++ b/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5EventsTest.java @@ -16,6 +16,7 @@ package com.intellij.junit5; import com.intellij.openapi.util.text.StringUtil; +import jetbrains.buildServer.messages.serviceMessages.MapSerializerUtil; import org.junit.jupiter.api.*; import org.junit.jupiter.engine.descriptor.ClassTestDescriptor; import org.junit.jupiter.engine.descriptor.MethodTestDescriptor; @@ -31,6 +32,7 @@ import org.opentest4j.MultipleFailuresError; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; +import java.util.Arrays; import java.util.Collections; import java.util.stream.Stream; @@ -72,12 +74,13 @@ class JUnit5EventsTest { TestClass.class.getDeclaredMethod("test1")); TestIdentifier identifier = TestIdentifier.from(testDescriptor); myExecutionListener.executionStarted(identifier); - MultipleFailuresError multipleFailuresError = new MultipleFailuresError("2 errors"); - multipleFailuresError.addFailure(new AssertionFailedError("message1", "expected1", "actual1")); - multipleFailuresError.addFailure(new AssertionFailedError("message2", "expected2", "actual2")); + MultipleFailuresError multipleFailuresError = new MultipleFailuresError("2 errors", Arrays.asList + (new AssertionFailedError("message1", "expected1", "actual1"), + new AssertionFailedError("message2", "expected2", "actual2"))); myExecutionListener.executionFinished(identifier, TestExecutionResult.failed(multipleFailuresError)); + String lineSeparator = MapSerializerUtil.escapeStr(System.getProperty("line.separator"), MapSerializerUtil.STD_ESCAPER); Assertions.assertEquals("##teamcity[enteredTheMatrix]\n" + "\n" + "##teamcity[testStarted id='|[engine:engine|]' name='test1()' locationHint='java:test://com.intellij.junit5.JUnit5EventsTest$TestClass.test1']\n" + @@ -86,7 +89,7 @@ class JUnit5EventsTest { "\n" + "##teamcity[testFailed name='test1()' id='|[engine:engine|]' details='' message='' expected='expected2' actual='actual2']\n" + "\n" + - "##teamcity[testFailed name='test1()' id='|[engine:engine|]' details='TRACE' message='2 errors (2 failures)|n\tmessage1|n\tmessage2']\n" + + "##teamcity[testFailed name='test1()' id='|[engine:engine|]' details='TRACE' message='2 errors (2 failures)" + lineSeparator + "\tmessage1" + lineSeparator + "\tmessage2']\n" + "\n" + "##teamcity[testFinished id='|[engine:engine|]' name='test1()']\n", StringUtil.convertLineSeparators(myBuf.toString())); } diff --git a/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NavigationTest.java b/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NavigationTest.java index 82cfc2b92757..fa62f8fa82e0 100644 --- a/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NavigationTest.java +++ b/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NavigationTest.java @@ -24,6 +24,7 @@ import org.junit.platform.engine.UniqueId; import org.junit.platform.engine.support.descriptor.*; import org.junit.platform.launcher.TestIdentifier; +import java.io.IOException; import java.nio.file.Paths; import java.util.Arrays; @@ -101,18 +102,18 @@ class JUnit5NavigationTest { } @Test - void locationHintValueForFileSource() { + void locationHintValueForFileSource() throws IOException { myTestSource = new FileSource(Paths.get("/some/file.txt").toFile()); - Assertions.assertEquals("file:///some/file.txt", locationHintValue()); + Assertions.assertEquals("file://" + ((FileSource)myTestSource).getFile().getCanonicalPath(), locationHintValue()); } @Test - void locationHintValueForFileSourceWithLineInformation() { + void locationHintValueForFileSourceWithLineInformation() throws IOException { myTestSource = new FileSource(Paths.get("/some/file.txt").toFile(), new FilePosition(22, 7)); - Assertions.assertEquals("file:///some/file.txt:22", locationHintValue()); + Assertions.assertEquals("file://" + ((FileSource)myTestSource).getFile().getCanonicalPath() +":22", locationHintValue()); } @Test @@ -179,13 +180,8 @@ class JUnit5NavigationTest { } @Override - public boolean isContainer() { - return false; - } - - @Override - public boolean isTest() { - return myIsTest; + public Type getType() { + return myIsTest ? Type.TEST : Type.CONTAINER; } public void isTest(boolean isTest) {