浏览代码

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 年之前
父节点
当前提交
290b6f54a3
共有 1 个文件被更改,包括 11 次插入0 次删除
  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