@Test public void structStatSize() throws Throwable { if (Platform.IS_SOLARIS) { jnr.ffi.Runtime runtime = jnr.ffi.Runtime.getSystemRuntime(); if (Platform.IS_32_BIT) { assertEquals("struct size is wrong", 144, new SolarisFileStat32.Layout(runtime).size()); } else { assertEquals("struct size is wrong", 128, new SolarisFileStat64.Layout(runtime).size()); } } if (Platform.IS_SOLARIS) { File f = File.createTempFile("stat", null); try { FileStat st = posix.stat(f.getAbsolutePath()); if (Platform.IS_32_BIT) { assertSame("incorrect stat instance returned", SolarisFileStat32.class, st.getClass()); } else { assertSame("incorrect stat instance returned", SolarisFileStat64.class, st.getClass()); } } finally { f.delete(); } } }