From 83051b2b9a302373dbc662957013b055104c80f1 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sat, 24 May 2025 20:43:01 +0200 Subject: [PATCH] links --- build.mill | 6 +- os/{src => src-jvm}/ZipOps.scala | 0 os/src-native/ResourceApi.scala | 2 +- os/test/src-jvm/CheckerJvmTests.scala | 74 +++++++++++++++++++++++ os/test/{src => src-jvm}/ZipOpTests.scala | 0 os/test/src/CheckerTests.scala | 61 ------------------- 6 files changed, 78 insertions(+), 65 deletions(-) rename os/{src => src-jvm}/ZipOps.scala (100%) create mode 100644 os/test/src-jvm/CheckerJvmTests.scala rename os/test/{src => src-jvm}/ZipOpTests.scala (100%) diff --git a/build.mill b/build.mill index 3b7e0a24..c52ec82f 100644 --- a/build.mill +++ b/build.mill @@ -248,14 +248,14 @@ object os extends Module { } } - /*object native extends Cross[OsNativeModule](scalaVersions) + object native extends Cross[OsNativeModule](scalaVersions) trait OsNativeModule extends OsModule with ScalaNativeModule { - def scalaNativeVersion = "0.5.2" + def scalaNativeVersion = "0.5.7" object test extends ScalaNativeTests with OsLibTestModule { def nativeLinkStubs = true } object nohometest extends ScalaNativeTests with OsLibTestModule - }*/ + } object watch extends Module { object jvm extends Cross[WatchJvmModule](scalaVersions) diff --git a/os/src/ZipOps.scala b/os/src-jvm/ZipOps.scala similarity index 100% rename from os/src/ZipOps.scala rename to os/src-jvm/ZipOps.scala diff --git a/os/src-native/ResourceApi.scala b/os/src-native/ResourceApi.scala index e2e9ffbc..2130822e 100644 --- a/os/src-native/ResourceApi.scala +++ b/os/src-native/ResourceApi.scala @@ -1,2 +1,2 @@ -package os +package os trait ResourceApi diff --git a/os/test/src-jvm/CheckerJvmTests.scala b/os/test/src-jvm/CheckerJvmTests.scala new file mode 100644 index 00000000..2a999a55 --- /dev/null +++ b/os/test/src-jvm/CheckerJvmTests.scala @@ -0,0 +1,74 @@ +package test.os + +import test.os.TestUtil._ +import utest._ + +object CheckerJvmTests extends TestSuite { + + def tests: Tests = Tests { + // restricted directory + val rd = os.Path(sys.env("OS_TEST_RESOURCE_FOLDER")) / "restricted" + + test("zip") - prepChecker { wd => + intercept[WriteDenied] { + os.zip( + dest = rd / "zipped.zip", + sources = Seq( + wd / "File.txt", + wd / "folder1" + ) + ) + } + os.exists(rd / "zipped.zip") ==> false + + intercept[ReadDenied] { + os.zip( + dest = wd / "zipped.zip", + sources = Seq( + wd / "File.txt", + rd / "folder1" + ) + ) + } + os.exists(wd / "zipped.zip") ==> false + + val zipFile = os.zip( + wd / "zipped.zip", + Seq( + wd / "File.txt", + wd / "folder1" + ) + ) + + val unzipDir = os.unzip(zipFile, wd / "unzipped") + os.walk(unzipDir).sorted ==> Seq( + unzipDir / "File.txt", + unzipDir / "one.txt" + ) + } + test("unzip") - prepChecker { wd => + val zipFileName = "zipped.zip" + val zipFile: os.Path = os.zip( + dest = wd / zipFileName, + sources = Seq( + wd / "File.txt", + wd / "folder1" + ) + ) + + intercept[WriteDenied] { + os.unzip( + source = zipFile, + dest = rd / "unzipped" + ) + } + os.exists(rd / "unzipped") ==> false + + val unzipDir = os.unzip( + source = zipFile, + dest = wd / "unzipped" + ) + os.walk(unzipDir).length ==> 2 + } + } +} diff --git a/os/test/src/ZipOpTests.scala b/os/test/src-jvm/ZipOpTests.scala similarity index 100% rename from os/test/src/ZipOpTests.scala rename to os/test/src-jvm/ZipOpTests.scala diff --git a/os/test/src/CheckerTests.scala b/os/test/src/CheckerTests.scala index 5911311d..bcca03b4 100644 --- a/os/test/src/CheckerTests.scala +++ b/os/test/src/CheckerTests.scala @@ -476,66 +476,5 @@ object CheckerTests extends TestSuite { os.read(wd / "File.txt") ==> "I am" } - test("zip") - prepChecker { wd => - intercept[WriteDenied] { - os.zip( - dest = rd / "zipped.zip", - sources = Seq( - wd / "File.txt", - wd / "folder1" - ) - ) - } - os.exists(rd / "zipped.zip") ==> false - - intercept[ReadDenied] { - os.zip( - dest = wd / "zipped.zip", - sources = Seq( - wd / "File.txt", - rd / "folder1" - ) - ) - } - os.exists(wd / "zipped.zip") ==> false - - val zipFile = os.zip( - wd / "zipped.zip", - Seq( - wd / "File.txt", - wd / "folder1" - ) - ) - - val unzipDir = os.unzip(zipFile, wd / "unzipped") - os.walk(unzipDir).sorted ==> Seq( - unzipDir / "File.txt", - unzipDir / "one.txt" - ) - } - test("unzip") - prepChecker { wd => - val zipFileName = "zipped.zip" - val zipFile: os.Path = os.zip( - dest = wd / zipFileName, - sources = Seq( - wd / "File.txt", - wd / "folder1" - ) - ) - - intercept[WriteDenied] { - os.unzip( - source = zipFile, - dest = rd / "unzipped" - ) - } - os.exists(rd / "unzipped") ==> false - - val unzipDir = os.unzip( - source = zipFile, - dest = wd / "unzipped" - ) - os.walk(unzipDir).length ==> 2 - } } }