From 4fe19fc722405fa2ddc46023795bfe7c8b582ed5 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Fri, 13 Dec 2024 05:41:02 +0800 Subject: [PATCH] Avoid MacOS keychain dialog in integration tests (#32813) (#32816) Backport #32813 by @bohde Mac's git installation ships with a system wide config that configures the credential helper `osxkeychain`, which will prompt the user with a dialog. ``` $ git config list --system credential.helper=osxkeychain ``` By setting the environment variable [`GIT_CONFIG_NOSYSTEM=true`](https://git-scm.com/docs/git-config#ENVIRONMENT), Git will not load the system wide config, preventing the dialog from populating. Closes #26717 Co-authored-by: Rowan Bohde --- tests/integration/integration_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go index 96b2e9bf3d..2e6359c839 100644 --- a/tests/integration/integration_test.go +++ b/tests/integration/integration_test.go @@ -118,6 +118,11 @@ func TestMain(m *testing.M) { os.Unsetenv("GIT_COMMITTER_EMAIL") os.Unsetenv("GIT_COMMITTER_DATE") + // Avoid loading the default system config. On MacOS, this config + // sets the osxkeychain credential helper, which will cause tests + // to freeze with a dialog. + os.Setenv("GIT_CONFIG_NOSYSTEM", "true") + err := unittest.InitFixtures( unittest.FixturesOptions{ Dir: filepath.Join(filepath.Dir(setting.AppPath), "models/fixtures/"),