aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang/Thread_Sleep_2.java
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2006-09-14 01:17:31 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2006-09-14 01:17:31 +0000
commit06fcf75439fbafae348fa33a0630f7bd83a835aa (patch)
treea5280d81d511353d5613e3482a10f15f1a24c4c1 /libjava/testsuite/libjava.lang/Thread_Sleep_2.java
parentf5efb27f743ce6bab0fe4f33a9573313e24dacdb (diff)
downloadgcc-06fcf75439fbafae348fa33a0630f7bd83a835aa.zip
gcc-06fcf75439fbafae348fa33a0630f7bd83a835aa.tar.gz
gcc-06fcf75439fbafae348fa33a0630f7bd83a835aa.tar.bz2
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
Diffstat (limited to 'libjava/testsuite/libjava.lang/Thread_Sleep_2.java')
-rw-r--r--libjava/testsuite/libjava.lang/Thread_Sleep_2.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/Thread_Sleep_2.java b/libjava/testsuite/libjava.lang/Thread_Sleep_2.java
new file mode 100644
index 0000000..37c0d3b
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Thread_Sleep_2.java
@@ -0,0 +1,34 @@
+// 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.");
+ }
+ }
+}