Skip to content

compilation-error-regexp does not always match test outputs #573

Open
@mplanchard

Description

@mplanchard

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions