Commit 123551cc authored by Tycho Andersen's avatar Tycho Andersen Committed by Pavel Emelyanov

tests: test that multi-line cgroup devices are restored correctly

Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 31e2d895
...@@ -79,17 +79,22 @@ err_rd: ...@@ -79,17 +79,22 @@ err_rd:
bool checkval(char *path, char *val) bool checkval(char *path, char *val)
{ {
FILE *f;
char buf[64]; char buf[64];
int fd, n;
f = fopen(path, "r"); fd = open(path, O_RDONLY);
if (!f) { if (fd < 0) {
pr_perror("fopen %s", path); pr_perror("open %s", path);
return false; return false;
} }
fgets(buf, sizeof(buf), f); n = read(fd, buf, sizeof(buf));
fclose(f); close(fd);
if (n < 0) {
pr_perror("read");
return false;
}
buf[n] = 0;
if (strcmp(val, buf)) { if (strcmp(val, buf)) {
pr_err("got %s expected %s\n", buf, val); pr_err("got %s expected %s\n", buf, val);
...@@ -114,6 +119,9 @@ int main(int argc, char **argv) ...@@ -114,6 +119,9 @@ int main(int argc, char **argv)
if (write_value(path, "c 1:3 rwm") < 0) if (write_value(path, "c 1:3 rwm") < 0)
goto out; goto out;
if (write_value(path, "c 1:5 rwm") < 0)
goto out;
if (mount_and_add("memory", cgname, "memory.limit_in_bytes", "268435456") < 0) if (mount_and_add("memory", cgname, "memory.limit_in_bytes", "268435456") < 0)
goto out; goto out;
...@@ -121,7 +129,7 @@ int main(int argc, char **argv) ...@@ -121,7 +129,7 @@ int main(int argc, char **argv)
test_waitsig(); test_waitsig();
sprintf(path, "%s/devices/%s/devices.list", dirname, cgname); sprintf(path, "%s/devices/%s/devices.list", dirname, cgname);
if (!checkval(path, "c 1:3 rwm\n")) { if (!checkval(path, "c 1:3 rwm\nc 1:5 rwm\n")) {
fail(); fail();
goto out; goto out;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment