From dbbe1e6393dab381db0f48b2a645babdddb14eca Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 19 Dec 2015 12:09:18 +0100 Subject: Fix FileUtlTest.GetTempDir failure when run as root 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 --- test/libapt/fileutl_test.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'test/libapt') diff --git a/test/libapt/fileutl_test.cc b/test/libapt/fileutl_test.cc index 2bd090e5e..7d1368f7a 100644 --- a/test/libapt/fileutl_test.cc +++ b/test/libapt/fileutl_test.cc @@ -222,9 +222,13 @@ TEST(FileUtlTest, 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); -- cgit v1.2.3