From: Phillip Wood Date: Wed, 31 May 2017 19:02:53 GMT Subject: Re: [PATCH 2/3] rebase: Add tests for console output Message-ID: <39cd140a-4ba1-f3ee-d945-bf43199d4a82@talktalk.net> In-Reply-To: <20170531104213.16944-3-phillip.wood@talktalk.net> On 31/05/17 11:42, Phillip Wood wrote: > From: Phillip Wood > > Check the console output when using --autostash and the stash applies > cleanly is what we expect. To avoid this test depending on commit and > stash hashes it uses sed to replace them with XXX. The sed script also > replaces carriage returns in the output with '\r' to avoid embedded > '^M's in the expected output files. Unfortunately this means we still > end up with an embedded '^M' in the sed script which may not be > preserved when sending this. The last line of the sed script should be > +s/^M/\\r/g Thinking about this it might be better to create the sed script with printf when running the test > Signed-off-by: Phillip Wood > --- > t/t3420-rebase-autostash.sh | 10 +++++++++- > t/t3420/expected-success-am | 6 ++++++ > t/t3420/expected-success-interactive | 4 ++++ > t/t3420/expected-success-merge | 30 ++++++++++++++++++++++++++++++ > t/t3420/remove-ids.sed | 6 ++++++ > 5 files changed, 55 insertions(+), 1 deletion(-) > > diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh > index ab8a63e8d6dc643b28eb0c74ba3f032b7532226f..886be63c6d13e1ac4197a1b185659fb3d7d7eb26 100755 > --- a/t/t3420-rebase-autostash.sh > +++ b/t/t3420-rebase-autostash.sh > @@ -53,12 +53,20 @@ testrebase() { > git checkout -b rebased-feature-branch feature-branch && > test_when_finished git branch -D rebased-feature-branch && > echo dirty >>file3 && > - git rebase$type unrelated-onto-branch && > + git rebase$type unrelated-onto-branch >tmp 2>&1 && > grep unrelated file4 && > grep dirty file3 && > git checkout feature-branch > ' > > + test_expect_success "rebase$type --autostash: check output" ' > + suffix=${type#\ -} && suffix=${suffix:--am} && > + sed -f $TEST_DIRECTORY/t3420/remove-ids.sed tmp \ > + >actual-success$suffix && > + test_cmp $TEST_DIRECTORY/t3420/expected-success$suffix \ > + actual-success$suffix > + ' > + > test_expect_success "rebase$type: dirty index, non-conflicting rebase" ' > test_config rebase.autostash true && > git reset --hard && > diff --git a/t/t3420/expected-success-am b/t/t3420/expected-success-am > new file mode 100644 > index 0000000000000000000000000000000000000000..c18ded04f703ed2aa83d5e62589a908d0a44cf7e > --- /dev/null > +++ b/t/t3420/expected-success-am > @@ -0,0 +1,6 @@ > +Created autostash: XXX > +HEAD is now at XXX third commit > +First, rewinding head to replay your work on top of it... > +Applying: second commit > +Applying: third commit > +Applied autostash. > diff --git a/t/t3420/expected-success-interactive b/t/t3420/expected-success-interactive > new file mode 100644 > index 0000000000000000000000000000000000000000..b31f71c95ddc9c18ce9956c1aadf53cedd966801 > --- /dev/null > +++ b/t/t3420/expected-success-interactive > @@ -0,0 +1,4 @@ > +Created autostash: XXX > +HEAD is now at XXX third commit > +Rebasing (1/2)\rRebasing (2/2)\rSuccessfully rebased and updated refs/heads/rebased-feature-branch. > +Applied autostash. > diff --git a/t/t3420/expected-success-merge b/t/t3420/expected-success-merge > new file mode 100644 > index 0000000000000000000000000000000000000000..66386f7cb5242a255d9cc64aad741e651ec7ec1e > --- /dev/null > +++ b/t/t3420/expected-success-merge > @@ -0,0 +1,30 @@ > +Created autostash: XXX > +HEAD is now at XXX third commit > +First, rewinding head to replay your work on top of it... > +Merging unrelated-onto-branch with HEAD~1 > +Merging: > +XXX unrelated commit > +XXX second commit > +found 1 common ancestor: > +XXX initial commit > +[detached HEAD XXX] second commit > + Author: A U Thor > + Date: Thu Apr 7 15:14:13 2005 -0700 > + 2 files changed, 2 insertions(+) > + create mode 100644 file1 > + create mode 100644 file2 > +Committed: 0001 second commit > +Merging unrelated-onto-branch with HEAD~0 > +Merging: > +XXX second commit > +XXX third commit > +found 1 common ancestor: > +XXX second commit > +[detached HEAD XXX] third commit > + Author: A U Thor > + Date: Thu Apr 7 15:15:13 2005 -0700 > + 1 file changed, 1 insertion(+) > + create mode 100644 file3 > +Committed: 0002 third commit > +All done. > +Applied autostash. > diff --git a/t/t3420/remove-ids.sed b/t/t3420/remove-ids.sed > new file mode 100644 > index 0000000000000000000000000000000000000000..9e9048b02bd04d287461543d85db0bb715b89f8c > --- /dev/null > +++ b/t/t3420/remove-ids.sed > @@ -0,0 +1,6 @@ > +s/^\(Created autostash: \)[0-9a-f]\{6,\}$/\1XXX/ > +s/^\(HEAD is now at \)[0-9a-f]\{6,\}\( .* commit\)$/\1XXX\2/ > +s/^[0-9a-f]\{6,\}\( .* commit\)$/XXX\1/ > +s/\(detached HEAD \)[0-9a-f]\{6,\}/\1XXX/ > +s/\(could not apply \)[0-9a-f]\{6,\}/\1XXX/g > +s//\\r/g >