aboutsummaryrefslogtreecommitdiff
path: root/tests/modules/programs
diff options
context:
space:
mode:
authorDamien Cassou <damien@cassou.me>2020-06-01 10:08:33 +0200
committerRobert Helgesson <robert@rycee.net>2020-06-06 21:40:41 +0200
commit575cd4b8bac4775c724b95224cd5e23d8a2064ef (patch)
tree86f3621de2779ac14f2ca2f32618ed0324e890e1 /tests/modules/programs
parent68b931aef885d65a70c940300865efc611fcc1dc (diff)
direnv: add initial test for bash integration
Diffstat (limited to 'tests/modules/programs')
-rw-r--r--tests/modules/programs/direnv/bash.nix17
-rw-r--r--tests/modules/programs/direnv/default.nix4
-rw-r--r--tests/modules/programs/direnv/stdlib.nix19
3 files changed, 40 insertions, 0 deletions
diff --git a/tests/modules/programs/direnv/bash.nix b/tests/modules/programs/direnv/bash.nix
new file mode 100644
index 00000000000..db0d6b391f5
--- /dev/null
+++ b/tests/modules/programs/direnv/bash.nix
@@ -0,0 +1,17 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+ config = {
+ programs.bash.enable = true;
+ programs.direnv.enable = true;
+
+ nmt.script = ''
+ assertFileExists home-files/.bashrc
+ assertFileRegex \
+ home-files/.bashrc \
+ 'eval "\$(/nix/store/.*direnv.*/bin/direnv hook bash)"'
+ '';
+ };
+}
diff --git a/tests/modules/programs/direnv/default.nix b/tests/modules/programs/direnv/default.nix
new file mode 100644
index 00000000000..82ad15ff06b
--- /dev/null
+++ b/tests/modules/programs/direnv/default.nix
@@ -0,0 +1,4 @@
+{
+ direnv-bash = ./bash.nix;
+ direnv-stdlib = ./stdlib.nix;
+}
diff --git a/tests/modules/programs/direnv/stdlib.nix b/tests/modules/programs/direnv/stdlib.nix
new file mode 100644
index 00000000000..1d06a0bc2a9
--- /dev/null
+++ b/tests/modules/programs/direnv/stdlib.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let expectedContent = "something important";
+in {
+ config = {
+ programs.bash.enable = true;
+ programs.direnv.enable = true;
+ programs.direnv.stdlib = expectedContent;
+
+ nmt.script = ''
+ assertFileExists home-files/.bashrc
+ assertFileRegex \
+ home-files/.config/direnv/direnvrc \
+ '${expectedContent}'
+ '';
+ };
+}