summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Stephani <phst@google.com>2020-12-31 00:05:14 +0100
committerPhilipp Stephani <phst@google.com>2020-12-31 00:06:04 +0100
commitf43f1e32e92ef341077b4ffdfdd743b1a6d9d284 (patch)
tree6714a3305e58769702a50f8ff55b05e42b1635e9
parentab5f550bd9ad0bc5d7b6df99093b7eda23218ae6 (diff)
downloademacs-f43f1e32e92ef341077b4ffdfdd743b1a6d9d284.tar.gz
Fix a potential unit test breakage on GNU/Linux.
* test/src/process-tests.el (process-tests/fd-setsize-no-crash/make-process): Allow special exit codes that can happen if terminal setup fails in the child process.
-rw-r--r--test/src/process-tests.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/src/process-tests.el b/test/src/process-tests.el
index 3a19b6c6f14..590f72f9b03 100644
--- a/test/src/process-tests.el
+++ b/test/src/process-tests.el
@@ -525,7 +525,14 @@ FD_SETSIZE file descriptors (Bug#24325)."
(dolist (process processes)
(while (accept-process-output process))
(should (eq (process-status process) 'exit))
- (should (eql (process-exit-status process) 0))))))))))
+ ;; If there's an error between fork and exec, Emacs
+ ;; will use exit statuses between 125 and 127, see
+ ;; process.h. This can happen if the child process
+ ;; tries to set up terminal device but fails due to
+ ;; file number limits. We don't treat this as an
+ ;; error.
+ (should (memql (process-exit-status process)
+ '(0 125 126 127)))))))))))
(ert-deftest process-tests/fd-setsize-no-crash/make-pipe-process ()
"Check that Emacs doesn't crash when trying to use more than