git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] t3400: make test clean up after itself

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Feb 23, 2020, 10:14 UTC
Message-ID
<20200223101407.77036-2-sunshine@sunshineco.com>
In-Reply-To
<20200223101407.77036-1-sunshine@sunshineco.com>

This test intentionally creates a file which causes rebase to fail, thus it is important that this file be deleted before subsequent tests are run which are not expecting such a failure. In the past, the common way to ensure cleanup (regardless of whether the test succeeded or failed) was either for the next test to perform the previous test's cleanup as its first step or to do the cleanup at global scope outside of any tests. With the introduction of 'test_when_finished', however, tests can be responsible for their own cleanup. Therefore, update this test to clean up after itself.

A bit of history: This 'rm' invocation was moved from within the body of
the following test to global scope by bffd750adf (rebase: improve error
message when upstream argument is missing, 2010-05-31), which postdates,
by about a month, introduction of 'test_when_finished' in 3bf7886705
(test-lib: Let tests specify commands to be run at end of test,
2010-05-02).
---
 t/t3400-rebase.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
index 221b35f2df..6e746dca00 100755
--- a/t/t3400-rebase.sh
+++ b/t/t3400-rebase.sh
@@ -143,11 +143,11 @@ test_expect_success 'setup: recover' '
 
 test_expect_success 'Show verbose error when HEAD could not be detached' '
 	>B &&
+	test_when_finished "rm -f B" &&
 	test_must_fail git rebase topic 2>output.err >output.out &&
 	test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" output.err &&
 	test_i18ngrep B output.err
 '
-rm -f B
 
 test_expect_success 'fail when upstream arg is missing and not on branch' '
 	git checkout topic &&
-- 
2.25.1.526.gf05a752211
Previous: Eric SunshineNext: Eric Sunshine
Message 3 of 5 in “git rebase allows branches to be checked out in multiple worktrees”
  1. Mike HommeyFeb 20, 2020
  2. 0/2 git-rebase: refuse to switch to branch checked out elsewhereEric Sunshine, Feb 23, 2020
  3. 1/2 t3400: make test clean up after itselfEric Sunshine, Feb 23, 2020
  4. Eric SunshineFeb 24, 2020
  5. 2/2 rebase: refuse to switch to branch already checked out elsewhereEric Sunshine, Feb 23, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.