소스 검색

adjust tests to windows limitations

Simon Krajewski 6 년 전
부모
커밋
ba637eaca8
1개의 변경된 파일20개의 추가작업 그리고 9개의 파일을 삭제
  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");