cyrusimap / cassandane

Other
6 stars 11 forks source link

option to re-run failed/errored tests from previous run only #86

Closed elliefm closed 4 years ago

elliefm commented 4 years ago

Kind of a note to self, so that I don't forget that i want this:

Each run, truncate and record a list of failed and errored tests to like ".failed". This will need to be done carefully to ensure that multi-job runs don't get in each others' way, and intersperse their output. Maybe it ought to be updated approximately as each test finishes (not in a big batch at the end), so that if Cassandane crashes out early you don't miss out on it?

Then add some kinda --rerun switch to testrunner.pl that uses the .failed file as its input of what to run.

This will mostly be useful when you want verbose output, but only from stuff that's gonna fail, and you don't wanna manually construct a list from the terminal scrollback.

Maybe there's a bonus feature to distinguish between FAILED and ERROR states and rerun only one or the other, but I'm not sure it's that useful, so I probably wouldn't bother unless the implementation shakes out to be trivial

elliefm commented 4 years ago

Another thing that might be very useful, and whose implementation might intersect with this, would be if the "prettier" formatter still wrote the full error report, but to a file called ".reports" (which it truncates and recreates each run).

That way if you happen to trigger one of the hard-to-reproduce edge cases while running in "prettier" mode, you have a window where you can go back and see/save the details, if you want, but it doesn't get in the way.

elliefm commented 4 years ago

Both of these are done now -- the files are $rootdir/failed and $rootdir/reports, where $rootdir is what you configured in your cassandane.ini

Putting them in the current directory was a nuisance, since it was probably owned by your own account, but the files needed to be written by the cyrus user