]> git.eshelyaron.com Git - emacs.git/commitdiff
; Add another test for 'eshell-batch-script'
authorJim Porter <jporterbugs@gmail.com>
Sun, 9 Jun 2024 18:53:29 +0000 (11:53 -0700)
committerEshel Yaron <me@eshelyaron.com>
Mon, 10 Jun 2024 07:26:46 +0000 (09:26 +0200)
* lisp/eshell/em-script.el (eshell-close-target): New function.

* test/lisp/eshell/em-script-tests.el (em-script-test/batch-file): New
test; rename old one to...
(em-script-test/batch-file/shebang): ... this.

(cherry picked from commit b91b81957c52306b68b9c122311eb6463343e539)

lisp/eshell/em-script.el
test/lisp/eshell/em-script-tests.el

index 88dad840eaa1427aeb7918c36ede59187782df7f..6cddffdcf5fc990ea58f17ac5f11f3152d97c509 100644 (file)
@@ -137,6 +137,10 @@ Comments begin with `#'."
   "Return non-nil to indicate that the display is line-oriented."
   t)
 
+(cl-defmethod eshell-close-target ((_target eshell-princ-target) _status)
+  "Close the `princ' function TARGET."
+  nil)
+
 ;;;###autoload
 (defun eshell-batch-file ()
   "Execute an Eshell script as a batch script from the command line.
index 94afe775a3b5acb8ecdeaeb869022f942c60e0f9..224e91624615ec2fe04283208b487409340eee37 100644 (file)
 (ert-deftest em-script-test/batch-file ()
   "Test running an Eshell script file as a batch script."
   (skip-unless (not (memq system-type '(windows-nt ms-dos))))
+  (ert-with-temp-file temp-file
+    :text "echo hi"
+    (with-temp-buffer
+      (with-temp-eshell-settings
+       (call-process (expand-file-name invocation-name invocation-directory)
+                     nil '(t nil) nil
+                     "--batch" "-f" "eshell-batch-file" temp-file))
+      (should (equal (buffer-string) "hi\n")))))
+
+(ert-deftest em-script-test/batch-file/shebang ()
+  "Test running an Eshell script file as a batch script via a shebang."
+  (skip-unless (not (memq system-type '(windows-nt ms-dos))))
   (ert-with-temp-file temp-file
     :text (format
            "#!/usr/bin/env -S %s --batch -f eshell-batch-file\necho hi"