commit 77e1d660ee5b8e2beae12f3de543d19009aaa8ac Author: teor teor2345@gmail.com Date: Wed Nov 2 14:14:19 2016 +1100
Add get_fname_rnd for unit tests that want a unique path every time --- src/test/test.h | 1 + src/test/testing_common.c | 12 ++++++++++++ 2 files changed, 13 insertions(+)
diff --git a/src/test/test.h b/src/test/test.h index 770f403..25336ac 100644 --- a/src/test/test.h +++ b/src/test/test.h @@ -73,6 +73,7 @@ {print_ = (I64_PRINTF_TYPE) value_;}, {}, TT_EXIT_TEST_FUNCTION)
const char *get_fname(const char *name); +const char *get_fname_rnd(const char *name); struct crypto_pk_t *pk_generate(int idx);
#define US2_CONCAT_2__(a, b) a ## __ ## b diff --git a/src/test/testing_common.c b/src/test/testing_common.c index e28e3dd..1eae07e 100644 --- a/src/test/testing_common.c +++ b/src/test/testing_common.c @@ -125,6 +125,18 @@ get_fname(const char *name) return get_fname_suffix(name, NULL); }
+/** Return a filename with a random suffix, relative to our testing temporary + * directory. If name is NULL, return the name of the testing temporary + * directory, without any suffix. */ +const char * +get_fname_rnd(const char *name) +{ + char rnd[256], rnd32[256]; + crypto_rand(rnd, RAND_PATH_BYTES); + base32_encode(rnd32, sizeof(rnd32), rnd, RAND_PATH_BYTES); + return get_fname_suffix(name, rnd32); +} + /* Remove a directory and all of its subdirectories */ static void rm_rf(const char *dir)
tor-commits@lists.torproject.org