# Gradle Stage for executing a Gradle project. - Kind: Compilation/Grading Stage - Behavior: Executes given tasks with respect to the Gradle project. ## Config ``` gradle: targets: [String] # List of Gradle targets to execute args: [String]? # Arguments to the Gradle daemon score: Double? # Total Score of this stage treatDenormalScore: DenormalPolicy? # Policy to use when resulting score is NaN scoreWeighting: ScoreWeighting? # Weighting policy of this stage ``` - This stage implements *Total-Based Scorable* and *Weighted Scorable*. - The scorable policies are mutually exclusive; Enabling both is an error. - See [Scorable.md](../Scorable.md) for more information on `score`, `treatDenormalScore`, and `scoreWeighting`. - See [XUnit.md](XUnit.md) for more information on the predicates available for `scoreWeighting`. ## Usage Notes In order for this stage to collect the JUnit test results, the usage of JUnit Platform must be specified in the Gradle build script as such: ```groovy test { useJUnitPlatform() } ``` In addition, the report path must not be changed and XML must be enabled. ### Example ```yaml gradle: targets: ["classes", "check"] args: [] ``` ## Report ``` gradle: - hasTimedOut: Boolean # Whether the stage timed out while executing isSuccess: Boolean # Whether the stage is successful (either timed out or exited with non-zero) exitCode: Int # Gradle exit-code stdout: [String] # List of standard output stderr: [String] # List of standard error output score: Score? # The scoring information of this stage. report: # See XUnit report format. Always `null` if stage execution timed out. # ... ``` See [XUnit report](XUnit.md). ### Example (Execute-Only) ```yaml configError: null contextError: null pipelineError: null stageReports: gradle: - hasTimedOut: false exitCode: 0 stdout: - "Downloading https://services.gradle.org/distributions/gradle-6.3-bin.zip" - ".........10%..........20%..........30%.........40%..........50%..........60%.........70%..........80%..........90%..........100%" - "" - "Welcome to Gradle 6.3!" - "" - "Here are the highlights of this release:" - " - Java 14 support" - " - Improved error messages for unexpected failures" - "" - "For more details see https://docs.gradle.org/6.3/release-notes.html" - "" - "Starting a Gradle Daemon (subsequent builds will be faster)" - "> Task :compileJava" - "> Task :processResources NO-SOURCE" - "> Task :classes" - "" - "> Task :run" - "Hello world." - "" - "BUILD SUCCESSFUL in 12s" - "2 actionable tasks: 2 executed" stderr: [] report: tests: 0 skipped: 0 failures: 0 errors: 0 testsuites: [] score: score: null total: 100.0 isSuccess: true ``` ### Example (Test) ```yaml configError: null contextError: null pipelineError: nonFatalError: - className: "dev.ust.zinc.grader.pipeline.docker.Gradle" message: "Container exited with status code 1" context: - "Stage=dev.ust.zinc.grader.pipeline.docker.Gradle@43691307" - "Exit Code=1" - "Container Logs=[]" cause: null fatalError: null stageReports: gradle: - hasTimedOut: false exitCode: 1 stdout: - "Downloading https://services.gradle.org/distributions/gradle-6.3-bin.zip" - ".........10%..........20%..........30%.........40%..........50%..........60%.........70%..........80%..........90%..........100%" - "" - "Welcome to Gradle 6.3!" - "" - "Here are the highlights of this release:" - " - Java 14 support" - " - Improved error messages for unexpected failures" - "" - "For more details see https://docs.gradle.org/6.3/release-notes.html" - "" - "Starting a Gradle Daemon (subsequent builds will be faster)" - "> Task :compileJava" - "> Task :processResources NO-SOURCE" - "> Task :classes" - "> Task :compileTestJava" - "> Task :processTestResources NO-SOURCE" - "> Task :testClasses" - "" - "> Task :test" - "" - "JUnit4Test > testThrowing FAILED" - " java.lang.RuntimeException at JUnit4Test.java:34" - "" - "JUnit4Test > testFailing FAILED" - " java.lang.AssertionError at JUnit4Test.java:15" - "" - "JUnit5Test > testThrowing() FAILED" - " java.lang.RuntimeException at JUnit5Test.java:34" - "" - "JUnit5Test > testFailing() FAILED" - " org.opentest4j.AssertionFailedError at JUnit5Test.java:15" - "" - "> Task :test FAILED" - "3 actionable tasks: 3 executed" stderr: - "" - "20 tests completed, 4 failed, 4 skipped" - "" - "FAILURE: Build failed with an exception." - "" - "* What went wrong:" - "Execution failed for task ':test'." - "> There were failing tests. See the report at: file:///vol/src/build/reports/tests/test/index.html" - "" - "* Try:" - "Run with --stacktrace option to get the stack trace. Run with --info or --debug\ \ option to get more log output. Run with --scan to get full insights." - "" - "* Get more help at https://help.gradle.org" - "" - "BUILD FAILED in 23s" report: tests: 20 skipped: 4 failures: 4 errors: 0 testsuites: - name: "gradle.test.AppTest" displayName: "gradle.test.AppTest" tests: 1 failures: 0 skipped: 0 errors: 0 testcases: - name: "appHasAGreeting()" displayName: "appHasAGreeting()" classname: "gradle.test.AppTest" failures: [] - name: "JUnit5Test" displayName: "JUnit5Test" tests: 10 failures: 2 skipped: 2 errors: 0 testcases: - name: "testThrowing()" displayName: "testThrowing()" classname: "JUnit5Test" failures: - category: "FAILURE" message: "java.lang.RuntimeException" type: "java.lang.RuntimeException" context: "java.lang.RuntimeException\n\tat JUnit5Test.testThrowing(JUnit5Test.java:34)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:686)\n\ \tat org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)\n\ \tat org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)\n\ \tat org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)\n\ \tat org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:205)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:201)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:71)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)\n\ \tat org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)\n\ \tat java.base/java.util.ArrayList.forEach(ArrayList.java:1540)\n\t\ at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)\n\ \tat org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)\n\ \tat java.base/java.util.ArrayList.forEach(ArrayList.java:1540)\n\t\ at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)\n\ \tat org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)\n\ \tat org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)\n\ \tat org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)\n\ \tat org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)\n\ \tat org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)\n\ \tat org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)\n\ \tat com.sun.proxy.$Proxy2.stop(Unknown Source)\n\tat org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)\n\ \tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)\n\ \tat org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\ \tat org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)\n\ \tat java.base/java.lang.Thread.run(Thread.java:834)\n" - name: "testFailing()" displayName: "testFailing()" classname: "JUnit5Test" failures: - category: "FAILURE" message: "org.opentest4j.AssertionFailedError: expected: but was:\ \ " type: "org.opentest4j.AssertionFailedError" context: "org.opentest4j.AssertionFailedError: expected: but was:\ \ \n\tat org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:55)\n\ \tat org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:40)\n\ \tat org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:35)\n\ \tat org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:162)\n\ \tat JUnit5Test.testFailing(JUnit5Test.java:15)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:686)\n\ \tat org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)\n\ \tat org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)\n\ \tat org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)\n\ \tat org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)\n\ \tat org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)\n\ \tat org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:205)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:201)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)\n\ \tat org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:71)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)\n\ \tat org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)\n\ \tat java.base/java.util.ArrayList.forEach(ArrayList.java:1540)\n\t\ at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)\n\ \tat org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)\n\ \tat java.base/java.util.ArrayList.forEach(ArrayList.java:1540)\n\t\ at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)\n\ \tat org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)\n\ \tat org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)\n\ \tat org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)\n\ \tat org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)\n\ \tat org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)\n\ \tat org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)\n\ \tat org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)\n\ \tat org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)\n\ \tat com.sun.proxy.$Proxy2.stop(Unknown Source)\n\tat org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)\n\ \tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)\n\ \tat org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\ \tat org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)\n\ \tat java.base/java.lang.Thread.run(Thread.java:834)\n" - name: "testPassing()" displayName: "testPassing()" classname: "JUnit5Test" failures: [] - name: "testTestName()" displayName: "testTestName()" classname: "JUnit5Test" failures: [] - name: "testStandardError()" displayName: "testStandardError()" classname: "JUnit5Test" failures: [] - name: "testMixedOutput()" displayName: "testMixedOutput()" classname: "JUnit5Test" failures: [] - name: "testStandardOutput()" displayName: "testStandardOutput()" classname: "JUnit5Test" failures: [] - name: "testDisabled()" displayName: "testDisabled()" classname: "JUnit5Test" failures: - category: "SKIPPED" message: null type: null context: "" - name: "testDelayed()" displayName: "testDelayed()" classname: "JUnit5Test" failures: [] - name: "testFalseAssumption()" displayName: "testFalseAssumption()" classname: "JUnit5Test" failures: - category: "SKIPPED" message: null type: null context: "" - name: "JUnit4Test" displayName: "JUnit4Test" tests: 9 failures: 2 skipped: 2 errors: 0 testcases: - name: "testThrowing" displayName: "testThrowing" classname: "JUnit4Test" failures: - category: "FAILURE" message: "java.lang.RuntimeException" type: "java.lang.RuntimeException" context: "java.lang.RuntimeException\n\tat JUnit4Test.testThrowing(JUnit4Test.java:34)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)\n\ \tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\n\ \tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)\n\ \tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\n\ \tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\ \tat org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)\n\ \tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)\n\ \tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)\n\ \tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)\n\ \tat org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)\n\t\ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)\n\ \tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)\n\ \tat org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)\n\ \tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)\n\ \tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\ \tat org.junit.runners.ParentRunner.run(ParentRunner.java:413)\n\tat\ \ org.junit.runner.JUnitCore.run(JUnitCore.java:137)\n\tat org.junit.runner.JUnitCore.run(JUnitCore.java:115)\n\ \tat org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:43)\n\ \tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)\n\ \tat java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)\n\ \tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\ \tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)\n\ \tat java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)\n\ \tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)\n\ \tat java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)\n\ \tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)\n\ \tat java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\n\ \tat java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)\n\ \tat org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:82)\n\ \tat org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:73)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)\n\ \tat org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)\n\ \tat org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)\n\ \tat com.sun.proxy.$Proxy2.stop(Unknown Source)\n\tat org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)\n\ \tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)\n\ \tat org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\ \tat org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)\n\ \tat java.base/java.lang.Thread.run(Thread.java:834)\n" - name: "testFailing" displayName: "testFailing" classname: "JUnit4Test" failures: - category: "FAILURE" message: "java.lang.AssertionError" type: "java.lang.AssertionError" context: "java.lang.AssertionError\n\tat org.junit.Assert.fail(Assert.java:87)\n\ \tat org.junit.Assert.assertTrue(Assert.java:42)\n\tat org.junit.Assert.assertTrue(Assert.java:53)\n\ \tat JUnit4Test.testFailing(JUnit4Test.java:15)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)\n\ \tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\n\ \tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)\n\ \tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\n\ \tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\ \tat org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)\n\ \tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)\n\ \tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)\n\ \tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)\n\ \tat org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)\n\t\ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)\n\ \tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)\n\ \tat org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)\n\ \tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)\n\ \tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\ \tat org.junit.runners.ParentRunner.run(ParentRunner.java:413)\n\tat\ \ org.junit.runner.JUnitCore.run(JUnitCore.java:137)\n\tat org.junit.runner.JUnitCore.run(JUnitCore.java:115)\n\ \tat org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:43)\n\ \tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)\n\ \tat java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)\n\ \tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\ \tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)\n\ \tat java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)\n\ \tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)\n\ \tat java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)\n\ \tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)\n\ \tat java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\n\ \tat java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)\n\ \tat org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:82)\n\ \tat org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:73)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)\n\ \tat org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)\n\ \tat org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)\n\ \tat org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)\n\ \tat org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)\n\ \tat com.sun.proxy.$Proxy2.stop(Unknown Source)\n\tat org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132)\n\ \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native\ \ Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\ \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\ \tat java.base/java.lang.reflect.Method.invoke(Method.java:566)\n\t\ at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)\n\ \tat org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)\n\ \tat org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)\n\ \tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)\n\ \tat org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\ \tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\ \tat org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)\n\ \tat java.base/java.lang.Thread.run(Thread.java:834)\n" - name: "testPassing" displayName: "testPassing" classname: "JUnit4Test" failures: [] - name: "testStandardError" displayName: "testStandardError" classname: "JUnit4Test" failures: [] - name: "testMixedOutput" displayName: "testMixedOutput" classname: "JUnit4Test" failures: [] - name: "testStandardOutput" displayName: "testStandardOutput" classname: "JUnit4Test" failures: [] - name: "testDisabled" displayName: "testDisabled" classname: "JUnit4Test" failures: - category: "SKIPPED" message: null type: null context: "" - name: "testDelayed" displayName: "testDelayed" classname: "JUnit4Test" failures: [] - name: "testFalseAssumption" displayName: "testFalseAssumption" classname: "JUnit4Test" failures: - category: "SKIPPED" message: null type: null context: "" score: score: 75.0 total: 100.0 isSuccess: false nonFatalError: - className: "dev.ust.zinc.grader.pipeline.docker.Gradle" message: "Container exited with status code 1" context: - "Stage=dev.ust.zinc.grader.pipeline.docker.Gradle@43691307" - "Exit Code=1" - "Container Logs=[]" cause: null ```