diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-12-07 04:29:54 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-12-07 04:29:54 +0000 |
commit | d838af1a03bc78078bdc670119fc95c280778993 (patch) | |
tree | 6ba1c7e799fa519cc5305c8475a3e8a15a50ccc4 | |
parent | 86783ff52ff2d9d9aa3cd78464d2c2728bc482d4 (diff) | |
parent | 61f55349a0d486a13f934fff77cac5f4421e6964 (diff) | |
download | apache-harmony-d838af1a03bc78078bdc670119fc95c280778993.tar.gz |
Snap for 6056566 from 61f55349a0d486a13f934fff77cac5f4421e6964 to rvc-releaseandroid-vts-11.0_r9android-vts-11.0_r8android-vts-11.0_r7android-vts-11.0_r6android-vts-11.0_r5android-vts-11.0_r4android-vts-11.0_r3android-vts-11.0_r2android-vts-11.0_r16android-vts-11.0_r15android-vts-11.0_r14android-vts-11.0_r13android-vts-11.0_r12android-vts-11.0_r11android-vts-11.0_r10android-vts-11.0_r1android-security-11.0.0_r76android-security-11.0.0_r75android-security-11.0.0_r74android-security-11.0.0_r73android-security-11.0.0_r72android-security-11.0.0_r71android-security-11.0.0_r70android-security-11.0.0_r69android-security-11.0.0_r68android-security-11.0.0_r67android-security-11.0.0_r66android-security-11.0.0_r65android-security-11.0.0_r64android-security-11.0.0_r63android-security-11.0.0_r62android-security-11.0.0_r61android-security-11.0.0_r60android-security-11.0.0_r59android-security-11.0.0_r58android-security-11.0.0_r57android-security-11.0.0_r56android-security-11.0.0_r55android-security-11.0.0_r54android-security-11.0.0_r53android-security-11.0.0_r52android-security-11.0.0_r51android-security-11.0.0_r50android-security-11.0.0_r49android-security-11.0.0_r1android-platform-11.0.0_r9android-platform-11.0.0_r8android-platform-11.0.0_r7android-platform-11.0.0_r6android-platform-11.0.0_r5android-platform-11.0.0_r40android-platform-11.0.0_r4android-platform-11.0.0_r39android-platform-11.0.0_r38android-platform-11.0.0_r37android-platform-11.0.0_r36android-platform-11.0.0_r35android-platform-11.0.0_r34android-platform-11.0.0_r33android-platform-11.0.0_r32android-platform-11.0.0_r31android-platform-11.0.0_r30android-platform-11.0.0_r3android-platform-11.0.0_r29android-platform-11.0.0_r28android-platform-11.0.0_r27android-platform-11.0.0_r26android-platform-11.0.0_r25android-platform-11.0.0_r24android-platform-11.0.0_r23android-platform-11.0.0_r22android-platform-11.0.0_r21android-platform-11.0.0_r20android-platform-11.0.0_r2android-platform-11.0.0_r19android-platform-11.0.0_r18android-platform-11.0.0_r17android-platform-11.0.0_r16android-platform-11.0.0_r15android-platform-11.0.0_r14android-platform-11.0.0_r13android-platform-11.0.0_r12android-platform-11.0.0_r11android-platform-11.0.0_r10android-platform-11.0.0_r1android-cts-11.0_r9android-cts-11.0_r8android-cts-11.0_r7android-cts-11.0_r6android-cts-11.0_r5android-cts-11.0_r4android-cts-11.0_r3android-cts-11.0_r2android-cts-11.0_r16android-cts-11.0_r15android-cts-11.0_r14android-cts-11.0_r13android-cts-11.0_r12android-cts-11.0_r11android-cts-11.0_r10android-cts-11.0_r1android-11.0.0_r6android-11.0.0_r5android-11.0.0_r4android-11.0.0_r3android-11.0.0_r25android-11.0.0_r2android-11.0.0_r17android-11.0.0_r1android11-tests-releaseandroid11-security-releaseandroid11-s1-releaseandroid11-releaseandroid11-platform-releaseandroid11-gsi
Change-Id: Icd8e3896eca14c9f65e8b2023cc2d4c2c4c7d2ff
-rw-r--r-- | luni/src/test/api/unix/org/apache/harmony/luni/tests/java/io/UnixFileTest.java | 70 |
1 files changed, 52 insertions, 18 deletions
diff --git a/luni/src/test/api/unix/org/apache/harmony/luni/tests/java/io/UnixFileTest.java b/luni/src/test/api/unix/org/apache/harmony/luni/tests/java/io/UnixFileTest.java index 4d549fd..179a79b 100644 --- a/luni/src/test/api/unix/org/apache/harmony/luni/tests/java/io/UnixFileTest.java +++ b/luni/src/test/api/unix/org/apache/harmony/luni/tests/java/io/UnixFileTest.java @@ -23,9 +23,11 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.util.concurrent.Callable; import tests.support.resource.Support_Resources; +import junit.framework.AssertionFailedError; import junit.framework.TestCase; import libcore.io.Libcore; @@ -101,6 +103,24 @@ public class UnixFileTest extends TestCase { } /** + * Asserts that {@code fn} completes without {@link AssertionFailedError failing} + * at least once when run up to {@code retries} times. + */ + private static void assertAtLeastOnce(int retries, Callable<Void> fn) throws Exception { + assertTrue(retries > 0); + for (int i = 0; i < retries; i++) { + try { + fn.call(); + break; + } catch (AssertionFailedError e) { + if (i == retries - 1) { + throw e; + } + } + } + } + + /** * @tests java.io.File#canExecute() * @since 1.6 */ @@ -136,16 +156,23 @@ public class UnixFileTest extends TestCase { * @since 1.6 */ public void test_getFreeSpace() throws Exception { - long fileSpace = getLinuxSpace(FREE_SPACE_NUM, testFile); - long dirSpace = getLinuxSpace(FREE_SPACE_NUM, testDir); - // in case we cannot fetch the value from command line - if (fileSpace > 0) { - assertEquals(fileSpace, testFile.getFreeSpace()); - } - - if (dirSpace > 0) { - assertEquals(dirSpace, testDir.getFreeSpace()); - } + assertAtLeastOnce(3, () -> { + long fileSpace = getLinuxSpace(FREE_SPACE_NUM, testFile); + // in case we cannot fetch the value from command line + if (fileSpace > 0) { + assertEquals(fileSpace, testFile.getFreeSpace()); + } + return null; + }); + + assertAtLeastOnce(3, () -> { + long dirSpace = getLinuxSpace(FREE_SPACE_NUM, testDir); + // in case we cannot fetch the value from command line + if (dirSpace > 0) { + assertEquals(dirSpace, testDir.getFreeSpace()); + } + return null; + }); } /** @@ -168,14 +195,21 @@ public class UnixFileTest extends TestCase { * @since 1.6 */ public void test_getUsableSpace() throws Exception { - long fileSpace = getLinuxSpace(USABLE_SPACE_NUM, testFile); - long dirSpace = getLinuxSpace(USABLE_SPACE_NUM, testDir); - if (fileSpace > 0) { - assertEquals(fileSpace, testFile.getUsableSpace()); - } - if (dirSpace > 0) { - assertEquals(dirSpace, testDir.getUsableSpace()); - } + assertAtLeastOnce(3, () -> { + long fileSpace = getLinuxSpace(USABLE_SPACE_NUM, testFile); + if (fileSpace > 0) { + assertEquals(fileSpace, testFile.getUsableSpace()); + } + return null; + }); + + assertAtLeastOnce(3, () -> { + long dirSpace = getLinuxSpace(USABLE_SPACE_NUM, testDir); + if (dirSpace > 0) { + assertEquals(dirSpace, testDir.getUsableSpace()); + } + return null; + }); } /** |