diff --git a/app/core/src/main/java/com/topjohnwu/magisk/test/AdditionalTest.kt b/app/core/src/main/java/com/topjohnwu/magisk/test/AdditionalTest.kt index 6ab9e5c2e..789ea1ac9 100644 --- a/app/core/src/main/java/com/topjohnwu/magisk/test/AdditionalTest.kt +++ b/app/core/src/main/java/com/topjohnwu/magisk/test/AdditionalTest.kt @@ -15,6 +15,7 @@ import com.topjohnwu.magisk.test.Environment.Companion.SEPOLICY_RULE import com.topjohnwu.superuser.Shell import kotlinx.coroutines.runBlocking import org.junit.After +import org.junit.Assert.assertArrayEquals import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull @@ -98,9 +99,10 @@ class AdditionalTest : BaseTest { RootUtils.fs.getFile("/system/bin/screenrecord").exists() ) val egg = RootUtils.fs.getFile("/system/app/EasterEgg").list() ?: arrayOf() - assertTrue( - "/system/app/EasterEgg should be empty", - egg.isEmpty() + assertArrayEquals( + "/system/app/EasterEgg should be replaced", + egg, + arrayOf("newfile") ) } diff --git a/app/core/src/main/java/com/topjohnwu/magisk/test/Environment.kt b/app/core/src/main/java/com/topjohnwu/magisk/test/Environment.kt index 1f9458579..c13e70d2d 100644 --- a/app/core/src/main/java/com/topjohnwu/magisk/test/Environment.kt +++ b/app/core/src/main/java/com/topjohnwu/magisk/test/Environment.kt @@ -108,6 +108,9 @@ class Environment : BaseTest { assertTrue(error, egg.mkdirs()) assertTrue(error, egg.getChildFile(".replace").createNewFile()) + // Create /system/app/EasterEgg/newfile + assertTrue(error, egg.getChildFile("newfile").createNewFile()) + // Delete /system/bin/screenrecord val bin = path.getChildFile("system").getChildFile("bin") assertTrue(error, bin.mkdirs()) diff --git a/native/src/core/module.rs b/native/src/core/module.rs index 543dfe237..41e0f0250 100644 --- a/native/src/core/module.rs +++ b/native/src/core/module.rs @@ -292,7 +292,7 @@ impl FsNode { &src, path.worker(), matches!(node, FsNode::Directory { .. }), - ); + )?; } _ => node.commit_tmpfs(path)?, } diff --git a/scripts/test_common.sh b/scripts/test_common.sh index e005c0935..4e4783c02 100644 --- a/scripts/test_common.sh +++ b/scripts/test_common.sh @@ -30,8 +30,16 @@ print_error() { # $1 = TestClass#method # $2 = component am_instrument() { + set +x local out=$(adb shell am instrument -w --user 0 -e class "$1" "$2") - grep -q 'OK (' <<< "$out" + echo "$out" + if grep -q 'OK (' <<< "$out"; then + set -x + return 0 + else + set -x + return 1 + fi } # $1 = pkg