branch: elpa/datetime
commit 525e2f3c93c9854816fc3cb7fcd79f3c2e160471
Author: Paul Pogonyshev <pogonys...@gmail.com>
Commit: Paul Pogonyshev <pogonys...@gmail.com>

    Make tests fail with a comprehensible message if run without compiling Java 
helper first; silence a byte-compilation warning.
---
 test/base.el | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/test/base.el b/test/base.el
index d79d4f99e4..e4ffb0e1a3 100644
--- a/test/base.el
+++ b/test/base.el
@@ -41,16 +41,18 @@
   (unless (listp times)
     (setq times (list times)))
   (unless (process-live-p datetime--test-java-process)
-    (let ((default-directory datetime--test-directory))
-      (setq datetime--test-java-process (make-process :name "java-benchmark" 
:buffer "java-benchmark" :stderr "java-benchmark/stderr"
+    (let ((default-directory datetime--test-directory)
+          (stderr            (get-buffer-create "java-benchmark/stderr")))
+      (with-current-buffer stderr
+        (erase-buffer))
+      (setq datetime--test-java-process (make-process :name "java-benchmark" 
:buffer "java-benchmark" :stderr stderr
                                                       :command '("java" 
"ProcessTimestamp")))))
   (let* ((marker           (process-mark datetime--test-java-process))
          (position         (marker-position marker))
          (num-times        (length times))
          (num-result-lines 0)
          result)
-    (save-excursion
-      (set-buffer (marker-buffer marker))
+    (with-current-buffer (marker-buffer marker)
       ;; It is much faster to give "tasks" to the remote process in
       ;; batch, then fetch the results.
       (dolist (time times)
@@ -59,6 +61,9 @@
       (while (< num-result-lines num-times)
         (while (or (= (marker-position marker) position) (/= (char-before 
marker) ?\n))
           (accept-process-output datetime--test-java-process))
+        (unless (process-live-p datetime--test-java-process)
+          (error "ProcessTimestamp process exited unexpectedly with code 
%d:\n%s"
+                 (process-exit-status datetime--test-java-process) 
(with-current-buffer "java-benchmark/stderr" (buffer-string ))))
         (while (> (marker-position marker) position)
           (goto-char position)
           (end-of-line)

Reply via email to