-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
throw an error if a command failed #186
Conversation
Codecov Report
@@ Coverage Diff @@
## master #186 +/- ##
==========================================
- Coverage 81.46% 80.93% -0.54%
==========================================
Files 39 39
Lines 2369 2371 +2
Branches 149 149
==========================================
- Hits 1930 1919 -11
- Misses 290 303 +13
Partials 149 149
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #186 +/- ##
==========================================
- Coverage 81.46% 81.08% -0.39%
==========================================
Files 39 39
Lines 2369 2368 -1
Branches 149 147 -2
==========================================
- Hits 1930 1920 -10
- Misses 290 301 +11
+ Partials 149 147 -2
Continue to review full report at Codecov.
|
faa456f
to
503e19d
Compare
I remember this is how Test Machine used to work, and we changed it deliberately to not fail immediately on the first error due to some incremental fix-one-error-then-the-next-cmd-fails type annoyance. I think the issue was specifically with the The last bit of that intention (throw an error at the end if anything failed) might have gotten broken at some point though! So I think everything apart from watcher timeouts should fail fast (a failed write would be fatal say), but the watcher timeouts should not be fatal until the end of all the commands - where we should throw an error if any watcher failed. |
I discussed with @99-not-out but to summarise, it was already previously failing fast on error, and would still not have allowed to run commands after a failed one, so at least now it's failing fast more noisily. |
Approved after chat, we can look at fail fast / not fail fast as optional behaviour in a later change so its explicitly controlled by the caller. |
It's not immediately clear when something went wrong, specially in case of timeouts.
Having it failing noisily and printing out the command that failed would help a lot while writing a new test or debugging an existing test.
This is what it would look like if you have an error in one of the commands with this change (with the results also printed out after that as part of the exception).