Skip to content

Commit

Permalink
cl_git_fail: do not report bogus error message
Browse files Browse the repository at this point in the history
When we expect a checkout operation to fail, but it succeeds, we
actually do not want to see the error messages that were generated in
the meantime for errors that were handled gracefully by the code (e.g.
when an object could not be found in a pack: in this case, the next
backend would have been given a chance to look up the object, and
probably would have found it because the checkout succeeded, after all).

Which means that in the specific case of `cl_git_fail()`, we actually
want to clear the global error state _after_ evaluating the command: we
know that any still-available error would be bogus, seeing as the
command succeeded (unexpectedly).

Signed-off-by: Johannes Schindelin <[email protected]>
  • Loading branch information
dscho authored and ethomson committed Dec 10, 2019
1 parent 6bd37c3 commit d29d4de
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion tests/clar_libgit2.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
* calls that are supposed to fail!
*/
#define cl_git_fail(expr) do { \
git_error_clear(); \
if ((expr) == 0) \
git_error_clear(), \
cl_git_report_failure(0, 0, __FILE__, __LINE__, "Function call succeeded: " #expr); \
} while (0)

Expand Down

0 comments on commit d29d4de

Please sign in to comment.