Browse Source

Fix test to pass without HOME env being set

rl1987 5 years ago
parent
commit
f454c28303
2 changed files with 17 additions and 0 deletions
  1. 3 0
      changes/bug27096
  2. 14 0
      src/test/test_options.c

+ 3 - 0
changes/bug27096

@@ -0,0 +1,3 @@
+  o Minor bugfixes (testing):
+    - Fix two unit tests to work when HOME environment variable is not
+      set. Fixes bug 27096; bugfix on 0.2.8.1-alpha.

+ 14 - 0
src/test/test_options.c

@@ -473,6 +473,11 @@ test_options_validate__uname_for_server(void *ignored)
 {
   (void)ignored;
   char *msg;
+
+  int unset_home_env = 0;
+  if (setenv("HOME", "/home/john", 0) == 0)
+    unset_home_env = 1;
+
   options_test_data_t *tdata = get_options_test_data(
                                       "ORPort 127.0.0.1:5555");
   setup_capture_of_logs(LOG_WARN);
@@ -512,6 +517,8 @@ test_options_validate__uname_for_server(void *ignored)
   free_options_test_data(tdata);
   tor_free(msg);
   teardown_capture_of_logs();
+  if (unset_home_env)
+    unsetenv("HOME");
 }
 
 static void
@@ -1413,6 +1420,11 @@ test_options_validate__paths_needed(void *ignored)
   (void)ignored;
   int ret;
   char *msg;
+
+  int unset_home_env = 0;
+  if (setenv("HOME", "/home/john", 0) == 0)
+    unset_home_env = 1;
+
   setup_capture_of_logs(LOG_WARN);
   options_test_data_t *tdata = get_options_test_data(
                                       "PathsNeededToBuildCircuits 0.1\n"
@@ -1455,6 +1467,8 @@ test_options_validate__paths_needed(void *ignored)
   teardown_capture_of_logs();
   free_options_test_data(tdata);
   tor_free(msg);
+  if (unset_home_env)
+    unsetenv("HOME");
 }
 
 static void