mirror of
https://git.proxmox.com/git/libgit2
synced 2025-11-03 02:53:33 +00:00
Add failing test for capture/restore oom error
This commit is contained in:
parent
69adb781e1
commit
5ef4b86015
@ -110,6 +110,29 @@ void test_core_errors__restore(void)
|
||||
cl_assert_equal_s("Foo: bar", giterr_last()->message);
|
||||
}
|
||||
|
||||
void test_core_errors__restore_oom(void)
|
||||
{
|
||||
git_error_state err_state = {0};
|
||||
const char *static_message = NULL;
|
||||
|
||||
giterr_clear();
|
||||
|
||||
giterr_set_oom(); /* internal fn */
|
||||
static_message = giterr_last()->message;
|
||||
|
||||
cl_assert_equal_i(-1, giterr_capture(&err_state, -1));
|
||||
|
||||
cl_assert(giterr_last() == NULL);
|
||||
|
||||
cl_assert_(err_state.error_msg.message != static_message, "pointer to static buffer exposed");
|
||||
|
||||
giterr_restore(&err_state);
|
||||
|
||||
cl_assert(giterr_last()->klass == GITERR_NOMEMORY);
|
||||
|
||||
giterr_clear();
|
||||
}
|
||||
|
||||
static int test_arraysize_multiply(size_t nelem, size_t size)
|
||||
{
|
||||
size_t out;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user