summary refs log tree commit diff
diff options
context:
space:
mode:
authorKei Kebreau <kkebreau@posteo.net>2019-02-13 16:37:58 -0500
committerKei Kebreau <kkebreau@posteo.net>2019-02-22 20:38:48 -0500
commit8e91cecd7d56b56ae18498996b4f462add77fb60 (patch)
tree333ba3508fd248ecd13f6dacf52d723f9ee21f11
parenta95b2732ca803f0e2267b8d5e0e2535851133d40 (diff)
downloadguix-8e91cecd7d56b56ae18498996b4f462add77fb60.tar.gz
gnu: Add cxxtest.
* gnu/packages/check.scm (cxxtest): New variable.
-rw-r--r--gnu/packages/check.scm47
1 files changed, 46 insertions, 1 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 2b505468a1..c6800a7178 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -22,7 +22,7 @@
 ;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
@@ -324,6 +324,51 @@ normally do not detect.  The goal is to detect only real errors in the code
 (i.e. have zero false positives).")
     (license license:gpl3+)))
 
+(define-public cxxtest
+  (package
+    (name "cxxtest")
+    (version "4.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/cxxtest/cxxtest/"
+                                  version "/cxxtest-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1n7pbj4z9ivx005hqvivj9ddhq8awynzg6jishfbypf6j7ply58w"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir-to-source
+           (lambda _
+             (chdir "python")
+             #t))
+         (add-after 'install 'install-headers
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (include-dir (string-append out "/include/cxxtest")))
+               (for-each (lambda (header-file)
+                           (install-file header-file include-dir))
+                         (find-files "../cxxtest"))
+               #t)))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc-dir (string-append out "/share/doc/cxxtest")))
+               (install-file "../README" doc-dir)
+               (install-file "../doc/guide.txt" doc-dir)
+               (copy-recursively "../sample" (string-append doc-dir "/sample"))
+               #t))))))
+    (propagated-inputs
+     `(("python-ply" ,python-ply)))
+    (home-page "https://cxxtest.com/")
+    (synopsis "Unit testing framework for C++")
+    (description "CxxTest is a unit testing framework for C++ that is similar
+in spirit to JUnit, CppUnit, and xUnit.  CxxTest does not require precompiling
+a CxxTest testing library, it employs no advanced features of C++ (e.g. RTTI)
+and it supports a very flexible form of test discovery.")
+    (license license:lgpl3+)))
+
 (define-public go-gopkg.in-check.v1
   (let ((commit "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec")
         (revision "0"))