Skip to content

Commit 88c227f

Browse files
committed
fix test flakiness
1 parent 36870fa commit 88c227f

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

src/test/groovy/org/codehaus/groovy/runtime/m12n/ExtensionModuleHelperForTests.groovy

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ final class ExtensionModuleHelperForTests {
2828
File baseDir = File.createTempDir()
2929
File sourceFile = new File(baseDir, 'Temp.groovy')
3030
sourceFile << """import org.codehaus.groovy.runtime.m12n.*
31+
import static groovy.test.GroovyAssert.assertScript
3132
class TempTest extends $baseTestClass {
3233
@org.junit.jupiter.api.Test
3334
void testCode() {
@@ -36,15 +37,27 @@ final class ExtensionModuleHelperForTests {
3637
}
3738
3839
import org.junit.platform.launcher.core.*
40+
import org.junit.platform.launcher.listeners.SummaryGeneratingListener
3941
import static org.junit.platform.engine.discovery.DiscoverySelectors.*
4042
4143
def launcher = LauncherFactory.create()
44+
def listener = new SummaryGeneratingListener()
45+
launcher.registerTestExecutionListeners(listener)
4246
def testPlan = launcher.discover(
4347
LauncherDiscoveryRequestBuilder.request().selectors(
4448
selectClass("TempTest")
4549
).build()
4650
)
4751
launcher.execute(testPlan)
52+
// JUnit Platform's launcher is silent on failure; surface failures via
53+
// stderr so the parent process (doInFork) detects them as stray lines.
54+
def summary = listener.summary
55+
if (summary.totalFailureCount) {
56+
summary.failures.each { f ->
57+
System.err.println('TEST FAILED: ' + f.testIdentifier.displayName + ' :: ' + f.exception)
58+
f.exception.printStackTrace(System.err)
59+
}
60+
}
4861
"""
4962

5063
Set<String> cp = System.getProperty('java.class.path').split(File.pathSeparator) as Set

src/test/groovy/org/codehaus/groovy/runtime/m12n/ExtensionModuleTest.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ final class ExtensionModuleTest {
5656
def resolver = "@GrabResolver('$jarURL')"
5757
5858
assertScript resolver + """
59-
@Grab(value='module-test:module-test:1.4', changing='true')
59+
@Grab(value='module-test:module-test:1.4', changing=true)
6060
import org.codehaus.groovy.runtime.m12n.*
6161
6262
// ensure that the module is now loaded
@@ -88,7 +88,7 @@ final class ExtensionModuleTest {
8888
def resolver = "@GrabResolver('$jarURL')"
8989
9090
assertScript resolver + """
91-
@Grab(value='module-test:module-test:1.4', changing='true')
91+
@Grab(value='module-test:module-test:1.4', changing=true)
9292
import org.codehaus.groovy.runtime.m12n.*
9393
9494
def map = [:]
@@ -112,7 +112,7 @@ final class ExtensionModuleTest {
112112
113113
assertScript """
114114
@GrabResolver('$jarURL')
115-
@Grab(value='module-test:module-test:1.4', changing='true')
115+
@Grab(value='module-test:module-test:1.4', changing=true)
116116
import org.codehaus.groovy.runtime.m12n.*
117117
118118
assert 'test'.groovy7225() == 'test: ok'

0 commit comments

Comments
 (0)