[tor-commits] [tor/master] set up tmp dir for test suite to run on Android

nickm at torproject.org nickm at torproject.org
Tue Dec 17 20:02:19 UTC 2019


commit 4d4cbf739f24dae421ba5509d084becb50deaf6a
Author: Hans-Christoph Steiner <hans at eds.org>
Date:   Wed Oct 16 18:52:36 2019 +0200

    set up tmp dir for test suite to run on Android
    
    There is no /tmp or mkdtemp on Android, there is /data/local/tmp for
    root and the shell user. So this fakes mkdtemp.  Also, FYI, tor might
    not like the default perms of /data/local/tmp, e.g. 0770.
    
    https://trac.torproject.org/projects/tor/ticket/32172
---
 src/test/testing_common.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/test/testing_common.c b/src/test/testing_common.c
index c28d02be7..378a6f192 100644
--- a/src/test/testing_common.c
+++ b/src/test/testing_common.c
@@ -89,6 +89,17 @@ setup_directory(void)
                  (int)getpid(), rnd32);
     r = mkdir(temp_dir);
   }
+#elif defined(__ANDROID__)
+  /* tor might not like the default perms, so create a subdir */
+  tor_snprintf(temp_dir, sizeof(temp_dir),
+               "/data/local/tmp/tor_%d_%d_%s",
+               (int) getuid(), (int) getpid(), rnd32);
+  r = mkdir(temp_dir, 0700);
+  if (r) {
+    fprintf(stderr, "Can't create directory %s:", temp_dir);
+    perror("");
+    exit(1);
+  }
 #else /* !defined(_WIN32) */
   tor_snprintf(temp_dir, sizeof(temp_dir), "/tmp/tor_test_%d_%s",
                (int) getpid(), rnd32);





More information about the tor-commits mailing list