commit 261d43cdd5f9dbd9b67303f8c8042a38a37995ca Author: Nick Mathewson nickm@torproject.org Date: Tue May 14 19:49:50 2019 -0400
Make testing_disable_reproducible_rng() log seed on test failure
This should let us simplify test_prob_distr.c and other stuff in the future. --- src/test/rng_test_helpers.c | 17 ++++++++++++++++- src/test/rng_test_helpers.h | 3 +-- 2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/test/rng_test_helpers.c b/src/test/rng_test_helpers.c index 262d380bd..c4243f5e9 100644 --- a/src/test/rng_test_helpers.c +++ b/src/test/rng_test_helpers.c @@ -17,6 +17,7 @@ #include "core/or/or.h"
#include "lib/crypt_ops/crypto_rand.h" +#include "ext/tinytest.h"
#include "test/rng_test_helpers.h"
@@ -54,7 +55,8 @@ static uint8_t rng_seed[16]; static crypto_xof_t *rng_xof = NULL;
/** - * Print the seed for our PRNG to stdout. We use this when we're + * Print the seed for our PRNG to stdout. We use this when we're failed + * test that had a reproducible RNG set. **/ void testing_dump_reproducible_rng_seed(void) @@ -224,3 +226,16 @@ testing_disable_rng_override(void)
rng_is_replaced = false; } + +/** + * As testing_disable_rng_override(), but dump the seed if the current + * test has failed. + */ +void +testing_disable_reproducible_rng(void) +{ + if (tinytest_cur_test_has_failed()) { + testing_dump_reproducible_rng_seed(); + } + testing_disable_rng_override(); +} diff --git a/src/test/rng_test_helpers.h b/src/test/rng_test_helpers.h index 907099450..d7925148a 100644 --- a/src/test/rng_test_helpers.h +++ b/src/test/rng_test_helpers.h @@ -14,8 +14,7 @@ void testing_prefilled_rng_reset(void);
void testing_disable_rng_override(void);
-#define testing_disable_reproducible_rng() \ - testing_disable_rng_override() +void testing_disable_reproducible_rng(void); #define testing_disable_deterministic_rng() \ testing_disable_rng_override() #define testing_disable_prefilled_rng() \
tor-commits@lists.torproject.org