Testing /usr as TMPDIR assumes that GetTempDir() cannot use it
because it cannot write to it; this is true for non-root users, but
not so much for root.
Since root can access everything, perform this particular test case
only when not running as root.
Closes: #808383
setenv("TMPDIR", "/not-there-no-really-not", 1);
EXPECT_EQ("/tmp", GetTempDir());
setenv("TMPDIR", "/not-there-no-really-not", 1);
EXPECT_EQ("/tmp", GetTempDir());
- // here but not accessible for non-roots
- setenv("TMPDIR", "/usr", 1);
- EXPECT_EQ("/tmp", GetTempDir());
+ // root can access everything, so /usr will be accepted
+ if (geteuid() != 0)
+ {
+ // here but not accessible for non-roots
+ setenv("TMPDIR", "/usr", 1);
+ EXPECT_EQ("/tmp", GetTempDir());
+ }
// files are no good for tmpdirs, too
setenv("TMPDIR", "/dev/null", 1);
// files are no good for tmpdirs, too
setenv("TMPDIR", "/dev/null", 1);