;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 malte Frank Gerdes <malte.f.gerdes@gmail.com>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
+ #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages storage)
#:use-module (ice-9 match))
(define-public fio
(package
(name "fio")
- (version "3.20")
+ (version "3.25")
(source (origin
(method url-fetch)
(uri (string-append "https://brick.kernel.dk/snaps/"
"fio-" version ".tar.bz2"))
(sha256
(base32
- "1mwqafn81a9pxy2kw9rl4p3r2brhg2ckwrcwzy0q4gffxgn3k9c7"))))
+ "16r734an459cz1ax3jyhxc269i3syzdkll4qbv18wqaxpm5y34v6"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
(if (string=? (package-name mpi) "openmpi")
""
(string-append "-" (package-name mpi)))))
- (version "2019.3")
+ (version "2019.6")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0si5xi6ilhd3w0gbsg124589pvp094hvf366rvjjb9pi7pdk5p4i"))))
+ "02hxbk9g9nl59bk5qcfl3djj7b58vsqys340m1xdbyqwcrbnahh9"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Some source configuration files in the original tarball
+ ;; have inappropriate execute permissions, which interferes
+ ;; with the install phase below.
+ (for-each (lambda (file) (chmod file #o444))
+ (find-files "WINDOWS" "."))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("mpi" ,mpi)))
(define-public benchmark
(package
(name "benchmark")
- (version "1.5.0")
+ (version "1.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0r9dbg4cbk47gwmayys31a83m3y67k0kh1f6pl8i869rbd609ndh"))
- (patches (search-patches "benchmark-unbundle-googletest.patch"))))
+ "13rxagpzw6bal6ajlmrxlh9kgfvcixn6j734b2bvfqz7lch8n0pa"))))
(build-system cmake-build-system)
(native-inputs
- `(("googletest" ,googletest)))
+ `(("googletest-source" ,(package-source googletest))
+ ("googletest" ,googletest)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-googletest
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "googletest-source")
+ "googletest")
+ #t)))))
(home-page "https://github.com/google/benchmark")
(synopsis "Microbenchmark support library")
(description
- "Benchmark is a library to benchmark code snippets,
-similar to unit tests.")
+ "Benchmark is a library to benchmark code snippets, similar to unit
+tests.")
(license license:asl2.0)))
(define-public bonnie++
speed, the number of seeks that can be performed per second, and the number of
file metadata operations that can be performed per second.")
(license license:gpl2))) ;GPL 2 only, see copyright.txt
+
+(define-public python-locust
+ (package
+ (name "python-locust")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "locust" version))
+ (sha256
+ (base32
+ "1q2nza37fwsqf8qdmisfz6bmjpss90shi1bajrclf6gkbslhryxl"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'extend-PATH
+ ;; Add the 'locust' script to PATH, which is used in the test
+ ;; suite.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "PATH" (string-append out "/bin:"
+ (getenv "PATH"))))
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "python" "-m" "pytest"
+ "-k" (string-join
+ (list
+ ;; These tests return "non-zero exit status 1".
+ "not test_default_headless_spawn_options"
+ "not test_default_headless_spawn_options_with_shape"
+ "not test_headless_spawn_options_wo_run_time"
+ ;; This test depends on networking.
+ "not test_web_options"
+ ;; This test fails because of the warning "System open
+ ;; file limit '1024' is below minimum setting '10000'".
+ "not test_skip_logging") " and "))
+ #t)))))
+ (propagated-inputs
+ `(("python-configargparse" ,python-configargparse)
+ ("python-flask" ,python-flask)
+ ("python-flask-basicauth" ,python-flask-basicauth)
+ ("python-gevent" ,python-gevent)
+ ("python-geventhttpclient" ,python-geventhttpclient)
+ ("python-msgpack" ,python-msgpack)
+ ("python-psutil" ,python-psutil)
+ ("python-pyzmq" ,python-pyzmq)
+ ("python-requests" ,python-requests)
+ ("python-werkzeug" ,python-werkzeug)))
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("python-pyquery" ,python-pyquery)
+ ("python-pytest" ,python-pytest))) ;for more easily skipping tests
+ (home-page "https://locust.io/")
+ (synopsis "Distributed load testing framework")
+ (description "Locust is a performance testing tool that aims to be easy to
+use, scriptable and scalable. The test scenarios are described in plain
+Python. It provides a web-based user interface to visualize the results in
+real-time, but can also be run non-interactively. Locust is primarily geared
+toward testing HTTP-based applications or services, but it can be customized to
+test any system or protocol.")
+ (license license:expat)))