Test: Fix file permissions for system file tests
This commit is contained in:
@@ -21,12 +21,12 @@
|
|||||||
const std::string homeDirectory = "/home/" + Machine::the().username();
|
const std::string homeDirectory = "/home/" + Machine::the().username();
|
||||||
const size_t homeDirectorySize = homeDirectory.size();
|
const size_t homeDirectorySize = homeDirectory.size();
|
||||||
|
|
||||||
void createTestDotfiles(const std::vector<std::string>& fileNames, const std::vector<std::string>& fileContents)
|
void createTestDotfiles(const std::vector<std::string>& fileNames, const std::vector<std::string>& fileContents, bool asRoot = false)
|
||||||
{
|
{
|
||||||
VERIFY(fileNames.size() == fileContents.size());
|
VERIFY(fileNames.size() == fileContents.size());
|
||||||
|
|
||||||
bool root = !geteuid() ? true : false;
|
bool root = !geteuid() ? true : false;
|
||||||
if (root) {
|
if (root && !asRoot) {
|
||||||
setegid(Machine::the().gid());
|
setegid(Machine::the().gid());
|
||||||
seteuid(Machine::the().uid());
|
seteuid(Machine::the().uid());
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ void createTestDotfiles(const std::vector<std::string>& fileNames, const std::ve
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (root) {
|
if (root && !asRoot) {
|
||||||
seteuid(0);
|
seteuid(0);
|
||||||
setegid(0);
|
setegid(0);
|
||||||
}
|
}
|
||||||
@@ -216,7 +216,7 @@ TEST_CASE(PullSystemDotfiles)
|
|||||||
{
|
{
|
||||||
VERIFY(geteuid() == 0);
|
VERIFY(geteuid() == 0);
|
||||||
|
|
||||||
createTestDotfiles({ "etc/group" }, { "" });
|
createTestDotfiles({ "etc/group" }, { "" }, true);
|
||||||
|
|
||||||
Dotfile::the().setSystemDirectories({ "/etc" });
|
Dotfile::the().setSystemDirectories({ "/etc" });
|
||||||
Dotfile::the().pull({ "etc/group" });
|
Dotfile::the().pull({ "etc/group" });
|
||||||
|
|||||||
Reference in New Issue
Block a user