Skip to content

Commit f2f2d97

Browse files
author
Edward Thomson
committed
Test for giterr_capture
1 parent 451aaf8 commit f2f2d97

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

tests/core/errors.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,27 @@ void test_core_errors__new_school(void)
8585

8686
giterr_clear();
8787
}
88+
89+
void test_core_errors__restore(void)
90+
{
91+
git_error_state err_state = {0};
92+
93+
giterr_clear();
94+
cl_assert(giterr_last() == NULL);
95+
96+
cl_assert_equal_i(0, giterr_capture(&err_state, 0));
97+
98+
memset(&err_state, 0x0, sizeof(git_error_state));
99+
100+
giterr_set(42, "Foo: %s", "bar");
101+
cl_assert_equal_i(-1, giterr_capture(&err_state, -1));
102+
103+
cl_assert(giterr_last() == NULL);
104+
105+
giterr_set(99, "Bar: %s", "foo");
106+
107+
giterr_restore(&err_state);
108+
109+
cl_assert_equal_i(42, giterr_last()->klass);
110+
cl_assert_equal_s("Foo: bar", giterr_last()->message);
111+
}

0 commit comments

Comments
 (0)