summaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-14 01:17:31 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-14 01:17:31 +0000
commit0bb92388895783dad3b13b8deb9d182bbedc5408 (patch)
treea5280d81d511353d5613e3482a10f15f1a24c4c1 /libjava/testsuite/libjava.lang
parent09fa572c45232c54bebd4f301df52f0112828ce4 (diff)
downloadgcc-0bb92388895783dad3b13b8deb9d182bbedc5408.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116941 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/testsuite/libjava.lang')
-rw-r--r--libjava/testsuite/libjava.lang/Thread_Sleep_2.java34
-rw-r--r--libjava/testsuite/libjava.lang/Thread_Sleep_2.out1
-rw-r--r--libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail1
3 files changed, 36 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 00000000000..37c0d3bb665
--- /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.");
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Thread_Sleep_2.out b/libjava/testsuite/libjava.lang/Thread_Sleep_2.out
new file mode 100644
index 00000000000..9766475a418
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Thread_Sleep_2.out
@@ -0,0 +1 @@
+ok
diff --git a/libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail b/libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail
new file mode 100644
index 00000000000..3f95317a450
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail
@@ -0,0 +1 @@
+need-threads