This happens in the real world, for example, Atom sets its CWD to the root dir. If user is running some piece of code with an at_exit hook that raises an exception (e.g. they run it on a test and SimpleCov tries to write the results to "./coverage", but cwd is "/", making this "/coverage", which it can't access, and thus Errno::EACCES is raised from the at_exit hook.
In Atom, this leads to an error screen about bug reporting:
Correct behaviour is to print the error at the end, like we would print any other error.
Perhaps we can identify errors raised from within SiB vs outside it by looking at the backtrace?
Example:
This happens in the real world, for example, Atom sets its CWD to the root dir. If user is running some piece of code with an
at_exit
hook that raises an exception (e.g. they run it on a test and SimpleCov tries to write the results to "./coverage", but cwd is "/", making this "/coverage", which it can't access, and thusErrno::EACCES
is raised from theat_exit
hook.In Atom, this leads to an error screen about bug reporting:
Correct behaviour is to print the error at the end, like we would print any other error.
Perhaps we can identify errors raised from within SiB vs outside it by looking at the backtrace?
Thanks to @katelane for reporting.