Skip to content

Commit

Permalink
Remove additions to testing API
Browse files Browse the repository at this point in the history
  • Loading branch information
chf2117 committed Oct 10, 2024
1 parent 2880499 commit 48a2975
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 71 deletions.
40 changes: 4 additions & 36 deletions git-branchless-lib/src/testing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -536,15 +536,14 @@ then you can only run tests in the main `git-branchless` and \
/// hash. The filename is always appended to the message prefix.
#[track_caller]
#[instrument]
pub fn commit_file_with_contents_and_message_and_file_name(
pub fn commit_file_with_contents_and_message(
&self,
name: &str,
time: isize,
contents: &str,
message_prefix: &str,
file_name: &str,
) -> eyre::Result<NonZeroOid> {
let message = format!("{message_prefix} {file_name}");
let message = format!("{message_prefix} {name}.txt");
self.write_file_txt(name, contents)?;
self.run(&["add", "."])?;
self.run_with_options(
Expand All @@ -563,26 +562,6 @@ then you can only run tests in the main `git-branchless` and \
Ok(oid)
}

/// Commit a file with given contents and message. The `time` argument is
/// used to set the commit timestamp, which is factored into the commit
/// hash. The filename is always appended to the message prefix.
#[instrument]
pub fn commit_file_with_contents_and_message(
&self,
name: &str,
time: isize,
contents: &str,
message_prefix: &str,
) -> eyre::Result<NonZeroOid> {
self.commit_file_with_contents_and_message_and_file_name(
name,
time,
contents,
message_prefix,
format!("{name}.txt").as_str(),
)
}

/// Commit a file with given contents and a default message. The `time`
/// argument is used to set the commit timestamp, which is factored into the
/// commit hash.
Expand Down Expand Up @@ -946,18 +925,6 @@ pub mod pty {
branchless_subcommand: &str,
args: &[&str],
inputs: &[PtyAction],
) -> eyre::Result<ExitStatus> {
// add "branchless" to subcommand list
run_in_pty_with_command(git, &["branchless", branchless_subcommand], args, inputs)
}

/// Run the provided script in the context of a virtual terminal.
#[track_caller]
pub fn run_in_pty_with_command(
git: &Git,
command: &[&str],
args: &[&str],
inputs: &[PtyAction],
) -> eyre::Result<ExitStatus> {
// Use the native pty implementation for the system
let pty_system = native_pty_system();
Expand All @@ -977,7 +944,8 @@ pub mod pty {
cmd.env(k, v);
}
cmd.env("TERM", "xterm");
cmd.args(command);
cmd.arg("branchless");
cmd.arg(branchless_subcommand);
cmd.args(args);
cmd.cwd(&git.repo_path);

Expand Down
56 changes: 21 additions & 35 deletions git-branchless/tests/test_hooks.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,9 @@ use lib::core::eventlog::{Event, EventLogDb, EventReplayer};
use lib::core::formatting::Glyphs;
use lib::git::GitVersion;
use lib::testing::make_git;
use lib::testing::pty::{run_in_pty_with_command, PtyAction};
use lib::util::get_sh;
use std::process::Command;

const CARRIAGE_RETURN: &str = "\r";

#[test]
fn test_abandoned_commit_message() -> eyre::Result<()> {
let git = make_git()?;
Expand Down Expand Up @@ -425,44 +422,33 @@ fn test_git_rebase_multiple_fixup_does_not_strand_commits() -> eyre::Result<()>
git.init_repo()?;

git.detach_head()?;
git.commit_file_with_contents_and_message_and_file_name(
"test1",
1,
"bleh",
"create",
"test1.txt",
)?;
git.commit_file_with_contents_and_message_and_file_name(
"test2",
2,
"bleh",
"fixup! create",
"test1.txt",
)?;
git.commit_file_with_contents_and_message_and_file_name(
"test3",
3,
"bleh",
"fixup! create",
"test1.txt",
)?;

run_in_pty_with_command(
&git,
&["rebase"],
&["-i", "--autosquash", "master"],
&[
PtyAction::WaitUntilContains(" "),
PtyAction::Write(CARRIAGE_RETURN),
],
)?;

git.write_file("test1.txt", "bleh")?;
git.run(&["add", "."])?;
git.run(&["commit", "-m", "create test1.txt"])?;
git.write_file("test2.txt", "bleh")?;
git.run(&["add", "."])?;
git.run(&["commit", "-m", "fixup! create test1.txt"])?;
git.write_file("test3.txt", "bleh")?;
git.run(&["add", "."])?;
git.run(&["commit", "-m", "fixup! create test1.txt"])?;
git.write_file("test3.txt", "bleh")?;

git.run(&[
"-c",
"sequence.editor=:",
"rebase",
"-i",
"--autosquash",
"master",
])?;

{
let stdout = git.smartlog()?;
insta::assert_snapshot!(stdout, @r###"
O f777ecc (master) create initial.txt
|
@ 916a41f create test1.txt
@ 8777bab create test1.txt
"###);
}

Expand Down

0 comments on commit 48a2975

Please sign in to comment.