GNU bug report logs - #66782
29.1; ERT tests reports test redefined depending on loading sequence

Previous Next

Package: emacs;

Reported by: Xiyue Deng <manphiz <at> gmail.com>

Date: Fri, 27 Oct 2023 21:01:02 UTC

Severity: normal

Found in version 29.1

Done: Mattias Engdegård <mattias.engdegard <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Xiyue Deng <manphiz <at> gmail.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 66782 <at> debbugs.gnu.org
Subject: bug#66782: 29.1; ERT tests report test redefined depending on loading sequence
Date: Mon, 30 Oct 2023 13:47:53 -0700
Mattias Engdegård <mattias.engdegard <at> gmail.com> writes:

> 29 okt. 2023 kl. 22.53 skrev Xiyue Deng <manphiz <at> gmail.com>:
>
>> As far as I know, there is no practical use for a test case to depend on
>> another test case in any language I worked with as a test case provides
>> no reusable component.  On the other hand, there are alternatives that
>> makes more sense to do what they (e.g. lsp-mode) are doing.  Again, IMHO
>> I think it makes sense for ERT not to support it or to even forbid it.
>> Doing this also avoids such misleading error message I was reporting,
>> which got triggered depending on the loading sequence which may make
>> test suites flaky (as the loading sequence is not deterministic).
>
> I don't think ERT can forbid anyone from loading in the same .el file multiple times because it's none of its business. Or did you have something else in mind?
>

It's not that loading the same .el multiple times that caused this
error, but loading a module with `ert-deftest' and both .el modules are
passed to batch ert processing which is common practice.  But see below.

> All in all, I'm not sure there is anything that we can do in Emacs right now that would help, but if you have any concrete suggestions, do tell.
>

I understand if upstream don't want to complicate `require' logic too
much.  However I wonder whether it's OK to add warning if a required
module has `ert-deftest' in it, so that it can help people identify that
a `Test "foo" redefined' error is due to requiring other module instead
of an actual duplicated test name.  How does this sound?

-- 
Xiyue Deng




This bug report was last modified 1 year and 202 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.