(address . bug-guix@gnu.org)
I noticed that the local git configuration interferes with the guix test
suite.
After discussion on IRC with nckx I came up with the attached patch.
Comments are welcome!
Best regards,
g_bor
--
OpenPGP Key Fingerprint: 7988:3B9F:7D6A:4DBF:3719:0367:2506:A96C:CF63:0B21
From abf20477ea139bfaf1f2e21f09c2420fe618c9ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
Date: Tue, 8 Oct 2019 22:41:20 +0200
Subject: [PATCH] tests: Isolate git from external configuration.
* Makefile.am(AM_TESTS_ENVIRONMENT): Add environment variables to
make git ignore the user and system configuration files.
* tests/fake-home/.gitconfig: New file. Provide minimal git
configuration for tests.
---
Makefile.am | 9 ++++++++-
tests/fake-home/.gitconfig | 21 +++++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
create mode 100644 tests/fake-home/.gitconfig
Toggle diff (56 lines)
diff --git a/Makefile.am b/Makefile.am
index 36767c2f47..e7bf819a6b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,6 +14,7 @@
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+# Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
#
# This file is part of GNU Guix.
#
@@ -472,7 +473,13 @@ SH_TESTS = \
TESTS = $(SCM_TESTS) $(SH_TESTS)
-AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)" GUILE_AUTO_COMPILE=0
+AM_TESTS_ENVIRONMENT = \
+ abs_top_srcdir="$(abs_top_srcdir)" \
+ GUILE_AUTO_COMPILE=0 \
+ GIT_CONFIG_NOSYSTEM=1 \
+ GIT_ATTR_NOSYSTEM=1 \
+ HOME="$(abs_top_srcdir)/tests/fake-home" \
+ XDG_CONFIG_HOME="$(abs_top_srcdir)/tests/fake-xgd-config-home"
SCM_LOG_DRIVER = \
$(top_builddir)/test-env --quiet-stderr \
diff --git a/tests/fake-home/.gitconfig b/tests/fake-home/.gitconfig
new file mode 100644
index 0000000000..079cbd0d30
--- /dev/null
+++ b/tests/fake-home/.gitconfig
@@ -0,0 +1,21 @@
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
+#
+# This file is part of GNU Guix.
+#
+# GNU Guix is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GNU Guix is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+[user]
+ email = email@example.com
+ name = Usman
--
2.23.0