[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#11218: with-demoted-errors use of condition-case-unless-debug; ert

From: Christian Ohler
Subject: bug#11218: with-demoted-errors use of condition-case-unless-debug; ert
Date: Sun, 20 May 2012 20:03:13 -0700

Stefan Monnier, 2012-05-06:

Collecting additional information about why the test failed is useful
to virtually everyone who bothers running the test; there should be no
reason not to.

I disagree here.  I think it's just as well if the "check" and the
"debug" are done in 2 different steps.

ERT originally worked like you describe, until I got tired of having to re-run each failed test just to get a backtrace. The computer has the information in memory at the time the test fails; it should store it somewhere for me to look at later, rather than making me wait while it tries to recompute it. The backtrace is so basic that I practically always want to see it.

In batch mode, ERT also has to collect the backtrace on every failure; the idea of re-running with debugging enabled makes no sense in that context (if enabling debugging to collect backtraces in batch mode was an optional flag to be set on a second run after noticing failures on the first run, why not set that flag the first time around?). Also, a continuous build system is much more useful if errors come with more information since that increases the chances that the bug can be fixed without first building a specific version on a specific architecture to reproduce it.

The proper solution is to decouple the behaviors, perhaps by splitting
the variable, perhaps by some other means.

No, the proper solution is to make with-demoted-error (when run with
debug-on-error) continue execution (after hitting `c' in the debugger)
as if debug-on-error were nil.

That sounds like a good idea; I would add that it should be possible to invoke this "restart" (in CL terms) programmatically. (This does decouple the behaviors: it allows errors to be demoted regardless of the setting of `debug-on-error'.)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]