gcc/libjava/testsuite/libjava.lang/Thread_Sleep_2.java
Geoffrey Keating 06fcf75439 posix.cc (_Jv_platform_nanotime): Return nanoseconds, not microseconds; use gettimeofday when available.
* posix.cc (_Jv_platform_nanotime): Return nanoseconds, not
	microseconds; use gettimeofday when available.
	* posix-threads.cc (_Jv_CondWait): Improve accuracy and range of
	timeout calculation.
	* testsuite/libjava.lang/Thread_Sleep_2.java: New.
	* testsuite/libjava.lang/Thread_Sleep_2.out: New.
	* testsuite/libjava.lang/Thread_Sleep_2.xfail: New.

From-SVN: r116941
2006-09-14 01:17:31 +00:00

35 lines
751 B
Java

// Test that Thread.sleep() is accurate
// and that nanoTime actually measures in nanoseconds.
public class Thread_Sleep_2
{
public static void main(String args[])
{
try
{
boolean ok = true;
for (int i = 0; i < 100; i++)
{
long start = System.nanoTime();
Thread.sleep(10);
long end = System.nanoTime();
if ((end - start) < 10000000)
{
System.out.print ("failed, iteration ");
System.out.print (i);
System.out.print (", time ");
System.out.print (end - start);
System.out.println ("ns");
ok = false;
}
}
if (ok)
System.out.println ("ok");
}
catch (InterruptedException x)
{
System.out.println("error: Thread interrupted.");
}
}
}