@Test public void testSizes() { int clong = isWindows() || !is64Bits() ? 4 : 8; int sizet = is64Bits() ? 8 : 4, ptr = sizet; int wchar = isUnix() ? 4 : 2; assertEquals(clong, Platform.CLONG_SIZE); assertEquals(sizet, Platform.SIZE_T_SIZE); assertTrue(Platform.TIME_T_SIZE > 0); assertEquals(wchar, Platform.WCHAR_T_SIZE); assertEquals(ptr, Platform.POINTER_SIZE); assertEquals(ptr, Pointer.SIZE); assertEquals(sizet, SizeT.SIZE); assertTrue(TimeT.SIZE > 0); assertEquals(clong, CLong.SIZE); }
@Test public void testMachine() throws Exception { if (!isUnix()) return; Process p = Runtime.getRuntime().exec(new String[] {"uname", "-m"}); BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); String uname = r.readLine().trim(); String m = uname; assertTrue(m.length() > 0); if (m.matches("i\\d86")) m = "i386"; else if (m.matches("i86pc")) m = "x86"; if (m.equals("i386") && Platform.is64Bits()) m = "x86_64"; assertEquals( "uname = " + uname + ", Platform.getMachine = " + Platform.getMachine(), m, Platform.getMachine()); }