mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-09-20 12:22:14 +02:00
Merge remote-tracking branch 'sebastian/bug18242'
This commit is contained in:
commit
69c47ab5fd
@ -42,7 +42,11 @@ EXTRA_DIST+= \
|
||||
|
||||
if COVERAGE_ENABLED
|
||||
TEST_CFLAGS=-fno-inline -fprofile-arcs -ftest-coverage
|
||||
if DISABLE_ASSERTS_IN_UNIT_TESTS
|
||||
TEST_CPPFLAGS=-DTOR_UNIT_TESTS -DTOR_COVERAGE -DDISABLE_ASSERTS_IN_UNIT_TESTS
|
||||
else
|
||||
TEST_CPPFLAGS=-DTOR_UNIT_TESTS -DTOR_COVERAGE
|
||||
endif
|
||||
TEST_NETWORK_FLAGS=--coverage --hs-multi-client 1
|
||||
else
|
||||
TEST_CFLAGS=
|
||||
|
6
changes/bug18242
Normal file
6
changes/bug18242
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor bugfixes (testing):
|
||||
- We no longer disable assertions in the unit tests when coverage
|
||||
is enabled. Instead, we require you to say --disable-asserts-in-tests
|
||||
to the configure script if you need assertions disabled in the
|
||||
unit tests (for example, if you want to perform branch coverage).
|
||||
Fixes bug 18242; bugfix on 0.2.7.1-alpha.
|
@ -41,11 +41,19 @@ AC_ARG_ENABLE(unittests,
|
||||
AS_HELP_STRING(--disable-unittests, [don't build unit tests for Tor. Risky!]))
|
||||
AC_ARG_ENABLE(coverage,
|
||||
AS_HELP_STRING(--enable-coverage, [enable coverage support in the unit-test build]))
|
||||
AC_ARG_ENABLE(asserts-in-tests,
|
||||
AS_HELP_STRING(--disable-asserts-in-tests, [disable tor_assert() calls in the unit tests, for branch coverage]))
|
||||
AC_ARG_ENABLE(system-torrc,
|
||||
AS_HELP_STRING(--disable-system-torrc, [don't look for a system-wide torrc file]))
|
||||
|
||||
if test x$enable_coverage != xyes -a x$enable_asserts_in_tests = xno ; then
|
||||
AC_MSG_ERROR([Can't disable assertions outside of coverage build])
|
||||
fi
|
||||
|
||||
|
||||
AM_CONDITIONAL(UNITTESTS_ENABLED, test x$enable_unittests != xno)
|
||||
AM_CONDITIONAL(COVERAGE_ENABLED, test x$enable_coverage = xyes)
|
||||
AM_CONDITIONAL(DISABLE_ASSERTS_IN_UNIT_TESTS, test x$enable_asserts_in_tests = xno)
|
||||
|
||||
if test "$enable_static_tor" = "yes"; then
|
||||
enable_static_libevent="yes";
|
||||
|
@ -45,9 +45,10 @@
|
||||
#error "Sorry; we don't support building with NDEBUG."
|
||||
#endif
|
||||
|
||||
/* Don't use assertions during coverage. It leads to tons of unreached
|
||||
* branches which in reality are only assertions we didn't hit. */
|
||||
#ifdef TOR_COVERAGE
|
||||
/* Sometimes we don't want to use assertions during branch coverage tests; it
|
||||
* leads to tons of unreached branches which in reality are only assertions we
|
||||
* didn't hit. */
|
||||
#if defined(TOR_UNIT_TESTS) && defined(DISABLE_ASSERTS_IN_UNIT_TESTS)
|
||||
#define tor_assert(a) STMT_BEGIN \
|
||||
(void)(a); \
|
||||
STMT_END
|
||||
|
@ -128,8 +128,8 @@ test_rend_cache_store_v2_desc_as_client(void *data)
|
||||
|
||||
// Test bad base32 failure
|
||||
// This causes an assertion failure if we're running with assertions.
|
||||
// But when doing coverage, we can test it.
|
||||
#ifdef TOR_COVERAGE
|
||||
// But when building without asserts, we can test it.
|
||||
#ifdef DISABLE_ASSERTS_IN_UNIT_TESTS
|
||||
ret = rend_cache_store_v2_desc_as_client(desc_holder->desc_str,
|
||||
"!xqunszqnaolrrfmtzgaki7mxelgvkj", mock_rend_query, NULL);
|
||||
tt_int_op(ret, OP_EQ, RCS_BADDESC);
|
||||
|
Loading…
Reference in New Issue
Block a user