I would like to contribute stress-ng. Also present in Debian, Fedora,
FreeBSD, Ubuntu, ...
https://github.com/ColinIanKing/stress-ng
SUMMARY="Tool to load and stress a computer"
DESCRIPTION="\
The stress-ng tool can stress various subsystems of a computer. It can
stress load CPU, cache, disk, memory, socket and pipe I/O, scheduling
and much more. It is a re-write of the original 'stress' tool but has
many additional features and considerably more stress mechanisms."
stress-ng-0.18.04-1.tar.gz:
usr/bin/stress-ng.exe
usr/share/bash-completion/completions/stress-ng
usr/share/doc/stress-ng/COPYING.gz
usr/share/doc/stress-ng/README.md
usr/share/doc/stress-ng/TODO
usr/share/doc/stress-ng/syscalls.txt
usr/share/man/man1/stress-ng.1.gz
usr/share/stress-ng/example-jobs/cpu-cache.job
usr/share/stress-ng/example-jobs/cpu.job
usr/share/stress-ng/example-jobs/device.job
usr/share/stress-ng/example-jobs/example.job
usr/share/stress-ng/example-jobs/filesystem.job
usr/share/stress-ng/example-jobs/hot-cpu.job
usr/share/stress-ng/example-jobs/interrupt.job
usr/share/stress-ng/example-jobs/io.job
usr/share/stress-ng/example-jobs/matrix-methods.job
usr/share/stress-ng/example-jobs/memory.job
usr/share/stress-ng/example-jobs/network.job
usr/share/stress-ng/example-jobs/pipe.job
usr/share/stress-ng/example-jobs/scheduler.job
usr/share/stress-ng/example-jobs/security.job
usr/share/stress-ng/example-jobs/vm.job
--
Regards,
Christian
# cygport script for stress-ng
NAME=stress-ng
VERSION=0.18.04
GIT_REV=77bb7ae
RELEASE=1
SOURCE_DATE="2024-09-13 17:00:00 UTC"
SUMMARY="Tool to load and stress a computer"
DESCRIPTION="\
The stress-ng tool can stress various subsystems of a computer. It can
stress load CPU, cache, disk, memory, socket and pipe I/O, scheduling
and much more. It is a re-write of the original 'stress' tool but has
many additional features and considerably more stress mechanisms."
LICENSE="GPL-2.0-or-later"
CATEGORY="Utils"
REQUIRES="" # libbsd0 libcrypt2 libgcc1 libgmp10 libjpeg8 libmpfr6
# libstdc++6 zlib0
BUILD_REQUIRES="cygwin-devel eigen3 libbsd-devel libcrypt-devel
libgmp-devel libjpeg-devel libmpfr-devel zlib-devel"
# binutils gcc-g++ gzip make
HOMEPAGE="https://github.com/ColinIanKing/stress-ng"
SRC_URI="https://github.com/ColinIanKing/stress-ng/tarball/V${PV}#/${P}.tar.gz"
SRC_DIR="ColinIanKing-stress-ng-${GIT_REV}"
SOURCE_DATE_EPOCH=$(date -d "$SOURCE_DATE" +%s) # 'export' not needed
src_compile() {
cd ${B}
# Makefile does not support builds outside of srcdir
lndirs
# Create config and configs/HAVE_*
cygmake config
# Ensure that all BUILD_REQUIRES were detected
local d
for d in \
ATOMIC EIGEN LIB_ACL LIB_BSD LIB_CRYPT LIB_GMP LIB_JPEG LIB_MPFR \
LIB_PTHREAD LIB_Z
do
grep " HAVE_$d\$" "configs/HAVE_$d" >/dev/null 2>&1 \
|| error "'HAVE_$d' not set because the required library is
missing"
done
# __USE_GNU fixes misdetection of musl libc
# PRESERVE_CFLAGS prevents that _FORTIFY_SOURCE=3 is downgraded to 2
cygmake CFLAGS="${CFLAGS} -D__USE_GNU" PRESERVE_CFLAGS=1 VERBOSE=1
}
src_test() {
cd ${B}
# Run supported subset from debian/tests/lite-test
local e=0 n=0 s t
for t in \
atomic branch cache cpu funccall funcret get heapsort hsearch \
icache lsearch matrix matrix-3d memcpy mergesort nop null pthread \
qsort radixsort rdrand shellsort skiplist sleep str stream switch \
sysinfo tree tsearch vecmath wait
do
echo "*** Stress test $((++n)): $t ***"
s=0
./stress-ng -v -M -t 1 --$t 4 --timestamp --verify || s=$?
if [ $s != 0 ]; then
warning "Stress test '$t' failed with status=$s"
: $((++e))
fi
done
test $e = 0 || error "$e of $n stress test(s) failed"
inform "All $n stress tests succeeded"
}
src_install() {
cd ${B}
cyginstall
cd ${S}
dodoc COPYING syscalls.txt
gzip -9nv ${D}/usr/share/doc/${PN}/COPYING
}