diff -ruN CVS/classpath/test/Makefile.am updated/classpath/test/Makefile.am
--- CVS/classpath/test/Makefile.am	1998-07-07 04:10:50.000000000 +0400
+++ updated/classpath/test/Makefile.am	2010-11-04 14:48:43.779198500 +0300
@@ -1,4 +1,4 @@
 ## Input file for automake to generate the Makefile.in used by configure
 
-SUBDIRS = java.net java.io java.util gnu.java.lang.reflect
-
+SUBDIRS = gnu.java.lang.reflect java.lang java.lang.reflect java.net \
+          java.io java.util
diff -ruN CVS/classpath/test/java.lang/.cvsignore updated/classpath/test/java.lang/.cvsignore
--- CVS/classpath/test/java.lang/.cvsignore	1970-01-01 03:00:00.000000000 +0300
+++ updated/classpath/test/java.lang/.cvsignore	2002-03-29 08:59:37.000000000 +0300
@@ -0,0 +1 @@
+Makefile.in
diff -ruN CVS/classpath/test/java.lang/Makefile.am updated/classpath/test/java.lang/Makefile.am
--- CVS/classpath/test/java.lang/Makefile.am	1970-01-01 03:00:00.000000000 +0300
+++ updated/classpath/test/java.lang/Makefile.am	2010-11-04 14:47:57.349553000 +0300
@@ -0,0 +1,3 @@
+## Input file for automake to generate the Makefile.in used by configure
+
+check_JAVA = StrictMathTest.java
diff -ruN CVS/classpath/test/java.lang/StrictMathTest.java updated/classpath/test/java.lang/StrictMathTest.java
--- CVS/classpath/test/java.lang/StrictMathTest.java	1970-01-01 03:00:00.000000000 +0300
+++ updated/classpath/test/java.lang/StrictMathTest.java	2010-11-04 18:08:30.830807500 +0300
@@ -0,0 +1,131 @@
+/* StrictMathTest.java -- tests StrictMath class
+   Copyright (C) 2010 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+/**
+ * @author Ivan Maidanski
+ */
+public class StrictMathTest {
+
+  public static void main(String[] args) {
+    acosTest();
+    powTest(); // 2 tests
+    IEEEremainderTest(); // 2 tests
+    tanTest(); // 2 tests
+    sinTest(); // 2 tests
+    printStatus("StrictMath");
+  }
+
+  private static int passed;
+  private static int failed;
+
+  static void printStatus(String className) {
+    if (failed != 0) {
+      System.out.println(className + " test failures statistic (" + failed
+                         + " fails and " + passed + " passes).");
+    } else {
+      System.out.println("PASSED: [" + className + "] All " + passed
+                         + " tests.");
+    }
+  }
+
+  static void assertTrue(boolean cond, String testName) {
+    if (cond) {
+      passed++;
+    } else {
+      failed++;
+      System.out.println("FAILED " + testName);
+    }
+  }
+
+  static void assertEquals(long a, long b, String testName) {
+    assertTrue(a == b, testName);
+  }
+
+  static void assertEquals(double a, double b, double prec, String testName) {
+    assertTrue(Math.abs(a - b) <= prec, testName);
+  }
+
+  static void assertTaskNoTimeout(Runnable task, long timeoutMillis,
+                                  String testName) {
+    Thread thread = new Thread(task, "Task " + testName);
+    thread.setDaemon(true);
+    thread.start();
+    try {
+      thread.join(timeoutMillis);
+    } catch (InterruptedException e) {
+        // Should not happen.
+        assertTrue(false, testName);
+    }
+    assertTrue(!thread.isAlive(), testName);
+  }
+
+  public static void acosTest() {
+    assertEquals(2.2142974, StrictMath.acos(-0.6), 1e-5, "acos");
+  }
+
+  public static void powTest() {
+    assertEquals(0, Double.doubleToRawLongBits(StrictMath.pow(-0.0, 0.5)),
+                 "pow");
+    assertEquals(~(-1L >>> 1),
+                 Double.doubleToRawLongBits(StrictMath.pow(-0.0, 3)),
+                 "pow #2");
+  }
+
+  public static void IEEEremainderTest() {
+    assertEquals(~(-1L >>> 1),
+                 Double.doubleToRawLongBits(
+                                StrictMath.IEEEremainder(-0.0, 1)),
+                 "IEEEremainder");
+    assertEquals(-1.7999999, StrictMath.IEEEremainder(2, 3.8), 1E-5,
+                 "IEEEremainder #2");
+  }
+
+  public static void sinTest() {
+    assertTaskNoTimeout(new Runnable() {
+
+      public void run() {
+        assertEquals(0.6402884, StrictMath.sin(1.9e209), 1e-5, "sin #2");
+      }
+    }, 1000, "sin");
+  }
+
+  public static void tanTest() {
+    assertEquals(-0.0290081, StrictMath.tan(-0.029), 1e-5, "tan");
+    assertEquals(34.2325327, StrictMath.tan(-1.6), 1e-5, "tan #2");
+  }
+}
diff -ruN CVS/classpath/test/java.lang.reflect/ArrayTest.java updated/classpath/test/java.lang.reflect/ArrayTest.java
--- CVS/classpath/test/java.lang.reflect/ArrayTest.java	1998-07-15 23:50:18.000000000 +0400
+++ updated/classpath/test/java.lang.reflect/ArrayTest.java	2010-11-04 18:45:33.236416000 +0300
@@ -2,7 +2,7 @@
 
 public class ArrayTest {
 	public static void main(String[] args) {
-		System.loadLibrary("javalangreflect");
+		//System.loadLibrary("javalangreflect");
 
 		Object[] objArray = new Object[9];
 		boolean[] boolArray = new boolean[9];
@@ -27,7 +27,7 @@
 			E.printStackTrace();
 		}
 		System.out.println(": newInstance(<primitive Class>,int)");
-	
+
 		try {
 			objArray = (Object[])Array.newInstance(java.lang.Object.class, 9);
 			System.out.print(objArray != null ? "PASSED" : "FAILED");
