diff options
| author | Lena <lena@omega> | 2026-08-01 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-08-01 00:00:00 +0000 |
| commit | 852a8a00273c9128efeed0217a8e5d3fcd8bf780 (patch) | |
| tree | c72f959731fa3c7c809cf1a0222363b6c9c9b03b /app/src/test/java/invalid/lena/scrcpy/CrashlogTest.java | |
| parent | f379b93d52bf0dbd3816ec3f64d165314771d2a6 (diff) | |
| download | scrcpy-android-852a8a00273c9128efeed0217a8e5d3fcd8bf780.tar.gz | |
app: harden mirroring lifecycle and state
Diffstat (limited to 'app/src/test/java/invalid/lena/scrcpy/CrashlogTest.java')
| -rw-r--r-- | app/src/test/java/invalid/lena/scrcpy/CrashlogTest.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app/src/test/java/invalid/lena/scrcpy/CrashlogTest.java b/app/src/test/java/invalid/lena/scrcpy/CrashlogTest.java new file mode 100644 index 0000000..41c05a1 --- /dev/null +++ b/app/src/test/java/invalid/lena/scrcpy/CrashlogTest.java @@ -0,0 +1,36 @@ +package invalid.lena.scrcpy; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import java.io.File; +import java.nio.file.Files; + +public class CrashlogTest { + + @Rule + public TemporaryFolder dir = new TemporaryFolder(); + + @Test + public void pruneKeepsNewestCrashlogsOnly() throws Exception { + for (int i = 0; i < 7; i++) { + File file = new File(dir.getRoot(), "crash-" + i + ".log"); + Files.write(file.toPath(), new byte[]{(byte) i}); + assertTrue(file.setLastModified(1_000L + i)); + } + File unrelated = dir.newFile("notes.txt"); + + Crashlog.prune(dir.getRoot(), 5); + + File[] logs = dir.getRoot().listFiles((parent, name) -> name.endsWith(".log")); + assertEquals(5, logs.length); + assertFalse(new File(dir.getRoot(), "crash-0.log").exists()); + assertFalse(new File(dir.getRoot(), "crash-1.log").exists()); + assertTrue(unrelated.exists()); + } +} |