aboutsummaryrefslogtreecommitdiff
path: root/home-manager/tests/modules/misc/debug/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/tests/modules/misc/debug/default.nix')
-rw-r--r--home-manager/tests/modules/misc/debug/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/home-manager/tests/modules/misc/debug/default.nix b/home-manager/tests/modules/misc/debug/default.nix
new file mode 100644
index 00000000000..b42462d0802
--- /dev/null
+++ b/home-manager/tests/modules/misc/debug/default.nix
@@ -0,0 +1,25 @@
+{
+ debug = { pkgs, config, lib, ... }: {
+ home.enableDebugInfo = true;
+ home.packages = with pkgs; [ curl gdb ];
+
+ nmt.script = ''
+ [ -L $TESTED/home-path/lib/debug/curl ] \
+ || fail "Debug-symbols for pkgs.curl should exist in \`/home-path/lib/debug'!"
+
+ #source $TESTED/home-path/etc/profile.d/hm-session-vars.sh
+ #[[ "$NIX_DEBUG_INFO_DIRS" =~ /lib/debug$ ]] \
+ #|| fail "Invalid NIX_DEBUG_INFO_DIRS!"
+ assertFileExists home-path/etc/profile.d/hm-session-vars.sh
+ assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
+ 'NIX_DEBUG_INFO_DIRS=.*/lib/debug'
+
+ # We need to override NIX_DEBUG_INFO_DIRS here as $HOME evalutes to the home
+ # of the user who executes this testcase :/
+ { echo quit | PATH="$TESTED/home-path/bin''${PATH:+:}$PATH" NIX_DEBUG_INFO_DIRS=$TESTED/home-path/lib/debug \
+ gdb curl 2>&1 | \
+ grep 'Reading symbols from ${builtins.storeDir}/'; \
+ } || fail "Failed to read debug symbols from curl in gdb"
+ '';
+ };
+}