]> git.eshelyaron.com Git - emacs.git/commitdiff
Small improvement for module assertion test
authorGlenn Morris <rgm@gnu.org>
Mon, 12 Jun 2017 21:17:20 +0000 (17:17 -0400)
committerGlenn Morris <rgm@gnu.org>
Mon, 12 Jun 2017 21:17:20 +0000 (17:17 -0400)
* test/src/emacs-module-tests.el (module--test-assertions):
Don't rely on the precise form of an "Abort" message.

test/src/emacs-module-tests.el

index 99a853b17e0cb2a8aa671ac344c2b4ef55a8bac7..502143dd48dc69f37baa5113030639a2bd4b1e68 100644 (file)
@@ -188,21 +188,21 @@ changes."
   ;; This doesn’t yet cause undefined behavior.
   (should (eq (mod-test-invalid-store) 123))
   (with-temp-buffer
-    (should (equal (call-process mod-test-emacs nil t nil
-                                 "-batch" "-Q" "-module-assertions" "-eval"
-                                 (prin1-to-string
-                                  `(progn
-                                     (require 'mod-test ,mod-test-file)
-                                     ;; Storing and reloading a local
-                                     ;; value causes undefined
-                                     ;; behavior, which should be
-                                     ;; detected by the module
-                                     ;; assertions.
-                                     (mod-test-invalid-store)
-                                     (mod-test-invalid-load))))
-                   ;; FIXME: This string is probably different on
-                   ;; Windows and Linux.
-                   "Abort trap: 6"))
+    ;; FIXME this dumps a core file if the user has them enabled,
+    ;; which seems unfriendly.
+    (should (string-match-p
+             "Abort" ; eg "Aborted" or "Abort trap: 6"
+             (call-process mod-test-emacs nil t nil
+                           "-batch" "-Q" "-module-assertions" "-eval"
+                           (prin1-to-string
+                            `(progn
+                               (require 'mod-test ,mod-test-file)
+                               ;; Storing and reloading a local value
+                               ;; causes undefined behavior, which should be
+                               ;; detected by the module assertions.
+                               (mod-test-invalid-store)
+                               (mod-test-invalid-load))))))
+    ;; FIXME a failure here gives an uninformative error.
     (re-search-backward (rx bos "Emacs module assertion: "
                             "Emacs value not found in "
                             (+ digit) " values of "