Browse Source

adjust tests to windows limitations

Simon Krajewski 6 years ago
parent
commit
ba637eaca8
1 changed files with 20 additions and 9 deletions
  1. 20 9
      tests/asys/test/TestFileSystem.hx

+ 20 - 9
tests/asys/test/TestFileSystem.hx

@@ -18,15 +18,26 @@ class TestFileSystem extends Test {
 		OldFile.saveContent("resources-rw/access.txt", "");
 
 		NewFS.chmod("resources-rw/access.txt", None);
-		eq(NewFS.stat("resources-rw/access.txt").permissions, None);
-		noExc(() -> NewFS.access("resources-rw/access.txt"));
-		exc(() -> NewFS.access("resources-rw/access.txt", Read));
-
-		NewFS.chmod("resources-rw/access.txt", "r-------x");
-		eq(NewFS.stat("resources-rw/access.txt").permissions, "r-------x");
-		noExc(() -> NewFS.access("resources-rw/access.txt", Read));
-		exc(() -> NewFS.access("resources-rw/access.txt", Write));
-		exc(() -> NewFS.access("resources-rw/access.txt", Execute));
+
+		if (Sys.systemName() == "Windows") {
+			// Windows only allows distinguishing readonly
+			eq(NewFS.stat("resources-rw/access.txt").permissions, ReadOwner | ReadGroup | ReadOthers);
+			exc(() -> NewFS.access("resources-rw/access.txt", Write));
+
+			NewFS.chmod("resources-rw/access.txt", "r-------x");
+			eq(NewFS.stat("resources-rw/access.txt").permissions, ReadOwner | ReadGroup | ReadOthers);
+			exc(() -> NewFS.access("resources-rw/access.txt", Write));
+		} else {
+			eq(NewFS.stat("resources-rw/access.txt").permissions, None);
+			noExc(() -> NewFS.access("resources-rw/access.txt"));
+			exc(() -> NewFS.access("resources-rw/access.txt", Read));
+
+			NewFS.chmod("resources-rw/access.txt", "r-------x");
+			eq(NewFS.stat("resources-rw/access.txt").permissions, "r-------x");
+			noExc(() -> NewFS.access("resources-rw/access.txt", Read));
+			exc(() -> NewFS.access("resources-rw/access.txt", Write));
+			exc(() -> NewFS.access("resources-rw/access.txt", Execute));
+		}
 
 		// cleanup
 		NewFS.chmod("resources-rw/access.txt", "rw------x");