I have a C++ CMake project that after running unit tests using CMake I also would like to run couple of automated integration [smoke] tests. This is where the "Script Task" comes in handy. For example, we know that the correct default run of one of our algorithms should produce a specific MSE. Therefore I write an integration test using "Script Task" with the following:
./debug/my_ml_algorithm 2> out && grep "\[info\] mse\=1\.99624e-05" out
And this works fine, however, if the line is not matched and therefore grep produces a non-zero exit value the build will fail but it will not indicate that this Script Task named "Integration Test #1: my_ml_algorithm default run" has failed, instead Bamboo shows that the build failed with error "No failed tests found, a possible compilation error occurred." How can I make the Script Task "inform" Bamboo that this integration test is responsible for the failed build?
I would probably parse the output and stick an evaluation in there which sets the exit value to "0" if it is an acceptable result. I do this with robocopy results that are not 0 but are not failures.
I don't know what you're scripting in but something like this should work:
:error rem eval results in a fail
exit 1;
:end rem eval results in a success
exit 0;
To forcely fail a bamboo build, use this one-liner script command (in a bamboo script task with PowerShell interpreter).
throw "your test custom message."
just try this, run your build and it will fail with this message in the logs :)
in my case, i use:
$myPath = "C:\just1\just2" if(Test-Path $myPath) {
Write-Host "Sent fail trigger to bamboo" throw "your test custom message." }
HOPE THIS IS YOUR ANSWER :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.