Homepage: https://github.com/rswgnu/ert-results
Author: Robert Weiner
Updated:
Filter ERT test results display
See documentation for `ert-select-tests' for test SELECTOR types. Within an interactive Emacs session, if `ert' is called with a regular expression selector argument that matches to multiple test names, all such tests are run, but only a summary line of output is displayed for all passing tests. Thus, the names of the passing matched tests are not displayed. Presently, within the *ert* output buffer, you must press {j} on each individual test summary result to display and jump to the test name and have its status spelled out, rather than abbreviated. This library fixes these problems and extends the ert library with a number of useful commands. The first command, `ert-results-toggle', is bound to {t} within the ERT results buffer. With each press, it toggles between showing and hiding all test results. After hiding the results, point is left on the summary item associated with the test that had been at point, if any. The second command, `ert-results-filter', is bound to {f} within the ERT results buffer. It filters the results to just those entries whose status matches that of the current entry. Point may be on a results entry or on a result character in the results summary. With point on any of the statistics lines in the top section of the results buffer, {f} does the following: Selector: - toggles showing/hiding all test results Passed: - show passed tests only Failed: - show failed tests only Skipped: - show skipped tests only Total: - show all tests The third command, `ert-results-edebug', is bound to {e} within the ERT results buffer, but also can be invoked by name within any ert test definition in any buffer. It instruments the current version of the given test for electric debugging (edebugging) and then steps through it in the test source buffer with edebug. The fourth command, `ert-results-run', is not bound to a key. It works just like `ert-results-edebug' but instead of edebugging, it simply runs the current version of the test. You can bind it yourself to {r} to replace ert's `ert-results-rerun-test-at-point' command if you prefer a single command that you can use in both the results buffer and test definitions. All key bindings for this library are made only if the "ert" library or the user has not already bound them in `ert-results-mode'. ------------ This library also provides the following commands for the results buffer: `ert-results-hide' - hide all test results `ert-results-show' - show all test results `ert-results-display' - show all test results; with prefix arg, hide This library also provides these functions that map over all tests in the results buffer: `ert-results-all-test-bodies' - get a list of test bodies in the buffer `ert-results-all-test-names' - get a list of test names in the buffer `ert-results-all-test-tags' - get a list of test tags in the buffer ------------ To use: Simply load some ERT tests, load this library, interactively run `ert' with a regular expression or string matching to some test names, wait for ERT to output its summary line in the results buffer and then press {t} to see all of the tests that were run together with their final status and any errors. Press {t} again to hide all this detail. Press {f} to filter entries to the current context and {e} to edebug a test at point.