Ejemplo n.º 1
0
  @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();
      }
    }
  }