Test to pass if a specific exit code #25954
-
When running some tests and am actually checking for specific exit codes to ensure it fails with the exit code expected. For example, if the code exits with exit code 1 then the test has passed. However with Actions when this happens then it is classed as a failure. Is there a way to state if a specific exitcode is output then it is a pass.? Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
That would be possible by wrapping your test in something that checks the exit code, e.g. a Python script:
However, you should only do that if you’re specifically testing error conditions. A successful run of your program should always lead to an error code of zero. If you want, you can integrate the Python script into the workflow file by setting |
Beta Was this translation helpful? Give feedback.
-
Thanks for this. It is the sort of thing that I thought I might have to do. It is a shame Actions doesn’t have something built-in yet. For the majority of tests, I am looking for a 0 exit code, so this would only apply for some tests where I specifically want a failure. My script only outputs the following 0 (pass), 1 (fatal), 2 (error), 3 (warn) and depending upon the test I will be looking for one of these. My scripts are all BASH so I will likely create what you have posted in BASH. Maybe a wrapper script that I can pass parameters that will then run the script and if the script provides the expected exit code with the wrapper will output exit code 0 and exit code 1 for unexpected code. e.g
Hopefully, there will be an inbuilt option in the future. But for now, I think this should do the trick. |
Beta Was this translation helpful? Give feedback.
That would be possible by wrapping your test in something that checks the exit code, e.g. a Python script:
However, you should only do that if you’re specifically testing error conditions. A successful run of your program should always lead to an error code of zero.
If you want, you can integrate the Python script into the workflow file by setting
shell: python
on arun
step.