Merge "Snap for 11623618 from 8e1da5f0461abe969d55b8b59b2b17df4edc4117 to android12L-tests-release" into android12L-tests-release
diff --git a/luni/src/test/java/libcore/android/system/OsTest.java b/luni/src/test/java/libcore/android/system/OsTest.java
index 649baa4..77b80c1 100644
--- a/luni/src/test/java/libcore/android/system/OsTest.java
+++ b/luni/src/test/java/libcore/android/system/OsTest.java
@@ -26,6 +26,7 @@
import android.system.StructMsghdr;
import android.system.StructRlimit;
import android.system.StructStat;
+import android.system.StructTimespec;
import android.system.StructTimeval;
import android.system.StructUcred;
import android.system.UnixSocketAddress;
@@ -1736,6 +1737,19 @@
}
@Test
+ public void test_build_sruct_stat() {
+ StructStat structStat1 = new StructStat(/*st_dev*/ 0L, /*st_ino*/ 0L, /*st_mode*/ 0,
+ /*st_nlink*/ 1L, /*st_uid*/ 1000, /*st_gid*/ 1000, /*st_rdev*/ 0L, /*st_size*/ 0L,
+ /*st_atime*/ 0L, /*st_mtime*/ 0L, /*st_ctime*/ 0L, /*st_blksize*/ 4096L,
+ /*st_blocks*/ 1L);
+ StructStat structStat2 = new StructStat(/*st_dev*/ 0L, /*st_ino*/ 0L, /*st_mode*/ 0,
+ /*st_nlink*/ 1L, /*st_uid*/ 1000, /*st_gid*/ 1000, /*st_rdev*/ 0L, /*st_size*/ 0L,
+ /*st_atim*/ new StructTimespec(0L, 0L), /*st_mtim*/ new StructTimespec(0L, 0L),
+ /*st_ctim*/ new StructTimespec(0L, 0L), /*st_blksize*/ 4096L, /*st_blocks*/ 1L);
+ assertStructStatsEqual(structStat1, structStat2);
+ }
+
+ @Test
public void test_getrlimit() throws Exception {
StructRlimit rlimit = Os.getrlimit(OsConstants.RLIMIT_NOFILE);
// We can't really make any assertions about these values since they might vary from
@@ -2069,4 +2083,23 @@
expectException(() -> Os.memfd_create("test_memfd", 0xffff), ErrnoException.class, EINVAL,
"memfd_create(\"test_memfd\", 0xffff)");
}
+
+ private static void assertStructStatsEqual(StructStat expected, StructStat actual) {
+ assertEquals(expected.st_dev, actual.st_dev);
+ assertEquals(expected.st_ino, actual.st_ino);
+ assertEquals(expected.st_mode, actual.st_mode);
+ assertEquals(expected.st_nlink, actual.st_nlink);
+ assertEquals(expected.st_uid, actual.st_uid);
+ assertEquals(expected.st_gid, actual.st_gid);
+ assertEquals(expected.st_rdev, actual.st_rdev);
+ assertEquals(expected.st_size, actual.st_size);
+ assertEquals(expected.st_atime, actual.st_atime);
+ assertEquals(expected.st_atim, actual.st_atim);
+ assertEquals(expected.st_mtime, actual.st_mtime);
+ assertEquals(expected.st_mtim, actual.st_mtim);
+ assertEquals(expected.st_ctime, actual.st_ctime);
+ assertEquals(expected.st_ctim, actual.st_ctim);
+ assertEquals(expected.st_blksize, actual.st_blksize);
+ assertEquals(expected.st_blocks, actual.st_blocks);
+ }
}