Subject: [PATCH 07/12] tests: Make sure 'guix home reconfigure' backs up files.

From: Ludovic Courtès <[email-masked]>
Date: Sun, 27 Feb 2022 14:53:37 +0100

* tests/guix-home.sh: Create ~/.bashrc and ~/.config/test.conf prior to
'reconfigure' and check whether they were backed up.
---
 tests/guix-home.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/tests/guix-home.sh b/tests/guix-home.sh
index e578559c97..ae3e52c9e1 100644
--- a/tests/guix-home.sh
+++ b/tests/guix-home.sh
@@ -1,7 +1,7 @@
-
 # GNU Guix --- Functional package management for GNU
 # Copyright © 2021 Andrew Tropin <[email-masked]>
 # Copyright © 2021 Oleg Pykhalov <[email-masked]>
+# Copyright © 2022 Ludovic Courtès <[email-masked]>
 #
 # This file is part of GNU Guix.
 #
@@ -54,7 +54,12 @@ trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
     # Test 'guix home reconfigure'.
     #
 
-    printf "# dot-bashrc test file for guix home" > "dot-bashrc"
+    echo "# This file will be overridden and backed up." > "$HOME/.bashrc"
+    mkdir "$HOME/.config"
+    echo "This file will be overridden too." > "$HOME/.config/test.conf"
+    echo "This file will stay around." > "$HOME/.config/random-file"
+
+    echo -n "# dot-bashrc test file for guix home" > "dot-bashrc"
 
     cat > "home.scm" <<'EOF'
 (use-modules (guix gexp)
@@ -100,6 +105,13 @@ EOF
 # the content of bashrc-test-config.sh"
     grep -q "the content of ~/.config/test.conf" "${HOME}/.config/test.conf"
 
+    # This one should still be here.
+    grep "stay around" "$HOME/.config/random-file"
+
+    # Make sure preexisting files were backed up.
+    grep "overridden" "$HOME"/*guix-home*backup/.bashrc
+    grep "overridden" "$HOME"/*guix-home*backup/.config/test.conf
+
     #
     # Test 'guix home describe'.
     #
-- 
2.34.0