summary refs log tree commit diff
path: root/tests/home-import.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-03-20 18:56:46 +0100
committerLudovic Courtès <ludo@gnu.org>2022-03-20 19:02:41 +0100
commit6da2a5a5655668f42ec5b26f875ddbc498e132b6 (patch)
treedbfde9c590cd244e9ae8b25a511db4bc2870838d /tests/home-import.scm
parent92c23970709bc58c33b99ab9449eaf67ac5a0694 (diff)
downloadguix-6da2a5a5655668f42ec5b26f875ddbc498e132b6.tar.gz
home: import: Properly parse aliases that contain quotes.
* guix/scripts/home/import.scm (generate-bash-configuration+modules):
Define 'alias-rx'.
[bash-alias->pair]: Use it.
* tests/home-import.scm (match-home-environment-bash-service-with-alias):
New variable.
("manifest->code: Bash service with aliases"): New test.
Diffstat (limited to 'tests/home-import.scm')
-rw-r--r--tests/home-import.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/home-import.scm b/tests/home-import.scm
index 6d373acf79..ca8aa95431 100644
--- a/tests/home-import.scm
+++ b/tests/home-import.scm
@@ -158,6 +158,29 @@ corresponding file."
                 ('list ('local-file "/tmp/guix-config/.bashrc"
                                     "bashrc"))))))))))
 
+(define-home-environment-matcher match-home-environment-bash-service-with-alias
+  ('begin
+    ('use-modules
+     ('gnu 'home)
+     ('gnu 'packages)
+     ('gnu 'services)
+     ('guix 'gexp)
+     ('gnu 'home 'services 'shells))
+    ('home-environment
+     ('packages
+      ('map ('compose 'list 'specification->package+output)
+            ('list)))
+     ('services
+      ('list ('service
+              'home-bash-service-type
+              ('home-bash-configuration
+               ('aliases
+                ('quote (("grep" . "grep --exclude-from=\"$HOME/.grep-exclude\"")
+                         ("ls" . "ls -p"))))
+               ('bashrc
+                ('list ('local-file "/tmp/guix-config/.bashrc"
+                                    "bashrc"))))))))))
+
 
 (test-assert "manifest->code: No services"
   (eval-test-with-home-environment
@@ -187,4 +210,12 @@ corresponding file."
    (make-manifest '())
    match-home-environment-bash-service))
 
+(test-assert "manifest->code: Bash service with aliases"
+  (eval-test-with-home-environment
+   '((".bashrc"
+      . "# Aliases
+alias ls=\"ls -p\"; alias grep='grep --exclude-from=\"$HOME/.grep-exclude\"'\n"))
+   (make-manifest '())
+   match-home-environment-bash-service-with-alias))
+
 (test-end "home-import")