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

Bazel expects all tests to do this.
This commit is contained in:
Brian Silverman 2015-09-08 18:56:58 -04:00
parent 0e606bc2eb
commit 133be3dc1f

View file

@ -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.