mu-test: add valgrind check
Make it a bit easier to skip some tests when running under valgrind.
This commit is contained in:
2
Makefile
2
Makefile
@ -93,6 +93,7 @@ $(BUILDDIR_VALGRIND):
|
|||||||
vg_opts:=--enable-debuginfod=no --leak-check=full --error-exitcode=1
|
vg_opts:=--enable-debuginfod=no --leak-check=full --error-exitcode=1
|
||||||
test-valgrind: export G_SLICE=always-malloc
|
test-valgrind: export G_SLICE=always-malloc
|
||||||
test-valgrind: export G_DEBUG=gc-friendly
|
test-valgrind: export G_DEBUG=gc-friendly
|
||||||
|
test-valgrind: export MU_VALGRIND=memcheck
|
||||||
test-valgrind: build-valgrind
|
test-valgrind: build-valgrind
|
||||||
@$(MESON) test -C $(BUILDDIR_VALGRIND) \
|
@$(MESON) test -C $(BUILDDIR_VALGRIND) \
|
||||||
--wrap="$(VALGRIND) $(vg_opts)" \
|
--wrap="$(VALGRIND) $(vg_opts)" \
|
||||||
@ -102,6 +103,7 @@ check-valgrind: test-valgrind
|
|||||||
|
|
||||||
# we do _not_ pass helgrind; but this seems to be a false-alarm
|
# we do _not_ pass helgrind; but this seems to be a false-alarm
|
||||||
# https://gitlab.gnome.org/GNOME/glib/-/issues/2662
|
# https://gitlab.gnome.org/GNOME/glib/-/issues/2662
|
||||||
|
test-helgrind: export MU_VALGRIND=helgrind
|
||||||
test-helgrind: $(BUILDDIR_VALGRIND)
|
test-helgrind: $(BUILDDIR_VALGRIND)
|
||||||
$(MESON) -C $(BUILDDIR_VALGRIND) test \
|
$(MESON) -C $(BUILDDIR_VALGRIND) test \
|
||||||
--wrap="$(VALGRIND) --tool=helgrind --error-exitcode=1" \
|
--wrap="$(VALGRIND) --tool=helgrind --error-exitcode=1" \
|
||||||
|
|||||||
@ -42,6 +42,13 @@ Mu::mu_test_mu_hacker()
|
|||||||
{
|
{
|
||||||
return !!g_getenv("MU_HACKER");
|
return !!g_getenv("MU_HACKER");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
Mu::mu_test_mu_valgrind()
|
||||||
|
{
|
||||||
|
return !!g_getenv("MU_VALGRIND");
|
||||||
|
}
|
||||||
|
|
||||||
/* LCOV_EXCL_STOP*/
|
/* LCOV_EXCL_STOP*/
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -43,6 +43,23 @@ void mu_test_init(int *argc, char ***argv);
|
|||||||
*/
|
*/
|
||||||
bool mu_test_mu_hacker();
|
bool mu_test_mu_hacker();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Are we running under Valgrind?
|
||||||
|
*
|
||||||
|
* @return true or false
|
||||||
|
*/
|
||||||
|
bool mu_test_mu_valgrind();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Skip test when running under valgrind
|
||||||
|
*/
|
||||||
|
#define mu_test_skip_valgrind_return() do { \
|
||||||
|
if (mu_test_mu_valgrind()) { \
|
||||||
|
g_test_skip("skip (valgrind not supported)"); \
|
||||||
|
return; \
|
||||||
|
} \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the timezone
|
* set the timezone
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user