Browse Source

Make unit tests slower but more reliable by disabling an old optimization.
To turn it back on, re-define CACHE_GENERATED_KEYS option in test.c.

svn:r17677

Nick Mathewson 17 years ago
parent
commit
290b6f54a3
1 changed files with 11 additions and 0 deletions
  1. 11 0
      src/or/test.c

+ 11 - 0
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