The "clar-decls.h" header gets generated by us to extract prototypes of
unit test functions from our clar-based tests. This generated file is
then written into "t/unit-tests/" and included via "unit-test.h". The
intent of all this is that we can keep "-Wmissing-prototype" warnings
enabled. If we had that warning disabled, it would be easy to miss in
case any of the non-static functions had a typo in its name and thus
wasn't picked up by our test case extractor.
Including the file directly has a big downside though: if a source tree
was built both with our Makefile and with Meson, then the Meson build
would include the "clar-decls.h" file from our Makefile. And if those
are out of sync we get compiler errors.
We already fixed a similar issue in 4771501c0a (meson: ensure correct
version-def.h is used, 2025-01-14). Let's do the same and pass the
absolute path to "clar-decls.h" via a preprocessor define.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 lines
351 B
C
16 lines
351 B
C
#include "git-compat-util.h"
|
|
#include "clar/clar.h"
|
|
#include "strbuf.h"
|
|
|
|
#ifndef GIT_CLAR_DECLS_H
|
|
# include "clar-decls.h"
|
|
#else
|
|
# include GIT_CLAR_DECLS_H
|
|
#endif
|
|
|
|
#define cl_failf(fmt, ...) do { \
|
|
char desc[4096]; \
|
|
snprintf(desc, sizeof(desc), fmt, __VA_ARGS__); \
|
|
clar__fail(__FILE__, __func__, __LINE__, "Test failed.", desc, 1); \
|
|
} while (0)
|