diff --git a/tests/testsuite/new.rs b/tests/testsuite/new.rs index 8d85f488c55..89a3d47e0e3 100644 --- a/tests/testsuite/new.rs +++ b/tests/testsuite/new.rs @@ -5,11 +5,23 @@ use cargo_test_support::paths; use std::env; use std::fs::{self, File}; -fn create_empty_gitconfig() { +fn create_default_gitconfig() { // This helps on Windows where libgit2 is very aggressive in attempting to // find a git config file. let gitconfig = paths::home().join(".gitconfig"); File::create(gitconfig).unwrap(); + + // If we're running this under a user account that has a different default branch set up + // then tests that assume the default branch is master will fail. We set the default branch + // to master explicitly so that tests that rely on this behavior still pass. + fs::write( + paths::home().join(".gitconfig"), + r#" + [init] + defaultBranch = master + "#, + ) + .unwrap(); } #[cargo_test] @@ -471,7 +483,8 @@ or change the name in Cargo.toml with: #[cargo_test] fn git_default_branch() { // Check for init.defaultBranch support. - create_empty_gitconfig(); + create_default_gitconfig(); + cargo_process("new foo").run(); let repo = git2::Repository::open(paths::root().join("foo")).unwrap(); let head = repo.find_reference("HEAD").unwrap();