blob: 72c52c0e69c9463f03cc9a747dd73be5100a3d99 [file]
#include <cassert>
#include <filesystem>
#include <fstream>
#include <iostream>
namespace fs = std::filesystem;
int main() {
// libc++'s temp_directory_path depends on one of these env vars
// being set, and falls back to /tmp as a default.
// Log these values in case this test ever fails:
const char* env_paths[] = {"TMPDIR", "TMP", "TEMP", "TEMPDIR"};
for (int i = 0; i < sizeof(env_paths)/sizeof(char*); i++) {
const char* p = getenv(env_paths[i]);
std::cout << env_paths[i] << " -> " << (p ? p : "(NULL)") << "\n";
if (p) {
std::cout << env_paths[i] << " exists: " << fs::exists(env_paths[i]) << "\n";
}
}
std::cout << "default /tmp exists: " << fs::exists("/tmp") << "\n";
fs::path tmp{fs::temp_directory_path()};
std::cout << "temp_directory_path: " << tmp << "\n";
assert(fs::exists(tmp));
std::cout << "exists ok!" << "\n";
return 0;
}