--- old/test/jdk/java/foreign/StdLibTest.java 2018-09-24 22:15:14.000000000 +0530 +++ new/test/jdk/java/foreign/StdLibTest.java 2018-09-24 22:15:14.000000000 +0530 @@ -36,10 +36,11 @@ import java.foreign.annotations.NativeCallback; import java.foreign.annotations.NativeHeader; import java.foreign.annotations.NativeStruct; -import java.sql.Timestamp; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -69,7 +70,7 @@ @Test(dataProvider = "strings") void test_puts(String s) { - assertTrue(stdLibHelper.puts(s) > 0); + assertTrue(stdLibHelper.puts(s) >= 0); } @Test(dataProvider = "strings") @@ -85,8 +86,8 @@ //numbers should be in the same ballpark assertEquals(time.seconds(), instant.getEpochSecond()); @SuppressWarnings("unchecked") - StdLibHelper.Tm tm = stdLibHelper.localtime(time.ptr()).get(); - LocalDateTime localTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); + StdLibHelper.Tm tm = stdLibHelper.gmtime(time.ptr()).get(); + LocalDateTime localTime = LocalDateTime.ofInstant(instant, ZoneOffset.UTC); assertEquals(tm.sec(), localTime.getSecond()); assertEquals(tm.min(), localTime.getMinute()); assertEquals(tm.hour(), localTime.getHour()); @@ -97,7 +98,7 @@ assertEquals((tm.wday() + 6) % 7, localTime.getDayOfWeek().getValue() - 1); //month in Java has 1-offset assertEquals(tm.mon(), localTime.getMonth().getValue() - 1); - assertEquals(tm.isdst(), ZoneId.systemDefault().getRules() + assertEquals(tm.isdst(), ZoneOffset.UTC.getRules() .isDaylightSavings(Instant.ofEpochMilli(time.seconds() * 1000))); } } @@ -182,8 +183,8 @@ } } - Pointer localtime(Pointer