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 for more information on
score,treatDenormalScore, andscoreWeighting.See 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:
test {
useJUnitPlatform()
}
In addition, the report path must not be changed and XML must be enabled.
Example
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.
Example (Execute-Only)
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)
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: <true> but was:\
\ <false>"
type: "org.opentest4j.AssertionFailedError"
context: "org.opentest4j.AssertionFailedError: expected: <true> but was:\
\ <false>\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