diff mbox series

[bug#69975] gnu: Add bash-unit.

Message ID dfbe855483107af9b78bed34ac64eb80bcc43993.1711269603.git.chris@bumblehead.com
State New
Headers show
Series [bug#69975] gnu: Add bash-unit. | expand

Commit Message

chris March 24, 2024, 8:40 a.m. UTC
*  (bash-unit): New variable.

Change-Id: I0952538a456e2ce5f6bbb94c0fa8c1b467606835
---
 gnu/packages/bash.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)


base-commit: 28bc0e870b4d48b8e3e773382bb0e999df2e3611
diff mbox series

Patch

diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index bb3359d5d1..17a371d385 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -7,6 +7,7 @@ 
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
 ;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2024 chris <chris@bumblehead.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -47,6 +48,7 @@  (define-module (gnu packages bash)
   #:use-module (guix monads)
   #:use-module (guix store)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system trivial)
   #:autoload   (guix gnupg) (gnupg-verify*)
   #:autoload   (guix base32) (bytevector->nix-base32-string)
@@ -481,3 +483,33 @@  (define-public blesh
 which replaces the default GNU Readline.  It adds syntax highlighting, auto
 suggestions, vim modes, and more to Bash interactive sessions.")
     (license license:bsd-3)))
+
+(define-public bash-unit
+  (package
+    (name "bash-unit")
+    (version "2.3.1")
+    (home-page "https://github.com/pgrange/bash_unit")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "16vaw9lc7g43g9va1kxbzxqs6b1mawsj4gqi8izz9km3dkbn3pli"))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:install-plan '(("bash_unit" "bin/"))
+       #:phases (modify-phases %standard-phases
+                  (add-before 'install 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "./bash_unit" "tests/test_core.sh")) #t)))))
+    (inputs (list bash-minimal))
+    (synopsis "Bash unit testing framework")
+    (description
+     "@command{bash_unit} allows you to write unit tests, run them and, in case of
+ failure, display the stack trace with source file and line number indications
+ to locate the problem.")
+    (license license:gpl3+)))