summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRoi Martin <jroi.martin@gmail.com>2026-04-22 16:48:16 +0200
committerMichael Albinus <michael.albinus@gmx.de>2026-04-22 18:03:47 +0200
commit7f1e54c61ac4bc06bbb5ba334a91c73e49a9f0ec (patch)
tree9c9d95a50d9a573fc356059c5f585afd19c57750 /test
parent402a0b70752fd4a8e6be1580297a3316af3a11c7 (diff)
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.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/emacs-lisp/ert-resources/erts-file-test-list-fail.erts23
-rw-r--r--test/lisp/emacs-lisp/ert-resources/erts-file-test-list.erts32
-rw-r--r--test/lisp/emacs-lisp/ert-tests.el19
3 files changed, 74 insertions, 0 deletions
diff --git a/test/lisp/emacs-lisp/ert-resources/erts-file-test-list-fail.erts b/test/lisp/emacs-lisp/ert-resources/erts-file-test-list-fail.erts
new file mode 100644
index 00000000000..6683ae37987
--- /dev/null
+++ b/test/lisp/emacs-lisp/ert-resources/erts-file-test-list-fail.erts
@@ -0,0 +1,23 @@
+Name: foo
+
+=-=
+FOO
+=-=
+FOO
+=-=-=
+
+Name: bar
+
+=-=
+BAR
+=-=
+BAZ
+=-=-=
+
+Name: quux
+
+=-=
+QUUX
+=-=
+QUUX
+=-=-=
diff --git a/test/lisp/emacs-lisp/ert-resources/erts-file-test-list.erts b/test/lisp/emacs-lisp/ert-resources/erts-file-test-list.erts
new file mode 100644
index 00000000000..737bcd000a7
--- /dev/null
+++ b/test/lisp/emacs-lisp/ert-resources/erts-file-test-list.erts
@@ -0,0 +1,32 @@
+Name: foo
+
+=-=
+FOO
+=-=
+FOO
+=-=-=
+
+Name: bar
+
+=-=
+BAR
+=-=
+BAR
+=-=-=
+
+Name: baz
+Skip: t
+
+=-=
+BAZ
+=-=
+BAZ
+=-=-=
+
+Name: quux
+
+=-=
+QUUX
+=-=
+QUUX
+=-=-=
diff --git a/test/lisp/emacs-lisp/ert-tests.el b/test/lisp/emacs-lisp/ert-tests.el
index 00020e8bef6..2831a93ec07 100644
--- a/test/lisp/emacs-lisp/ert-tests.el
+++ b/test/lisp/emacs-lisp/ert-tests.el
@@ -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