Changeset - 335f7f13b934
[Not reviewed]
stable
0 1 0
Mads Kiilerich (mads) - 2 months ago 2026-01-06 21:53:43
mads@kiilerich.com
tests: try harder to prevent Git from reading external configuration

Tests would fail if ~/.gitconfig contained for example:

[init]
defaultBranch = main

Setting GIT_CONFIG_GLOBAL=/dev/null prevents Git from reading ~/.gitconfig ...
but isn't support by Dulwich and doesn't solve the problem.

We will thus work around this issue by setting HOME to the temp test location.
That will prevent Dulwich from reading configuration files by making
os.path.expanduser point to a location with known content.

We also set XDG_CONFIG_HOME to avoid reading ~/.config/git/config .

Setting GIT_CONFIG_NOSYSTEM will prevent reading /etc/gitconfig - that seems
like a good idea too.
1 file changed with 4 insertions and 0 deletions:
0 comments (0 inline, 0 general)
kallithea/tests/conftest.py
Show inline comments
 
@@ -25,6 +25,10 @@ def pytest_configure():
 
    if not kallithea.is_windows:
 
        time.tzset() # only available on Unix
 

	
 
    os.environ['HOME'] = TESTS_TMP_PATH
 
    os.environ['XDG_CONFIG_HOME'] = TESTS_TMP_PATH + '/.config'
 
    os.environ['GIT_CONFIG_NOSYSTEM'] = '1'
 

	
 
    # Disable INFO logging of test database creation, restore with NOTSET
 
    logging.disable(logging.INFO)
 

	
0 comments (0 inline, 0 general)