summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2016-11-10 13:09:05 -0800
committerNikolaus Rath <Nikolaus@rath.org>2016-11-10 13:10:03 -0800
commiteb9f12639f892906bd5474dd5757449747ebc152 (patch)
tree921158dc665e308d3eedf22d6121ea220e8f3c3f
parentd0b377c9afde0ebc8f5d2c0be4d124912f3606c1 (diff)
downloadfuse-eb9f12639f892906bd5474dd5757449747ebc152.tar.gz
Don't expect EACCESS errors as root
Fixes #111.
-rw-r--r--ChangeLog.rst5
-rw-r--r--test/test.c21
2 files changed, 18 insertions, 8 deletions
diff --git a/ChangeLog.rst b/ChangeLog.rst
index 71e7e23..6e25872 100644
--- a/ChangeLog.rst
+++ b/ChangeLog.rst
@@ -1,3 +1,8 @@
+UNRELEASED CHANGES
+==================
+
+* Fixed test errors when running tests as root.
+
FUSE 3.0.0-rc2 (2016-11-06)
===========================
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);