From 2693d125a8bcf30efab2441139d5c3a898f56a07 Mon Sep 17 00:00:00 2001 From: Logan Magee Date: Sat, 3 Oct 2020 02:22:19 -0800 Subject: [PATCH] fix: Pass `--no-gpg-sign` to `git commit` in tests (#1718) Some users have commit.gpgSign set to true in their global git config, causing tests which run `git commit` to fail if the configured user.signingKey is not present (as is often the case with PGP smart cards). Passing this flag overrides the global git configuration, preventing git from attempting sign the specified commit. This change has no effect on users who haven't set commit.gpgSign to true. --- src/modules/git_state.rs | 10 +++++++--- src/modules/git_status.rs | 8 ++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/modules/git_state.rs b/src/modules/git_state.rs index 20089f83..a7bfaf4f 100644 --- a/src/modules/git_state.rs +++ b/src/modules/git_state.rs @@ -334,13 +334,17 @@ mod tests { // Write a file on master and commit it write_file("Version A")?; run_git_cmd(&["add", "the_file"], Some(path), true)?; - run_git_cmd(&["commit", "--message", "Commit A"], Some(path), true)?; + run_git_cmd( + &["commit", "--message", "Commit A", "--no-gpg-sign"], + Some(path), + true, + )?; // Switch to another branch, and commit a change to the file run_git_cmd(&["checkout", "-b", "other-branch"], Some(path), true)?; write_file("Version B")?; run_git_cmd( - &["commit", "--all", "--message", "Commit B"], + &["commit", "--all", "--message", "Commit B", "--no-gpg-sign"], Some(path), true, )?; @@ -349,7 +353,7 @@ mod tests { run_git_cmd(&["checkout", "master"], Some(path), true)?; write_file("Version C")?; run_git_cmd( - &["commit", "--all", "--message", "Commit C"], + &["commit", "--all", "--message", "Commit C", "--no-gpg-sign"], Some(path), true, )?; diff --git a/src/modules/git_status.rs b/src/modules/git_status.rs index 9daf94c0..621d3e60 100644 --- a/src/modules/git_status.rs +++ b/src/modules/git_status.rs @@ -813,7 +813,7 @@ mod tests { .current_dir(&repo_dir.path()) .output()?; Command::new("git") - .args(&["commit", "-m", "add new files"]) + .args(&["commit", "-m", "add new files", "--no-gpg-sign"]) .current_dir(&repo_dir.path()) .output()?; @@ -842,7 +842,7 @@ mod tests { File::create(repo_dir.join("readme.md"))?.sync_all()?; Command::new("git") - .args(&["commit", "-am", "Update readme"]) + .args(&["commit", "-am", "Update readme", "--no-gpg-sign"]) .current_dir(&repo_dir) .output()?; barrier(); @@ -870,7 +870,7 @@ mod tests { fs::write(repo_dir.join("Cargo.toml"), " ")?; Command::new("git") - .args(&["commit", "-am", "Update readme"]) + .args(&["commit", "-am", "Update readme", "--no-gpg-sign"]) .current_dir(repo_dir) .output()?; barrier(); @@ -894,7 +894,7 @@ mod tests { barrier(); Command::new("git") - .args(&["commit", "-m", "Change readme"]) + .args(&["commit", "-m", "Change readme", "--no-gpg-sign"]) .current_dir(repo_dir) .output()?; barrier();