[PATCH v2 03/13] fast-rebase: change assert() to BUG()
- From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
- Date
- May 4, 2021, 02:12 UTC
- Message-ID
- <7dc273d458ea4e2b64706dcb9ce043abd0983b65.1620094339.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.859.v2.git.1620094339.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
assert() can succinctly document expectations for the code, and do so in a way that may be useful to future folks trying to refactor the code and change basic assumptions; it allows them to more quickly find some places where their violations of previous assumptions trips things up.
Unfortunately, assert() can surround a function call with important side-effects, which is a huge mistake since some users will compile with assertions disabled. I've had to debug such mistakes before in other codebases, so I should know better. Luckily, this was only in test code, but it's still very embarrassing. Change an assert() to an if (...) BUG (...).
Signed-off-by: Elijah Newren <newren@gmail.com> --- t/helper/test-fast-rebase.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c index 373212256a66..39fb7f41e8c1 100644 --- a/t/helper/test-fast-rebase.c +++ b/t/helper/test-fast-rebase.c @@ -124,7 +124,8 @@ int cmd__fast_rebase(int argc, const char **argv) assert(oideq(&onto->object.oid, &head)); hold_locked_index(&lock, LOCK_DIE_ON_ERROR); - assert(repo_read_index(the_repository) >= 0); + if (repo_read_index(the_repository) < 0) + BUG("Could not read index"); repo_init_revisions(the_repository, &revs, NULL); revs.verbose_header = 1;
-- gitgitgadget