aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGravatar Nikolaus Rath <Nikolaus@rath.org>2016-11-10 13:09:05 -0800
committerGravatar Nikolaus Rath <Nikolaus@rath.org>2016-11-10 13:10:03 -0800
commiteb9f12639f892906bd5474dd5757449747ebc152 (patch)
tree921158dc665e308d3eedf22d6121ea220e8f3c3f /test
parentd0b377c9afde0ebc8f5d2c0be4d124912f3606c1 (diff)
Don't expect EACCESS errors as root
Fixes #111.
Diffstat (limited to 'test')
-rw-r--r--test/test.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/test/test.c b/test/test.c
index 2b38bb2..281f218 100644
--- a/test/test.c
+++ b/test/test.c
@@ -1395,6 +1395,7 @@ int main(int argc, char *argv[])
const char *realpath;
int err = 0;
int a;
+ int is_root;
umask(0);
if (argc < 2 || argc > 4) {
@@ -1440,6 +1441,8 @@ int main(int argc, char *argv[])
sprintf(testdir2_r, "%s/testdir2", realpath);
sprintf(subfile_r, "%s/subfile", testdir2_r);
+ is_root = (geteuid() == 0);
+
err += test_create();
err += test_create_unlink();
err += test_mknod();
@@ -1489,15 +1492,17 @@ int main(int argc, char *argv[])
err += test_open_acc(O_WRONLY, 0600, 0);
err += test_open_acc(O_RDWR, 0600, 0);
err += test_open_acc(O_RDONLY, 0400, 0);
- err += test_open_acc(O_RDONLY | O_TRUNC, 0400, EACCES);
- err += test_open_acc(O_WRONLY, 0400, EACCES);
- err += test_open_acc(O_RDWR, 0400, EACCES);
- err += test_open_acc(O_RDONLY, 0200, EACCES);
err += test_open_acc(O_WRONLY, 0200, 0);
- err += test_open_acc(O_RDWR, 0200, EACCES);
- err += test_open_acc(O_RDONLY, 0000, EACCES);
- err += test_open_acc(O_WRONLY, 0000, EACCES);
- err += test_open_acc(O_RDWR, 0000, EACCES);
+ if(!is_root) {
+ err += test_open_acc(O_RDONLY | O_TRUNC, 0400, EACCES);
+ err += test_open_acc(O_WRONLY, 0400, EACCES);
+ err += test_open_acc(O_RDWR, 0400, EACCES);
+ err += test_open_acc(O_RDONLY, 0200, EACCES);
+ err += test_open_acc(O_RDWR, 0200, EACCES);
+ err += test_open_acc(O_RDONLY, 0000, EACCES);
+ err += test_open_acc(O_WRONLY, 0000, EACCES);
+ err += test_open_acc(O_RDWR, 0000, EACCES);
+ }
err += test_create_ro_dir(O_CREAT);
err += test_create_ro_dir(O_CREAT | O_EXCL);
err += test_create_ro_dir(O_CREAT | O_WRONLY);