clearOldFiles() test must run on the emulator
It seems that Robolectric does not implement android.system.Os so the atime checking code cannot be tested there. Works fine on the emulator.
This commit is contained in:
parent
c9e3643712
commit
40541fadfe
@ -1,12 +1,10 @@
|
|||||||
package org.fdroid.fdroid;
|
package org.fdroid.fdroid;
|
||||||
|
|
||||||
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.fdroid.fdroid.BuildConfig;
|
|
||||||
import org.fdroid.fdroid.CleanCacheService;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.robolectric.RobolectricGradleTestRunner;
|
|
||||||
import org.robolectric.annotation.Config;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -14,11 +12,11 @@ import java.io.IOException;
|
|||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
// TODO: Use sdk=24 when Robolectric supports this
|
@RunWith(AndroidJUnit4.class)
|
||||||
@Config(constants = BuildConfig.class, sdk = 23)
|
|
||||||
@RunWith(RobolectricGradleTestRunner.class)
|
|
||||||
public class CleanCacheServiceTest {
|
public class CleanCacheServiceTest {
|
||||||
|
|
||||||
|
public static final String TAG = "CleanCacheServiceTest";
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testClearOldFiles() throws IOException, InterruptedException {
|
public void testClearOldFiles() throws IOException, InterruptedException {
|
||||||
File tempDir = new File(System.getProperty("java.io.tmpdir"));
|
File tempDir = new File(System.getProperty("java.io.tmpdir"));
|
||||||
@ -46,13 +44,18 @@ public class CleanCacheServiceTest {
|
|||||||
assertTrue(second.createNewFile());
|
assertTrue(second.createNewFile());
|
||||||
assertTrue(second.exists());
|
assertTrue(second.exists());
|
||||||
|
|
||||||
CleanCacheService.clearOldFiles(dir, 3000);
|
CleanCacheService.clearOldFiles(dir, 3000); // check all in dir
|
||||||
assertFalse(first.exists());
|
assertFalse(first.exists());
|
||||||
assertTrue(second.exists());
|
assertTrue(second.exists());
|
||||||
|
|
||||||
Thread.sleep(7000);
|
Thread.sleep(7000);
|
||||||
CleanCacheService.clearOldFiles(dir, 3000);
|
CleanCacheService.clearOldFiles(second, 3000); // check just second file
|
||||||
assertFalse(first.exists());
|
assertFalse(first.exists());
|
||||||
assertFalse(second.exists());
|
assertFalse(second.exists());
|
||||||
|
|
||||||
|
// make sure it doesn't freak out on a non-existant file
|
||||||
|
File nonexistant = new File(tempDir, "nonexistant");
|
||||||
|
CleanCacheService.clearOldFiles(nonexistant, 1);
|
||||||
|
CleanCacheService.clearOldFiles(null, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user