[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#53057] [PATCH] gnu: Add stress-ng.
From: |
Tobias Geerinckx-Rice |
Subject: |
[bug#53057] [PATCH] gnu: Add stress-ng. |
Date: |
Thu, 6 Jan 2022 19:06:36 +0100 |
* gnu/packages/admin.scm (stress-ng): New public variable.
---
gnu/packages/admin.scm | 67 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index d45857150f..6e180ec80a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2260,6 +2260,73 @@ (define-public stress
system is under heavy load.")
(license license:gpl2+)))
+(define-public stress-ng
+ (package
+ (name "stress-ng")
+ (version "0.13.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ColinIanKing/stress-ng")
+ (commit (string-append "V" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z9vjn2131iv3pwrh04z6r5ygi1qgad5bi3jhghcvc3v1b4k5ran"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "BINDIR=" #$output "/bin")
+ (string-append "MANDIR=" #$output "/share/man")
+ (string-append "JOBDIR=" #$output
+ "/share/stress-ng/example-jobs")
+ (string-append "BASHDIR=" #$output
+ "/share/bash-completion/completions"))
+ #:test-target "lite-test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-after 'check 'check-a-little-harder
+ ;; XXX Guix supports only one #:test-target. Run more tests.
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (substitute* "debian/tests/fast-test-all"
+ (("EXCLUDE=\"" exclude=)
+ (string-append exclude=
+ ;; Fails if host kernel denies ptracing.
+ "ptrace ")))
+ (invoke "make" "fast-test-all"
+ "-j" (number->string (parallel-job-count)))))))))
+ (inputs
+ (list keyutils
+ kmod
+ libaio
+ libbsd
+ libcap
+ libgcrypt
+ zlib))
+ (home-page "https://github.com/ColinIanKing/stress-ng")
+ (synopsis "Load and stress-test a computer system in various ways")
+ (description
+ "stress-ng stress-tests a computer system by exercising both physical
+subsystems as operating system kernel interfaces. It can stress the CPU,
cache,
+disk, memory, socket and pipe I/O, scheduling, and much more, in various
+selectable ways. This can trip hardware issues such as thermal overruns as
well
+as operating system bugs that occur only when a system is being thrashed hard.
+
+You can also measure test throughput rates, which can be useful to observe
+performance changes across different operating system releases or types of
+hardware. However, stress-ng is not a benchmark. Use it with caution: some of
+the tests can make poorly designed hardware run dangerously hot or make the
+whole system lock up.
+
+Compared to its inspiration, @command{stress}, @command{stress-ng} offers many
+additional options such as the number of bogo operations to run, execution
+metrics, verification of memory and computational operations, and considerably
+more stress mechanisms.")
+ (license license:gpl2+)))
+
(define-public detox
(package
(name "detox")
--
2.34.0
- [bug#53057] [PATCH] gnu: Add stress-ng.,
Tobias Geerinckx-Rice <=