I'm not totally sure when this changed, but the compilation-error-regexp defined by rustic no longer matches the the output I get when a test assertion fails.
My test output generally looks like this:
thread 'module::submodule::subsubmodule' panicked at lib/rs/tests/test-module/models/db-model.rs:454:5:
The value added for rustic-panic in compilation-error-regexp-alist-alist is currently:
"thread '[^']+' panicked at '[^']+', \\([^\n]+\\):\\([0-9]+\\):\\([0-9]+\\)"
The inclusion of the `'[^']+', after "panicked at" is what seems to prevent the match.
I have worked around it locally by adding the following to my use-package config for rustic:
(use-package rustic
:hook
:hook
(rustic-cargo-test-mode
. (lambda () (add-to-list 'compilation-error-regexp-alist
`(,(rx "thread '"
(one-or-more (not "'"))
"' panicked at "
(group (one-or-more not-newline))
":"
(group (one-or-more digit))
":"
(group (one-or-more digit)))
1 2 3))))
which generates the regexp "thread '[^']+' panicked at \\(.+\\):\\([[:digit:]]+\\):\\([[:digit:]]+\\)".
With this in place, jumping back and forth between tests in the rustic test output compilation buffer works again as expected, along with jumping directly to the failing test.
I'm not totally sure when this changed, but the
compilation-error-regexpdefined by rustic no longer matches the the output I get when a test assertion fails.My test output generally looks like this:
The value added for
rustic-panicincompilation-error-regexp-alist-alistis currently:"thread '[^']+' panicked at '[^']+', \\([^\n]+\\):\\([0-9]+\\):\\([0-9]+\\)"The inclusion of the `'[^']+', after "panicked at" is what seems to prevent the match.
I have worked around it locally by adding the following to my
use-packageconfig forrustic:which generates the regexp
"thread '[^']+' panicked at \\(.+\\):\\([[:digit:]]+\\):\\([[:digit:]]+\\)".With this in place, jumping back and forth between tests in the rustic test output compilation buffer works again as expected, along with jumping directly to the failing test.