summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/test.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/or/test.c b/src/or/test.c
index 30042621d4..2fa2aac12e 100644
--- a/src/or/test.c
+++ b/src/or/test.c
@@ -106,16 +106,27 @@ remove_directory(void)
rmdir(temp_dir);
}
+/** Define this if unit tests spend too much time generating public keys*/
+#undef CACHE_GENERATED_KEYS
+
static crypto_pk_env_t *pregen_keys[5] = {NULL, NULL, NULL, NULL, NULL};
static crypto_pk_env_t *
pk_generate(int idx)
{
+#ifdef CACHE_GENERATED_KEYS
tor_assert(idx < (int)(sizeof(pregen_keys)/sizeof(pregen_keys[0])));
if (! pregen_keys[idx]) {
pregen_keys[idx] = crypto_new_pk_env();
tor_assert(!crypto_pk_generate_key(pregen_keys[idx]));
}
return crypto_pk_dup_key(pregen_keys[idx]);
+#else
+ crypto_pk_env_t *result;
+ (void) idx;
+ result = crypto_new_pk_env();
+ tor_assert(!crypto_pk_generate_key(result));
+ return result;
+#endif
}
static void