[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Add get_fname_rnd for unit tests that want a unique path every time
commit 77e1d660ee5b8e2beae12f3de543d19009aaa8ac
Author: teor <teor2345@xxxxxxxxx>
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 mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits