Selaa lähdekoodia

Use TEST_TMPDIR for writing temporary files if it's set.

Bazel expects all tests to do this.
Brian Silverman 10 vuotta sitten
vanhempi
commit
133be3dc1f
1 muutettua tiedostoa jossa 7 lisäystä ja 0 poistoa
  1. 7 0
      src/google/protobuf/testing/googletest.cc

+ 7 - 0
src/google/protobuf/testing/googletest.cc

@@ -94,6 +94,13 @@ string TestSourceDir() {
 namespace {
 
 string GetTemporaryDirectoryName() {
+  // Tests run under Bazel "should not" use /tmp. Bazel sets this environment
+  // variable for tests to use instead.
+  char *from_environment = getenv("TEST_TMPDIR");
+  if (from_environment != NULL && from_environment[0] != '\0') {
+    return string(from_environment) + "/protobuf_tmpdir";
+  }
+
   // tmpnam() is generally not considered safe but we're only using it for
   // testing.  We cannot use tmpfile() or mkstemp() since we're creating a
   // directory.