mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-03 04:57:27 +00:00
checkout::crlf test: don't crash when no idx entry
When there's no matching index entry (for whatever reason), don't try to dereference the null return value to get at the id. Otherwise when we break something in the index API, the checkout test crashes for confusing reasons and causes us to step through it in a debugger thinking that we had broken much more than we actually did.
This commit is contained in:
parent
d1101263f7
commit
de999f260f
@ -278,6 +278,7 @@ void test_checkout_crlf__autocrlf_true_index_size_is_filtered_size(void)
|
||||
void test_checkout_crlf__with_ident(void)
|
||||
{
|
||||
git_index *index;
|
||||
git_index_entry *entry;
|
||||
git_blob *blob;
|
||||
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
|
||||
opts.checkout_strategy = GIT_CHECKOUT_FORCE;
|
||||
@ -310,14 +311,14 @@ void test_checkout_crlf__with_ident(void)
|
||||
|
||||
/* check that blobs have $Id$ */
|
||||
|
||||
cl_git_pass(git_blob_lookup(&blob, g_repo,
|
||||
& git_index_get_bypath(index, "lf.ident", 0)->id));
|
||||
cl_assert((entry = git_index_get_bypath(index, "lf.ident", 0)));
|
||||
cl_git_pass(git_blob_lookup(&blob, g_repo, &entry->id));
|
||||
cl_assert_equal_s(
|
||||
ALL_LF_TEXT_RAW "\n$Id$\n", git_blob_rawcontent(blob));
|
||||
git_blob_free(blob);
|
||||
|
||||
cl_git_pass(git_blob_lookup(&blob, g_repo,
|
||||
& git_index_get_bypath(index, "more2.identcrlf", 0)->id));
|
||||
cl_assert((entry = git_index_get_bypath(index, "more2.identcrlf", 0)));
|
||||
cl_git_pass(git_blob_lookup(&blob, g_repo, &entry->id));
|
||||
cl_assert_equal_s(
|
||||
"\n$Id$\n" MORE_CRLF_TEXT_AS_LF, git_blob_rawcontent(blob));
|
||||
git_blob_free(blob);
|
||||
|
Loading…
Reference in New Issue
Block a user