diff options
author | ambrosin <ambrosin@google.com> | 2023-02-01 07:08:02 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-02-01 07:09:24 -0800 |
commit | 443888844deaa846f65b8c49e48dd4044de2d01b (patch) | |
tree | 0eb7b3813856d98543f074f4e46d0357eb65e699 /cc/util | |
parent | f1267db697e6c176aa4bdc2417ed3ed8ae714252 (diff) | |
download | tink-443888844deaa846f65b8c49e48dd4044de2d01b.tar.gz |
Look for `TEMP` and `TMP` env variables when returning the tmp dir path in tests
These env variables are set on Windows.
PiperOrigin-RevId: 506306582
Diffstat (limited to 'cc/util')
-rw-r--r-- | cc/util/test_util.cc | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/cc/util/test_util.cc b/cc/util/test_util.cc index 5413bba5b..2e58daeda 100644 --- a/cc/util/test_util.cc +++ b/cc/util/test_util.cc @@ -124,15 +124,18 @@ std::string HexEncode(absl::string_view bytes) { } std::string TmpDir() { - // The Bazel 'test' command sets TEST_TMPDIR. - const char* env = getenv("TEST_TMPDIR"); - if (env && env[0] != '\0') { - return env; - } - env = getenv("TMPDIR"); - if (env && env[0] != '\0') { - return env; + // Try the following environment variables in order: + // - TEST_TMPDIR: Set by `bazel test`. + // - TMPDIR: Set by some Tink tests. + // - TEMP, TMP: Set on Windows; they contain the tmp dir's path. + for (const std::string& tmp_env_variable : + {"TEST_TMPDIR", "TMPDIR", "TEMP", "TMP"}) { + const char* env = getenv(tmp_env_variable.c_str()); + if (env && env[0] != '\0') { + return env; + } } + // Tmp dir on Linux/macOS. return "/tmp"; } |