Test that ERT creates a list of executed tests from erts files

* test/lisp/emacs-lisp/ert-resources/erts-file-test-list-fail.erts:
* test/lisp/emacs-lisp/ert-resources/erts-file-test-list.erts: New erts
files.
* test/lisp/emacs-lisp/ert-tests.el (ert-test-list-of-erts-file-tests):
New test.
This commit is contained in:
Roi Martin 2026-04-22 16:48:16 +02:00 committed by Michael Albinus
parent 402a0b7075
commit 7f1e54c61a
3 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,23 @@
Name: foo
=-=
FOO
=-=
FOO
=-=-=
Name: bar
=-=
BAR
=-=
BAZ
=-=-=
Name: quux
=-=
QUUX
=-=
QUUX
=-=-=

View file

@ -0,0 +1,32 @@
Name: foo
=-=
FOO
=-=
FOO
=-=-=
Name: bar
=-=
BAR
=-=
BAR
=-=-=
Name: baz
Skip: t
=-=
BAZ
=-=
BAZ
=-=-=
Name: quux
=-=
QUUX
=-=
QUUX
=-=-=

View file

@ -1052,6 +1052,25 @@ F failing-test
(ert-test-erts-file (ert-resource-file "erts-skip-last.erts")
(lambda () ())))
(ert-deftest ert-test-list-of-erts-file-tests ()
"Test that the list of tests from erts files is created correctly."
(let ((run-erts-file-tests
(lambda (erts-file)
(let* ((ert-test (make-ert-test
:body (lambda ()
(ert-test-erts-file
(ert-resource-file erts-file)
(lambda () ())))))
(result (ert-run-test ert-test))
(erts-file-tests (ert-test-result-erts-file-tests result)))
(mapcar (lambda (desc)
(cdr (assq 'name desc)))
erts-file-tests)))))
(should (equal (funcall run-erts-file-tests "erts-file-test-list.erts")
'("foo" "bar" "quux")))
(should (equal (funcall run-erts-file-tests "erts-file-test-list-fail.erts")
'("foo" "bar")))))
(provide 'ert-tests)
;;; ert-tests.el ends here