From: Gisle Vanem Date: Thu, 7 Apr 2011 22:34:11 +0000 (-0400) Subject: Use GetTempDir instead of hardcoded path to c:\windows\tmp for unittests X-Git-Tag: tor-0.2.3.1-alpha~49^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=70e02914682eb1959d8b385f76b5acf7486158cc;p=thirdparty%2Ftor.git Use GetTempDir instead of hardcoded path to c:\windows\tmp for unittests --- diff --git a/changes/win_tmp_dir b/changes/win_tmp_dir new file mode 100644 index 0000000000..13f6e7f1cf --- /dev/null +++ b/changes/win_tmp_dir @@ -0,0 +1,4 @@ + o Unit tests: + - Use GetTempDir to find the proper temporary directory location on + Windows when generating temporary files for the unit tests. Patch + by Gisle Vanem. diff --git a/src/test/test.c b/src/test/test.c index f5b6a222a7..9b24a99b58 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -84,10 +84,16 @@ setup_directory(void) if (is_setup) return; #ifdef MS_WINDOWS - // XXXX - tor_snprintf(temp_dir, sizeof(temp_dir), - "c:\\windows\\temp\\tor_test_%d", (int)getpid()); - r = mkdir(temp_dir); + { + char buf[MAX_PATH]; + const char *tmp = buf; + /* If this fails, we're probably screwed anyway */ + if (!GetTempPath(sizeof(buf),buf)) + tmp = "c:\\windows\\temp"; + tor_snprintf(temp_dir, sizeof(temp_dir), + "%s\\tor_test_%d", tmp, (int)getpid()); + r = mkdir(temp_dir); + } #else tor_snprintf(temp_dir, sizeof(temp_dir), "/tmp/tor_test_%d", (int) getpid()); r = mkdir(temp_dir, 0700);