Skip to content
This repository was archived by the owner on Feb 20, 2025. It is now read-only.

Commit

Permalink
Fix not quoting the echoed strings properly
Browse files Browse the repository at this point in the history
  • Loading branch information
Azurelol committed Dec 18, 2024
1 parent c0a245d commit 1aa32a6
Showing 1 changed file with 10 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package wooga.gradle.unity.tasks


import com.wooga.spock.extensions.unity.UnityPluginTestOptions
import groovy.json.StringEscapeUtils
import wooga.gradle.unity.UnityTaskIntegrationSpec

import java.util.regex.Matcher
Expand All @@ -13,12 +14,12 @@ class FailingTask extends Unity {

// Escape for ^<, ^>
public static String expectedErrorMessage = """[BuildEngine] Collected errors during build process:
^<BUILD ERRORS^>
<BUILD ERRORS>
[Error] FOO Wooga.UnifiedBuildSystem.Tests.Editor.BuildEngineTest+FailingBuildSteps:FailInElaborateWays (at Packages/com.wooga.unified-build-system/Tests/Editor/BuildEngine/BuildRequestOutputTest.cs:32)
[Error] BAR Wooga.UnifiedBuildSystem.Tests.Editor.BuildEngineTest+FailingBuildSteps:FailInElaborateWays (at Packages/com.wooga.unified-build-system/Tests/Editor/BuildEngine/BuildRequestOutputTest.cs:32)
[Exception] Exception: Boom! Wooga.UnifiedBuildSystem.Editor.BuildTask`1[[Wooga.UnifiedBuildSystem.Editor.BuildTaskArguments, Wooga.Build.Editor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]:Execute (at Packages/com.wooga.build/Editor/Tasks/BuildTask.cs:73)
[Error] Failed to execute task 'FailInElaborateWays' Wooga.UnifiedBuildSystem.Editor.BuildEngine+State:SetBuildFailure (at Packages/com.wooga.unified-build-system/Editor/BuildEngine/BuildEngine.cs:89)
^</BUILD ERRORS^>""".stripIndent()
</BUILD ERRORS>""".stripIndent()

static String buildErrorStartMarker = "<BUILD ERRORS>"
static String buildErrorEndMarker = "</BUILD ERRORS>"
Expand All @@ -35,13 +36,18 @@ class FailingTask extends Unity {
}

class FailTaskIntegrationSpec extends UnityTaskIntegrationSpec<FailingTask>{

static String echoError(String message) {
"""echo "${StringEscapeUtils.escapeJava(message).replace("`", "\\`") }" 1>&2 """
}

@UnityPluginTestOptions(writeMockExecutable = false)
def "throws composited exception message"() {

given:
writeMockExecutable({
it.text += "\n${FailingTask.expectedErrorMessage.readLines().collect{"echo $it 1>&2"}.join("\n")}"
it.printEnvironment = false
it.text += "\n${FailingTask.expectedErrorMessage.readLines().collect{echoError(it) }.join("\n")}"
it.printEnvironment = false
it.exitValue = 666
})

Expand Down

0 comments on commit 1aa32a6

Please sign in to comment.