aboutsummaryrefslogtreecommitdiff
path: root/tests/nixos/coredumps/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nixos/coredumps/package.nix')
-rw-r--r--tests/nixos/coredumps/package.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/nixos/coredumps/package.nix b/tests/nixos/coredumps/package.nix
new file mode 100644
index 000000000..a7f6434ed
--- /dev/null
+++ b/tests/nixos/coredumps/package.nix
@@ -0,0 +1,16 @@
+{ lib, runCommand, shouldBePresent ? false }:
+
+runCommand "core-dump-now" { } ''
+ set -m
+ sleep infinity &
+
+ # make a coredump
+ kill -SIGSEGV %1
+
+ if ${lib.optionalString (shouldBePresent) "!"} test -n "$(find . -maxdepth 1 -name 'core*' -print -quit)"; then
+ echo "core file was in wrong presence state, expected: ${if shouldBePresent then "present" else "missing"}"
+ exit 1
+ fi
+
+ touch $out
+''