am a0e7df14: am cecd90c0: Merge "Move dalvik\'s MIPS code off old kernel headers."

* commit 'a0e7df14fe6c987af18151cfb691cd7fdd96862d':
  Move dalvik's MIPS code off old kernel headers.
diff --git a/dx/Android.mk b/dx/Android.mk
index edf8ca3..37568d7 100644
--- a/dx/Android.mk
+++ b/dx/Android.mk
@@ -27,6 +27,66 @@
 
 INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)
 
+# the mainDexClasses rules
+# ============================================================
+include $(CLEAR_VARS)
+LOCAL_IS_HOST_MODULE := true
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE := mainDexClasses.rules
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX)
+$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/mainDexClasses.rules | $(ACP)
+	@echo "Copy: $(PRIVATE_MODULE) ($@)"
+	$(copy-file-to-new-target)
+
+INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)
+
+installed_mainDexClasses.rules := $(LOCAL_INSTALLED_MODULE)
+
+# the shrinkedAndroid jar is a library used by the mainDexClasses script
+# ============================================================
+include $(CLEAR_VARS)
+LOCAL_IS_HOST_MODULE := true
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE := shrinkedAndroid
+LOCAL_BUILT_MODULE_STEM := shrinkedAndroid.jar
+LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+$(LOCAL_BUILT_MODULE): PRIVATE_PROGUARD_FLAGS:= \
+  -include $(addprefix $(LOCAL_PATH)/, shrinkedAndroid.proguard.flags)
+$(LOCAL_BUILT_MODULE): $(call java-lib-files,android_stubs_current) | $(PROGUARD)
+	@echo Proguard: $@
+	$(hide) $(PROGUARD) -injars "$<(**/*.class)" -outjars $@ $(PRIVATE_PROGUARD_FLAGS)
+
+INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)
+
+installed_shrinkedAndroid := $(LOCAL_INSTALLED_MODULE)
+
+# the mainDexClasses script
+# ============================================================
+include $(CLEAR_VARS)
+LOCAL_IS_HOST_MODULE := true
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE := mainDexClasses
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/dx$(COMMON_JAVA_PACKAGE_SUFFIX)
+$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/mainDexClasses | $(ACP)
+	@echo "Copy: $(PRIVATE_MODULE) ($@)"
+	$(copy-file-to-new-target)
+	$(hide) chmod 755 $@
+
+$(LOCAL_INSTALLED_MODULE): | $(installed_shrinkedAndroid) $(installed_mainDexClasses.rules)
+INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE)
+
 endif # TARGET_BUILD_APPS
 
 # the dexmerger script
diff --git a/dx/etc/mainDexClasses b/dx/etc/mainDexClasses
new file mode 100644
index 0000000..034d47e
--- /dev/null
+++ b/dx/etc/mainDexClasses
@@ -0,0 +1,158 @@
+#!/bin/bash
+#
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+function makeTempJar ()
+{
+  local tempDir=/tmp
+  if [ ! -e "${tempDir}" ]; then
+    tempDir=.
+  fi
+  local tempfile="${tempDir}/mainDexClasses-$$.tmp.jar"
+  if [ -e "${tempfile}" ]; then
+    echo "Failed to create temporary file" >2
+    exit 6
+  fi
+  echo "${tempfile}"
+}
+
+function cleanTmp ()
+{
+  if [ -e "${tmpOut}" ] ; then
+    rm "${tmpOut}"
+  fi
+}
+
+
+# Set up prog to be the path of this script, including following symlinks,
+# and set up progdir to be the fully-qualified pathname of its directory.
+prog="$0"
+
+while [ -h "${prog}" ]; do
+    newProg=`/bin/ls -ld "${prog}"`
+    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
+    if expr "x${newProg}" : 'x/' >/dev/null; then
+        prog="${newProg}"
+    else
+        progdir=`dirname "${prog}"`
+        prog="${progdir}/${newProg}"
+    fi
+done
+oldwd=`pwd`
+progdir=`dirname "${prog}"`
+cd "${progdir}"
+progdir=`pwd`
+prog="${progdir}"/`basename "${prog}"`
+cd "${oldwd}"
+
+baserules="${progdir}"/mainDexClasses.rules
+if [ ! -r ${baserules} ]; then
+    echo `basename "$prog"`": can't find mainDexClasses.rules" 1>&2
+    exit 1
+fi
+
+jarfile=dx.jar
+libdir="$progdir"
+
+if [ ! -r "$libdir/$jarfile" ]; then
+    # set dx.jar location for the SDK case
+    libdir="$libdir/lib"
+fi
+
+
+if [ ! -r "$libdir/$jarfile" ]; then
+    # set dx.jar location for the Android tree case
+    libdir=`dirname "$progdir"`/framework
+fi
+
+if [ ! -r "$libdir/$jarfile" ]; then
+    echo `basename "$prog"`": can't find $jarfile" 1>&2
+    exit 1
+fi
+
+proguardExec="proguard.sh"
+proguard=${PROGUARD_HOME}/bin/${proguardExec}
+
+if [ ! -r "${proguard}" ]; then
+  # set proguard location for the SDK case
+  proguardBaseDir=`dirname "$progdir"`
+  # "${progdir}"/../..
+  proguardBaseDir=`dirname "$proguardBaseDir"`
+  proguard="${proguardBaseDir}"/tools/proguard/bin/${proguardExec}
+fi
+
+if [ ! -r "${proguard}" ]; then
+  # set proguard location for the Android tree case
+  proguardBaseDir=`dirname "$proguardBaseDir"`
+  # "${progdir}"/../../../..
+  proguardBaseDir=`dirname "$proguardBaseDir"`
+  proguard="${proguardBaseDir}"/external/proguard/bin/${proguardExec}
+fi
+
+if [ ! -r "${proguard}" ]; then
+    proguard="`which proguard`"
+fi
+
+if [ -z "${proguard}" -o ! -r "${proguard}" ]; then
+    proguard="`which ${proguardExec}`"
+fi
+
+if [ -z "${proguard}" -o ! -r "${proguard}" ]; then
+    echo `basename "$prog"`": can't find ${proguardExec}" 1>&2
+    exit 1
+fi
+
+shrinkedAndroidJar="${SHRINKED_ANDROID_JAR}"
+if [ -z "${shrinkedAndroidJar}" ]; then
+  shrinkedAndroidJar=shrinkedAndroid.jar
+fi
+
+if [ ! -r "${shrinkedAndroidJar}" ]; then
+  shrinkedAndroidJar=${libdir}/${shrinkedAndroidJar}
+fi
+
+if [ ! -r "${shrinkedAndroidJar}" ]; then
+    echo `basename "$prog"`": can't find shrinkedAndroid.jar" 1>&2
+    exit 1
+fi
+
+if [ "$OSTYPE" = "cygwin" ]; then
+    # For Cygwin, convert the jarfile path into native Windows style.
+    jarpath=`cygpath -w "$libdir/$jarfile"`
+  proguard=`cygpath -w "${proguard}"`
+  shrinkedAndroidJar=`cygpath -w "${shrinkedAndroidJar}"`
+else
+    jarpath="$libdir/$jarfile"
+fi
+
+if expr "x$1" : 'x--output' >/dev/null; then
+    exec 1>$2
+    shift 2
+fi
+
+if [ $# -ne 1 ]; then
+  echo "Usage : $0 [--output <output file>] <application path>" 1>&2
+  exit 2
+fi
+
+tmpOut=`makeTempJar`
+
+trap cleanTmp 0
+
+${proguard} -injars ${@} -dontwarn -forceprocessing  -outjars ${tmpOut} \
+  -libraryjars "${shrinkedAndroidJar}" -dontoptimize -dontobfuscate -dontpreverify \
+  -include "${baserules}" 1>/dev/null || exit 10
+
+java -cp "$jarpath" com.android.multidex.ClassReferenceListBuilder "${tmpOut}" ${@} ||  exit 11
diff --git a/dx/etc/mainDexClasses.bat b/dx/etc/mainDexClasses.bat
new file mode 100755
index 0000000..00b60e8
--- /dev/null
+++ b/dx/etc/mainDexClasses.bat
@@ -0,0 +1,110 @@
+@echo off

+REM Copyright (C) 2013 The Android Open Source Project

+REM

+REM Licensed under the Apache License, Version 2.0 (the "License");

+REM you may not use this file except in compliance with the License.

+REM You may obtain a copy of the License at

+REM

+REM     http://www.apache.org/licenses/LICENSE-2.0

+REM

+REM Unless required by applicable law or agreed to in writing, software

+REM distributed under the License is distributed on an "AS IS" BASIS,

+REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+REM See the License for the specific language governing permissions and

+REM limitations under the License.

+

+REM don't modify the caller's environment

+setlocal

+

+rem Check we have a valid Java.exe in the path.

+set java_exe=

+if exist    "%~dp0..\tools\lib\find_java.bat"    call    "%~dp0..\tools\lib\find_java.bat"

+if exist    "%~dp0..\..\tools\lib\find_java.bat" call    "%~dp0..\..\tools\lib\find_java.bat"

+if not defined java_exe goto :EOF

+

+set baserules="%~dp0\mainDexClasses.rules"

+

+REM Locate dx.jar in the directory where dx.bat was found.

+set jarfile=dx.jar

+set "frameworkdir=%~dp0"

+rem frameworkdir must not end with a dir sep.

+set "frameworkdir=%frameworkdir:~0,-1%"

+if exist "%frameworkdir%\%jarfile%" goto JarFileOk

+    set "frameworkdir=%~dp0lib"

+

+if exist "%frameworkdir%\%jarfile%" goto JarFileOk

+    set "frameworkdir=%~dp0..\framework"

+:JarFileOk

+

+set "jarpath=%frameworkdir%\%jarfile%"

+

+set "shrinkedAndroidJar=%SHRINKED_ANDROID_JAR%

+if exist "%shrinkedAndroidJar%" goto shrinkedAndroidOk

+    set "shrinkedAndroidJar=shrinkedAndroid.jar"

+

+if exist "%shrinkedAndroidJar%" goto shrinkedAndroidOk

+    set "shrinkedAndroidJar=%frameworkdir%\%shrinkedAndroidJar%"

+

+:shrinkedAndroidOk

+set "proguardExec=proguard.bat"

+set "proguard=%PROGUARD_HOME%\bin\%proguardExec%"

+

+if exist "%proguard%" goto proguardOk

+REM set proguard location for the SDK case

+    set "PROGUARD_HOME=%~dp0\..\..\tools\proguard"

+    set "proguard=%PROGUARD_HOME%\bin\%proguardExec%"

+

+if exist "%proguard%" goto proguardOk

+REM set proguard location for the Android tree case

+    set "PROGUARD_HOME=%~dp0\..\..\..\..\external\proguard"

+    set "proguard=%PROGUARD_HOME%\bin\%proguardExec%"

+

+:proguardOk

+REM Capture all arguments.

+REM Note that when reading the input arguments with %1, the cmd.exe

+REM automagically converts --name=value arguments into 2 arguments "--name"

+REM followed by "value". Dx has been changed to know how to deal with that.

+set params=

+

+set output=

+

+:firstArg

+if [%1]==[] goto endArgs

+

+    if %1 NEQ --output goto notOut

+        set "output=%2"

+        shift

+        shift

+        goto firstArg

+

+:notOut

+    if defined params goto usage

+    set params=%1

+    shift

+    goto firstArg

+

+:endArgs

+if defined params ( goto makeTmpJar ) else ( goto usage )

+

+:makeTmpJar

+set "tmpJar=%TMP%\mainDexClasses-%RANDOM%.tmp.jar"

+if exist "%tmpJar%" goto makeTmpJar

+echo "" > "%tmpJar%"

+set "exitStatus=0"

+

+

+call "%proguard%" -injars %params% -dontwarn -forceprocessing  -outjars "%tmpJar%" -libraryjars "%shrinkedAndroidJar%" -dontoptimize -dontobfuscate -dontpreverify -include "%baserules%" 1>nul

+

+if DEFINED output goto redirect

+call "%java_exe%" -Djava.ext.dirs="%frameworkdir%" com.android.multidex.ClassReferenceListBuilder "%tmpJar%" "%params%"

+goto afterClassReferenceListBuilder

+:redirect

+call "%java_exe%" -Djava.ext.dirs="%frameworkdir%" com.android.multidex.ClassReferenceListBuilder "%tmpJar%" "%params%" 1>"%output%"

+:afterClassReferenceListBuilder

+

+del %tmpJar%

+exit /b

+

+:usage

+echo "Usage : %0 [--output <output file>] <application path>"

+exit /b 1

diff --git a/dx/etc/mainDexClasses.rules b/dx/etc/mainDexClasses.rules
new file mode 100644
index 0000000..5175418
--- /dev/null
+++ b/dx/etc/mainDexClasses.rules
@@ -0,0 +1,24 @@
+  -keep public class * extends android.app.Instrumentation {

+    <init>();

+  }

+  -keep public class * extends android.app.Application {

+    <init>();

+  }

+  -keep public class * extends android.app.Activity {

+    <init>();

+  }

+  -keep public class * extends android.app.Service {

+    <init>();

+  }

+  -keep public class * extends android.content.ContentProvider {

+   <init>();

+  }

+  -keep public class * extends android.content.BroadcastReceiver {

+   <init>();

+  }

+  -keep public class * extends android.app.backup.BackupAgent {

+   <init>();

+  }

+  -keep class android.support.multidex.** {

+    *;

+  }
\ No newline at end of file
diff --git a/dx/shrinkedAndroid.proguard.flags b/dx/shrinkedAndroid.proguard.flags
new file mode 100644
index 0000000..65c8689
--- /dev/null
+++ b/dx/shrinkedAndroid.proguard.flags
@@ -0,0 +1,21 @@
+-dontwarn
+-forceprocessing
+-dontoptimize
+-dontobfuscate
+-dontpreverify
+-keep public class * extends android.app.Instrumentation {
+}
+-keep public class * extends android.app.Application {
+}
+-keep public class * extends android.app.Activity {
+}
+-keep public class * extends android.app.Service {
+}
+-keep public class * extends android.content.ContentProvider {
+}
+-keep public class * extends android.content.BroadcastReceiver {
+}
+-keep public class * extends android.app.backup.BackupAgent {
+}
+-keep class android.support.multidex.installer.** {
+}
diff --git a/dx/src/com/android/dx/command/dexer/Main.java b/dx/src/com/android/dx/command/dexer/Main.java
index ab6d2f7..8c77d89 100644
--- a/dx/src/com/android/dx/command/dexer/Main.java
+++ b/dx/src/com/android/dx/command/dexer/Main.java
@@ -1477,8 +1477,9 @@
             }
 
             if (multiDex && numThreads != 1) {
-                System.out.println(NUM_THREADS_OPTION + "is ignored when used with "
+                System.out.println(NUM_THREADS_OPTION + " is ignored when used with "
                     + MULTI_DEX_OPTION);
+                numThreads = 1;
             }
 
             if (multiDex && incremental) {
diff --git a/dx/src/com/android/dx/rop/cst/ConstantPool.java b/dx/src/com/android/dx/rop/cst/ConstantPool.java
index efc394d..f4b8086 100644
--- a/dx/src/com/android/dx/rop/cst/ConstantPool.java
+++ b/dx/src/com/android/dx/rop/cst/ConstantPool.java
@@ -67,4 +67,11 @@
      * the index is in-range but invalid
      */
     public Constant getOrNull(int n);
+
+    /**
+     * Get all entries in this constant pool.
+     *
+     * @return the returned array may contain null entries.
+     */
+    public Constant[] getEntries();
 }
diff --git a/dx/src/com/android/dx/rop/cst/StdConstantPool.java b/dx/src/com/android/dx/rop/cst/StdConstantPool.java
index bb975e4..f941f7d 100644
--- a/dx/src/com/android/dx/rop/cst/StdConstantPool.java
+++ b/dx/src/com/android/dx/rop/cst/StdConstantPool.java
@@ -88,6 +88,15 @@
     }
 
     /**
+     * Get all entries in this constant pool.
+     *
+     * @return the returned array may contain null entries.
+     */
+    public Constant[] getEntries() {
+        return entries;
+    }
+
+    /**
      * Sets the entry at the given index.
      *
      * @param n {@code >= 1, < size();} which entry
diff --git a/dx/src/com/android/multidex/ArchivePathElement.java b/dx/src/com/android/multidex/ArchivePathElement.java
new file mode 100644
index 0000000..e76993b
--- /dev/null
+++ b/dx/src/com/android/multidex/ArchivePathElement.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.multidex;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+
+/**
+ * A zip element.
+ */
+class ArchivePathElement implements ClassPathElement {
+
+    private ZipFile archive;
+
+    public ArchivePathElement(ZipFile archive) {
+        this.archive = archive;
+    }
+
+    @Override
+    public InputStream open(String path) throws IOException {
+        ZipEntry entry = archive.getEntry(path);
+        if (entry == null) {
+            throw new FileNotFoundException(path);
+        } else {
+            return archive.getInputStream(entry);
+        }
+    }
+
+    @Override
+    public void close() throws IOException {
+        archive.close();
+    }
+
+}
diff --git a/dx/src/com/android/multidex/ClassPathElement.java b/dx/src/com/android/multidex/ClassPathElement.java
new file mode 100644
index 0000000..6c60721
--- /dev/null
+++ b/dx/src/com/android/multidex/ClassPathElement.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.multidex;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * An element of the class path in which class files can be found.
+ */
+interface ClassPathElement {
+
+    char SEPARATOR_CHAR = '/';
+
+    /**
+     * Open a "file" from this {@code ClassPathElement}.
+     * @param path a '/' separated relative path to the wanted file.
+     * @return an {@code InputStream} ready to read the requested file.
+     * @throws IOException if the path can not be found or if an error occurred while opening it.
+     */
+    InputStream open(String path) throws IOException;
+
+    void close() throws IOException;
+
+}
diff --git a/dx/src/com/android/multidex/ClassReferenceListBuilder.java b/dx/src/com/android/multidex/ClassReferenceListBuilder.java
new file mode 100644
index 0000000..104262f
--- /dev/null
+++ b/dx/src/com/android/multidex/ClassReferenceListBuilder.java
@@ -0,0 +1,294 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.multidex;
+
+import com.android.dx.cf.direct.DirectClassFile;
+import com.android.dx.cf.direct.StdAttributeFactory;
+import com.android.dx.rop.cst.Constant;
+import com.android.dx.rop.cst.ConstantPool;
+import com.android.dx.rop.cst.CstType;
+import com.android.dx.rop.type.Type;
+import com.android.dx.rop.type.TypeList;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Pattern;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipException;
+import java.util.zip.ZipFile;
+
+/**
+ * This is a command line tool used by mainDexClasses script to find direct class references to
+ * other classes. First argument of the command line is an archive, each class file contained in
+ * this archive is used to identify a class whose references are to be searched, those class files
+ * are not opened by this tool only their names matter. Other arguments must be zip files or
+ * directories, they constitute in a classpath in with the classes named by the first argument
+ * will be searched. Each searched class must be found. On each of this classes are searched for
+ * their dependencies to other classes. Finally the tools prints on standard output a list of class
+ * files names suitable as content of the file argument --main-dex-list of dx.
+ */
+public class ClassReferenceListBuilder {
+
+    private static final String CLASS_EXTENSION = ".class";
+
+    private static final int STATUS_ERROR = 1;
+
+    private static final String EOL = System.getProperty("line.separator");
+
+    private static String USAGE_MESSAGE =
+            "Usage:" + EOL + EOL +
+            "Short version: Don't use this." + EOL + EOL +
+            "Slightly longer version: This tool is used by mainDexClasses script to find direct"
+            + EOL +
+            "references of some classes." + EOL;
+
+    private Path path;
+    private Set<String> toKeep = new HashSet<String>();
+
+    private ClassReferenceListBuilder(Path path) {
+        this.path = path;
+    }
+
+    public static void main(String[] args) {
+
+        if (args.length != 2) {
+            printUsage();
+            System.exit(STATUS_ERROR);
+        }
+
+        ZipFile jarOfRoots;
+        try {
+            jarOfRoots = new ZipFile(args[0]);
+        } catch (IOException e) {
+            System.err.println("\"" + args[0] + "\" can not be read as a zip archive. ("
+                    + e.getMessage() + ")");
+            System.exit(STATUS_ERROR);
+            return;
+        }
+
+        Path path = null;
+        try {
+            path = new Path(args[1]);
+
+            ClassReferenceListBuilder builder = new ClassReferenceListBuilder(path);
+            builder.addRoots(jarOfRoots);
+
+            printList(builder.toKeep);
+        } catch (IOException e) {
+            System.err.println("A fatal error occured: " + e.getMessage());
+            System.exit(STATUS_ERROR);
+            return;
+        } finally {
+            try {
+                jarOfRoots.close();
+            } catch (IOException e) {
+                // ignore
+            }
+            if (path != null) {
+                for (ClassPathElement element : path.elements) {
+                    try {
+                        element.close();
+                    } catch (IOException e) {
+                        // keep going, lets do our best.
+                    }
+                }
+            }
+        }
+    }
+
+    private static void printUsage() {
+        System.err.print(USAGE_MESSAGE);
+    }
+
+    private static ClassPathElement getClassPathElement(File file)
+            throws ZipException, IOException {
+        if (file.isDirectory()) {
+            return new FolderPathElement(file);
+        } else if (file.isFile()) {
+            return new ArchivePathElement(new ZipFile(file));
+        } else if (file.exists()) {
+            throw new IOException(file.getAbsolutePath() +
+                    " is not a directory neither a zip file");
+        } else {
+            throw new FileNotFoundException(file.getAbsolutePath());
+        }
+    }
+
+    private static void printList(Set<String> toKeep) {
+        for (String classDescriptor : toKeep) {
+            System.out.print(classDescriptor);
+            System.out.println(CLASS_EXTENSION);
+        }
+    }
+
+    private void addRoots(ZipFile jarOfRoots) throws IOException {
+
+        // keep roots
+        for (Enumeration<? extends ZipEntry> entries = jarOfRoots.entries();
+                entries.hasMoreElements();) {
+            ZipEntry entry = entries.nextElement();
+            String name = entry.getName();
+            if (name.endsWith(CLASS_EXTENSION)) {
+                toKeep.add(name.substring(0, name.length() - CLASS_EXTENSION.length()));
+            }
+        }
+
+        // keep direct references of roots (+ direct references hierarchy)
+        for (Enumeration<? extends ZipEntry> entries = jarOfRoots.entries();
+                entries.hasMoreElements();) {
+            ZipEntry entry = entries.nextElement();
+            String name = entry.getName();
+            if (name.endsWith(CLASS_EXTENSION)) {
+                DirectClassFile classFile;
+                try {
+                    classFile = path.getClass(name);
+                } catch (FileNotFoundException e) {
+                    throw new IOException("Class " + name +
+                            " is missing form original class path " + path, e);
+                }
+
+                addDependencies(classFile.getConstantPool());
+            }
+        }
+    }
+
+    private void addDependencies(ConstantPool pool) {
+        int entryCount = pool.size();
+        for (Constant constant : pool.getEntries()) {
+            if (constant instanceof CstType) {
+                Type type = ((CstType) constant).getClassType();
+                String descriptor = type.getDescriptor();
+                if (descriptor.endsWith(";")) {
+                    int lastBrace = descriptor.lastIndexOf('[');
+                    if (lastBrace < 0) {
+                        addClassWithHierachy(descriptor.substring(1, descriptor.length()-1));
+                    } else {
+                        assert descriptor.length() > lastBrace + 3
+                        && descriptor.charAt(lastBrace + 1) == 'L';
+                        addClassWithHierachy(descriptor.substring(lastBrace + 2,
+                                descriptor.length() - 1));
+                    }
+                }
+            }
+        }
+    }
+
+    private void addClassWithHierachy(String classBinaryName) {
+        if (toKeep.contains(classBinaryName)) {
+            return;
+        }
+
+        String fileName = classBinaryName + CLASS_EXTENSION;
+        try {
+            DirectClassFile classFile = path.getClass(fileName);
+            toKeep.add(classBinaryName);
+            CstType superClass = classFile.getSuperclass();
+            if (superClass != null) {
+                addClassWithHierachy(superClass.getClassType().getClassName());
+            }
+
+            TypeList interfaceList = classFile.getInterfaces();
+            int interfaceNumber = interfaceList.size();
+            for (int i = 0; i < interfaceNumber; i++) {
+                addClassWithHierachy(interfaceList.getType(i).getClassName());
+            }
+        } catch (FileNotFoundException e) {
+            // Ignore: The referenced type is not in the path it must be part of the libraries.
+        }
+    }
+
+    private static class Path {
+        private List<ClassPathElement> elements = new ArrayList<ClassPathElement>();
+        private String definition;
+        private ByteArrayOutputStream baos = new ByteArrayOutputStream(40 * 1024);
+        private byte[] readBuffer = new byte[20 * 1024];
+
+        public Path(String definition) throws IOException {
+            this.definition = definition;
+            for (String filePath : definition.split(Pattern.quote(File.pathSeparator))) {
+                try {
+                    addElement(getClassPathElement(new File(filePath)));
+                } catch (IOException e) {
+                    throw new IOException("\"" + filePath + "\" can not be used as a classpath"
+                            + " element. ("
+                            + e.getMessage() + ")", e);
+                }
+            }
+        }
+
+        private static byte[] readStream(InputStream in, ByteArrayOutputStream baos, byte[] readBuffer)
+                throws IOException {
+            try {
+                for (;;) {
+                    int amt = in.read(readBuffer);
+                    if (amt < 0) {
+                        break;
+                    }
+
+                    baos.write(readBuffer, 0, amt);
+                }
+            } finally {
+                in.close();
+            }
+            return baos.toByteArray();
+        }
+
+        @Override
+        public String toString() {
+            return definition;
+        }
+
+        private void addElement(ClassPathElement element) {
+            assert element != null;
+            elements.add(element);
+        }
+
+        private DirectClassFile getClass(String path) throws FileNotFoundException {
+            DirectClassFile classFile = null;
+            for (ClassPathElement element : elements) {
+                try {
+                    InputStream in = element.open(path);
+                    try {
+                        byte[] bytes = readStream(in, baos, readBuffer);
+                        baos.reset();
+                        classFile = new DirectClassFile(bytes, path, false);
+                        classFile.setAttributeFactory(StdAttributeFactory.THE_ONE);
+                        break;
+                    } finally {
+                        in.close();
+                    }
+                } catch (IOException e) {
+                    // search next element
+                }
+            }
+            if (classFile == null) {
+                throw new FileNotFoundException(path);
+            }
+            return classFile;
+        }
+    }
+
+
+}
diff --git a/dx/src/com/android/multidex/FolderPathElement.java b/dx/src/com/android/multidex/FolderPathElement.java
new file mode 100644
index 0000000..2242547
--- /dev/null
+++ b/dx/src/com/android/multidex/FolderPathElement.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.multidex;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+
+/**
+ * A folder element.
+ */
+class FolderPathElement implements ClassPathElement {
+
+    private File baseFolder;
+
+    public FolderPathElement(File baseFolder) {
+        this.baseFolder = baseFolder;
+    }
+
+    @Override
+    public InputStream open(String path) throws FileNotFoundException {
+        return new FileInputStream(new File(baseFolder,
+                path.replace(SEPARATOR_CHAR, File.separatorChar)));
+    }
+
+    @Override
+    public void close() {
+    }
+
+}
diff --git a/tests/001-nop/build b/tests/001-nop/build
deleted file mode 100644
index 5233a2d..0000000
--- a/tests/001-nop/build
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-# Nothing to do here.
diff --git a/tests/001-nop/expected.txt b/tests/001-nop/expected.txt
deleted file mode 100644
index 80a233e..0000000
--- a/tests/001-nop/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Blort.
diff --git a/tests/001-nop/info.txt b/tests/001-nop/info.txt
deleted file mode 100644
index 9942f10..0000000
--- a/tests/001-nop/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a sample no-op test, which does at least serve to verify that the
-test harness is working.
diff --git a/tests/001-nop/run b/tests/001-nop/run
deleted file mode 100644
index 210296b..0000000
--- a/tests/001-nop/run
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-echo "Blort."
diff --git a/tests/002-sleep/expected.txt b/tests/002-sleep/expected.txt
deleted file mode 100644
index f994ce5..0000000
--- a/tests/002-sleep/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Sleeping 1000 msec...
-Done sleeping
diff --git a/tests/002-sleep/info.txt b/tests/002-sleep/info.txt
deleted file mode 100644
index 9a0afe9..0000000
--- a/tests/002-sleep/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Test that Thread.sleep() operates reasonably. This test is actually
-mostly meant as an easy thing to modify in order to test other things
-in an ad-hoc way.
diff --git a/tests/002-sleep/src/Main.java b/tests/002-sleep/src/Main.java
deleted file mode 100644
index c1a2d83..0000000
--- a/tests/002-sleep/src/Main.java
+++ /dev/null
@@ -1,22 +0,0 @@
-public class Main {
-    static public void main(String[] args) throws Exception {
-        int millis = 1000;
-
-        if (args.length != 0) {
-            millis = Integer.parseInt(args[0]);
-        }
-
-        System.out.println("Sleeping " + millis + " msec...");
-
-        long start = System.currentTimeMillis();
-        Thread.sleep(millis);
-        long elapsed = System.currentTimeMillis() - start;
-        long offBy = Math.abs(elapsed - millis);
-
-        System.out.println("Done sleeping");
-
-        if (offBy > 250) {
-            System.out.println("Actually slept about " + elapsed + " msec...");
-        }
-    }
-}
diff --git a/tests/003-omnibus-opcodes/build b/tests/003-omnibus-opcodes/build
deleted file mode 100644
index 9eb5ed3..0000000
--- a/tests/003-omnibus-opcodes/build
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2008 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Stop if something fails.
-set -e
-
-mkdir classes
-${JAVAC} -d classes `find src -name '*.java'`
-rm classes/UnresClass.class
-${JAVAC} -d classes `find src2 -name '*.java'`
-
-dx -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
-zip test.jar classes.dex
diff --git a/tests/003-omnibus-opcodes/expected.txt b/tests/003-omnibus-opcodes/expected.txt
deleted file mode 100644
index 4895dc3..0000000
--- a/tests/003-omnibus-opcodes/expected.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-(assertions are enabled)
-InstField assign...
-InstField check...
-InstField.nullCheck
-StaticField assign...
-StaticField check...
-IntMath.shiftTest1
-IntMath.shiftTest2
-IntMath.unsignedShiftTest
-IntMath.convTest
-IntMath.charSubTest
-IntMath.intOperTest
-IntMath.intOperCheck
-IntMath.longOperTest
-IntMath.longOperCheck
-IntMath.lit16Test
-IntMath.lit8Test
-IntMath.intShiftTest
-IntMath.intShiftCheck
-IntMath.longShiftTest
-IntMath.longShiftCheck
-IntMath.truncateTest
-IntMath.divideByZero
-IntMath.bigDivideOverflow
-IntMath.checkConsts
-IntMath.jlmTests
-FloatMath.convTest
-FloatMath.floatOperTest
-FloatMath.doubleOperTest
-FloatMath.checkConvI
-FloatMath.checkConvL
-FloatMath.checkConvF
- 0: -2.0054409E9
- 1: -8.613303E18
- 2: -3.1415927
--2.0054409E9, -8.6133031E18, -3.1415927
-FloatMath.checkConvD
- 0: -2.005440939E9
- 1: -8.613303245920329E18
- 2: 123.45600128173828
--2.005440939E9, -8.6133032459203287E18, 123.4560012817382
-FloatMath.checkConsts
-FloatMath.jlmTests
-IntMath.testIntCompare
-IntMath.testLongCompare
-IntMath.testFloatCompare
-IntMath.testDoubleCompare
-Monitor.run
-Switch.testSwitch
-Array check...
-Array.checkRange32
-Array.checkRange64
-Array.checkNegAlloc
-Classes.checkCast
-Classes.arrayInstance
-Goto.smallGoto
-Goto.smallGoto
-Goto.mediumGoto
-Goto.mediumGoto
-Goto.bigGoto
-Goto.bigGoto
-  MethodCallBase ctor
-  MethodCall ctor
-MethodCalls.manyArgs
-Throw.one
-Throw.twoA
-Throw.twoN
-Throw.rethrow
-UnresTest1...
-UnresTest1...
-UnresTest2...
-UnresTest2 done
-InternedString.run
-Done!
diff --git a/tests/003-omnibus-opcodes/info.txt b/tests/003-omnibus-opcodes/info.txt
deleted file mode 100644
index 6c0fbda..0000000
--- a/tests/003-omnibus-opcodes/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a smoke test of many Dalvik opcodes.
diff --git a/tests/003-omnibus-opcodes/src/Array.java b/tests/003-omnibus-opcodes/src/Array.java
deleted file mode 100644
index f385dd8..0000000
--- a/tests/003-omnibus-opcodes/src/Array.java
+++ /dev/null
@@ -1,224 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-
-/**
- * Exercise arrays.
- */
-public class Array {
-
-    /*
-     * Verify array contents.
-     */
-    static void checkBytes(byte[] bytes) {
-        assert(bytes[0] == 0);
-        assert(bytes[1] == -1);
-        assert(bytes[2] == -2);
-        assert(bytes[3] == -3);
-        assert(bytes[4] == -4);
-    }
-    static void checkShorts(short[] shorts) {
-        assert(shorts[0] == 20);
-        assert(shorts[1] == 10);
-        assert(shorts[2] == 0);
-        assert(shorts[3] == -10);
-        assert(shorts[4] == -20);
-    }
-    static void checkChars(char[] chars) {
-        assert(chars[0] == 40000);
-        assert(chars[1] == 40001);
-        assert(chars[2] == 40002);
-        assert(chars[3] == 40003);
-        assert(chars[4] == 40004);
-    }
-    static void checkInts(int[] ints) {
-        assert(ints[0] == 70000);
-        assert(ints[1] == 70001);
-        assert(ints[2] == 70002);
-        assert(ints[3] == 70003);
-        assert(ints[4] == 70004);
-    }
-    static void checkBooleans(boolean[] booleans) {
-        assert(booleans[0]);
-        assert(booleans[1]);
-        assert(!booleans[2]);
-        assert(booleans[3]);
-        assert(!booleans[4]);
-    }
-    static void checkFloats(float[] floats) {
-        assert(floats[0] == -1.5);
-        assert(floats[1] == -0.5);
-        assert(floats[2] == 0.0);
-        assert(floats[3] == 0.5);
-        assert(floats[4] == 1.5);
-    }
-    static void checkLongs(long[] longs) {
-        assert(longs[0] == 0x1122334455667788L);
-        assert(longs[1] == 0x8877665544332211L);
-        assert(longs[2] == 0L);
-        assert(longs[3] == 1L);
-        assert(longs[4] == -1L);
-    }
-    static void checkStrings(String[] strings) {
-        assert(strings[0].equals("zero"));
-        assert(strings[1].equals("one"));
-        assert(strings[2].equals("two"));
-        assert(strings[3].equals("three"));
-        assert(strings[4].equals("four"));
-    }
-
-    /*
-     * Try bad range values, 32 bit get/put.
-     */
-    static void checkRange32(int[] ints, int[] empty, int negVal1, int negVal2){
-        System.out.println("Array.checkRange32");
-        int i = 0;
-
-        assert(ints.length == 5);
-
-        try {
-            i = ints[5];            // exact bound
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            ints[5] = i;            // exact bound
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            i = ints[6];            // one past
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            i = ints[negVal1];      // -1
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            ints[negVal1] = i;      // -1
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            i = ints[negVal2];      // min int
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-
-
-        try {
-            i = empty[1];
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-    }
-
-    /*
-     * Try bad range values, 64 bit get/put.
-     */
-    static void checkRange64(long[] longs, int negVal1, int negVal2) {
-        System.out.println("Array.checkRange64");
-        long l = 0L;
-
-        assert(longs.length == 5);
-
-        try {
-            l = longs[5];            // exact bound
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            longs[5] = l;            // exact bound
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            l = longs[6];            // one past
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            l = longs[negVal1];      // -1
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            longs[negVal1] = l;      // -1
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-        try {
-            l = longs[negVal2];      // min int
-            assert(false);
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
-            // good
-        }
-    }
-
-    /*
-     * Test negative allocations of object and primitive arrays.
-     */
-    static void checkNegAlloc(int count) {
-        System.out.println("Array.checkNegAlloc");
-        String[] strings;
-        int[] ints;
-
-        try {
-            ints = new int[count];
-            assert(false);
-        } catch (NegativeArraySizeException nase) {
-            // good
-        }
-
-        try {
-            strings = new String[count];
-            assert(false);
-        } catch (NegativeArraySizeException nase) {
-            // good
-        }
-    }
-
-    public static void run() {
-        System.out.println("Array check...");
-
-        byte[] xBytes = new byte[] { 0, -1, -2, -3, -4 };
-        short[] xShorts = new short[] { 20, 10, 0, -10, -20 };
-        char[] xChars = new char[] { 40000, 40001, 40002, 40003, 40004 };
-        int[] xInts = new int[] { 70000, 70001, 70002, 70003, 70004 };
-        boolean[] xBooleans = new boolean[] { true, true, false, true, false };
-        float[] xFloats = new float[] { -1.5f, -0.5f, 0.0f, 0.5f, 1.5f };
-        long[] xLongs = new long[] {
-            0x1122334455667788L, 0x8877665544332211L, 0L, 1L, -1l };
-        String[] xStrings = new String[] {
-            "zero", "one", "two", "three", "four" };
-
-        int[] xEmpty = new int[0];
-
-        checkBytes(xBytes);
-        checkShorts(xShorts);
-        checkChars(xChars);
-        checkInts(xInts);
-        checkBooleans(xBooleans);
-        checkFloats(xFloats);
-        checkLongs(xLongs);
-        checkStrings(xStrings);
-
-        checkRange32(xInts, xEmpty, -1, (int) 0x80000000);
-        checkRange64(xLongs, -1, (int) 0x80000000);
-
-        checkNegAlloc(-1);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/Classes.java b/tests/003-omnibus-opcodes/src/Classes.java
deleted file mode 100644
index c89ff3e..0000000
--- a/tests/003-omnibus-opcodes/src/Classes.java
+++ /dev/null
@@ -1,219 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-import java.io.Serializable;
-import java.util.Arrays;
-
-/**
- * Exercise some class-related instructions.
- */
-public class Classes {
-    int mSome;
-
-    public void subFunc(boolean wantSub) {
-        assert(!wantSub);
-    }
-
-    void checkCast(Object thisRef, Object moreRef, Object nullRef) {
-        System.out.println("Classes.checkCast");
-
-        Classes classes;
-        MoreClasses more;
-
-        classes = (Classes) thisRef;
-        assert(thisRef instanceof Classes);
-        classes = (Classes) moreRef;
-        assert(moreRef instanceof Classes);
-
-        more = (MoreClasses) moreRef;
-        assert(moreRef instanceof MoreClasses);
-        assert(!(thisRef instanceof MoreClasses));
-
-        try {
-            more = (MoreClasses) thisRef;
-            assert(false);
-        } catch (ClassCastException cce) {
-            //System.out.println("  class cast msg: " + cce.getMessage());
-            //Dalvik throws terser message than Hotspot VM
-            assert(cce.getMessage().regionMatches(false, 0, "Classes", 0, 7));
-        }
-        assert(!(thisRef instanceof MoreClasses));
-
-        /* hopefully these classes cause a resolve */
-        try {
-            java.math.RoundingMode mode = (java.math.RoundingMode) thisRef;
-            assert(false);
-        } catch (ClassCastException cce) {
-            //System.out.println("  class cast msg: " + cce.getMessage());
-            //Dalvik throws terser message than Hotspot VM
-            assert(cce.getMessage().regionMatches(false, 0, "Classes", 0, 7));
-        }
-        assert(!(thisRef instanceof java.math.BigDecimal));
-
-        /* try some stuff with a null reference */
-        classes = (Classes) nullRef;
-        classes = (MoreClasses) nullRef;
-        more = (MoreClasses) nullRef;
-        assert(!(nullRef instanceof Classes));
-
-    }
-
-
-    static void xTests(Object x) {
-        assert(  x instanceof Classes);
-        assert(!(x instanceof MoreClasses));
-    }
-    static void yTests(Object y) {
-        assert(  y instanceof Classes);
-        assert(  y instanceof MoreClasses);
-    }
-    static void xarTests(Object xar) {
-        assert(  xar instanceof Object);
-        assert(!(xar instanceof Classes));
-        assert(  xar instanceof Classes[]);
-        assert(!(xar instanceof MoreClasses[]));
-        assert(  xar instanceof Object[]);
-        assert(!(xar instanceof Object[][]));
-    }
-    static void yarTests(Object yar) {
-        assert(  yar instanceof Classes[]);
-        assert(  yar instanceof MoreClasses[]);
-    }
-    static void xarararTests(Object xararar) {
-        assert(  xararar instanceof Object);
-        assert(  xararar instanceof Object[]);
-        assert(!(xararar instanceof Classes));
-        assert(!(xararar instanceof Classes[]));
-        assert(!(xararar instanceof Classes[][]));
-        assert(  xararar instanceof Classes[][][]);
-        assert(!(xararar instanceof MoreClasses[][][]));
-        assert(  xararar instanceof Object[][][]);
-        assert(  xararar instanceof Serializable);
-        assert(  xararar instanceof Serializable[]);
-        assert(  xararar instanceof Serializable[][]);
-        assert(!(xararar instanceof Serializable[][][]));
-    }
-    static void yarararTests(Object yararar) {
-        assert(  yararar instanceof Classes[][][]);
-        assert(  yararar instanceof MoreClasses[][][]);
-    }
-    static void iarTests(Object iar) {
-        assert(  iar instanceof Object);
-        assert(!(iar instanceof Object[]));
-    }
-    static void iararTests(Object iarar) {
-        assert(  iarar instanceof Object);
-        assert(  iarar instanceof Object[]);
-        assert(!(iarar instanceof Object[][]));
-    }
-
-    /*
-     * Exercise filled-new-array and test instanceof on arrays.
-     *
-     * We call out instead of using "instanceof" directly to avoid
-     * compiler optimizations.
-     */
-    static void arrayInstance() {
-        System.out.println("Classes.arrayInstance");
-
-        Classes x = new Classes();
-        Classes[] xar = new Classes[1];
-        Classes[][] xarar = new Classes[1][1];
-        Classes[][][] xararar = new Classes[1][2][3];
-        MoreClasses y = new MoreClasses();
-        MoreClasses[] yar = new MoreClasses[3];
-        MoreClasses[][] yarar = new MoreClasses[2][3];
-        MoreClasses[][][] yararar = new MoreClasses[1][2][3];
-        int[] iar = new int[1];
-        int[][] iarar = new int[1][1];
-        Object test;
-
-        xTests(x);
-        yTests(y);
-        xarTests(xar);
-        yarTests(yar);
-        xarararTests(xararar);
-        yarararTests(yararar);
-        iarTests(iar);
-        iararTests(iarar);
-
-        yararar[0] = yarar;
-        yararar[0][0] = yar;
-        yararar[0][1] = yar;
-        yararar[0][0][0] = y;
-        yararar[0][0][1] = y;
-        yararar[0][0][2] = y;
-        yararar[0][1][0] = y;
-        yararar[0][1][1] = y;
-        yararar[0][1][2] = y;
-
-        String strForm;
-
-        String[][][][] multi1 = new String[2][3][2][1];
-        multi1[0] = new String[2][3][2];
-        multi1[0][1] = new String[3][2];
-        multi1[0][1][2] = new String[2];
-        multi1[0][1][2][1] = "HELLO-1";
-        strForm = Arrays.deepToString(multi1);
-
-        String[][][][][] multi2 = new String[5][2][3][2][1];
-        multi2[0] = new String[5][2][3][2];
-        multi2[0][1] = new String[5][2][3];
-        multi2[0][1][2] = new String[5][2];
-        multi2[0][1][2][1] = new String[5];
-        multi2[0][1][2][1][4] = "HELLO-2";
-        strForm = Arrays.deepToString(multi2);
-
-
-        String[][][][][][] multi3 = new String[2][5][2][3][2][1];
-        multi3[0] = new String[2][][][][];
-        multi3[0][1] = new String[3][][][];
-        multi3[0][1][2] = new String[2][][];
-        multi3[0][1][2][1] = new String[5][];
-        multi3[0][1][2][1][4] = new String[2];
-        multi3[0][1][2][1][4][1] = "HELLO-3";
-        strForm = Arrays.deepToString(multi3);
-
-        // build up pieces
-        String[][][][][][] multi4 = new String[1][][][][][];
-        multi4[0] = new String[2][][][][];
-        multi4[0][1] = new String[3][][][];
-        multi4[0][1][2] = new String[2][][];
-        multi4[0][1][2][1] = new String[5][];
-        multi4[0][1][2][1][4] = new String[2];
-        multi4[0][1][2][1][4][1] = "HELLO-4";
-        strForm = Arrays.deepToString(multi4);
-
-        /* this is expected to fail; 1073921584 * 4 overflows 32 bits */
-        try {
-            String[][][][][] multiX = new String[5][2][3][2][1073921584];
-            assert(false);
-        } catch (Error e) {
-            //System.out.println("  Got expected failure: " + e);
-        }
-
-    }
-
-    public static void run() {
-        Classes classes = new Classes();
-        MoreClasses more = new MoreClasses();
-        classes.checkCast(classes, more, null);
-
-        more.subFunc(true);
-        more.superFunc(false);
-        arrayInstance();
-    }
-}
-
-class MoreClasses extends Classes {
-    int mMore;
-
-    public MoreClasses() {}
-
-    public void subFunc(boolean wantSub) {
-        assert(wantSub);
-    }
-
-    public void superFunc(boolean wantSub) {
-        super.subFunc(wantSub);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/Compare.java b/tests/003-omnibus-opcodes/src/Compare.java
deleted file mode 100644
index 43a708a..0000000
--- a/tests/003-omnibus-opcodes/src/Compare.java
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-
-
-/**
- * Test comparison operators.
- */
-public class Compare {
-
-    /*
-     * Test the integer comparisons in various ways.
-     */
-    static void testIntCompare(int minus, int plus, int plus2, int zero) {
-        System.out.println("IntMath.testIntCompare");
-
-        if (minus > plus)
-            assert(false);
-        if (minus >= plus)
-            assert(false);
-        if (plus < minus)
-            assert(false);
-        if (plus <= minus)
-            assert(false);
-        if (plus == minus)
-            assert(false);
-        if (plus != plus2)
-            assert(false);
-
-        /* try a branch-taken */
-        if (plus != minus) {
-            assert(true);
-        } else {
-            assert(false);
-        }
-
-        if (minus > 0)
-            assert(false);
-        if (minus >= 0)
-            assert(false);
-        if (plus < 0)
-            assert(false);
-        if (plus <= 0)
-            assert(false);
-        if (plus == 0)
-            assert(false);
-        if (zero != 0)
-            assert(false);
-
-        if (zero == 0) {
-            assert(true);
-        } else {
-            assert(false);
-        }
-    }
-
-    /*
-     * Test cmp-long.
-     *
-     * minus=-5, alsoMinus=0xFFFFFFFF00000009, plus=4, alsoPlus=8
-     */
-    static void testLongCompare(long minus, long alsoMinus, long plus,
-        long alsoPlus) {
-
-        System.out.println("IntMath.testLongCompare");
-        if (minus > plus)
-            assert(false);
-        if (plus < minus)
-            assert(false);
-        if (plus == minus)
-            assert(false);
-
-        if (plus >= plus+1)
-            assert(false);
-        if (minus >= minus+1)
-            assert(false);
-
-        /* try a branch-taken */
-        if (plus != minus) {
-            assert(true);
-        } else {
-            assert(false);
-        }
-
-        /* compare when high words are equal but low words differ */
-        if (plus > alsoPlus)
-            assert(false);
-        if (alsoPlus < plus)
-            assert(false);
-        if (alsoPlus == plus)
-            assert(false);
-
-        /* high words are equal, low words have apparently different signs */
-        if (minus < alsoMinus)      // bug!
-            assert(false);
-        if (alsoMinus > minus)
-            assert(false);
-        if (alsoMinus == minus)
-            assert(false);
-    }
-
-    /*
-     * Test cmpl-float and cmpg-float.
-     */
-    static void testFloatCompare(float minus, float plus, float plus2,
-        float nan) {
-
-        System.out.println("IntMath.testFloatCompare");
-        if (minus > plus)
-            assert(false);
-        if (plus < minus)
-            assert(false);
-        if (plus == minus)
-            assert(false);
-        if (plus != plus2)
-            assert(false);
-
-        if (plus <= nan)
-            assert(false);
-        if (plus >= nan)
-            assert(false);
-        if (minus <= nan)
-            assert(false);
-        if (minus >= nan)
-            assert(false);
-        if (nan >= plus)
-            assert(false);
-        if (nan <= plus)
-            assert(false);
-
-        if (nan == nan)
-            assert(false);
-    }
-
-    static void testDoubleCompare(double minus, double plus, double plus2,
-        double nan) {
-
-        System.out.println("IntMath.testDoubleCompare");
-        if (minus > plus)
-            assert(false);
-        if (plus < minus)
-            assert(false);
-        if (plus == minus)
-            assert(false);
-        if (plus != plus2)
-            assert(false);
-
-        if (plus <= nan)
-            assert(false);
-        if (plus >= nan)
-            assert(false);
-        if (minus <= nan)
-            assert(false);
-        if (minus >= nan)
-            assert(false);
-        if (nan >= plus)
-            assert(false);
-        if (nan <= plus)
-            assert(false);
-
-        if (nan == nan)
-            assert(false);
-    }
-
-    public static void run() {
-        testIntCompare(-5, 4, 4, 0);
-        testLongCompare(-5L, -4294967287L, 4L, 8L);
-
-        testFloatCompare(-5.0f, 4.0f, 4.0f, (1.0f/0.0f) / (1.0f/0.0f));
-        testDoubleCompare(-5.0, 4.0, 4.0, (1.0/0.0) / (1.0/0.0));
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/FloatMath.java b/tests/003-omnibus-opcodes/src/FloatMath.java
deleted file mode 100644
index 3c49402..0000000
--- a/tests/003-omnibus-opcodes/src/FloatMath.java
+++ /dev/null
@@ -1,337 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Test arithmetic operations.
- */
-public class FloatMath {
-
-    static void convTest() {
-        System.out.println("FloatMath.convTest");
-
-        float f;
-        double d;
-        int i;
-        long l;
-
-        /* float --> int */
-        f = 1234.5678f;
-        i = (int) f;
-        assert(i == 1234);
-
-        f = -1234.5678f;
-        i = (int) f;
-        assert(i == -1234);
-
-        /* float --> long */
-        f = 1238.5678f;
-        l = (long) f;
-        assert(l == 1238);
-
-        f = -1238.5678f;
-        l = (long) f;
-        assert(l == -1238);
-
-        /* float --> double */
-        f = 1238.5678f;
-        d = (double) f;
-        assert(d > 1238.567 && d < 1238.568);
-
-        /* double --> int */
-        d = 1234.5678;
-        i = (int) d;
-        assert(i == 1234);
-
-        d = -1234.5678;
-        i = (int) d;
-        assert(i == -1234);
-
-        /* double --> long */
-        d = 5678956789.0123;
-        l = (long) d;
-        assert(l == 5678956789L);
-
-        d = -5678956789.0123;
-        l = (long) d;
-        assert(l == -5678956789L);
-
-        /* double --> float */
-        d = 1238.5678;
-        f = (float) d;
-        assert(f > 1238.567 && f < 1238.568);
-
-        /* int --> long */
-        i = 7654;
-        l = (long) i;
-        assert(l == 7654L);
-
-        i = -7654;
-        l = (long) i;
-        assert(l == -7654L);
-
-        /* int --> float */
-        i = 1234;
-        f = (float) i;
-        assert(f > 1233.9f && f < 1234.1f);
-
-        i = -1234;
-        f = (float) i;
-        assert(f < -1233.9f && f > -1234.1f);
-
-        /* int --> double */
-        i = 1238;
-        d = (double) i;
-        assert(d > 1237.9f && d < 1238.1f);
-
-        i = -1238;
-        d = (double) i;
-        assert(d < -1237.9f && d > -1238.1f);
-
-        /* long --> int (with truncation) */
-        l = 5678956789L;
-        i = (int) l;
-        assert(i == 1383989493);
-
-        l = -5678956789L;
-        i = (int) l;
-        assert(i == -1383989493);
-
-        /* long --> float */
-        l = 5678956789L;
-        f = (float) l;
-        assert(f > 5.6789564E9 && f < 5.6789566E9);
-
-        l = -5678956789L;
-        f = (float) l;
-        assert(f < -5.6789564E9 && f > -5.6789566E9);
-
-        /* long --> double */
-        l = 6678956789L;
-        d = (double) l;
-        assert(d > 6.6789567E9 && d < 6.6789568E9);
-
-        l = -6678956789L;
-        d = (double) l;
-        assert(d < -6.6789567E9 && d > -6.6789568E9);
-    }
-
-    /*
-     * We pass in the arguments and return the results so the compiler
-     * doesn't do the math for us.
-     */
-    static float[] floatOperTest(float x, float y) {
-        System.out.println("FloatMath.floatOperTest");
-
-        float[] results = new float[9];
-
-        /* this seems to generate "op-float" instructions */
-        results[0] = x + y;
-        results[1] = x - y;
-        results[2] = x * y;
-        results[3] = x / y;
-        results[4] = x % -y;
-
-        /* this seems to generate "op-float/2addr" instructions */
-        results[8] = x + (((((x + y) - y) * y) / y) % y);
-
-        return results;
-    }
-    static void floatOperCheck(float[] results) {
-        assert(results[0] > 69996.99f && results[0] < 69997.01f);
-        assert(results[1] > 70002.99f && results[1] < 70003.01f);
-        assert(results[2] > -210000.01f && results[2] < -209999.99f);
-        assert(results[3] > -23333.34f && results[3] < -23333.32f);
-        assert(results[4] > 0.999f && results[4] < 1.001f);
-        assert(results[8] > 70000.99f && results[8] < 70001.01f);
-    }
-
-    /*
-     * We pass in the arguments and return the results so the compiler
-     * doesn't do the math for us.
-     */
-    static double[] doubleOperTest(double x, double y) {
-        System.out.println("FloatMath.doubleOperTest");
-
-        double[] results = new double[9];
-
-        /* this seems to generate "op-double" instructions */
-        results[0] = x + y;
-        results[1] = x - y;
-        results[2] = x * y;
-        results[3] = x / y;
-        results[4] = x % -y;
-
-        /* this seems to generate "op-double/2addr" instructions */
-        results[8] = x + (((((x + y) - y) * y) / y) % y);
-
-        return results;
-    }
-    static void doubleOperCheck(double[] results) {
-        assert(results[0] > 69996.99 && results[0] < 69997.01);
-        assert(results[1] > 70002.99 && results[1] < 70003.01);
-        assert(results[2] > -210000.01 && results[2] < -209999.99);
-        assert(results[3] > -23333.34 && results[3] < -23333.32);
-        assert(results[4] > 0.999 && results[4] < 1.001);
-        assert(results[8] > 70000.99 && results[8] < 70001.01);
-    }
-
-    /*
-     * Try to cause some unary operations.
-     */
-    static float unopTest(float f) {
-        f = -f;
-        return f;
-    }
-
-    static int[] convI(long l, float f, double d, float zero) {
-        int[] results = new int[6];
-        results[0] = (int) l;
-        results[1] = (int) f;
-        results[2] = (int) d;
-        results[3] = (int) (1.0f / zero);       // +inf
-        results[4] = (int) (-1.0f / zero);      // -inf
-        results[5] = (int) ((1.0f / zero) / (1.0f / zero)); // NaN
-        return results;
-    }
-    static void checkConvI(int[] results) {
-        System.out.println("FloatMath.checkConvI");
-        assert(results[0] == 0x44332211);
-        assert(results[1] == 123);
-        assert(results[2] == -3);
-        assert(results[3] == 0x7fffffff);
-        assert(results[4] == 0x80000000);
-        assert(results[5] == 0);
-    }
-
-    static long[] convL(int i, float f, double d, double zero) {
-        long[] results = new long[6];
-        results[0] = (long) i;
-        results[1] = (long) f;
-        results[2] = (long) d;
-        results[3] = (long) (1.0 / zero);       // +inf
-        results[4] = (long) (-1.0 / zero);      // -inf
-        results[5] = (long) ((1.0 / zero) / (1.0 / zero));  // NaN
-        return results;
-    }
-    static void checkConvL(long[] results) {
-        System.out.println("FloatMath.checkConvL");
-        assert(results[0] == 0xFFFFFFFF88776655L);
-        assert(results[1] == 123);
-        assert(results[2] == -3);
-        assert(results[3] == 0x7fffffffffffffffL);
-        assert(results[4] == 0x8000000000000000L);
-        assert(results[5] == 0);
-    }
-
-    static float[] convF(int i, long l, double d) {
-        float[] results = new float[3];
-        results[0] = (float) i;
-        results[1] = (float) l;
-        results[2] = (float) d;
-        return results;
-    }
-    static void checkConvF(float[] results) {
-        System.out.println("FloatMath.checkConvF");
-        // TODO: assert values
-        for (int i = 0; i < results.length; i++)
-            System.out.println(" " + i + ": " + results[i]);
-        System.out.println("-2.0054409E9, -8.6133031E18, -3.1415927");
-    }
-
-    static double[] convD(int i, long l, float f) {
-        double[] results = new double[3];
-        results[0] = (double) i;
-        results[1] = (double) l;
-        results[2] = (double) f;
-        return results;
-    }
-    static void checkConvD(double[] results) {
-        System.out.println("FloatMath.checkConvD");
-        // TODO: assert values
-        for (int i = 0; i < results.length; i++)
-            System.out.println(" " + i + ": " + results[i]);
-        System.out.println("-2.005440939E9, -8.6133032459203287E18, 123.4560012817382");
-    }
-
-    static void checkConsts() {
-        System.out.println("FloatMath.checkConsts");
-
-        float f = 10.0f;        // const/special
-        assert(f > 9.9 && f < 10.1);
-
-        double d = 10.0;        // const-wide/special
-        assert(d > 9.9 && d < 10.1);
-    }
-
-    /*
-     * Determine if two floating point numbers are approximately equal.
-     *
-     * (Assumes that floating point is generally working, so we can't use
-     * this for the first set of tests.)
-     */
-    static boolean approxEqual(float a, float b, float maxDelta) {
-        if (a > b)
-            return (a - b) < maxDelta;
-        else
-            return (b - a) < maxDelta;
-    }
-    static boolean approxEqual(double a, double b, double maxDelta) {
-        if (a > b)
-            return (a - b) < maxDelta;
-        else
-            return (b - a) < maxDelta;
-    }
-
-    /*
-     * Test some java.lang.Math functions.
-     *
-     * The method arguments are positive values.
-     */
-    static void jlmTests(float ff, double dd) {
-        System.out.println("FloatMath.jlmTests");
-
-        assert(approxEqual(Math.abs(ff), ff, 0.001f));
-        assert(approxEqual(Math.abs(-ff), ff, 0.001f));
-        assert(approxEqual(Math.min(ff, -5.0f), -5.0f, 0.001f));
-        assert(approxEqual(Math.max(ff, -5.0f), ff, 0.001f));
-
-        assert(approxEqual(Math.abs(dd), dd, 0.001));
-        assert(approxEqual(Math.abs(-dd), dd, 0.001));
-        assert(approxEqual(Math.min(dd, -5.0), -5.0, 0.001));
-        assert(approxEqual(Math.max(dd, -5.0), dd, 0.001));
-
-        double sq = Math.sqrt(dd);
-        assert(approxEqual(sq*sq, dd, 0.001));
-
-        assert(approxEqual(0.5403023058681398, Math.cos(1.0), 0.00000001));
-        assert(approxEqual(0.8414709848078965, Math.sin(1.0), 0.00000001));
-    }
-
-    public static void run() {
-        convTest();
-
-        float[] floatResults;
-        double[] doubleResults;
-        int[] intResults;
-        long[] longResults;
-
-        floatResults = floatOperTest(70000.0f, -3.0f);
-        floatOperCheck(floatResults);
-        doubleResults = doubleOperTest(70000.0, -3.0);
-        doubleOperCheck(doubleResults);
-
-        intResults = convI(0x8877665544332211L, 123.456f, -3.1415926535, 0.0f);
-        checkConvI(intResults);
-        longResults = convL(0x88776655, 123.456f, -3.1415926535, 0.0);
-        checkConvL(longResults);
-        floatResults = convF(0x88776655, 0x8877665544332211L, -3.1415926535);
-        checkConvF(floatResults);
-        doubleResults = convD(0x88776655, 0x8877665544332211L, 123.456f);
-        checkConvD(doubleResults);
-
-        unopTest(123.456f);
-
-        checkConsts();
-
-        jlmTests(3.14159f, 123456.78987654321);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/Goto.java b/tests/003-omnibus-opcodes/src/Goto.java
deleted file mode 100644
index d56ceae..0000000
--- a/tests/003-omnibus-opcodes/src/Goto.java
+++ /dev/null
@@ -1,2408 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Try to cause some gotos.
- */
-class Goto {
-    static int filler(int i) {
-        return i+1;
-    }
-
-    static int smallGoto(boolean which) {
-        System.out.println("Goto.smallGoto");
-
-        int i = 0;
-
-        if (which) {
-            i += filler(i);
-        } else {
-            i -= filler(i);
-        }
-
-        return i;
-    }
-
-    static int mediumGoto(boolean which) {
-        System.out.println("Goto.mediumGoto");
-
-        int i = 0;
-
-        if (which) {
-            i += filler(i);
-        } else {
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-        }
-
-        return i;
-    }
-
-    static int bigGoto(boolean which) {
-        System.out.println("Goto.bigGoto");
-
-        int i = 0;
-
-        if (which) {
-            i += filler(i);
-        } else {
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-            i -= filler(i);  i -= filler(i);  i -= filler(i);  i -= filler(i);
-        }
-
-        return i;
-    }
-
-    public static void run() {
-        smallGoto(false);
-        smallGoto(true);
-        mediumGoto(false);
-        mediumGoto(true);
-        bigGoto(false);
-        bigGoto(true);
-    }
-};
diff --git a/tests/003-omnibus-opcodes/src/InstField.java b/tests/003-omnibus-opcodes/src/InstField.java
deleted file mode 100644
index 80b95ab..0000000
--- a/tests/003-omnibus-opcodes/src/InstField.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class InstField {
-    public boolean mBoolean1, mBoolean2;
-    public byte mByte1, mByte2;
-    public char mChar1, mChar2;
-    public short mShort1, mShort2;
-    public int mInt1, mInt2;
-    public float mFloat1, mFloat2;
-    public long mLong1, mLong2;
-    public double mDouble1, mDouble2;
-    public volatile long mVolatileLong1, mVolatileLong2;
-
-    public void run() {
-        assignFields();
-        checkFields();
-        InstField.nullCheck(null);
-    }
-
-    /*
-     * Check access to instance fields through a null pointer.
-     */
-    static public void nullCheck(InstField nully) {
-        System.out.println("InstField.nullCheck");
-        try {
-            int x = nully.mInt1;
-            assert(false);
-        } catch (NullPointerException npe) {
-            // good
-        }
-        try {
-            long l = nully.mLong1;
-            assert(false);
-        } catch (NullPointerException npe) {
-            // good
-        }
-        try {
-            nully.mInt1 = 5;
-            assert(false);
-        } catch (NullPointerException npe) {
-            // good
-        }
-        try {
-            nully.mLong1 = 17L;
-            assert(false);
-        } catch (NullPointerException npe) {
-            // good
-        }
-    }
-
-    public void assignFields() {
-        System.out.println("InstField assign...");
-        mBoolean1 = true;
-        mBoolean2 = false;
-        mByte1 = 127;
-        mByte2 = -128;
-        mChar1 = 32767;
-        mChar2 = 65535;
-        mShort1 = 32767;
-        mShort2 = -32768;
-        mInt1 = 65537;
-        mInt2 = -65537;
-        mFloat1 = 3.1415f;
-        mFloat2 = -1.0f / 0.0f;                // -inf
-        mLong1 = 1234605616436508552L;     // 0x1122334455667788
-        mLong2 = -1234605616436508552L;
-        mDouble1 = 3.1415926535;
-        mDouble2 = 1.0 / 0.0;               // +inf
-        mVolatileLong1 = mLong1 - 1;
-        mVolatileLong2 = mLong2 + 1;
-    }
-
-    public void checkFields() {
-        System.out.println("InstField check...");
-        assert(mBoolean1);
-        assert(!mBoolean2);
-        assert(mByte1 == 127);
-        assert(mByte2 == -128);
-        assert(mChar1 == 32767);
-        assert(mChar2 == 65535);
-        assert(mShort1 == 32767);
-        assert(mShort2 == -32768);
-        assert(mInt1 == 65537);
-        assert(mInt2 == -65537);
-        assert(mFloat1 > 3.141f && mFloat1 < 3.142f);
-        assert(mFloat2 < mFloat1);
-        assert(mLong1 == 1234605616436508552L);
-        assert(mLong2 == -1234605616436508552L);
-        assert(mDouble1 > 3.141592653 && mDouble1 < 3.141592654);
-        assert(mDouble2 > mDouble1);
-        assert(mVolatileLong1 == 1234605616436508551L);
-        assert(mVolatileLong2 == -1234605616436508551L);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/IntMath.java b/tests/003-omnibus-opcodes/src/IntMath.java
deleted file mode 100644
index 89194de..0000000
--- a/tests/003-omnibus-opcodes/src/IntMath.java
+++ /dev/null
@@ -1,492 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Test arithmetic operations.
- */
-public class IntMath {
-
-    static void shiftTest1() {
-        System.out.println("IntMath.shiftTest1");
-
-        final int[] mBytes = {
-            0x11, 0x22, 0x33, 0x44, 0x88, 0x99, 0xaa, 0xbb
-        };
-        long l;
-        int i1, i2;
-
-        i1 = mBytes[0] | mBytes[1] << 8 | mBytes[2] << 16 | mBytes[3] << 24;
-        i2 = mBytes[4] | mBytes[5] << 8 | mBytes[6] << 16 | mBytes[7] << 24;
-        l = i1 | ((long)i2 << 32);
-
-        assert(i1 == 0x44332211);
-        assert(i2 == 0xbbaa9988);
-        assert(l == 0xbbaa998844332211L);
-
-        l = (long)mBytes[0]
-            | (long)mBytes[1] << 8
-            | (long)mBytes[2] << 16
-            | (long)mBytes[3] << 24
-            | (long)mBytes[4] << 32
-            | (long)mBytes[5] << 40
-            | (long)mBytes[6] << 48
-            | (long)mBytes[7] << 56;
-
-        assert(l == 0xbbaa998844332211L);
-    }
-
-    static void shiftTest2() {
-        System.out.println("IntMath.shiftTest2");
-
-        long    a = 0x11;
-        long    b = 0x22;
-        long    c = 0x33;
-        long    d = 0x44;
-        long    e = 0x55;
-        long    f = 0x66;
-        long    g = 0x77;
-        long    h = 0x88;
-
-        long    result = ((a << 56) | (b << 48) | (c << 40) | (d << 32) |
-                         (e << 24) | (f << 16) | (g <<  8) | h);
-
-        assert(result == 0x1122334455667788L);
-    }
-
-    static void unsignedShiftTest() {
-        System.out.println("IntMath.unsignedShiftTest");
-
-        byte b = -4;
-        short s = -4;
-        char c = 0xfffc;
-        int i = -4;
-
-        b >>>= 4;
-        s >>>= 4;
-        c >>>= 4;
-        i >>>= 4;
-
-        assert((int) b == -1);
-        assert((int) s == -1);
-        assert((int) c == 0x0fff);
-        assert(i == 268435455);
-    }
-
-    static void convTest() {
-        System.out.println("IntMath.convTest");
-
-        float f;
-        double d;
-        int i;
-        long l;
-
-        /* int --> long */
-        i = 7654;
-        l = (long) i;
-        assert(l == 7654L);
-
-        i = -7654;
-        l = (long) i;
-        assert(l == -7654L);
-
-        /* long --> int (with truncation) */
-        l = 5678956789L;
-        i = (int) l;
-        assert(i == 1383989493);
-
-        l = -5678956789L;
-        i = (int) l;
-        assert(i == -1383989493);
-    }
-
-    static void charSubTest() {
-        System.out.println("IntMath.charSubTest");
-
-        char char1 = 0x00e9;
-        char char2 = 0xffff;
-        int i;
-
-        /* chars are unsigned-expanded to ints before subtraction */
-        i = char1 - char2;
-        assert(i == 0xffff00ea);
-    }
-
-    /*
-     * We pass in the arguments and return the results so the compiler
-     * doesn't do the math for us.  (x=70000, y=-3)
-     */
-    static int[] intOperTest(int x, int y) {
-        System.out.println("IntMath.intOperTest");
-
-        int[] results = new int[10];
-
-        /* this seems to generate "op-int" instructions */
-        results[0] = x + y;
-        results[1] = x - y;
-        results[2] = x * y;
-        results[3] = x * x;
-        results[4] = x / y;
-        results[5] = x % -y;
-        results[6] = x & y;
-        results[7] = x | y;
-        results[8] = x ^ y;
-
-        /* this seems to generate "op-int/2addr" instructions */
-        results[9] = x + ((((((((x + y) - y) * y) / y) % y) & y) | y) ^ y);
-
-        return results;
-    }
-    static void intOperCheck(int[] results) {
-        System.out.println("IntMath.intOperCheck");
-
-        /* check this edge case while we're here (div-int/2addr) */
-        int minInt = -2147483648;
-        int negOne = -results[5];
-        int plusOne = 1;
-        int result = (((minInt + plusOne) - plusOne) / negOne) / negOne;
-        assert(result == minInt);
-
-        assert(results[0] == 69997);
-        assert(results[1] == 70003);
-        assert(results[2] == -210000);
-        assert(results[3] == 605032704);    // overflow / truncate
-        assert(results[4] == -23333);
-        assert(results[5] == 1);
-        assert(results[6] == 70000);
-        assert(results[7] == -3);
-        assert(results[8] == -70003);
-        assert(results[9] == 70000);
-    }
-
-    /*
-     * More operations, this time with 16-bit constants.  (x=77777)
-     */
-    static int[] lit16Test(int x) {
-        System.out.println("IntMath.lit16Test");
-
-        int[] results = new int[8];
-
-        /* try to generate op-int/lit16" instructions */
-        results[0] = x + 1000;
-        results[1] = 1000 - x;
-        results[2] = x * 1000;
-        results[3] = x / 1000;
-        results[4] = x % 1000;
-        results[5] = x & 1000;
-        results[6] = x | -1000;
-        results[7] = x ^ -1000;
-        return results;
-    }
-    static void lit16Check(int[] results) {
-        assert(results[0] == 78777);
-        assert(results[1] == -76777);
-        assert(results[2] == 77777000);
-        assert(results[3] == 77);
-        assert(results[4] == 777);
-        assert(results[5] == 960);
-        assert(results[6] == -39);
-        assert(results[7] == -76855);
-    }
-
-    /*
-     * More operations, this time with 8-bit constants.  (x=-55555)
-     */
-    static int[] lit8Test(int x) {
-        System.out.println("IntMath.lit8Test");
-
-        int[] results = new int[8];
-
-        /* try to generate op-int/lit8" instructions */
-        results[0] = x + 10;
-        results[1] = 10 - x;
-        results[2] = x * 10;
-        results[3] = x / 10;
-        results[4] = x % 10;
-        results[5] = x & 10;
-        results[6] = x | -10;
-        results[7] = x ^ -10;
-        return results;
-    }
-    static void lit8Check(int[] results) {
-        //for (int i = 0; i < results.length; i++)
-        //    System.out.println(" " + i + ": " + results[i]);
-
-        /* check this edge case while we're here (div-int/lit8) */
-        int minInt = -2147483648;
-        int result = minInt / -1;
-        assert(result == minInt);
-
-        assert(results[0] == -55545);
-        assert(results[1] == 55565);
-        assert(results[2] == -555550);
-        assert(results[3] == -5555);
-        assert(results[4] == -5);
-        assert(results[5] == 8);
-        assert(results[6] == -1);
-        assert(results[7] == 55563);
-    }
-
-
-    /*
-     * Shift some data.  (value=0xff00aa01, dist=8)
-     */
-    static int[] intShiftTest(int value, int dist) {
-        System.out.println("IntMath.intShiftTest");
-
-        int results[] = new int[4];
-
-        results[0] = value << dist;
-        results[1] = value >> dist;
-        results[2] = value >>> dist;
-
-        results[3] = (((value << dist) >> dist) >>> dist) << dist;
-        return results;
-    }
-    static void intShiftCheck(int[] results) {
-        System.out.println("IntMath.intShiftCheck");
-
-        assert(results[0] == 0x00aa0100);
-        assert(results[1] == 0xffff00aa);
-        assert(results[2] == 0x00ff00aa);
-        assert(results[3] == 0xaa00);
-    }
-
-    /*
-     * We pass in the arguments and return the results so the compiler
-     * doesn't do the math for us.  (x=70000000000, y=-3)
-     */
-    static long[] longOperTest(long x, long y) {
-        System.out.println("IntMath.longOperTest");
-
-        long[] results = new long[10];
-
-        /* this seems to generate "op-long" instructions */
-        results[0] = x + y;
-        results[1] = x - y;
-        results[2] = x * y;
-        results[3] = x * x;
-        results[4] = x / y;
-        results[5] = x % -y;
-        results[6] = x & y;
-        results[7] = x | y;
-        results[8] = x ^ y;
-
-        /* this seems to generate "op-long/2addr" instructions */
-        results[9] = x + ((((((((x + y) - y) * y) / y) % y) & y) | y) ^ y);
-
-        return results;
-    }
-    static void longOperCheck(long[] results) {
-        System.out.println("IntMath.longOperCheck");
-
-        /* check this edge case while we're here (div-long/2addr) */
-        long minLong = -9223372036854775808L;
-        long negOne = -results[5];
-        long plusOne = 1;
-        long result = (((minLong + plusOne) - plusOne) / negOne) / negOne;
-        assert(result == minLong);
-
-        assert(results[0] == 69999999997L);
-        assert(results[1] == 70000000003L);
-        assert(results[2] == -210000000000L);
-        assert(results[3] == -6833923606740729856L);    // overflow
-        assert(results[4] == -23333333333L);
-        assert(results[5] == 1);
-        assert(results[6] == 70000000000L);
-        assert(results[7] == -3);
-        assert(results[8] == -70000000003L);
-        assert(results[9] == 70000000000L);
-
-        assert(results.length == 10);
-    }
-
-    /*
-     * Shift some data.  (value=0xd5aa96deff00aa01, dist=8)
-     */
-    static long[] longShiftTest(long value, int dist) {
-        System.out.println("IntMath.longShiftTest");
-
-        long results[] = new long[4];
-
-        results[0] = value << dist;
-        results[1] = value >> dist;
-        results[2] = value >>> dist;
-
-        results[3] = (((value << dist) >> dist) >>> dist) << dist;
-        return results;
-    }
-    static long longShiftCheck(long[] results) {
-        System.out.println("IntMath.longShiftCheck");
-
-        assert(results[0] == 0x96deff00aa010000L);
-        assert(results[1] == 0xffffd5aa96deff00L);
-        assert(results[2] == 0x0000d5aa96deff00L);
-        assert(results[3] == 0xffff96deff000000L);
-
-        assert(results.length == 4);
-
-        return results[0];      // test return-long
-    }
-
-
-    /*
-     * Try to cause some unary operations.
-     */
-    static int unopTest(int x) {
-        x = -x;
-        x ^= 0xffffffff;
-        return x;
-    }
-    static void unopCheck(int result) {
-        assert(result == 37);
-    }
-
-    static class Shorty {
-        public short mShort;
-        public char mChar;
-        public byte mByte;
-    };
-
-    /*
-     * Truncate an int.
-     */
-    static Shorty truncateTest(int x) {
-        System.out.println("IntMath.truncateTest");
-        Shorty shorts = new Shorty();
-
-        shorts.mShort = (short) x;
-        shorts.mChar = (char) x;
-        shorts.mByte = (byte) x;
-        return shorts;
-    }
-    static void truncateCheck(Shorty shorts) {
-        assert(shorts.mShort == -5597);     // 0xea23
-        assert(shorts.mChar == 59939);      // 0xea23
-        assert(shorts.mByte == 35);         // 0x23
-    }
-
-    /*
-     * Verify that we get a divide-by-zero exception.
-     */
-    static void divideByZero(int z) {
-        System.out.println("IntMath.divideByZero");
-
-        try {
-            int x = 100 / z;
-            assert(false);
-        } catch (ArithmeticException ae) {
-        }
-
-        try {
-            int x = 100 % z;
-            assert(false);
-        } catch (ArithmeticException ae) {
-        }
-
-        try {
-            long x = 100L / z;
-            assert(false);
-        } catch (ArithmeticException ae) {
-        }
-
-        try {
-            long x = 100L % z;
-            assert(false);
-        } catch (ArithmeticException ae) {
-        }
-    }
-
-    /*
-     * Check an edge condition: dividing the most-negative integer by -1
-     * returns the most-negative integer, and doesn't cause an exception.
-     *
-     * Pass in -1, -1L.
-     */
-    static void bigDivideOverflow(int idiv, long ldiv) {
-        System.out.println("IntMath.bigDivideOverflow");
-        int mostNegInt = (int) 0x80000000;
-        long mostNegLong = (long) 0x8000000000000000L;
-
-        int intDivResult = mostNegInt / idiv;
-        int intModResult = mostNegInt % idiv;
-        long longDivResult = mostNegLong / ldiv;
-        long longModResult = mostNegLong % ldiv;
-
-        assert(intDivResult == mostNegInt);
-        assert(intModResult == 0);
-        assert(longDivResult == mostNegLong);
-        assert(longModResult == 0);
-    }
-
-    /*
-     * Check "const" instructions.  We use negative values to ensure that
-     * sign-extension is happening.
-     */
-    static void checkConsts(byte small, short medium, int large, long huge) {
-        System.out.println("IntMath.checkConsts");
-
-        assert(small == 1);                     // const/4
-        assert(medium == -256);                 // const/16
-        assert(medium == -256L);                // const-wide/16
-        assert(large == -88888);                // const
-        assert(large == -88888L);               // const-wide/32
-        assert(huge == 0x9922334455667788L);    // const-wide
-    }
-
-    /*
-     * Test some java.lang.Math functions.
-     *
-     * The method arguments are positive values.
-     */
-    static void jlmTests(int ii, long ll) {
-        System.out.println("IntMath.jlmTests");
-
-        assert(Math.abs(ii) == ii);
-        assert(Math.abs(-ii) == ii);
-        assert(Math.min(ii, -5) == -5);
-        assert(Math.max(ii, -5) == ii);
-
-        assert(Math.abs(ll) == ll);
-        assert(Math.abs(-ll) == ll);
-        assert(Math.min(ll, -5L) == -5L);
-        assert(Math.max(ll, -5L) == ll);
-    }
-
-    public static void run() {
-        shiftTest1();
-        shiftTest2();
-        unsignedShiftTest();
-        convTest();
-        charSubTest();
-
-        int[] intResults;
-        long[] longResults;
-
-        intResults = intOperTest(70000, -3);
-        intOperCheck(intResults);
-        longResults = longOperTest(70000000000L, -3L);
-        longOperCheck(longResults);
-
-        intResults = lit16Test(77777);
-        lit16Check(intResults);
-        intResults = lit8Test(-55555);
-        lit8Check(intResults);
-
-        intResults = intShiftTest(0xff00aa01, 8);
-        intShiftCheck(intResults);
-        longResults = longShiftTest(0xd5aa96deff00aa01L, 16);
-        long longRet = longShiftCheck(longResults);
-        assert(longRet == 0x96deff00aa010000L);
-
-        Shorty shorts = truncateTest(-16717277);    // 0xff00ea23
-        truncateCheck(shorts);
-
-        divideByZero(0);
-        bigDivideOverflow(-1, -1L);
-
-        checkConsts((byte) 1, (short) -256, -88888, 0x9922334455667788L);
-
-        unopCheck(unopTest(38));
-
-        jlmTests(12345, 0x1122334455667788L);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/InternedString.java b/tests/003-omnibus-opcodes/src/InternedString.java
deleted file mode 100644
index 4baab0c..0000000
--- a/tests/003-omnibus-opcodes/src/InternedString.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.ref.*;
-
-public class InternedString {
-    public static final String CONST = "Class InternedString";
-
-    public static void run() {
-        System.out.println("InternedString.run");
-        testImmortalInternedString();
-        testDeadInternedString();
-    }
-
-    private static void testDeadInternedString() {
-        String s = "blah";
-        s = s + s;
-        WeakReference strRef = new WeakReference<String>(s.intern());
-        // Kill s, otherwise the string object is still accessible from root set
-        s = CONST;
-        System.gc();
-        // "blahblah" should disappear from the intern list
-        assert(strRef.get() == null);
-    }
-
-    private static void testImmortalInternedString() {
-        WeakReference strRef = new WeakReference<String>(CONST.intern());
-        System.gc();
-        // Class constant string should be entered to the interned table when
-        // loaded
-        assert(CONST == CONST.intern());
-        // and it should survive the gc
-        assert(strRef.get() != null);
-
-        String s = CONST;
-        // "Class InternedString" should remain on the intern list
-        strRef = new WeakReference<String>(s.intern());
-        // Kill s, otherwise the string object is still accessible from root set
-        s = "";
-        System.gc();
-        assert(strRef.get() == CONST);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/Main.java b/tests/003-omnibus-opcodes/src/Main.java
deleted file mode 100644
index fb39d76..0000000
--- a/tests/003-omnibus-opcodes/src/Main.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Dalvik instruction exerciser.
- */
-public class Main {
-    /*
-     * Start up.
-     */
-    public static void main(String[] args) {
-        boolean assertEnabled = false;
-        assert assertEnabled = true;
-        if (!assertEnabled) {
-            System.out.println("FAIL: assert doesn't work (specify '-ea')\n");
-            throw new RuntimeException();
-        } else {
-            System.out.println("(assertions are enabled)");
-        }
-
-        Main main = new Main();
-        main.run();
-
-        /* run through the heap to see if we trashed something */
-        System.gc();
-
-        System.out.println("Done!");
-    }
-
-    public void run() {
-        InstField instField = new InstField();
-        instField.run();
-
-        StaticField.run();
-
-        IntMath.run();
-        FloatMath.run();
-        Compare.run();
-
-        Monitor.run();
-        Switch.run();
-        Array.run();
-        Classes.run();
-        Goto.run();
-        MethodCall.run();
-        Throw.run();
-
-        try {
-            UnresTest1.run();
-        } catch (VerifyError ve) {
-            System.out.println("Caught: " + ve);
-        }
-        try {
-            UnresTest1.run();
-        } catch (VerifyError ve) {
-            System.out.println("Caught (retry): " + ve);
-        }
-
-        try {
-            UnresTest2.run();
-        } catch (VerifyError ve) {
-            System.out.println("Caught: " + ve);
-        } catch (NoClassDefFoundError ncdfe) {
-            /* UnresClass can cause desktop Java to freak out */
-            System.out.println("NOTE: UnresTest2 not available");
-        }
-        InternedString.run();
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/MethodCall.java b/tests/003-omnibus-opcodes/src/MethodCall.java
deleted file mode 100644
index f89194b..0000000
--- a/tests/003-omnibus-opcodes/src/MethodCall.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Try different kinds of method calls.
- */
-public class MethodCall extends MethodCallBase {
-    MethodCall() {
-        super();
-        System.out.println("  MethodCall ctor");
-    }
-
-    /* overridden method */
-    int tryThing() {
-        int val = super.tryThing();
-        assert(val == 7);
-        return val;
-    }
-
-    /* do-nothing private instance method */
-    private void directly() {}
-
-    /*
-     * Function with many arguments.
-     */
-    static void manyArgs(int a0, long a1, int a2, long a3, int a4, long a5,
-        int a6, int a7, double a8, float a9, double a10, short a11, int a12,
-        char a13, int a14, int a15, byte a16, boolean a17, int a18, int a19,
-        long a20, long a21, int a22, int a23, int a24, int a25, int a26,
-        String[][] a27, String[] a28, String a29)
-    {
-        System.out.println("MethodCalls.manyArgs");
-        assert(a0 == 0);
-        assert(a9 > 8.99 && a9 < 9.01);
-        assert(a16 == -16);
-        assert(a25 == 25);
-        assert(a29.equals("twenty nine"));
-    }
-
-    public static void run() {
-        MethodCall inst = new MethodCall();
-
-        MethodCallBase base = inst;
-        base.tryThing();
-        inst.tryThing();
-
-        inst = null;
-        try {
-            inst.directly();
-            assert(false);
-        } catch (NullPointerException npe) {
-            // good
-        }
-
-        manyArgs(0, 1L, 2, 3L, 4, 5L, 6, 7, 8.0, 9.0f, 10.0, (short)11, 12,
-            (char)13, 14, 15, (byte)-16, true, 18, 19, 20L, 21L, 22, 23, 24,
-            25, 26, null, null, "twenty nine");
-    }
-}
-
-class MethodCallBase {
-    MethodCallBase() {
-        System.out.println("  MethodCallBase ctor");
-    }
-
-    int tryThing() {
-        return 7;
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/Monitor.java b/tests/003-omnibus-opcodes/src/Monitor.java
deleted file mode 100644
index 66d7c65..0000000
--- a/tests/003-omnibus-opcodes/src/Monitor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-
-
-/**
- * Exercise monitors.
- */
-public class Monitor {
-    public static int mVal = 0;
-
-    public synchronized void subTest() {
-        Object obj = new Object();
-        synchronized (obj) {
-            mVal++;
-            obj = null;     // does NOT cause a failure on exit
-            assert(obj == null);
-        }
-    }
-
-
-    public static void run() {
-        System.out.println("Monitor.run");
-
-        Object obj = null;
-
-        try {
-            synchronized (obj) {
-                mVal++;
-            }
-            assert(false);
-        } catch (NullPointerException npe) {
-            /* expected */
-        }
-
-        obj = new Object();
-        synchronized (obj) {
-            mVal++;
-        }
-
-        new Monitor().subTest();
-
-        assert(mVal == 2);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/StaticField.java b/tests/003-omnibus-opcodes/src/StaticField.java
deleted file mode 100644
index 7ccdd7e..0000000
--- a/tests/003-omnibus-opcodes/src/StaticField.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class StaticField {
-    public static boolean mBoolean1, mBoolean2;
-    public static byte mByte1, mByte2;
-    public static char mChar1, mChar2;
-    public static short mShort1, mShort2;
-    public static int mInt1, mInt2;
-    public static float mFloat1, mFloat2;
-    public static long mLong1, mLong2;
-    public static double mDouble1, mDouble2;
-    public static volatile long mVolatileLong1, mVolatileLong2;
-
-    public static void run() {
-        assignFields();
-        checkFields();
-    }
-
-    public static void assignFields() {
-        System.out.println("StaticField assign...");
-        mBoolean1 = true;
-        mBoolean2 = false;
-        mByte1 = 127;
-        mByte2 = -128;
-        mChar1 = 32767;
-        mChar2 = 65535;
-        mShort1 = 32767;
-        mShort2 = -32768;
-        mInt1 = 65537;
-        mInt2 = -65537;
-        mFloat1 = 3.1415f;
-        mFloat2 = -1.0f / 0.0f;                // -inf
-        mLong1 = 1234605616436508552L;     // 0x1122334455667788
-        mLong2 = -1234605616436508552L;
-        mDouble1 = 3.1415926535;
-        mDouble2 = 1.0 / 0.0;               // +inf
-        mVolatileLong1 = mLong1 - 1;
-        mVolatileLong2 = mLong2 + 1;
-    }
-
-    public static void checkFields() {
-        System.out.println("StaticField check...");
-        assert(mBoolean1);
-        assert(!mBoolean2);
-        assert(mByte1 == 127);
-        assert(mByte2 == -128);
-        assert(mChar1 == 32767);
-        assert(mChar2 == 65535);
-        assert(mShort1 == 32767);
-        assert(mShort2 == -32768);
-        assert(mInt1 == 65537);
-        assert(mInt2 == -65537);
-        assert(mFloat1 > 3.141f && mFloat2 < 3.142f);
-        assert(mFloat2 < mFloat1);
-        assert(mLong1 == 1234605616436508552L);
-        assert(mLong2 == -1234605616436508552L);
-        assert(mDouble1 > 3.141592653 && mDouble1 < 3.141592654);
-        assert(mDouble2 > mDouble1);
-        assert(mVolatileLong1 == 1234605616436508551L);
-        assert(mVolatileLong2 == -1234605616436508551L);
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/Switch.java b/tests/003-omnibus-opcodes/src/Switch.java
deleted file mode 100644
index 67c82b0..0000000
--- a/tests/003-omnibus-opcodes/src/Switch.java
+++ /dev/null
@@ -1,62 +0,0 @@
-public class Switch {
-    /**
-     * Test switch() blocks
-     */
-    private static void testSwitch() {
-        System.out.println("Switch.testSwitch");
-
-        int a = 1;
-
-        switch (a) {
-            case -1: assert(false); break;
-            case 0: assert(false); break;
-            case 1: /*correct*/ break;
-            case 2: assert(false); break;
-            case 3: assert(false); break;
-            case 4: assert(false); break;
-            default: assert(false); break;
-        }
-        switch (a) {
-            case 3: assert(false); break;
-            case 4: assert(false); break;
-            default: /*correct*/ break;
-        }
-
-        a = 0x12345678;
-
-        switch (a) {
-            case 0x12345678: /*correct*/ break;
-            case 0x12345679: assert(false); break;
-            default: assert(false); break;
-        }
-        switch (a) {
-            case 57: assert(false); break;
-            case -6: assert(false); break;
-            case 0x12345678: /*correct*/ break;
-            case 22: assert(false); break;
-            case 3: assert(false); break;
-            default: assert(false); break;
-        }
-        switch (a) {
-            case -6: assert(false); break;
-            case 3: assert(false); break;
-            default: /*correct*/ break;
-        }
-
-        a = -5;
-        switch (a) {
-            case 12: assert(false); break;
-            case -5: /*correct*/ break;
-            case 0: assert(false); break;
-            default: assert(false); break;
-        }
-
-        switch (a) {
-            default: /*correct*/ break;
-        }
-    }
-
-    public static void run() {
-        testSwitch();
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/Throw.java b/tests/003-omnibus-opcodes/src/Throw.java
deleted file mode 100644
index 91ee6dd..0000000
--- a/tests/003-omnibus-opcodes/src/Throw.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test exception throwing.
- */
-public class Throw {
-    public void throwNullPointerException() {
-        throw new NullPointerException("npe!");
-    }
-
-    public void throwArithmeticException() {
-        throw new ArithmeticException();
-    }
-
-    public void one() {
-        System.out.println("Throw.one");
-        try {
-            throwNullPointerException();
-            assert(false);
-        } catch (Exception ex) {
-            // good
-            return;
-        }
-
-        assert(false);
-    }
-
-    public void twoA() {
-        System.out.println("Throw.twoA");
-        boolean gotN = false;
-        boolean gotA = false;
-        boolean gotWeird = false;
-
-        try {
-            try {
-                throwArithmeticException();
-                gotWeird = true;
-            } catch (ArithmeticException ae) {
-                gotA = true;
-            }
-        } catch (NullPointerException npe) {
-            gotN = true;
-        }
-
-        assert(gotA);
-        assert(!gotN);
-        assert(!gotWeird);
-    }
-
-    public void twoN() {
-        System.out.println("Throw.twoN");
-        boolean gotN = false;
-        boolean gotA = false;
-        boolean gotWeird = false;
-
-        try {
-            try {
-                throwNullPointerException();
-                gotWeird = true;
-            } catch (ArithmeticException ae) {
-                gotA = true;
-            }
-        } catch (NullPointerException npe) {
-            gotN = true;
-        }
-
-        assert(!gotA);
-        assert(gotN);
-        assert(!gotWeird);
-    }
-
-    public void rethrow() {
-        System.out.println("Throw.rethrow");
-        boolean caught = false;
-        boolean lly = false;
-        boolean second = false;
-
-        try {
-            try {
-                throwNullPointerException();
-                assert(false);
-            } catch (Exception ex) {
-                if (ex instanceof ArithmeticException) {
-                    assert(false);
-                }
-                if (ex instanceof NullPointerException) {
-                    caught = true;
-                    throw (NullPointerException) ex;
-                }
-            } finally {
-                lly = true;
-            }
-        } catch (Exception ex) {
-            second = true;
-        }
-
-        assert(caught);
-        assert(lly);
-        assert(second);
-    }
-
-    public static void run() {
-        Throw th = new Throw();
-
-        th.one();
-        th.twoA();
-        th.twoN();
-        th.rethrow();
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/UnresClass.java b/tests/003-omnibus-opcodes/src/UnresClass.java
deleted file mode 100644
index 52b3d4f..0000000
--- a/tests/003-omnibus-opcodes/src/UnresClass.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * Unresolved class.
- *
- * "happy" version.
- */
-
-public class UnresClass {
-    int foo;
-}
diff --git a/tests/003-omnibus-opcodes/src/UnresStuff.java b/tests/003-omnibus-opcodes/src/UnresStuff.java
deleted file mode 100644
index 1d2a556..0000000
--- a/tests/003-omnibus-opcodes/src/UnresStuff.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Unresolved classes / fields / methods in a resolved class.
- *
- * "happy" version.
- */
-
-public class UnresStuff {
-    public int instField;
-
-    public static int staticField;
-
-    public double wideInstField;
-    public static double wideStaticField;
-
-    public void virtualMethod() {
-        System.out.println("unres!");
-    }
-
-    public static void staticMethod() {
-        System.out.println("unres!");
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/UnresTest1.java b/tests/003-omnibus-opcodes/src/UnresTest1.java
deleted file mode 100644
index 5a80a7a..0000000
--- a/tests/003-omnibus-opcodes/src/UnresTest1.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Test failure to resolve class members.
- */
-class UnresTest1 {
-    public static void run() {
-        System.out.println("UnresTest1...");
-
-        UnresStuff stuff = new UnresStuff();
-        try {
-            int x = stuff.instField;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-        try {       // hit the same one a second time
-            int x = stuff.instField;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-        try {
-            stuff.instField = 5;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-
-        try {
-            double d = stuff.wideInstField;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-        try {
-            stuff.wideInstField = 0.0;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-
-        try {
-            int y = UnresStuff.staticField;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-        try {
-            UnresStuff.staticField = 17;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-
-        try {
-            double d = UnresStuff.wideStaticField;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-        try {
-            UnresStuff.wideStaticField = 1.0;
-            assert(false);
-        } catch (NoSuchFieldError nsfe) {
-            // good
-        }
-
-        try {
-            stuff.virtualMethod();
-            assert(false);
-        } catch (NoSuchMethodError nsfe) {
-            // good
-        }
-        try {
-            UnresStuff.staticMethod();
-            assert(false);
-        } catch (NoSuchMethodError nsfe) {
-            // good
-        }
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src/UnresTest2.java b/tests/003-omnibus-opcodes/src/UnresTest2.java
deleted file mode 100644
index 768be8f..0000000
--- a/tests/003-omnibus-opcodes/src/UnresTest2.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Test failure to resolve classes.
- */
-class UnresTest2 {
-    /*
-     * Try check-cast and instance-of.
-     */
-    static boolean checkCasts(Object obj) {
-        boolean foo = false;
-
-        try {
-            UnresClass un = (UnresClass) obj;
-            assert(false);
-        } catch (NoClassDefFoundError ncdfe) {
-            // good
-        }
-        try {
-            foo = obj instanceof UnresClass;
-            assert(false);
-        } catch (NoClassDefFoundError ncdfe) {
-            // good
-        }
-
-        return foo;
-    }
-
-    public static void run() {
-        System.out.println("UnresTest2...");
-        UnresClass un;
-        UnresStuff stuff = new UnresStuff();
-
-        try {
-            un = new UnresClass();
-            assert(false);
-        } catch (NoClassDefFoundError ncdfe) {
-            // good
-        }
-
-        try {
-            UnresClass[] uar = new UnresClass[3];
-            assert(false);
-        } catch (NoClassDefFoundError ncdfe) {
-            // good
-        }
-
-        checkCasts(stuff);
-        System.out.println("UnresTest2 done");
-    }
-}
diff --git a/tests/003-omnibus-opcodes/src2/UnresStuff.java b/tests/003-omnibus-opcodes/src2/UnresStuff.java
deleted file mode 100644
index 56f43af..0000000
--- a/tests/003-omnibus-opcodes/src2/UnresStuff.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * Unresolved classes / fields / methods in a resolved class.
- *
- * "happy" version.
- */
-
-public class UnresStuff {
-    public int x;
-}
diff --git a/tests/004-annotations/build b/tests/004-annotations/build
deleted file mode 100644
index c147cb2..0000000
--- a/tests/004-annotations/build
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Stop if something fails.
-set -e
-
-mkdir classes
-
-# android.test.anno.MissingAnnotation is available at compile time...
-${JAVAC} -d classes `find src -name '*.java'`
-
-# ...but not at run time.
-rm classes/android/test/anno/MissingAnnotation.class
-dx -JXmx256m --debug --dex --output=test.jar classes
diff --git a/tests/004-annotations/expected.txt b/tests/004-annotations/expected.txt
deleted file mode 100644
index dc13a98..0000000
--- a/tests/004-annotations/expected.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-TestAnnotations...
-java.lang.String android.test.anno.TestAnnotations.thing1: @android.test.anno.AnnoArrayField(bb=[], cc=[a, b], dd=[0.987654321], ff=[3.1415927], ii=[], jj=[], ss=[], str=[], zz=[])
-java.lang.String android.test.anno.TestAnnotations.thing2: @android.test.anno.AnnoArrayField(bb=[-1, 0, 1], cc=[Q], dd=[0.3, 0.6, 0.9], ff=[1.1, 1.2, 1.3], ii=[1, 2, 3, 4], jj=[-5, 0, 5], ss=[12, 13, 14, 15, 16, 17], str=[hickory, dickory, dock], zz=[true, false, true])
-mapping is class [Landroid.test.anno.IntToString;
-  0='@android.test.anno.IntToString(from=0, to=NORMAL_FOCUS)'
-  1='@android.test.anno.IntToString(from=2, to=WEAK_FOCUS)'
-present(getFocusType, ExportedProperty): true
-present(getFocusType, AnnoSimpleType): false
-
-AnnoSimpleField true, SimplyNoted false
-annotations on TYPE class android.test.anno.SimplyNoted(2):
-  @android.test.anno.AnnoSimpleType()
-    interface android.test.anno.AnnoSimpleType
-  @android.test.anno.AnnoSimpleType2()
-    interface android.test.anno.AnnoSimpleType2
-
-  annotations on CTOR android.test.anno.SimplyNoted():
-    @android.test.anno.AnnoSimpleConstructor()
-      interface android.test.anno.AnnoSimpleConstructor
-    constructor parameter annotations:
-  annotations on CTOR android.test.anno.SimplyNoted(int):
-    @android.test.anno.AnnoSimpleConstructor()
-      interface android.test.anno.AnnoSimpleConstructor
-    constructor parameter annotations:
-      @android.test.anno.AnnoSimpleParameter()
-        interface android.test.anno.AnnoSimpleParameter
-  annotations on METH public int android.test.anno.SimplyNoted.foo():
-    @android.test.anno.AnnoSimpleMethod()
-      interface android.test.anno.AnnoSimpleMethod
-    method parameter annotations:
-  annotations on FIELD public static int android.test.anno.SimplyNoted.mOneFoo:
-    @android.test.anno.AnnoSimpleField()
-      interface android.test.anno.AnnoSimpleField
-  annotations on FIELD public int android.test.anno.SimplyNoted.mFoo:
-    @android.test.anno.AnnoSimpleField()
-      interface android.test.anno.AnnoSimpleField
-
-annotations on TYPE interface android.test.anno.INoted(1):
-  @android.test.anno.AnnoSimpleType2()
-    interface android.test.anno.AnnoSimpleType2
-
-  annotations on METH public abstract int android.test.anno.INoted.bar():
-    @android.test.anno.AnnoSimpleMethod()
-      interface android.test.anno.AnnoSimpleMethod
-    method parameter annotations:
-
-annotations on TYPE class android.test.anno.SubNoted(3):
-  @android.test.anno.AnnoFancyType(name=unknown, num=5)
-    interface android.test.anno.AnnoFancyType
-  @android.test.anno.AnnoSimpleType()
-    interface android.test.anno.AnnoSimpleType
-  @android.test.anno.AnnoSimpleType2()
-    interface android.test.anno.AnnoSimpleType2
-
-  annotations on CTOR public android.test.anno.SubNoted():
-    constructor parameter annotations:
-  annotations on METH public int android.test.anno.SubNoted.bar():
-    method parameter annotations:
-  annotations on FIELD int android.test.anno.SubNoted.mBar:
-
-annotations on TYPE class android.test.anno.FullyNoted(1):
-  @android.test.anno.AnnoFancyType(name=full, num=5)
-    interface android.test.anno.AnnoFancyType
-
-  annotations on CTOR android.test.anno.FullyNoted(int):
-    @android.test.anno.AnnoFancyConstructor(numArgs=1)
-      interface android.test.anno.AnnoFancyConstructor
-    constructor parameter annotations:
-      @android.test.anno.AnnoFancyParameter(factor=0.5)
-        interface android.test.anno.AnnoFancyParameter
-  annotations on METH public int android.test.anno.FullyNoted.bar(int,long) throws java.io.IOException,java.io.EOFException:
-    @android.test.anno.AnnoFancyMethod(biteMe=false, callMe=true, enumerated=FOO, someClass=class android.test.anno.SomeClass)
-      interface android.test.anno.AnnoFancyMethod
-    method parameter annotations:
-      @android.test.anno.AnnoSimpleParameter()
-        interface android.test.anno.AnnoSimpleParameter
-      @android.test.anno.AnnoFancyParameter(factor=3.7879912899761)
-        interface android.test.anno.AnnoFancyParameter
-  annotations on METH public int android.test.anno.FullyNoted.bar1(int,long) throws java.io.IOException:
-    @android.test.anno.AnnoFancyMethod(biteMe=true, callMe=false, enumerated=BAR, someClass=class android.test.anno.SomeClass)
-      interface android.test.anno.AnnoFancyMethod
-    method parameter annotations:
-      @android.test.anno.AnnoSimpleParameter()
-        interface android.test.anno.AnnoSimpleParameter
-      @android.test.anno.AnnoFancyParameter(factor=3.7879912899761)
-        interface android.test.anno.AnnoFancyParameter
-  annotations on METH public int android.test.anno.FullyNoted.notAnnotated():
-    method parameter annotations:
-  annotations on FIELD int android.test.anno.FullyNoted.mBar:
-    @android.test.anno.AnnoFancyField(nombre=fubar)
-      interface android.test.anno.AnnoFancyField
-    aff: @android.test.anno.AnnoFancyField(nombre=fubar) / class $Proxy13
-    --> nombre is 'fubar'
-
-SimplyNoted.get(AnnoSimpleType) = @android.test.anno.AnnoSimpleType()
-SubNoted.get(AnnoSimpleType) = @android.test.anno.AnnoSimpleType()
-
-Package annotations:
-      @android.test.anno.AnnoSimplePackage()
-        interface android.test.anno.AnnoSimplePackage
-Package declared annotations:
-      @android.test.anno.AnnoSimplePackage()
-        interface android.test.anno.AnnoSimplePackage
diff --git a/tests/004-annotations/info.txt b/tests/004-annotations/info.txt
deleted file mode 100644
index c8c9280..0000000
--- a/tests/004-annotations/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test a bunch of uses of annotations.
diff --git a/tests/004-annotations/src/Main.java b/tests/004-annotations/src/Main.java
deleted file mode 100644
index e44722f..0000000
--- a/tests/004-annotations/src/Main.java
+++ /dev/null
@@ -1,7 +0,0 @@
-import android.test.anno.TestAnnotations;
-
-public class Main {
-    static public void main(String[] args) {
-        TestAnnotations.main(args);
-    }
-}
diff --git a/tests/004-annotations/src/android/test/AnnoSimplePackage1.java b/tests/004-annotations/src/android/test/AnnoSimplePackage1.java
deleted file mode 100644
index 629cb7d..0000000
--- a/tests/004-annotations/src/android/test/AnnoSimplePackage1.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.PACKAGE)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoSimplePackage1 {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoArrayField.java b/tests/004-annotations/src/android/test/anno/AnnoArrayField.java
deleted file mode 100644
index 681045c..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoArrayField.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Documented
-@Inherited
-@Target({ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface AnnoArrayField {
-    boolean[] zz() default {};
-    byte[] bb() default {};
-    char[] cc() default {'a', 'b'};
-    short[] ss() default {};
-    int[] ii() default {};
-    float[] ff() default {3.141592654f};
-    long[] jj() default {};
-    double[] dd() default {0.987654321};
-    String[] str() default {};
-}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoFancyConstructor.java b/tests/004-annotations/src/android/test/anno/AnnoFancyConstructor.java
deleted file mode 100644
index 19dadec..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoFancyConstructor.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.CONSTRUCTOR)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoFancyConstructor {
-    public int numArgs() default 0;
-}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoFancyField.java b/tests/004-annotations/src/android/test/anno/AnnoFancyField.java
deleted file mode 100644
index 855ba56..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoFancyField.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.FIELD)
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited      // should have no effect
-@Documented
-
-public @interface AnnoFancyField {
-    public String nombre() default "no se";
-}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoFancyMethod.java b/tests/004-annotations/src/android/test/anno/AnnoFancyMethod.java
deleted file mode 100644
index 3088866..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoFancyMethod.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoFancyMethod {
-    enum AnnoFancyMethodEnum { FOO, BAR };
-    boolean callMe() default false;
-    boolean biteMe();
-    AnnoFancyMethodEnum enumerated() default AnnoFancyMethodEnum.FOO;
-    Class someClass() default SomeClass.class;
-}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoFancyParameter.java b/tests/004-annotations/src/android/test/anno/AnnoFancyParameter.java
deleted file mode 100644
index bc2ba7c..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoFancyParameter.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.PARAMETER)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoFancyParameter {
-    double factor();
-}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoFancyType.java b/tests/004-annotations/src/android/test/anno/AnnoFancyType.java
deleted file mode 100644
index 745f838..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoFancyType.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoFancyType {
-    public int num();
-    public String name() default "unknown";
-}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleConstructor.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleConstructor.java
deleted file mode 100644
index d66b9ae..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleConstructor.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.CONSTRUCTOR)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoSimpleConstructor {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleField.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleField.java
deleted file mode 100644
index 04193d2..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleField.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.FIELD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoSimpleField {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleLocalVariable.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleLocalVariable.java
deleted file mode 100644
index a839fa2..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleLocalVariable.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.LOCAL_VARIABLE)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoSimpleLocalVariable {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleMethod.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleMethod.java
deleted file mode 100644
index fcd9c0f..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleMethod.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoSimpleMethod {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimplePackage.java b/tests/004-annotations/src/android/test/anno/AnnoSimplePackage.java
deleted file mode 100644
index 4aadfe7..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimplePackage.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.PACKAGE)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoSimplePackage {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleParameter.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleParameter.java
deleted file mode 100644
index 6e26ca3..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleParameter.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.PARAMETER)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AnnoSimpleParameter {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleType.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleType.java
deleted file mode 100644
index 3bba3db..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleType.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-@Documented
-public @interface AnnoSimpleType {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleType2.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleType2.java
deleted file mode 100644
index f74b291..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleType2.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-public @interface AnnoSimpleType2 {}
diff --git a/tests/004-annotations/src/android/test/anno/AnnoSimpleTypeInvis.java b/tests/004-annotations/src/android/test/anno/AnnoSimpleTypeInvis.java
deleted file mode 100644
index 541d82e..0000000
--- a/tests/004-annotations/src/android/test/anno/AnnoSimpleTypeInvis.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.CLASS)
-
-public @interface AnnoSimpleTypeInvis {}
diff --git a/tests/004-annotations/src/android/test/anno/ExportedProperty.java b/tests/004-annotations/src/android/test/anno/ExportedProperty.java
deleted file mode 100644
index 810d28f..0000000
--- a/tests/004-annotations/src/android/test/anno/ExportedProperty.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/* part of test for array problem */
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target({ ElementType.FIELD, ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface ExportedProperty {
-    boolean resolveId() default false;
-    IntToString[] mapping() default { @IntToString(from = -1, to = "-1") };
-}
diff --git a/tests/004-annotations/src/android/test/anno/FullyNoted.java b/tests/004-annotations/src/android/test/anno/FullyNoted.java
deleted file mode 100644
index 76a7b04..0000000
--- a/tests/004-annotations/src/android/test/anno/FullyNoted.java
+++ /dev/null
@@ -1,39 +0,0 @@
-
-package android.test.anno;
-
-import java.io.IOException;
-import java.io.EOFException;
-
-@AnnoFancyType(num=5, name="full")
-public class FullyNoted {
-    @AnnoFancyField(nombre="fubar")
-    int mBar;
-
-    @AnnoFancyConstructor(numArgs=1)
-    FullyNoted(@AnnoFancyParameter(factor=0.5) int bar)
-    {
-        mBar = bar;
-    }
-
-    @AnnoFancyMethod(callMe=true, biteMe=false)
-    public int bar(
-        @AnnoSimpleParameter int one,
-        @AnnoFancyParameter(factor=3.7879912899761) long two)
-        throws IOException, EOFException {
-
-        return 0;
-    }
-
-    @AnnoFancyMethod(biteMe=true, enumerated=AnnoFancyMethod.AnnoFancyMethodEnum.BAR)
-    public int bar1(
-        @AnnoSimpleParameter int one,
-        @AnnoFancyParameter(factor=3.7879912899761) long two)
-        throws IOException {
-
-        return 0;
-    }
-
-    public int notAnnotated() {
-        return 0;
-    }
-}
diff --git a/tests/004-annotations/src/android/test/anno/INoted.java b/tests/004-annotations/src/android/test/anno/INoted.java
deleted file mode 100644
index b2cd007..0000000
--- a/tests/004-annotations/src/android/test/anno/INoted.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package android.test.anno;
-
-@AnnoSimpleType2
-public interface INoted {
-    @AnnoSimpleMethod
-    public int bar();
-}
diff --git a/tests/004-annotations/src/android/test/anno/IntToString.java b/tests/004-annotations/src/android/test/anno/IntToString.java
deleted file mode 100644
index e84fcfa..0000000
--- a/tests/004-annotations/src/android/test/anno/IntToString.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/* part of test for array problem */
-package android.test.anno;
-
-import java.lang.annotation.*;
-
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface IntToString {
-    int from();
-    String to();
-}
diff --git a/tests/004-annotations/src/android/test/anno/MissingAnnotation.java b/tests/004-annotations/src/android/test/anno/MissingAnnotation.java
deleted file mode 100644
index 56da15a..0000000
--- a/tests/004-annotations/src/android/test/anno/MissingAnnotation.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-@Retention(RUNTIME) public @interface MissingAnnotation {
-}
-
diff --git a/tests/004-annotations/src/android/test/anno/SimplyNoted.java b/tests/004-annotations/src/android/test/anno/SimplyNoted.java
deleted file mode 100644
index b757465..0000000
--- a/tests/004-annotations/src/android/test/anno/SimplyNoted.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package android.test.anno;
-
-@AnnoSimpleType
-@AnnoSimpleType2
-@AnnoSimpleTypeInvis
-@MissingAnnotation
-public class SimplyNoted {
-    @AnnoSimpleField
-    @MissingAnnotation
-    public int mFoo;
-
-    @AnnoSimpleField
-    @MissingAnnotation
-    public static int mOneFoo;
-
-    @AnnoSimpleConstructor
-    @MissingAnnotation
-    SimplyNoted() {
-        mFoo = 0;
-    }
-
-    @AnnoSimpleConstructor
-    @MissingAnnotation
-    SimplyNoted(@AnnoSimpleParameter int xyzzy) {
-        mFoo = xyzzy;
-    }
-
-    @AnnoSimpleMethod
-    @MissingAnnotation
-    public int foo() {
-        @AnnoSimpleLocalVariable
-        int bar = 5;
-
-        return bar;
-    }
-}
diff --git a/tests/004-annotations/src/android/test/anno/SomeClass.java b/tests/004-annotations/src/android/test/anno/SomeClass.java
deleted file mode 100644
index c21d68d..0000000
--- a/tests/004-annotations/src/android/test/anno/SomeClass.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package android.test.anno;
-
-public class SomeClass {
-}
diff --git a/tests/004-annotations/src/android/test/anno/SubNoted.java b/tests/004-annotations/src/android/test/anno/SubNoted.java
deleted file mode 100644
index 2530346..0000000
--- a/tests/004-annotations/src/android/test/anno/SubNoted.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package android.test.anno;
-
-@AnnoFancyType(num=5)       // first occurrence of AnnoFancyType
-                            // we inherit @AnnoSimpleType
-@AnnoSimpleType2            // AnnoSimpleType2 here *and* inherited from parent
-public class SubNoted extends SimplyNoted implements INoted {
-    int mBar;
-
-    public int bar() {
-        return 0;
-    }
-}
diff --git a/tests/004-annotations/src/android/test/anno/TestAnnotations.java b/tests/004-annotations/src/android/test/anno/TestAnnotations.java
deleted file mode 100644
index 4eabb12..0000000
--- a/tests/004-annotations/src/android/test/anno/TestAnnotations.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package android.test.anno;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.TreeMap;
-
-public class TestAnnotations {
-    /**
-     * Print the annotations in sorted order, so as to avoid
-     * any (legitimate) non-determinism with regard to the iteration order.
-     */
-    static private void printAnnotationArray(String prefix, Annotation[] arr) {
-        TreeMap<String, Annotation> sorted =
-            new TreeMap<String, Annotation>();
-
-        for (Annotation a : arr) {
-            sorted.put(a.annotationType().getName(), a);
-        }
-
-        for (Annotation a : sorted.values()) {
-            System.out.println(prefix + "  " + a);
-            System.out.println(prefix + "    " + a.annotationType());
-        }
-    }
-
-    static void printAnnotations(Class clazz) {
-        Annotation[] annos;
-        Annotation[][] parAnnos;
-
-        annos = clazz.getAnnotations();
-        System.out.println("annotations on TYPE " + clazz +
-            "(" + annos.length + "):");
-        printAnnotationArray("", annos);
-        System.out.println();
-
-        for (Constructor c: clazz.getDeclaredConstructors()) {
-            annos = c.getDeclaredAnnotations();
-            System.out.println("  annotations on CTOR " + c + ":");
-            printAnnotationArray("  ", annos);
-
-            System.out.println("    constructor parameter annotations:");
-            for (Annotation[] pannos: c.getParameterAnnotations()) {
-                printAnnotationArray("    ", pannos);
-            }
-        }
-
-        for (Method m: clazz.getDeclaredMethods()) {
-            annos = m.getDeclaredAnnotations();
-            System.out.println("  annotations on METH " + m + ":");
-            printAnnotationArray("  ", annos);
-
-            System.out.println("    method parameter annotations:");
-            for (Annotation[] pannos: m.getParameterAnnotations()) {
-                printAnnotationArray("    ", pannos);
-            }
-        }
-
-        for (Field f: clazz.getDeclaredFields()) {
-            annos = f.getDeclaredAnnotations();
-            System.out.println("  annotations on FIELD " + f + ":");
-            printAnnotationArray("  ", annos);
-
-            AnnoFancyField aff;
-            aff = (AnnoFancyField) f.getAnnotation(AnnoFancyField.class);
-            if (aff != null) {
-                System.out.println("    aff: " + aff + " / " + aff.getClass());
-                System.out.println("    --> nombre is '" + aff.nombre() + "'");
-            }
-        }
-        System.out.println();
-    }
-
-
-    @ExportedProperty(mapping = {
-        @IntToString(from = 0, to = "NORMAL_FOCUS"),
-        @IntToString(from = 2, to = "WEAK_FOCUS")
-    })
-    public int getFocusType() {
-        return 2;
-    }
-
-
-    @AnnoArrayField
-    String thing1;
-
-    @AnnoArrayField(
-            zz = {true,false,true},
-            bb = {-1,0,1},
-            cc = {'Q'},
-            ss = {12,13,14,15,16,17},
-            ii = {1,2,3,4},
-            ff = {1.1f,1.2f,1.3f},
-            jj = {-5,0,5},
-            dd = {0.3,0.6,0.9},
-            str = {"hickory","dickory","dock"}
-            )
-    String thing2;
-
-    public static void testArrays() {
-        TestAnnotations ta = new TestAnnotations();
-        Field field;
-        Annotation[] annotations;
-
-        try {
-            field = TestAnnotations.class.getDeclaredField("thing1");
-            annotations = field.getAnnotations();
-            System.out.println(field + ": " + annotations[0].toString());
-
-            field = TestAnnotations.class.getDeclaredField("thing2");
-            annotations = field.getAnnotations();
-            System.out.println(field + ": " + annotations[0].toString());
-        } catch (NoSuchFieldException nsfe) {
-            throw new RuntimeException(nsfe);
-        }
-    }
-
-    public static void testArrayProblem() {
-        Method meth;
-        ExportedProperty property;
-        final IntToString[] mapping;
-
-        try {
-            meth = TestAnnotations.class.getMethod("getFocusType",
-                    (Class[])null);
-        } catch (NoSuchMethodException nsme) {
-            throw new RuntimeException(nsme);
-        }
-        property = meth.getAnnotation(ExportedProperty.class);
-        mapping = property.mapping();
-
-        System.out.println("mapping is " + mapping.getClass() +
-            "\n  0='" + mapping[0] + "'\n  1='" + mapping[1] + "'");
-
-        /* while we're here, check isAnnotationPresent on Method */
-        System.out.println("present(getFocusType, ExportedProperty): " +
-            meth.isAnnotationPresent(ExportedProperty.class));
-        System.out.println("present(getFocusType, AnnoSimpleType): " +
-            meth.isAnnotationPresent(AnnoSimpleType.class));
-
-        System.out.println("");
-    }
-
-
-
-    public static void main(String[] args) {
-        System.out.println("TestAnnotations...");
-
-        testArrays();
-        testArrayProblem();
-        //System.exit(0);
-
-        System.out.println(
-            "AnnoSimpleField " + AnnoSimpleField.class.isAnnotation() +
-            ", SimplyNoted " + SimplyNoted.class.isAnnotation());
-
-        Class clazz;
-        clazz = SimplyNoted.class;
-        printAnnotations(clazz);
-        clazz = INoted.class;
-        printAnnotations(clazz);
-        clazz = SubNoted.class;
-        printAnnotations(clazz);
-        clazz = FullyNoted.class;
-        printAnnotations(clazz);
-
-        Annotation anno;
-
-        // this is expected to be non-null
-        anno = SimplyNoted.class.getAnnotation(AnnoSimpleType.class);
-        System.out.println("SimplyNoted.get(AnnoSimpleType) = " + anno);
-        // this is non-null if the @Inherited tag is present
-        anno = SubNoted.class.getAnnotation(AnnoSimpleType.class);
-        System.out.println("SubNoted.get(AnnoSimpleType) = " + anno);
-
-        System.out.println();
-
-        // Package annotations aren't inherited, so getAnnotations and getDeclaredAnnotations are
-        // the same.
-        System.out.println("Package annotations:");
-        printAnnotationArray("    ", TestAnnotations.class.getPackage().getAnnotations());
-        System.out.println("Package declared annotations:");
-        printAnnotationArray("    ", TestAnnotations.class.getPackage().getDeclaredAnnotations());
-    }
-}
diff --git a/tests/004-annotations/src/android/test/anno/package-info.java b/tests/004-annotations/src/android/test/anno/package-info.java
deleted file mode 100644
index 74b11f9..0000000
--- a/tests/004-annotations/src/android/test/anno/package-info.java
+++ /dev/null
@@ -1,2 +0,0 @@
-@AnnoSimplePackage
-package android.test.anno;
diff --git a/tests/004-annotations/src/android/test/package-info.java b/tests/004-annotations/src/android/test/package-info.java
deleted file mode 100644
index e188cda..0000000
--- a/tests/004-annotations/src/android/test/package-info.java
+++ /dev/null
@@ -1,2 +0,0 @@
-@AnnoSimplePackage1
-package android.test;
diff --git a/tests/005-args/expected.txt b/tests/005-args/expected.txt
deleted file mode 100644
index 094fbbb..0000000
--- a/tests/005-args/expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-VALUES: 1122334455667788 9887766554433221 1122334455667788
-VALUES: 1234605616436508552 -7455860480511102431 1234605616436508552
-1234605616436508552
-j = 1234605616436508552
-a=123 c=q d=3.343434 j=1234605616436508552 f=0.12345
diff --git a/tests/005-args/info.txt b/tests/005-args/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/005-args/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/005-args/src/ArgsTest.java b/tests/005-args/src/ArgsTest.java
deleted file mode 100644
index 2b874cd..0000000
--- a/tests/005-args/src/ArgsTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-class ArgsTest{
-    public ArgsTest() {
-
-    }
-
-    private long mLongArray[] = new long[] {
-        0x1122334455667788L, 0x9887766554433221L };
-
-    /**
-     *
-     * @param a
-     * @param c
-     * @param d
-     * @param j
-     * @param f
-     */
-    void argTest(int a, char c, double d, long j, float f) {
-        System.out.println("VALUES: " + Long.toHexString(mLongArray[0]) + " "
-            + Long.toHexString(mLongArray[1]) + " " + Long.toHexString(j));
-        System.out.println("VALUES: " + mLongArray[0] + " "
-            + mLongArray[1] + " " + j);
-
-        System.out.println(j);
-        System.out.println("j = " + j);
-        System.out.println("a=" + a + " c=" + c + " d=" + d
-            + " j=" + j + " f=" + f);
-    }
-}
diff --git a/tests/005-args/src/Main.java b/tests/005-args/src/Main.java
deleted file mode 100644
index 1240ec5..0000000
--- a/tests/005-args/src/Main.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test passing arguments of various sizes
- */
-public class Main {
-    public static void main (String args[]) {
-        new ArgsTest()
-                .argTest(123, 'q', 3.343434, 0x1122334455667788L, 0.12345f);
-    }
-}
diff --git a/tests/006-count10/expected.txt b/tests/006-count10/expected.txt
deleted file mode 100644
index 8b1acc1..0000000
--- a/tests/006-count10/expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
diff --git a/tests/006-count10/info.txt b/tests/006-count10/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/006-count10/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/006-count10/src/Main.java b/tests/006-count10/src/Main.java
deleted file mode 100644
index 650d053..0000000
--- a/tests/006-count10/src/Main.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Simple loop-and-print
- */
-public class Main {
-    public static void main(String args[]) {
-        for (int i = 0; i < 10; i++) {
-            System.out.println(i);
-        }
-    }
-}
diff --git a/tests/007-exceptions/expected.txt b/tests/007-exceptions/expected.txt
deleted file mode 100644
index 2a31636..0000000
--- a/tests/007-exceptions/expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Got an NPE: second throw
-java.lang.NullPointerException: second throw
-	at Main.catchAndRethrow(Main.java:36)
-	at Main.main(Main.java:23)
-	at dalvik.system.NativeStart.main(Native Method)
-Caused by: java.lang.NullPointerException: first throw
-	at Main.throwNullPointerException(Main.java:43)
-	at Main.catchAndRethrow(Main.java:33)
-	... 2 more
diff --git a/tests/007-exceptions/info.txt b/tests/007-exceptions/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/007-exceptions/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/007-exceptions/src/Main.java b/tests/007-exceptions/src/Main.java
deleted file mode 100644
index c7da215..0000000
--- a/tests/007-exceptions/src/Main.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Exceptions across method calls
- */
-public class Main {
-    public static void main (String args[]) {
-        try {
-            catchAndRethrow();
-        } catch (NullPointerException npe) {
-            System.out.print("Got an NPE: ");
-            System.out.println(npe.getMessage());
-            npe.printStackTrace();
-        }
-    }
-
-    private static void catchAndRethrow() {
-        try {
-            throwNullPointerException();
-        } catch (NullPointerException npe) {
-            NullPointerException npe2;
-            npe2 = new NullPointerException("second throw");
-            npe2.initCause(npe);
-            throw npe2;
-        }
-    }
-
-    private static void throwNullPointerException() {
-        throw new NullPointerException("first throw");
-    }
-}
diff --git a/tests/008-instanceof/expected.txt b/tests/008-instanceof/expected.txt
deleted file mode 100644
index 77fd0cb..0000000
--- a/tests/008-instanceof/expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-iface1.mFloaty = 5.0 wahoo
-aa.mFloaty = 5.0 wahoo
-bb.mWhoami = ImplB!
-aaOkay (false) = false
-bbOkay (true) = true
-Caught a ClassCastException (expected)
diff --git a/tests/008-instanceof/info.txt b/tests/008-instanceof/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/008-instanceof/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/008-instanceof/src/Iface1.java b/tests/008-instanceof/src/Iface1.java
deleted file mode 100644
index ba17d45..0000000
--- a/tests/008-instanceof/src/Iface1.java
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2005 The Android Open Source Project
-
-/**
- * Test stuff.
- */
-public interface Iface1 {
-
-    public int iFunc1(int ii);
-
-    public float mFloaty = 5.0f;
-
-    public String mWahoo = new String("wahoo");
-}
diff --git a/tests/008-instanceof/src/Iface2.java b/tests/008-instanceof/src/Iface2.java
deleted file mode 100644
index 83fe650..0000000
--- a/tests/008-instanceof/src/Iface2.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Another interface.
- */
-public interface Iface2 {
-
-    public int iFunc2(int ii);
-}
diff --git a/tests/008-instanceof/src/Iface2Sub1.java b/tests/008-instanceof/src/Iface2Sub1.java
deleted file mode 100644
index db3e905..0000000
--- a/tests/008-instanceof/src/Iface2Sub1.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Another interface.
- */
-public interface Iface2Sub1 extends Iface2, Cloneable {
-
-    //public int iFunc2(int ii);
-}
diff --git a/tests/008-instanceof/src/ImplA.java b/tests/008-instanceof/src/ImplA.java
deleted file mode 100644
index 9007001..0000000
--- a/tests/008-instanceof/src/ImplA.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Blah.
- */
-public class ImplA implements Iface1, Iface2 {
-
-    public int iFunc1(int ii) {
-        return ii+1;
-    }
-    public int iFunc2(int ii) {
-        return ii+2;
-    }
-}
diff --git a/tests/008-instanceof/src/ImplB.java b/tests/008-instanceof/src/ImplB.java
deleted file mode 100644
index 619fa00..0000000
--- a/tests/008-instanceof/src/ImplB.java
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Blah.
- */
-public class ImplB implements Iface1, Iface2 {
-
-    public int iFunc1(int ii) {
-        return ii+10;
-    }
-    public int iFunc2(int ii) {
-        return ii+20;
-    }
-
-    public static String mWhoami = new String("ImplB!");
-}
diff --git a/tests/008-instanceof/src/ImplBSub.java b/tests/008-instanceof/src/ImplBSub.java
deleted file mode 100644
index f3a7714..0000000
--- a/tests/008-instanceof/src/ImplBSub.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Interface test.
- */
-public class ImplBSub extends ImplB implements /*Iface2,*/ Iface2Sub1 {
-
-    public int iFunc1(int ii) {
-        return ii+100;
-    }
-    public int iFunc2(int ii) {
-        return ii+200;
-    }
-}
diff --git a/tests/008-instanceof/src/Main.java b/tests/008-instanceof/src/Main.java
deleted file mode 100644
index 77f3f51..0000000
--- a/tests/008-instanceof/src/Main.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test instanceof
- */
-public class Main {
-    public static void main(String args[]) {
-        Iface1 face1;
-        ImplA aa = new ImplA();
-        ImplBSub bb = new ImplBSub();
-        boolean aaOkay, bbOkay;
-
-        face1 = aa;
-        face1 = bb;
-
-        System.out.println("iface1.mFloaty = " + face1.mFloaty + " " + face1.mWahoo);
-        System.out.println("aa.mFloaty = " + aa.mFloaty + " " + aa.mWahoo);
-        System.out.println("bb.mWhoami = " + bb.mWhoami);
-
-        aaOkay = face1 instanceof ImplA;
-        System.out.print("aaOkay (false) = ");
-        System.out.println(aaOkay);
-        bbOkay = face1 instanceof ImplB;
-        System.out.print("bbOkay (true) = ");
-        System.out.println(bbOkay);
-
-        bb = (ImplBSub) face1;
-        try {
-            aa = (ImplA) face1;
-        }
-        catch (ClassCastException cce) {
-            System.out.println("Caught a ClassCastException (expected)");
-        }
-    }
-}
diff --git a/tests/009-instanceof2/expected.txt b/tests/009-instanceof2/expected.txt
deleted file mode 100644
index 74ad202..0000000
--- a/tests/009-instanceof2/expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-instanceof Serializable = true
-instanceof Cloneable = true
-instanceof Runnable = false
-aaOkay (false) = false
-bbOkay (true) = true
diff --git a/tests/009-instanceof2/info.txt b/tests/009-instanceof2/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/009-instanceof2/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/009-instanceof2/src/Iface1.java b/tests/009-instanceof2/src/Iface1.java
deleted file mode 100644
index ba17d45..0000000
--- a/tests/009-instanceof2/src/Iface1.java
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2005 The Android Open Source Project
-
-/**
- * Test stuff.
- */
-public interface Iface1 {
-
-    public int iFunc1(int ii);
-
-    public float mFloaty = 5.0f;
-
-    public String mWahoo = new String("wahoo");
-}
diff --git a/tests/009-instanceof2/src/Iface2.java b/tests/009-instanceof2/src/Iface2.java
deleted file mode 100644
index 83fe650..0000000
--- a/tests/009-instanceof2/src/Iface2.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Another interface.
- */
-public interface Iface2 {
-
-    public int iFunc2(int ii);
-}
diff --git a/tests/009-instanceof2/src/Iface2Sub1.java b/tests/009-instanceof2/src/Iface2Sub1.java
deleted file mode 100644
index db3e905..0000000
--- a/tests/009-instanceof2/src/Iface2Sub1.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Another interface.
- */
-public interface Iface2Sub1 extends Iface2, Cloneable {
-
-    //public int iFunc2(int ii);
-}
diff --git a/tests/009-instanceof2/src/ImplA.java b/tests/009-instanceof2/src/ImplA.java
deleted file mode 100644
index 9007001..0000000
--- a/tests/009-instanceof2/src/ImplA.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Blah.
- */
-public class ImplA implements Iface1, Iface2 {
-
-    public int iFunc1(int ii) {
-        return ii+1;
-    }
-    public int iFunc2(int ii) {
-        return ii+2;
-    }
-}
diff --git a/tests/009-instanceof2/src/ImplB.java b/tests/009-instanceof2/src/ImplB.java
deleted file mode 100644
index 619fa00..0000000
--- a/tests/009-instanceof2/src/ImplB.java
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Blah.
- */
-public class ImplB implements Iface1, Iface2 {
-
-    public int iFunc1(int ii) {
-        return ii+10;
-    }
-    public int iFunc2(int ii) {
-        return ii+20;
-    }
-
-    public static String mWhoami = new String("ImplB!");
-}
diff --git a/tests/009-instanceof2/src/ImplBSub.java b/tests/009-instanceof2/src/ImplBSub.java
deleted file mode 100644
index f3a7714..0000000
--- a/tests/009-instanceof2/src/ImplBSub.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Interface test.
- */
-public class ImplBSub extends ImplB implements /*Iface2,*/ Iface2Sub1 {
-
-    public int iFunc1(int ii) {
-        return ii+100;
-    }
-    public int iFunc2(int ii) {
-        return ii+200;
-    }
-}
diff --git a/tests/009-instanceof2/src/Main.java b/tests/009-instanceof2/src/Main.java
deleted file mode 100644
index 15a1e50..0000000
--- a/tests/009-instanceof2/src/Main.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * more instanceof cases
- */
-public class Main {
-    public static void main(String args[]) {
-        Iface1[] faceArray;
-        ImplA[] aaArray = new ImplA[5];
-        ImplBSub[] bbArray = new ImplBSub[5];
-        boolean aaOkay, bbOkay;
-
-        faceArray = aaArray;
-        faceArray = bbArray;
-
-        System.out.print("instanceof Serializable = ");
-        System.out.println((Object)aaArray instanceof java.io.Serializable);
-        System.out.print("instanceof Cloneable = ");
-        System.out.println((Object)aaArray instanceof java.lang.Cloneable);
-        System.out.print("instanceof Runnable = ");
-        System.out.println((Object)aaArray instanceof java.lang.Runnable);
-
-        aaOkay = faceArray instanceof ImplA[];
-        System.out.print("aaOkay (false) = ");
-        System.out.println(aaOkay);
-        bbOkay = faceArray instanceof ImplB[];
-        System.out.print("bbOkay (true) = ");
-        System.out.println(bbOkay);
-    }
-}
diff --git a/tests/010-instance/expected.txt b/tests/010-instance/expected.txt
deleted file mode 100644
index 219dd06..0000000
--- a/tests/010-instance/expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-instance begin
-x instanceof X (true): true
-x instanceof Y (false): false
-y instanceof X (true): true
-y instanceof Y (true): true
-xar instanceof Object (true): true
-xar instanceof X (false): false
-xar instanceof X[] (true): true
-xar instanceof Y[] (false): false
-xar instanceof Object[] (true): true
-xar instanceof X[][] (false): false
-yar instanceof X[] (true): true
-xararar instanceof Object (true): true
-xararar instanceof Object[] (true): true
-xararar instanceof X (false): false
-xararar instanceof X[] (false): false
-xararar instanceof X[][] (false): false
-xararar instanceof X[][][] (true): true
-xararar instanceof Object[][][] (true): true
-xararar instanceof Serializable (true): true
-xararar instanceof Serializable[] (true): true
-xararar instanceof Serializable[][] (true): true
-xararar instanceof Serializable[][][] (false): false
-yararar instanceof X[][][] (true): true
-iar instanceof Object (true): true
-iar instanceof Object[] (false): false
-iarar instanceof Object (true): true
-iarar instanceof Object[] (true): true
-iarar instanceof Object[][] (false): false
-instanceof end
diff --git a/tests/010-instance/info.txt b/tests/010-instance/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/010-instance/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/010-instance/src/InstanceTest.java b/tests/010-instance/src/InstanceTest.java
deleted file mode 100644
index 78384ff..0000000
--- a/tests/010-instance/src/InstanceTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-import java.io.Serializable;
-
-/**
- * Test some instanceof stuff.
- */
-public class InstanceTest {
-    public static void main(String[] args) {
-        System.out.println("instance begin");
-
-        X x = new X();
-        X[] xar = new X[1];
-        X[][] xarar = new X[1][1];
-        X[][][] xararar = new X[1][1][1];
-        Y y = new Y();
-        Y[] yar = new Y[1];
-        Y[][] yarar = new Y[1][1];
-        Y[][][] yararar = new Y[1][1][1];
-        int[] iar = new int[1];
-        int[][] iarar = new int[1][1];
-        Object test;
-
-        test = x;
-        System.out.println("x instanceof X (true): " + (test instanceof X));
-        System.out.println("x instanceof Y (false): " + (test instanceof Y));
-        test = y;
-        System.out.println("y instanceof X (true): " + (test instanceof X));
-        System.out.println("y instanceof Y (true): " + (test instanceof Y));
-
-        test = xar;
-        System.out.println("xar instanceof Object (true): "
-            + (test instanceof Object));
-        System.out.println("xar instanceof X (false): "
-            + (test instanceof X));
-        System.out.println("xar instanceof X[] (true): "
-            + (test instanceof X[]));
-        System.out.println("xar instanceof Y[] (false): "
-            + (test instanceof Y[]));
-        System.out.println("xar instanceof Object[] (true): "
-            + (test instanceof Object[]));
-        System.out.println("xar instanceof X[][] (false): "
-            + (test instanceof X[][]));
-        test = yar;
-        System.out.println("yar instanceof X[] (true): "
-            + (test instanceof X[]));
-
-        test = xararar;
-        System.out.println("xararar instanceof Object (true): "
-            + (test instanceof Object));
-        System.out.println("xararar instanceof Object[] (true): "
-            + (test instanceof Object[]));
-        System.out.println("xararar instanceof X (false): "
-            + (test instanceof X));
-        System.out.println("xararar instanceof X[] (false): "
-            + (test instanceof X[]));
-        System.out.println("xararar instanceof X[][] (false): "
-            + (test instanceof X[][]));
-        System.out.println("xararar instanceof X[][][] (true): "
-            + (test instanceof X[][][]));
-        System.out.println("xararar instanceof Object[][][] (true): "
-            + (test instanceof Object[][][]));
-
-        System.out.println("xararar instanceof Serializable (true): "
-            + (test instanceof Serializable));
-        System.out.println("xararar instanceof Serializable[] (true): "
-            + (test instanceof Serializable[]));
-        System.out.println("xararar instanceof Serializable[][] (true): "
-            + (test instanceof Serializable[][]));
-        System.out.println("xararar instanceof Serializable[][][] (false): "
-            + (test instanceof Serializable[][][]));
-
-        test = yararar;
-        System.out.println("yararar instanceof X[][][] (true): "
-            + (test instanceof X[][][]));
-
-        test = iar;
-        System.out.println("iar instanceof Object (true): "
-            + (test instanceof Object));
-        System.out.println("iar instanceof Object[] (false): "
-            + (test instanceof Object[]));
-
-        test = iarar;
-        System.out.println("iarar instanceof Object (true): "
-            + (test instanceof Object));
-        System.out.println("iarar instanceof Object[] (true): "
-            + (test instanceof Object[]));
-        System.out.println("iarar instanceof Object[][] (false): "
-            + (test instanceof Object[][]));
-
-        System.out.println("instanceof end");
-    }
-}
diff --git a/tests/010-instance/src/Main.java b/tests/010-instance/src/Main.java
deleted file mode 100644
index ab0ab5e..0000000
--- a/tests/010-instance/src/Main.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * even more instanceof cases
- */
-public class Main {
-    public static void main(String args[]) {
-        InstanceTest.main(null);
-    }
-}
diff --git a/tests/010-instance/src/X.java b/tests/010-instance/src/X.java
deleted file mode 100644
index d664d48..0000000
--- a/tests/010-instance/src/X.java
+++ /dev/null
@@ -1,8 +0,0 @@
-class X {
-    public X() {
-    }
-
-    int foo() {
-        return 0;
-    }
-}
diff --git a/tests/010-instance/src/Y.java b/tests/010-instance/src/Y.java
deleted file mode 100644
index 2b2c371..0000000
--- a/tests/010-instance/src/Y.java
+++ /dev/null
@@ -1,8 +0,0 @@
-class Y extends X {
-    public Y() {
-    }
-
-    int bar() {
-        return 1;
-    }
-}
diff --git a/tests/011-array-copy/expected.txt b/tests/011-array-copy/expected.txt
deleted file mode 100644
index 724786e..0000000
--- a/tests/011-array-copy/expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-string -> object
-object -> string
-object -> string (modified)
-caught ArrayStoreException (expected)
-copy: 0,0,0: [0, 1, 2, 3, 4, 5, 6, 7]
-copy: 0,0,8: [0, 1, 2, 3, 4, 5, 6, 7]
-copy: 0,2,4: [0, 1, 0, 1, 2, 3, 6, 7]
-copy: 2,0,4: [2, 3, 4, 5, 4, 5, 6, 7]
-copy: 1,3,4: [0, 1, 2, 1, 2, 3, 4, 7]
-copy: 3,1,4: [0, 3, 4, 5, 6, 5, 6, 7]
-copy: 3,1,5: [0, 3, 4, 5, 6, 7, 6, 7]
-copy: 1,3,5: [0, 1, 2, 1, 2, 3, 4, 5]
-copy: 0,3,5: [0, 1, 2, 0, 1, 2, 3, 4]
-copy: 3,0,5: [3, 4, 5, 6, 7, 5, 6, 7]
-copy: 0,5,1: [0, 1, 2, 3, 4, 0, 6, 7]
diff --git a/tests/011-array-copy/info.txt b/tests/011-array-copy/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/011-array-copy/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/011-array-copy/src/Iface1.java b/tests/011-array-copy/src/Iface1.java
deleted file mode 100644
index ba17d45..0000000
--- a/tests/011-array-copy/src/Iface1.java
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2005 The Android Open Source Project
-
-/**
- * Test stuff.
- */
-public interface Iface1 {
-
-    public int iFunc1(int ii);
-
-    public float mFloaty = 5.0f;
-
-    public String mWahoo = new String("wahoo");
-}
diff --git a/tests/011-array-copy/src/Iface2.java b/tests/011-array-copy/src/Iface2.java
deleted file mode 100644
index 83fe650..0000000
--- a/tests/011-array-copy/src/Iface2.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Another interface.
- */
-public interface Iface2 {
-
-    public int iFunc2(int ii);
-}
diff --git a/tests/011-array-copy/src/ImplA.java b/tests/011-array-copy/src/ImplA.java
deleted file mode 100644
index 9007001..0000000
--- a/tests/011-array-copy/src/ImplA.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Blah.
- */
-public class ImplA implements Iface1, Iface2 {
-
-    public int iFunc1(int ii) {
-        return ii+1;
-    }
-    public int iFunc2(int ii) {
-        return ii+2;
-    }
-}
diff --git a/tests/011-array-copy/src/Main.java b/tests/011-array-copy/src/Main.java
deleted file mode 100644
index 505d8b0..0000000
--- a/tests/011-array-copy/src/Main.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.Arrays;
-
-/**
- * System.arraycopy cases
- */
-public class Main {
-    public static void main(String args[]) {
-        testObjectCopy();
-        testOverlappingMoves();
-    }
-
-    public static void testObjectCopy() {
-        String[] stringArray = new String[8];
-        Object[] objectArray = new Object[8];
-
-        for (int i = 0; i < stringArray.length; i++)
-            stringArray[i] = new String(Integer.toString(i));
-
-        System.out.println("string -> object");
-        System.arraycopy(stringArray, 0, objectArray, 0, stringArray.length);
-        System.out.println("object -> string");
-        System.arraycopy(objectArray, 0, stringArray, 0, stringArray.length);
-        System.out.println("object -> string (modified)");
-        objectArray[4] = new ImplA();
-        try {
-            System.arraycopy(objectArray, 0, stringArray, 0,stringArray.length);
-        }
-        catch (ArrayStoreException ase) {
-            System.out.println("caught ArrayStoreException (expected)");
-        }
-    }
-
-    static final int ARRAY_SIZE = 8;
-
-    static void initByteArray(byte[] array) {
-        for (int i = 0; i < ARRAY_SIZE; i++) {
-            array[i] = (byte) i;
-        }
-    }
-    static void initShortArray(short[] array) {
-        for (int i = 0; i < ARRAY_SIZE; i++) {
-            array[i] = (short) i;
-        }
-    }
-    static void initIntArray(int[] array) {
-        for (int i = 0; i < ARRAY_SIZE; i++) {
-            array[i] = (int) i;
-        }
-    }
-    static void initLongArray(long[] array) {
-        for (int i = 0; i < ARRAY_SIZE; i++) {
-            array[i] = (long) i;
-        }
-    }
-
-    /*
-     * Perform an array copy operation on primitive arrays with different
-     * element widths.
-     */
-    static void makeCopies(int srcPos, int dstPos, int length) {
-        byte[] byteArray = new byte[ARRAY_SIZE];
-        short[] shortArray = new short[ARRAY_SIZE];
-        int[] intArray = new int[ARRAY_SIZE];
-        long[] longArray = new long[ARRAY_SIZE];
-
-        initByteArray(byteArray);
-        initShortArray(shortArray);
-        initIntArray(intArray);
-        initLongArray(longArray);
-
-        System.arraycopy(byteArray, srcPos, byteArray, dstPos, length);
-        System.arraycopy(shortArray, srcPos, shortArray, dstPos, length);
-        System.arraycopy(intArray, srcPos, intArray, dstPos, length);
-        System.arraycopy(longArray, srcPos, longArray, dstPos, length);
-
-        for (int i = 0; i < ARRAY_SIZE; i++) {
-            if (intArray[i] != byteArray[i]) {
-                System.out.println("mismatch int vs byte at " + i + " : " +
-                    Arrays.toString(byteArray));
-                break;
-            } else if (intArray[i] != shortArray[i]) {
-                System.out.println("mismatch int vs short at " + i + " : " +
-                    Arrays.toString(shortArray));
-                break;
-            } else if (intArray[i] != longArray[i]) {
-                System.out.println("mismatch int vs long at " + i + " : " +
-                    Arrays.toString(longArray));
-                break;
-            }
-        }
-
-        System.out.println("copy: " + srcPos + "," + dstPos + "," + length +
-            ": " + Arrays.toString(intArray));
-    }
-
-    public static void testOverlappingMoves() {
-        /* do nothing */
-        makeCopies(0, 0, 0);
-
-        /* do more nothing */
-        makeCopies(0, 0, ARRAY_SIZE);
-
-        /* copy forward, even alignment */
-        makeCopies(0, 2, 4);
-
-        /* copy backward, even alignment */
-        makeCopies(2, 0, 4);
-
-        /* copy forward, odd alignment */
-        makeCopies(1, 3, 4);
-
-        /* copy backward, odd alignment */
-        makeCopies(3, 1, 4);
-
-        /* copy backward, odd length */
-        makeCopies(3, 1, 5);
-
-        /* copy forward, odd length */
-        makeCopies(1, 3, 5);
-
-        /* copy forward, mixed alignment */
-        makeCopies(0, 3, 5);
-
-        /* copy backward, mixed alignment */
-        makeCopies(3, 0, 5);
-
-        /* copy forward, mixed alignment, trivial length */
-        makeCopies(0, 5, 1);
-    }
-}
diff --git a/tests/012-math/expected.txt b/tests/012-math/expected.txt
deleted file mode 100644
index af9708e..0000000
--- a/tests/012-math/expected.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-res:10
-res:-4
-res:2
-res:-2
-res:21
-res:0
-res:3
-res:4
-res:384
-res:0
-res:0
-a:10
-a:3
-a:2
-a:-3
-a:-21
-a:-3
-a:-3
-a:-6
-a:-768
-a:-6
-a:33554431
-fres:10.0
-fres:-4.0
-fres:21.0
-fres:0.42857142857142855
-fres:3.0
-f:10.0
-f:3.0
-f:21.0
-f:3.0
-f:3.0
diff --git a/tests/012-math/info.txt b/tests/012-math/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/012-math/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/012-math/src/Main.java b/tests/012-math/src/Main.java
deleted file mode 100644
index 87ea40b..0000000
--- a/tests/012-math/src/Main.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * test simple math opers
- */
-public class Main {
-    public static void main(String args[]) {
-        int pad0, pad1, pad2, pad3, pad4, pad5, pad6, pad7;
-        int pad8, pad9, pad10, pad11, pad12, pad13, pad14, pad15;
-        int a, b, res;
-        //long a, b, res;
-
-        a = 3;
-        b = 7;
-
-        res = a + b;
-        System.out.println("res:" +res);
-        res = a - b;
-        System.out.println("res:" +res);
-        res = 5 - a;
-        System.out.println("res:" +res);
-        res = a - 5;
-        System.out.println("res:" +res);
-        res = a * b;
-        System.out.println("res:" +res);
-        res = a / b;
-        System.out.println("res:" +res);
-        res = a % b;
-        System.out.println("res:" +res);
-        res = a ^ b;
-        System.out.println("res:" +res);
-        res = a << b;
-        System.out.println("res:" +res);
-        res = a >> b;
-        System.out.println("res:" +res);
-        res = a >>> b;
-        System.out.println("res:" +res);
-
-        a += b;
-        System.out.println("a:" +a);
-        a -= b;
-        System.out.println("a:" +a);
-        a = 5 - a;
-        System.out.println("a:" +a);
-        a -= 5;
-        System.out.println("a:" +a);
-        a *= b;
-        System.out.println("a:" +a);
-        a /= b;
-        System.out.println("a:" +a);
-        a %= b;
-        System.out.println("a:" +a);
-        a ^= b;
-        System.out.println("a:" +a);
-        a <<= b;
-        System.out.println("a:" +a);
-        a >>= b;
-        System.out.println("a:" +a);
-        a >>>= b;
-        System.out.println("a:" +a);
-
-        double f, g, fres;
-
-        f = 3.0f;
-        g = 7.0f;
-
-        fres = f + g;
-        System.out.println("fres:" +fres);
-        fres = f - g;
-        System.out.println("fres:" +fres);
-        fres = f * g;
-        System.out.println("fres:" +fres);
-        fres = f / g;
-        System.out.println("fres:" +fres);
-        fres = f % g;
-        System.out.println("fres:" +fres);
-        f += g;
-        System.out.println("f:" +f);
-        f -= g;
-        System.out.println("f:" +f);
-        f *= g;
-        System.out.println("f:" +f);
-        f /= g;
-        System.out.println("f:" +f);
-        f %= g;
-        System.out.println("f:" +f);
-    }
-}
diff --git a/tests/013-math2/expected.txt b/tests/013-math2/expected.txt
deleted file mode 100644
index d36c468..0000000
--- a/tests/013-math2/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-a:32003
diff --git a/tests/013-math2/info.txt b/tests/013-math2/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/013-math2/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/013-math2/src/Main.java b/tests/013-math2/src/Main.java
deleted file mode 100644
index 819571d..0000000
--- a/tests/013-math2/src/Main.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * test add by a 16-bit constant
- */
-public class Main {
-    public static void main(String args[]) {
-        int a, b, res;
-
-        a = 3;
-        b = 7;
-
-        // a 16-bit constant
-        a += 32000;
-        System.out.println("a:" +a);
-    }
-}
diff --git a/tests/014-math3/expected.txt b/tests/014-math3/expected.txt
deleted file mode 100644
index bda3dc7..0000000
--- a/tests/014-math3/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-testMath3 success
diff --git a/tests/014-math3/info.txt b/tests/014-math3/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/014-math3/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/014-math3/src/Main.java b/tests/014-math3/src/Main.java
deleted file mode 100644
index f55b17a..0000000
--- a/tests/014-math3/src/Main.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test math exceptions
- */
-public class Main {
-    public static void main(String args[]) {
-        int expectedThrows = 2;
-        int i;
-        long j;
-        float f = 0.0f;
-        double d = 0.0;
-
-        try { i = 10 / 0; }
-        catch (ArithmeticException ae) {
-            expectedThrows--;
-        }
-
-        try { j = 10L / 0L; }
-        catch (ArithmeticException ae) {
-            expectedThrows--;
-        }
-
-        /*
-         * Floating point divide by zero doesn't throw an exception -- the
-         * result is just NaN.
-         */
-        try { f = 10.0f / f; }
-        catch (ArithmeticException ae) {
-            expectedThrows--;
-        }
-
-        try { d = 10.0 / d; }
-        catch (ArithmeticException ae) {
-            expectedThrows--;
-        }
-
-        if (expectedThrows != 0)
-            System.out.println("HEY: expected throws is " + expectedThrows);
-        else
-            System.out.println("testMath3 success");
-    }
-}
diff --git a/tests/015-switch/expected.txt b/tests/015-switch/expected.txt
deleted file mode 100644
index ca3b518..0000000
--- a/tests/015-switch/expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-CORRECT (one)
-CORRECT (not found)
-CORRECT (large)
-CORRECT (large2)
-CORRECT (large3)
-CORRECT (not found)
-CORRECT (not found)
-CORRECT (default only)
-CORRECT big sparse / first
-CORRECT big sparse / last
diff --git a/tests/015-switch/info.txt b/tests/015-switch/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/015-switch/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/015-switch/src/Main.java b/tests/015-switch/src/Main.java
deleted file mode 100644
index 7198e2b..0000000
--- a/tests/015-switch/src/Main.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test switch() blocks
- */
-public class Main {
-    public static void main(String args[]) {
-        int a = 1;
-
-        switch (a) {
-            case -1: System.out.print("neg one\n"); break;
-            case 0: System.out.print("zero\n"); break;
-            case 1: System.out.print("CORRECT (one)\n"); break;
-            case 2: System.out.print("two\n"); break;
-            case 3: System.out.print("three\n"); break;
-            case 4: System.out.print("four\n"); break;
-            default: System.out.print("???\n"); break;
-        }
-        switch (a) {
-            case 3: System.out.print("three\n"); break;
-            case 4: System.out.print("four\n"); break;
-            default: System.out.print("CORRECT (not found)\n"); break;
-        }
-
-        a = 0x12345678;
-
-        switch (a) {
-            case 0x12345678: System.out.print("CORRECT (large)\n"); break;
-            case 0x12345679: System.out.print("large+1\n"); break;
-            default: System.out.print("nuts\n"); break;
-        }
-        switch (a) {
-            case 0x12345678: System.out.print("CORRECT (large2)\n"); break;
-            case 0x12345700: System.out.print("large+many\n"); break;
-            default: System.out.print("nuts\n"); break;
-        }
-        switch (a) {
-            case 57: System.out.print("fifty-seven!\n"); break;
-            case -6: System.out.print("neg six!\n"); break;
-            case 0x12345678: System.out.print("CORRECT (large3)\n"); break;
-            case 22: System.out.print("twenty-two!\n"); break;
-            case 3: System.out.print("three!\n"); break;
-            default: System.out.print("huh?\n"); break;
-        }
-        switch (a) {
-            case -6: System.out.print("neg six!\n"); break;
-            case 3: System.out.print("three!\n"); break;
-            default: System.out.print("CORRECT (not found)\n"); break;
-        }
-
-        a = -5;
-        switch (a) {
-            case 12: System.out.print("twelve\n"); break;
-            case -5: System.out.print("CORRECT (not found)\n"); break;
-            case 0: System.out.print("zero\n"); break;
-            default: System.out.print("wah?\n"); break;
-        }
-
-        switch (a) {
-            default: System.out.print("CORRECT (default only)\n"); break;
-        }
-
-        a = -10;
-        switch (a) {
-            case -10: System.out.print("CORRECT big sparse / first\n"); break;
-            case -5: System.out.print("neg five\n"); break;
-            case 0: System.out.print("zero\n"); break;
-            case 5: System.out.print("five\n"); break;
-            case 10: System.out.print("ten\n"); break;
-            case 15: System.out.print("fifteen\n"); break;
-            case 20: System.out.print("twenty\n"); break;
-            case 50: System.out.print("fifty\n"); break;
-            case 100: System.out.print("hundred\n"); break;
-            default: System.out.print("blah!\n"); break;
-        }
-
-        a = 100;
-        switch (a) {
-            case -10: System.out.print("neg ten\n"); break;
-            case -5: System.out.print("neg five\n"); break;
-            case 0: System.out.print("zero\n"); break;
-            case 5: System.out.print("five\n"); break;
-            case 10: System.out.print("ten\n"); break;
-            case 15: System.out.print("fifteen\n"); break;
-            case 20: System.out.print("twenty\n"); break;
-            case 50: System.out.print("fifty\n"); break;
-            case 100: System.out.print("CORRECT big sparse / last\n"); break;
-            default: System.out.print("blah!\n"); break;
-        }
-    }
-}
diff --git a/tests/016-intern/expected.txt b/tests/016-intern/expected.txt
deleted file mode 100644
index 7d91963..0000000
--- a/tests/016-intern/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-good! foobar
diff --git a/tests/016-intern/info.txt b/tests/016-intern/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/016-intern/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/016-intern/src/Main.java b/tests/016-intern/src/Main.java
deleted file mode 100644
index 4306863..0000000
--- a/tests/016-intern/src/Main.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Interned strings
- */
-public class Main {
-    public static void main(String args[]) {
-        String a, b;
-        String foo = "foo";
-        String bar = "bar";
-
-        a = foo.concat(bar).intern();
-        b = foo.concat(bar).intern();
-        if (a == b && foo != bar) {
-            System.out.println("good! " + a);
-        } else {
-            System.out.println("bad!");
-        }
-    }
-}
diff --git a/tests/017-float/expected.txt b/tests/017-float/expected.txt
deleted file mode 100644
index 2062f9e..0000000
--- a/tests/017-float/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-base values: d=3.1415926535 f=3.1415927
-base values: d=3.1415926535 f=3.1415927
-base values: f=3.1415927 d=3.1415926535
diff --git a/tests/017-float/info.txt b/tests/017-float/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/017-float/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/017-float/src/Main.java b/tests/017-float/src/Main.java
deleted file mode 100644
index a5dbe1e..0000000
--- a/tests/017-float/src/Main.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * I dont know what this test does.
- */
-public class Main {
-    public static void main(String args[]) {
-        float f = 3.1415926535f;
-        double d = 3.1415926535;
-        //float fd = (float) d;
-        //Float off = new Float(f);
-        //Float ofd = new Float(d);
-        System.out.println("base values: d=" + d + " f=" + f);
-        System.out.println("base values: d=" + d + " f=" + f);
-        System.out.println("base values: f=" + f + " d=" + d);
-        //System.out.println("object values: off="
-        //    + off.floatValue() + " ofd=" + ofd.floatValue());
-    }
-}
diff --git a/tests/018-stack-overflow/expected.txt b/tests/018-stack-overflow/expected.txt
deleted file mode 100644
index 7797816..0000000
--- a/tests/018-stack-overflow/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-caught SOE
-SOE test done
diff --git a/tests/018-stack-overflow/info.txt b/tests/018-stack-overflow/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/018-stack-overflow/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/018-stack-overflow/src/Main.java b/tests/018-stack-overflow/src/Main.java
deleted file mode 100644
index f79c269..0000000
--- a/tests/018-stack-overflow/src/Main.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * generate a stack overflow condition and catch it
- */
-public class Main {
-    public static void main(String args[]) {
-        try {
-            stackOverflowTestSub(0.0, 0.0, 0.0);
-        }
-        catch (StackOverflowError soe) {
-            System.out.println("caught SOE");
-        }
-        System.out.println("SOE test done");
-    }
-
-    private static void stackOverflowTestSub(double pad1, double pad2,
-            double pad3) {
-        stackOverflowTestSub(pad1, pad2, pad3);
-    }
-}
diff --git a/tests/019-wrong-array-type/expected.txt b/tests/019-wrong-array-type/expected.txt
deleted file mode 100644
index c0ed716..0000000
--- a/tests/019-wrong-array-type/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Got correct array store exception
diff --git a/tests/019-wrong-array-type/info.txt b/tests/019-wrong-array-type/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/019-wrong-array-type/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/019-wrong-array-type/src/Main.java b/tests/019-wrong-array-type/src/Main.java
deleted file mode 100644
index c424ae9..0000000
--- a/tests/019-wrong-array-type/src/Main.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Stuff the wrong type object into an array.
- */
-public class Main {
-    public static void main(String args[]) {
-        String[] strArray = new String[1];
-
-        Object[] objArray = strArray;
-
-        try {
-            objArray[0] = new Integer(1);
-            System.out.println("Array store succeeded?!");
-        } catch (ArrayStoreException ase) {
-            System.out.println("Got correct array store exception");
-        }
-    }
-}
diff --git a/tests/020-string/expected.txt b/tests/020-string/expected.txt
deleted file mode 100644
index 081fea3..0000000
--- a/tests/020-string/expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-testStr is 'This is a very nice string'
-This is a very nice string
-Compare result is 32
-Compare unicode: -65302
-Got expected exception
-subStr is 'uick brown fox jumps over the lazy '
-Indexes are: 0:-1:0:43:33:-1:18:13:13:-1:18:18:-1:13:-1:-1:-1
diff --git a/tests/020-string/info.txt b/tests/020-string/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/020-string/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/020-string/src/Main.java b/tests/020-string/src/Main.java
deleted file mode 100644
index bb8ce1f..0000000
--- a/tests/020-string/src/Main.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Simple string test.
- */
-public class Main {
-    public static void main(String args[]) {
-        basicTest();
-        indexTest();
-    }
-
-    public static void basicTest() {
-        String baseStr = "*** This is a very nice string!!!";
-        String testStr;
-        int i;
-
-        testStr = baseStr.substring(4, baseStr.length() - 3);
-        System.out.println("testStr is '" + testStr + "'");
-
-        /* sloppy for loop */
-        for (i = 0; i < testStr.length(); i++)
-            System.out.print(testStr.charAt(i));
-        System.out.print("\n");
-
-        String testStr2 = "This is a very nice strinG";
-        if (testStr.length() != testStr2.length())
-            System.out.println("WARNING: stringTest length mismatch");
-
-        System.out.println("Compare result is " + testStr.compareTo(testStr2));
-
-        // expected: -65302
-        String s1 = "\u0c6d\u0cb6\u0d00\u0000\u0080\u0080\u0080\u0000\u0002\u0002\u0002\u0000\u00e9\u00e9\u00e9";
-        String s2 = "\u0c6d\u0cb6\u0d00\u0000\u0080\u0080\u0080\u0000\u0002\u0002\u0002\u0000\uffff\uffff\uffff\u00e9\u00e9\u00e9";
-        System.out.println("Compare unicode: " + s1.compareTo(s2));
-
-        try {
-            testStr.charAt(500);
-            System.out.println("GLITCH: expected exception");
-        } catch (StringIndexOutOfBoundsException sioobe) {
-            System.out.println("Got expected exception");
-        }
-    }
-
-    public static void indexTest() {
-        String baseStr = "The quick brown fox jumps over the lazy dog!";
-        String subStr;
-
-        subStr = baseStr.substring(5, baseStr.length() - 4);
-        System.out.println("subStr is '" + subStr + "'");
-
-        System.out.println("Indexes are: " +
-            baseStr.indexOf('T') + ":" +
-            subStr.indexOf('T') + ":" +
-            subStr.indexOf('u') + ":" +
-            baseStr.indexOf('!') + ":" +
-            subStr.indexOf('y') + ":" +
-            subStr.indexOf('d') + ":" +
-            baseStr.indexOf('x') + ":" +
-            subStr.indexOf('x', 0) + ":" +
-            subStr.indexOf('x', -1) + ":" +
-            subStr.indexOf('x', 200) + ":" +
-            baseStr.indexOf('x', 17) + ":" +
-            baseStr.indexOf('x', 18) + ":" +
-            baseStr.indexOf('x', 19) + ":" +
-            subStr.indexOf('x', 13) + ":" +
-            subStr.indexOf('x', 14) + ":" +
-            subStr.indexOf('&') + ":" +
-            baseStr.indexOf(0x12341234));
-    }
-}
diff --git a/tests/021-string2/expected.txt b/tests/021-string2/expected.txt
deleted file mode 100644
index bd7f049..0000000
--- a/tests/021-string2/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Got expected npe
diff --git a/tests/021-string2/info.txt b/tests/021-string2/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/021-string2/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/021-string2/src/Main.java b/tests/021-string2/src/Main.java
deleted file mode 100644
index 87e4baf..0000000
--- a/tests/021-string2/src/Main.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import junit.framework.Assert;
-
-/**
- * more string tests
- */
-public class Main {
-    public static void main(String args[]) {
-        String test = "0123456789";
-        String test1 = new String("0123456789");    // different object
-        String test2 = new String("0123456780");    // different value
-        String offset = new String("xxx0123456789yyy");
-        String sub = offset.substring(3, 13);
-        Object blah = new Object();
-
-        Assert.assertTrue(test.equals(test));
-        Assert.assertTrue(test.equals(test1));
-        Assert.assertFalse(test.equals(test2));
-
-        Assert.assertEquals(test.compareTo(test1), 0);
-        Assert.assertTrue(test1.compareTo(test2) > 0);
-        Assert.assertTrue(test2.compareTo(test1) < 0);
-
-        /* compare string with a nonzero offset, in left/right side */
-        Assert.assertEquals(test.compareTo(sub), 0);
-        Assert.assertEquals(sub.compareTo(test), 0);
-        Assert.assertTrue(test.equals(sub));
-        Assert.assertTrue(sub.equals(test));
-        /* same base, one is a substring */
-        Assert.assertFalse(offset.equals(sub));
-        Assert.assertFalse(sub.equals(offset));
-        /* wrong class */
-        Assert.assertFalse(test.equals(blah));
-
-        /* null ptr - throw */
-        try {
-            test.compareTo(null);
-            Assert.fail("didn't get expected npe");
-        } catch (NullPointerException npe) {
-            System.out.println("Got expected npe");
-        }
-        /* null ptr - ok */
-        Assert.assertFalse(test.equals(null));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("123456789"));
-        Assert.assertFalse(test.equals(test1));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("23456789"));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("3456789"));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("456789"));
-
-        test = test.substring(3,5);
-        Assert.assertTrue(test.equals("78"));
-
-        test = "this/is/a/path";
-        String[] strings = test.split("/");
-        Assert.assertEquals(4, strings.length);
-
-        Assert.assertEquals("this is a path", test.replaceAll("/", " "));
-        Assert.assertEquals("this is a path", test.replace("/", " "));
-    }
-}
diff --git a/tests/021-string2/src/junit/framework/Assert.java b/tests/021-string2/src/junit/framework/Assert.java
deleted file mode 100644
index 364e646..0000000
--- a/tests/021-string2/src/junit/framework/Assert.java
+++ /dev/null
@@ -1,291 +0,0 @@
-package junit.framework;
-
-/**
- * A set of assert methods.  Messages are only displayed when an assert fails.
- */
-
-public class Assert {
-    /**
-     * Protect constructor since it is a static only class
-     */
-    protected Assert() {
-    }
-
-    /**
-     * Asserts that a condition is true. If it isn't it throws
-     * an AssertionFailedError with the given message.
-     */
-    static public void assertTrue(String message, boolean condition) {
-        if (!condition)
-            fail(message);
-    }
-    /**
-     * Asserts that a condition is true. If it isn't it throws
-     * an AssertionFailedError.
-     */
-    static public void assertTrue(boolean condition) {
-        assertTrue(null, condition);
-    }
-    /**
-     * Asserts that a condition is false. If it isn't it throws
-     * an AssertionFailedError with the given message.
-     */
-    static public void assertFalse(String message, boolean condition) {
-        assertTrue(message, !condition);
-    }
-    /**
-     * Asserts that a condition is false. If it isn't it throws
-     * an AssertionFailedError.
-     */
-    static public void assertFalse(boolean condition) {
-        assertFalse(null, condition);
-    }
-    /**
-     * Fails a test with the given message.
-     */
-    static public void fail(String message) {
-        throw new AssertionFailedError(message);
-    }
-    /**
-     * Fails a test with no message.
-     */
-    static public void fail() {
-        fail(null);
-    }
-    /**
-     * Asserts that two objects are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, Object expected, Object actual) {
-        if (expected == null && actual == null)
-            return;
-        if (expected != null && expected.equals(actual))
-            return;
-        failNotEquals(message, expected, actual);
-    }
-    /**
-     * Asserts that two objects are equal. If they are not
-     * an AssertionFailedError is thrown.
-     */
-    static public void assertEquals(Object expected, Object actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two Strings are equal.
-     */
-    static public void assertEquals(String message, String expected, String actual) {
-        if (expected == null && actual == null)
-            return;
-        if (expected != null && expected.equals(actual))
-            return;
-        throw new ComparisonFailure(message, expected, actual);
-    }
-    /**
-     * Asserts that two Strings are equal.
-     */
-    static public void assertEquals(String expected, String actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two doubles are equal concerning a delta.  If they are not
-     * an AssertionFailedError is thrown with the given message.  If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(String message, double expected, double actual, double delta) {
-        // handle infinity specially since subtracting to infinite values gives NaN and the
-        // the following test fails
-        if (Double.isInfinite(expected)) {
-            if (!(expected == actual))
-                failNotEquals(message, new Double(expected), new Double(actual));
-        } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false
-            failNotEquals(message, new Double(expected), new Double(actual));
-    }
-    /**
-     * Asserts that two doubles are equal concerning a delta. If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(double expected, double actual, double delta) {
-        assertEquals(null, expected, actual, delta);
-    }
-    /**
-     * Asserts that two floats are equal concerning a delta. If they are not
-     * an AssertionFailedError is thrown with the given message.  If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(String message, float expected, float actual, float delta) {
-         // handle infinity specially since subtracting to infinite values gives NaN and the
-        // the following test fails
-        if (Float.isInfinite(expected)) {
-            if (!(expected == actual))
-                failNotEquals(message, new Float(expected), new Float(actual));
-        } else if (!(Math.abs(expected-actual) <= delta))
-              failNotEquals(message, new Float(expected), new Float(actual));
-    }
-    /**
-     * Asserts that two floats are equal concerning a delta. If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(float expected, float actual, float delta) {
-        assertEquals(null, expected, actual, delta);
-    }
-    /**
-     * Asserts that two longs are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, long expected, long actual) {
-        assertEquals(message, new Long(expected), new Long(actual));
-    }
-    /**
-     * Asserts that two longs are equal.
-     */
-    static public void assertEquals(long expected, long actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two booleans are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, boolean expected, boolean actual) {
-            assertEquals(message, new Boolean(expected), new Boolean(actual));
-      }
-    /**
-     * Asserts that two booleans are equal.
-      */
-    static public void assertEquals(boolean expected, boolean actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two bytes are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-      static public void assertEquals(String message, byte expected, byte actual) {
-        assertEquals(message, new Byte(expected), new Byte(actual));
-    }
-    /**
-        * Asserts that two bytes are equal.
-     */
-    static public void assertEquals(byte expected, byte actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two chars are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-      static public void assertEquals(String message, char expected, char actual) {
-            assertEquals(message, new Character(expected), new Character(actual));
-      }
-    /**
-     * Asserts that two chars are equal.
-     */
-      static public void assertEquals(char expected, char actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two shorts are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, short expected, short actual) {
-            assertEquals(message, new Short(expected), new Short(actual));
-    }
-      /**
-     * Asserts that two shorts are equal.
-     */
-    static public void assertEquals(short expected, short actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two ints are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-      static public void assertEquals(String message, int expected, int actual) {
-        assertEquals(message, new Integer(expected), new Integer(actual));
-      }
-      /**
-        * Asserts that two ints are equal.
-     */
-      static public void assertEquals(int expected, int actual) {
-          assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that an object isn't null.
-     */
-    static public void assertNotNull(Object object) {
-        assertNotNull(null, object);
-    }
-    /**
-     * Asserts that an object isn't null. If it is
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertNotNull(String message, Object object) {
-        assertTrue(message, object != null);
-    }
-    /**
-     * Asserts that an object is null.
-     */
-    static public void assertNull(Object object) {
-        assertNull(null, object);
-    }
-    /**
-     * Asserts that an object is null.  If it is not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertNull(String message, Object object) {
-        assertTrue(message, object == null);
-    }
-    /**
-     * Asserts that two objects refer to the same object. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertSame(String message, Object expected, Object actual) {
-        if (expected == actual)
-            return;
-        failNotSame(message, expected, actual);
-    }
-    /**
-     * Asserts that two objects refer to the same object. If they are not
-     * the same an AssertionFailedError is thrown.
-     */
-    static public void assertSame(Object expected, Object actual) {
-        assertSame(null, expected, actual);
-    }
-     /**
-      * Asserts that two objects refer to the same object. If they are not
-      * an AssertionFailedError is thrown with the given message.
-      */
-    static public void assertNotSame(String message, Object expected, Object actual) {
-        if (expected == actual)
-            failSame(message);
-    }
-    /**
-     * Asserts that two objects refer to the same object. If they are not
-     * the same an AssertionFailedError is thrown.
-     */
-    static public void assertNotSame(Object expected, Object actual) {
-        assertNotSame(null, expected, actual);
-    }
-
-    static private void failSame(String message) {
-        String formatted= "";
-         if (message != null)
-             formatted= message+" ";
-         fail(formatted+"expected not same");
-    }
-
-    static private void failNotSame(String message, Object expected, Object actual) {
-        String formatted= "";
-        if (message != null)
-            formatted= message+" ";
-        fail(formatted+"expected same:<"+expected+"> was not:<"+actual+">");
-    }
-
-    static private void failNotEquals(String message, Object expected, Object actual) {
-        fail(format(message, expected, actual));
-    }
-
-    static String format(String message, Object expected, Object actual) {
-        String formatted= "";
-        if (message != null)
-            formatted= message+" ";
-        return formatted+"expected:<"+expected+"> but was:<"+actual+">";
-    }
-}
diff --git a/tests/021-string2/src/junit/framework/AssertionFailedError.java b/tests/021-string2/src/junit/framework/AssertionFailedError.java
deleted file mode 100644
index e9cb3a3..0000000
--- a/tests/021-string2/src/junit/framework/AssertionFailedError.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package junit.framework;
-
-/**
- * Thrown when an assertion failed.
- */
-public class AssertionFailedError extends Error {
-
-    public AssertionFailedError () {
-    }
-    public AssertionFailedError (String message) {
-        super (message);
-    }
-}
diff --git a/tests/021-string2/src/junit/framework/ComparisonFailure.java b/tests/021-string2/src/junit/framework/ComparisonFailure.java
deleted file mode 100644
index 0cb2cee..0000000
--- a/tests/021-string2/src/junit/framework/ComparisonFailure.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package junit.framework;
-
-/**
- * Thrown when an assert equals for Strings failed.
- *
- * Inspired by a patch from Alex Chaffee mailto:alex@purpletech.com
- */
-public class ComparisonFailure extends AssertionFailedError {
-    private String fExpected;
-    private String fActual;
-
-    /**
-     * Constructs a comparison failure.
-     * @param message the identifying message or null
-     * @param expected the expected string value
-     * @param actual the actual string value
-     */
-    public ComparisonFailure (String message, String expected, String actual) {
-        super (message);
-        fExpected= expected;
-        fActual= actual;
-    }
-
-    /**
-     * Returns "..." in place of common prefix and "..." in
-     * place of common suffix between expected and actual.
-     *
-     * @see java.lang.Throwable#getMessage()
-     */
-    public String getMessage() {
-        if (fExpected == null || fActual == null)
-            return Assert.format(super.getMessage(), fExpected, fActual);
-
-        int end= Math.min(fExpected.length(), fActual.length());
-
-        int i= 0;
-        for(; i < end; i++) {
-            if (fExpected.charAt(i) != fActual.charAt(i))
-                break;
-        }
-        int j= fExpected.length()-1;
-        int k= fActual.length()-1;
-        for (; k >= i && j >= i; k--,j--) {
-            if (fExpected.charAt(j) != fActual.charAt(k))
-                break;
-        }
-        String actual, expected;
-
-        // equal strings
-        if (j < i && k < i) {
-            expected= fExpected;
-            actual= fActual;
-        } else {
-            expected= fExpected.substring(i, j+1);
-            actual= fActual.substring(i, k+1);
-            if (i <= end && i > 0) {
-                expected= "..."+expected;
-                actual= "..."+actual;
-            }
-
-            if (j < fExpected.length()-1)
-                expected= expected+"...";
-            if (k < fActual.length()-1)
-                actual= actual+"...";
-        }
-        return Assert.format(super.getMessage(), expected, actual);
-    }
-}
diff --git a/tests/022-interface/expected.txt b/tests/022-interface/expected.txt
deleted file mode 100644
index 1212663..0000000
--- a/tests/022-interface/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-ImplBSub intf: 205
-ImplA: 7
diff --git a/tests/022-interface/info.txt b/tests/022-interface/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/022-interface/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/022-interface/src/Iface1.java b/tests/022-interface/src/Iface1.java
deleted file mode 100644
index ba17d45..0000000
--- a/tests/022-interface/src/Iface1.java
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2005 The Android Open Source Project
-
-/**
- * Test stuff.
- */
-public interface Iface1 {
-
-    public int iFunc1(int ii);
-
-    public float mFloaty = 5.0f;
-
-    public String mWahoo = new String("wahoo");
-}
diff --git a/tests/022-interface/src/Iface2.java b/tests/022-interface/src/Iface2.java
deleted file mode 100644
index 83fe650..0000000
--- a/tests/022-interface/src/Iface2.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Another interface.
- */
-public interface Iface2 {
-
-    public int iFunc2(int ii);
-}
diff --git a/tests/022-interface/src/Iface2Sub1.java b/tests/022-interface/src/Iface2Sub1.java
deleted file mode 100644
index db3e905..0000000
--- a/tests/022-interface/src/Iface2Sub1.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Another interface.
- */
-public interface Iface2Sub1 extends Iface2, Cloneable {
-
-    //public int iFunc2(int ii);
-}
diff --git a/tests/022-interface/src/ImplA.java b/tests/022-interface/src/ImplA.java
deleted file mode 100644
index 9007001..0000000
--- a/tests/022-interface/src/ImplA.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Blah.
- */
-public class ImplA implements Iface1, Iface2 {
-
-    public int iFunc1(int ii) {
-        return ii+1;
-    }
-    public int iFunc2(int ii) {
-        return ii+2;
-    }
-}
diff --git a/tests/022-interface/src/ImplB.java b/tests/022-interface/src/ImplB.java
deleted file mode 100644
index 619fa00..0000000
--- a/tests/022-interface/src/ImplB.java
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Blah.
- */
-public class ImplB implements Iface1, Iface2 {
-
-    public int iFunc1(int ii) {
-        return ii+10;
-    }
-    public int iFunc2(int ii) {
-        return ii+20;
-    }
-
-    public static String mWhoami = new String("ImplB!");
-}
diff --git a/tests/022-interface/src/ImplBSub.java b/tests/022-interface/src/ImplBSub.java
deleted file mode 100644
index f3a7714..0000000
--- a/tests/022-interface/src/ImplBSub.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Interface test.
- */
-public class ImplBSub extends ImplB implements /*Iface2,*/ Iface2Sub1 {
-
-    public int iFunc1(int ii) {
-        return ii+100;
-    }
-    public int iFunc2(int ii) {
-        return ii+200;
-    }
-}
diff --git a/tests/022-interface/src/Main.java b/tests/022-interface/src/Main.java
deleted file mode 100644
index 9151e89..0000000
--- a/tests/022-interface/src/Main.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * test calling through an interface
- */
-public class Main {
-    public static void main(String args[]) {
-        int result = 0;
-        Iface2Sub1 faceObj;
-        ImplA faceObj2;
-
-        faceObj = new ImplBSub();
-
-        result = faceObj.iFunc2(5);
-        System.out.print("ImplBSub intf: ");
-        System.out.println(result);
-
-        faceObj2 = new ImplA();
-        result = faceObj2.iFunc2(5);
-        System.out.print("ImplA: ");
-        System.out.println(result);
-    }
-}
diff --git a/tests/023-many-interfaces/build b/tests/023-many-interfaces/build
deleted file mode 100644
index fc81d62..0000000
--- a/tests/023-many-interfaces/build
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2008 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Stop if something fails.
-set -e
-
-# Write out a bunch of interface source files.
-gcc -o iface-gen iface-gen.c
-./iface-gen
-
-mkdir classes
-${JAVAC} -d classes src/*.java
-
-dx --debug --dex --dump-to=classes.lst --output=classes.dex classes
-zip test.jar classes.dex
diff --git a/tests/023-many-interfaces/expected.txt b/tests/023-many-interfaces/expected.txt
deleted file mode 100644
index c6a0c61..0000000
--- a/tests/023-many-interfaces/expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-testIface001: done
-testIface049: done
-testIface099: done
-testVirt001: done
-testVirt049: done
-testVirt099: done
-testInst001: done
-testInst049: done
-testInst099: done
diff --git a/tests/023-many-interfaces/iface-gen.c b/tests/023-many-interfaces/iface-gen.c
deleted file mode 100644
index 1e3284a..0000000
--- a/tests/023-many-interfaces/iface-gen.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2006 The Android Open Source Project
- *
- * Generate a big pile of interface classes.
- */
-#include <stdio.h>
-
-/*
- * Create N interface files.
- */
-static int createFiles(int count)
-{
-    FILE* fp;
-    int i;
-
-    for (i = 0; i < count; i++) {
-        char nameBuf[32];
-
-        sprintf(nameBuf, "src/Interface%03d.java", i);
-        fp = fopen(nameBuf, "w");
-        if (fp == NULL) {
-            fprintf(stderr, "ERROR: unable to open %s\n", nameBuf);
-            return -1;
-        }
-
-        fprintf(fp, "interface Interface%03d {\n", i);
-        if ((i & 0x01) != 0)
-            fprintf(fp, "    int func%03d();\n", i);
-        fprintf(fp, "}\n");
-        fclose(fp);
-    }
-
-    fp = fopen("func-decl", "w");
-    fprintf(fp, "    implements\n");
-    for (i = 0; i < count; i++) {
-        fprintf(fp, "        Interface%03d%s\n", i, (i == count-1) ? "" : ",");
-    }
-    fprintf(fp, "\n");
-    for (i = 1; i < count; i += 2) {
-        fprintf(fp, "    public int func%03d() { return %d; }\n", i, i);
-    }
-    fclose(fp);
-
-    return 0;
-}
-
-int main()
-{
-    int result;
-
-    result = createFiles(100);
-
-    return (result != 0);
-}
diff --git a/tests/023-many-interfaces/info.txt b/tests/023-many-interfaces/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/023-many-interfaces/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/023-many-interfaces/src/Main.java b/tests/023-many-interfaces/src/Main.java
deleted file mode 100644
index 666a41c..0000000
--- a/tests/023-many-interfaces/src/Main.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class Main {
-    static public void main(String[] args) throws Exception {
-        boolean timing = (args.length >= 1) && args[0].equals("--timing");
-        ManyInterfaces.run(timing);
-    }
-}
diff --git a/tests/023-many-interfaces/src/ManyInterfaces.java b/tests/023-many-interfaces/src/ManyInterfaces.java
deleted file mode 100644
index 375938a..0000000
--- a/tests/023-many-interfaces/src/ManyInterfaces.java
+++ /dev/null
@@ -1,413 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/*
-Initial:
-test001: 2039901us  (4079ns per call)
-test049: 3346619us  (6693ns per call)
-test099: 4687402us  (9374ns per call)
-testInst001: 1327216us  (2654ns per use)
-testInst049: 1326995us  (2653ns per use)
-testInst099: 1327735us  (2655ns per use)
-
-After refactoring cache code: 2871ns per use
-After re-refactoring cache code: 2797ns per use
-
-After de-inlining invoke-interface:
-test001: 2164873us  (4329ns per call)
-test049: 3303884us  (6607ns per call)
-test099: 4656718us  (9313ns per call)
-testInst001: 1401731us  (2803ns per use)
-testInst049: 1401120us  (2802ns per use)
-testInst099: 1401298us  (2802ns per use)
-
-After adding caching for invoke-interface:
-testIface001: 1909330us  (3818ns per call)
-testIface049: 1905204us  (3810ns per call)
-testIface099: 1899012us  (3798ns per call)
-testVirt001: 1825001us  (3650ns per call)
-testVirt049: 1826161us  (3652ns per call)
-testVirt099: 1823915us  (3647ns per call)
-testInst001: 1393963us  (2787ns per use)
-testInst049: 1393163us  (2786ns per use)
-testInst099: 1390496us  (2780ns per use)
-
-After repeating each operation 16 times inside the inner loop:
-testIface001: 1429472us  (2726ns per call)      * 2382ns
-testIface049: 1427847us  (2723ns per call)      * 2396ns
-testIface099: 1423707us  (2715ns per call)      * 2387ns
-testVirt001: 1277790us  (2437ns per call)       * 2118ns
-testVirt049: 1280276us  (2441ns per call)       * 2119ns
-testVirt099: 1272640us  (2427ns per call)       * 2118ns
-testInst001: 844694us  (1611ns per use)         * 1396ns
-testInst049: 845619us  (1612ns per use)         * 1395ns
-testInst099: 845526us  (1612ns per use)         * 1394ns
-('*' is with dx optimizations enabled)
-*/
-
-/**
- * Semi-generated class with many interfaces.
- */
-public class ManyInterfaces
-    implements
-        Interface000,
-        Interface001,
-        Interface002,
-        Interface003,
-        Interface004,
-        Interface005,
-        Interface006,
-        Interface007,
-        Interface008,
-        Interface009,
-        Interface010,
-        Interface011,
-        Interface012,
-        Interface013,
-        Interface014,
-        Interface015,
-        Interface016,
-        Interface017,
-        Interface018,
-        Interface019,
-        Interface020,
-        Interface021,
-        Interface022,
-        Interface023,
-        Interface024,
-        Interface025,
-        Interface026,
-        Interface027,
-        Interface028,
-        Interface029,
-        Interface030,
-        Interface031,
-        Interface032,
-        Interface033,
-        Interface034,
-        Interface035,
-        Interface036,
-        Interface037,
-        Interface038,
-        Interface039,
-        Interface040,
-        Interface041,
-        Interface042,
-        Interface043,
-        Interface044,
-        Interface045,
-        Interface046,
-        Interface047,
-        Interface048,
-        Interface049,
-        Interface050,
-        Interface051,
-        Interface052,
-        Interface053,
-        Interface054,
-        Interface055,
-        Interface056,
-        Interface057,
-        Interface058,
-        Interface059,
-        Interface060,
-        Interface061,
-        Interface062,
-        Interface063,
-        Interface064,
-        Interface065,
-        Interface066,
-        Interface067,
-        Interface068,
-        Interface069,
-        Interface070,
-        Interface071,
-        Interface072,
-        Interface073,
-        Interface074,
-        Interface075,
-        Interface076,
-        Interface077,
-        Interface078,
-        Interface079,
-        Interface080,
-        Interface081,
-        Interface082,
-        Interface083,
-        Interface084,
-        Interface085,
-        Interface086,
-        Interface087,
-        Interface088,
-        Interface089,
-        Interface090,
-        Interface091,
-        Interface092,
-        Interface093,
-        Interface094,
-        Interface095,
-        Interface096,
-        Interface097,
-        Interface098,
-        Interface099
-{
-    /** whether to report timing information */
-    private static boolean timing = false;
-
-    /**
-     * Report on a section.
-     */
-    private static void report(String label, long start, long end, int iter,
-            int rept) {
-        if (timing) {
-            System.out.println(label + ": " + (end - start) / 1000 + "us"
-                    + "  (" + (end - start) / (iter*rept) + "ns per call)");
-        } else {
-            System.out.println(label + ": done");
-        }
-    }
-
-    /**
-     * Run tests.
-     *
-     * @param timing whether to print out timing info
-     */
-    public static void run(boolean timing) {
-        ManyInterfaces.timing = timing;
-        ManyInterfaces obj = new ManyInterfaces();
-        Interface001 one;
-        Interface049 forty;
-        Interface099 ninety;
-        long start, end;
-        int iter = 32768;
-        int rept = 16;
-        int i;
-
-        /*
-         * Clear the heap.  The various classes involved should already
-         * be loaded and ready as a result of instantiating ManyInterfaces.
-         */
-        System.gc();
-
-        start = System.nanoTime();
-        testIface001(obj, iter);
-        end = System.nanoTime();
-        report("testIface001", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testIface049(obj, iter);
-        end = System.nanoTime();
-        report("testIface049", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testIface099(obj, iter);
-        end = System.nanoTime();
-        report("testIface099", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testVirt001(obj, iter);
-        end = System.nanoTime();
-        report("testVirt001", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testVirt049(obj, iter);
-        end = System.nanoTime();
-        report("testVirt049", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testVirt099(obj, iter);
-        end = System.nanoTime();
-        report("testVirt099", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testInstance001(obj, iter);
-        end = System.nanoTime();
-        report("testInst001", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testInstance049(obj, iter);
-        end = System.nanoTime();
-        report("testInst049", start, end, iter, rept);
-
-        start = System.nanoTime();
-        testInstance099(obj, iter);
-        end = System.nanoTime();
-        report("testInst099", start, end, iter, rept);
-    }
-
-    public int func001() { return 1; }
-    public int func003() { return 3; }
-    public int func005() { return 5; }
-    public int func007() { return 7; }
-    public int func009() { return 9; }
-    public int func011() { return 11; }
-    public int func013() { return 13; }
-    public int func015() { return 15; }
-    public int func017() { return 17; }
-    public int func019() { return 19; }
-    public int func021() { return 21; }
-    public int func023() { return 23; }
-    public int func025() { return 25; }
-    public int func027() { return 27; }
-    public int func029() { return 29; }
-    public int func031() { return 31; }
-    public int func033() { return 33; }
-    public int func035() { return 35; }
-    public int func037() { return 37; }
-    public int func039() { return 39; }
-    public int func041() { return 41; }
-    public int func043() { return 43; }
-    public int func045() { return 45; }
-    public int func047() { return 47; }
-    public int func049() { return 49; }
-    public int func051() { return 51; }
-    public int func053() { return 53; }
-    public int func055() { return 55; }
-    public int func057() { return 57; }
-    public int func059() { return 59; }
-    public int func061() { return 61; }
-    public int func063() { return 63; }
-    public int func065() { return 65; }
-    public int func067() { return 67; }
-    public int func069() { return 69; }
-    public int func071() { return 71; }
-    public int func073() { return 73; }
-    public int func075() { return 75; }
-    public int func077() { return 77; }
-    public int func079() { return 79; }
-    public int func081() { return 81; }
-    public int func083() { return 83; }
-    public int func085() { return 85; }
-    public int func087() { return 87; }
-    public int func089() { return 89; }
-    public int func091() { return 91; }
-    public int func093() { return 93; }
-    public int func095() { return 95; }
-    public int func097() { return 97; }
-    public int func099() { return 99; }
-
-    static void testIface001(Interface001 iface, int count) {
-        while (count-- != 0) {
-            iface.func001(); iface.func001(); iface.func001(); iface.func001();
-            iface.func001(); iface.func001(); iface.func001(); iface.func001();
-            iface.func001(); iface.func001(); iface.func001(); iface.func001();
-            iface.func001(); iface.func001(); iface.func001(); iface.func001();
-        }
-    }
-
-    static void testIface049(Interface049 iface, int count) {
-        while (count-- != 0) {
-            iface.func049(); iface.func049(); iface.func049(); iface.func049();
-            iface.func049(); iface.func049(); iface.func049(); iface.func049();
-            iface.func049(); iface.func049(); iface.func049(); iface.func049();
-            iface.func049(); iface.func049(); iface.func049(); iface.func049();
-        }
-    }
-
-    static void testIface099(Interface099 iface, int count) {
-        while (count-- != 0) {
-            iface.func099(); iface.func099(); iface.func099(); iface.func099();
-            iface.func099(); iface.func099(); iface.func099(); iface.func099();
-            iface.func099(); iface.func099(); iface.func099(); iface.func099();
-            iface.func099(); iface.func099(); iface.func099(); iface.func099();
-        }
-    }
-
-    static void testVirt001(ManyInterfaces obj, int count) {
-        while (count-- != 0) {
-            obj.func001(); obj.func001(); obj.func001(); obj.func001();
-            obj.func001(); obj.func001(); obj.func001(); obj.func001();
-            obj.func001(); obj.func001(); obj.func001(); obj.func001();
-            obj.func001(); obj.func001(); obj.func001(); obj.func001();
-        }
-    }
-
-    static void testVirt049(ManyInterfaces obj, int count) {
-        while (count-- != 0) {
-            obj.func049(); obj.func049(); obj.func049(); obj.func049();
-            obj.func049(); obj.func049(); obj.func049(); obj.func049();
-            obj.func049(); obj.func049(); obj.func049(); obj.func049();
-            obj.func049(); obj.func049(); obj.func049(); obj.func049();
-        }
-    }
-
-    static void testVirt099(ManyInterfaces obj, int count) {
-        while (count-- != 0) {
-            obj.func099(); obj.func099(); obj.func099(); obj.func099();
-            obj.func099(); obj.func099(); obj.func099(); obj.func099();
-            obj.func099(); obj.func099(); obj.func099(); obj.func099();
-            obj.func099(); obj.func099(); obj.func099(); obj.func099();
-        }
-    }
-
-    static void testInstance001(Object obj, int count) {
-        if (!(obj instanceof Interface001))
-            System.err.println("BAD");
-        while (count-- != 0) {
-            boolean is;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-            is = obj instanceof Interface001;
-        }
-    }
-
-    static void testInstance049(Object obj, int count) {
-        if (!(obj instanceof Interface049))
-            System.err.println("BAD");
-        while (count-- != 0) {
-            boolean is;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-            is = obj instanceof Interface049;
-        }
-    }
-
-    static void testInstance099(Object obj, int count) {
-        if (!(obj instanceof Interface099))
-            System.err.println("BAD");
-        while (count-- != 0) {
-            boolean is;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-            is = obj instanceof Interface099;
-        }
-    }
-}
diff --git a/tests/024-illegal-access/expected.txt b/tests/024-illegal-access/expected.txt
deleted file mode 100644
index 5f951f4..0000000
--- a/tests/024-illegal-access/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Got expected failure 1
-Got expected failure 2
diff --git a/tests/024-illegal-access/info.txt b/tests/024-illegal-access/info.txt
deleted file mode 100644
index 16a284d..0000000
--- a/tests/024-illegal-access/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Test that an attempt to access a private field results in a verification
-error.  Also try to access a non-public class in a different package with
-"instanceof".
diff --git a/tests/024-illegal-access/src/CheckInstanceof.java b/tests/024-illegal-access/src/CheckInstanceof.java
deleted file mode 100644
index de48cd2..0000000
--- a/tests/024-illegal-access/src/CheckInstanceof.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Make sure we're performing access checks on classes used in "instanceof".
- */
-public class CheckInstanceof {
-    public static void main(Object obj) {
-        if (obj instanceof otherpkg.Package)
-            System.out.println("yes!");
-        else
-            System.out.println("no!");
-    }
-}
diff --git a/tests/024-illegal-access/src/Main.java b/tests/024-illegal-access/src/Main.java
deleted file mode 100644
index bde73e9..0000000
--- a/tests/024-illegal-access/src/Main.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    static public void main(String[] args) {
-        try {
-            PublicAccess.main();
-            System.err.println("ERROR: call 1 not expected to succeed");
-        } catch (VerifyError ve) {
-            // dalvik
-            System.out.println("Got expected failure 1");
-        } catch (IllegalAccessError iae) {
-            // reference
-            System.out.println("Got expected failure 1");
-        }
-
-        try {
-            CheckInstanceof.main(new Object());
-            System.err.println("ERROR: call 2 not expected to succeed");
-        } catch (VerifyError ve) {
-            // dalvik
-            System.out.println("Got expected failure 2");
-        } catch (IllegalAccessError iae) {
-            // reference
-            System.out.println("Got expected failure 2");
-        }
-    }
-}
diff --git a/tests/024-illegal-access/src/PublicAccess.java b/tests/024-illegal-access/src/PublicAccess.java
deleted file mode 100644
index fdc0e9e..0000000
--- a/tests/024-illegal-access/src/PublicAccess.java
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Some stuff for access checks.
- */
-public class PublicAccess {
-    public static void main() {
-        String shouldFail = SemiPrivate.mPrivvy;
-        System.out.println("Got " + shouldFail);
-    }
-}
diff --git a/tests/024-illegal-access/src/SemiPrivate.java b/tests/024-illegal-access/src/SemiPrivate.java
deleted file mode 100644
index 17b2ac0..0000000
--- a/tests/024-illegal-access/src/SemiPrivate.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Version with package scope access.
- */
-public class SemiPrivate {
-    /* not private */ static String mPrivvy = "stuff";
-}
diff --git a/tests/024-illegal-access/src/otherpkg/Package.java b/tests/024-illegal-access/src/otherpkg/Package.java
deleted file mode 100644
index bc295b5..0000000
--- a/tests/024-illegal-access/src/otherpkg/Package.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package otherpkg;
-
-/*
- * Package-scope class (public here).
- */
-public class Package {
-}
diff --git a/tests/024-illegal-access/src2/SemiPrivate.java b/tests/024-illegal-access/src2/SemiPrivate.java
deleted file mode 100644
index cf6f8e6..0000000
--- a/tests/024-illegal-access/src2/SemiPrivate.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Version with private access.
- */
-public class SemiPrivate {
-    private static String mPrivvy = "stuff";
-}
diff --git a/tests/024-illegal-access/src2/otherpkg/Package.java b/tests/024-illegal-access/src2/otherpkg/Package.java
deleted file mode 100644
index 54d8341..0000000
--- a/tests/024-illegal-access/src2/otherpkg/Package.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package otherpkg;
-
-/*
- * Package-scope class.
- */
-class Package {
-}
diff --git a/tests/025-access-controller/expected.txt b/tests/025-access-controller/expected.txt
deleted file mode 100644
index 75cfc99..0000000
--- a/tests/025-access-controller/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-AccessControllerTest: got 39
diff --git a/tests/025-access-controller/info.txt b/tests/025-access-controller/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/025-access-controller/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/025-access-controller/src/Main.java b/tests/025-access-controller/src/Main.java
deleted file mode 100644
index 84dc057..0000000
--- a/tests/025-access-controller/src/Main.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-import java.security.AccessController;
-
-/**
- * Test java.security.AccessController.
- */
-public class Main {
-    public static void main(String[] args) {
-        Privvy priv = new Privvy(38);
-        Integer result = AccessController.doPrivileged(priv);
-        System.out.println("AccessControllerTest: got " + result);
-    }
-}
diff --git a/tests/025-access-controller/src/Privvy.java b/tests/025-access-controller/src/Privvy.java
deleted file mode 100644
index 07a0678..0000000
--- a/tests/025-access-controller/src/Privvy.java
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.ProtectionDomain;
-
-class Privvy implements PrivilegedAction<Integer> {
-
-    private Integer mValue;
-
-    public Privvy(int val) {
-        mValue = new Integer(val + 1);
-    }
-
-    public Integer run() {
-        return mValue;
-    }
-}
diff --git a/tests/026-access/expected.txt b/tests/026-access/expected.txt
deleted file mode 100644
index dabfb37..0000000
--- a/tests/026-access/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-access test
-Blort.
diff --git a/tests/026-access/info.txt b/tests/026-access/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/026-access/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/026-access/src/Main.java b/tests/026-access/src/Main.java
deleted file mode 100644
index 9628259..0000000
--- a/tests/026-access/src/Main.java
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-import otherpackage.PublicAccess;
-
-public class Main {
-    public static void main(String[] args) {
-        System.out.println("access test");
-
-        PublicAccess pa = new PublicAccess();
-        pa.main();
-    }
-}
diff --git a/tests/026-access/src/otherpackage/PublicAccess.java b/tests/026-access/src/otherpackage/PublicAccess.java
deleted file mode 100644
index 996fa76..0000000
--- a/tests/026-access/src/otherpackage/PublicAccess.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package otherpackage;
-
-public class PublicAccess {
-    static public void main() {
-        System.out.println("Blort.");
-    }
-}
diff --git a/tests/027-arithmetic/expected.txt b/tests/027-arithmetic/expected.txt
deleted file mode 100644
index 2dadf10..0000000
--- a/tests/027-arithmetic/expected.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-f=1234.5677 --> i=1234
-f=-1234.5677 --> i=-1234
-d=1234.5678 --> i=1234
-d=-1234.5678 --> i=-1234
-d=5.6789567890123E9 --> l=5678956789
-d=-5.6789567890123E9 --> l=-5678956789
-i=7654 --> l=7654
-i=-7654 --> l=-7654
-l=5678956789 --> i=1383989493
-l=-5678956789 --> i=-1383989493
-i=1234 --> f=1234.0
-i=-1234 --> f=-1234.0
-values are 44332211 and bbaa9988
-First l is bbaa998844332211
-Second l is bbaa998844332211
-shiftTest2 l is 1122334455667788
-b=-1, s=-1, c=4095, i=268435455
-b=0xffffffff, s=0xffffffff, c=0xfff, i=0xfffffff
diff --git a/tests/027-arithmetic/info.txt b/tests/027-arithmetic/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/027-arithmetic/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/027-arithmetic/src/Main.java b/tests/027-arithmetic/src/Main.java
deleted file mode 100644
index 4d0f74e..0000000
--- a/tests/027-arithmetic/src/Main.java
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Test arithmetic operations.
- */
-public class Main {
-
-    static void shiftTest1()
-    {
-        final int[] mBytes = {
-            0x11, 0x22, 0x33, 0x44, 0x88, 0x99, 0xaa, 0xbb
-        };
-        long l;
-        int i1, i2;
-
-        i1 = mBytes[0] | mBytes[1] << 8 | mBytes[2] << 16 | mBytes[3] << 24;
-        i2 = mBytes[4] | mBytes[5] << 8 | mBytes[6] << 16 | mBytes[7] << 24;
-        l = i1 | ((long)i2 << 32);
-
-	System.out.println("values are " + Integer.toHexString(i1)
-	    + " and " + Integer.toHexString(i2));
-
-        System.out.println("First l is " + Long.toHexString(l));
-
-        l = (long)mBytes[0]
-            | (long)mBytes[1] << 8
-            | (long)mBytes[2] << 16
-            | (long)mBytes[3] << 24
-            | (long)mBytes[4] << 32
-            | (long)mBytes[5] << 40
-            | (long)mBytes[6] << 48
-            | (long)mBytes[7] << 56;
-
-        System.out.println("Second l is " + Long.toHexString(l));
-    }
-
-    static void shiftTest2()
-    {
-        long    a = 0x11;
-        long    b = 0x22;
-        long    c = 0x33;
-        long    d = 0x44;
-        long    e = 0x55;
-        long    f = 0x66;
-        long    g = 0x77;
-        long    h = 0x88;
-
-        long    result = ((a << 56) | (b << 48) | (c << 40) | (d << 32) |
-                         (e << 24) | (f << 16) | (g << 8) | h);
-
-        System.out.println("shiftTest2 l is " + Long.toHexString(result));
-    }
-
-    static void convTest()
-    {
-        float f;
-        double d;
-        int i;
-        long l;
-
-        /* float --> int */
-        f = 1234.5678f;
-        i = (int) f;
-        System.out.println("f=" + f + " --> i=" + i);
-
-        f = -1234.5678f;
-        i = (int) f;
-        System.out.println("f=" + f + " --> i=" + i);
-
-        /* double --> int */
-        d = 1234.5678;
-        i = (int) d;
-        System.out.println("d=" + d + " --> i=" + i);
-
-        d = -1234.5678;
-        i = (int) d;
-        System.out.println("d=" + d + " --> i=" + i);
-
-        /* double --> long */
-        d = 5678956789.0123;
-        l = (long) d;
-        System.out.println("d=" + d + " --> l=" + l);
-
-        d = -5678956789.0123;
-        l = (long) d;
-        System.out.println("d=" + d + " --> l=" + l);
-
-        /* int --> long */
-        i = 7654;
-        l = (long) i;
-        System.out.println("i=" + i + " --> l=" + l);
-
-        i = -7654;
-        l = (long) i;
-        System.out.println("i=" + i + " --> l=" + l);
-
-        /* long --> int (with truncation) */
-        l = 5678956789L;
-        i = (int) l;
-        System.out.println("l=" + l + " --> i=" + i);
-
-        l = -5678956789L;
-        i = (int) l;
-        System.out.println("l=" + l + " --> i=" + i);
-
-        /* int --> float */
-        i = 1234;
-        f = (float) i;
-        System.out.println("i=" + i + " --> f=" + f);
-
-        i = -1234;
-        f = (float) i;
-        System.out.println("i=" + i + " --> f=" + f);
-    }
-
-    static void unsignedShiftTest()
-    {
-        byte b = -4;
-        short s = -4;
-        char c = 0xfffc;
-        int i = -4;
-
-        b >>>= 4;
-        s >>>= 4;
-        c >>>= 4;
-        i >>>= 4;
-
-        System.out.println("b=" + b + ", s=" + s + ", c=" + (int)c + ", i=" +i);
-        System.out.println("b=0x" + Integer.toHexString((int)b)
-            + ", s=0x" + Integer.toHexString((int)s)
-            + ", c=0x" + Integer.toHexString((int)c)
-            + ", i=0x" + Integer.toHexString(i));
-    }
-
-    public static void main(String[] args) {
-        convTest();
-        shiftTest1();
-        shiftTest2();
-        unsignedShiftTest();
-    }
-}
diff --git a/tests/028-array-write/expected.txt b/tests/028-array-write/expected.txt
deleted file mode 100644
index 85986b5..0000000
--- a/tests/028-array-write/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Running writeTest...
-Running copyTest...
-Done!
diff --git a/tests/028-array-write/info.txt b/tests/028-array-write/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/028-array-write/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/028-array-write/src/Main.java b/tests/028-array-write/src/Main.java
deleted file mode 100644
index 6f36f84..0000000
--- a/tests/028-array-write/src/Main.java
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Array write speed test.
- */
-public class Main {
-    /** whether to report times */
-    static boolean timing = false;
-
-    static final int STORAGE_SIZE = 128*1024;
-    static int[] mStorage = new int[STORAGE_SIZE];
-
-    static public void report(long start, long end) {
-        if (! timing) {
-            return;
-        }
-
-        System.out.println("Finished in " + ((end - start) / 1000000.0)
-            + " msec");
-    }
-
-    static void writeArray(int val) {
-        for (int i = STORAGE_SIZE-1; i >= 0; i--)
-            mStorage[i] = val;
-    }
-
-    static void writeTest() {
-        long start, end;
-
-        writeArray(0);  // touch all the memory
-
-        System.out.println("Running writeTest...");
-        start = System.nanoTime();
-        for (int i = 1; i < 20; i++)
-            writeArray(i);
-        end = System.nanoTime();
-
-        report(start, end);
-    }
-
-    static void copyTest() {
-        long start, end;
-
-        // touch once
-        System.arraycopy(mStorage, 0, mStorage,
-            STORAGE_SIZE/2, STORAGE_SIZE/2);
-
-        System.out.println("Running copyTest...");
-        start = System.nanoTime();
-        for (int i = 1; i < 35; i++) {
-            System.arraycopy(mStorage, 0, mStorage,
-                STORAGE_SIZE/2, STORAGE_SIZE/2);
-        }
-        end = System.nanoTime();
-
-        report(start, end);
-    }
-
-    public static void main(String[] args) {
-        if ((args.length >= 1) && args[0].equals("--timing")) {
-            timing = true;
-        }
-
-        writeTest();
-        copyTest();
-        System.out.println("Done!");
-    }
-}
diff --git a/tests/029-assert/expected.txt b/tests/029-assert/expected.txt
deleted file mode 100644
index bf0efec..0000000
--- a/tests/029-assert/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-caught expected assert exception
diff --git a/tests/029-assert/info.txt b/tests/029-assert/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/029-assert/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/029-assert/src/Main.java b/tests/029-assert/src/Main.java
deleted file mode 100644
index 3b1f8da..0000000
--- a/tests/029-assert/src/Main.java
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Test Java language asserts.
- */
-public class Main {
-    public static void main(String[] args) {
-        assert true;
-        try {
-            assert false;
-            System.out.println("GLITCH: didn't assert (is '-ea' set?)");
-        } catch (AssertionError ae) {
-            System.out.println("caught expected assert exception");
-        }
-
-        // exercise this code path
-        ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
-    }
-}
diff --git a/tests/030-bad-finalizer/expected.txt b/tests/030-bad-finalizer/expected.txt
deleted file mode 100644
index 88b1896..0000000
--- a/tests/030-bad-finalizer/expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Constructed object.
-Nulled. Requestion gc.
-Finalizer started and spinning...
-Finalizer done spinning.
-Finalizer sleeping forever now.
-Requesting another GC.
-Requesting another GC.
diff --git a/tests/030-bad-finalizer/info.txt b/tests/030-bad-finalizer/info.txt
deleted file mode 100644
index 26f4993..0000000
--- a/tests/030-bad-finalizer/info.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-The finalizer for this class never finishes.  Dalvik is expected to detect
-this situation and abort the VM (so you will likely see a stacktrace like
-the following in the log output).
-
-java.util.concurrent.TimeoutException
-	at java.lang.VMThread.sleep(Native Method)
-	at java.lang.Thread.sleep(Thread.java:1031)
-	at java.lang.Thread.sleep(Thread.java:1013)
-	at BadFinalizer.snooze(BadFinalizer.java:9)
-	at BadFinalizer.finalize(BadFinalizer.java:29)
-	at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
-	at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
-	at java.lang.Thread.run(Thread.java:856)
-Calling exit(2)
-
diff --git a/tests/030-bad-finalizer/src/BadFinalizer.java b/tests/030-bad-finalizer/src/BadFinalizer.java
deleted file mode 100644
index 3ff422b..0000000
--- a/tests/030-bad-finalizer/src/BadFinalizer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Class with a bad finalizer.
- */
-public class BadFinalizer {
-    public static void snooze(int ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException ie) {
-            System.out.println("Snooze: " + ie.getMessage());
-        }
-    }
-
-    protected void finalize() {
-        System.out.println("Finalizer started and spinning...");
-        int j = 0;
-
-        /* spin for a bit */
-        long start, end;
-        start = System.nanoTime();
-        for (int i = 0; i < 1000000; i++)
-            j++;
-        end = System.nanoTime();
-        System.out.println("Finalizer done spinning.");
-
-        System.out.println("Finalizer sleeping forever now.");
-        while (true) {
-            snooze(10000);
-        }
-    }
-}
diff --git a/tests/030-bad-finalizer/src/Main.java b/tests/030-bad-finalizer/src/Main.java
deleted file mode 100644
index db80a87..0000000
--- a/tests/030-bad-finalizer/src/Main.java
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Test a class with a bad finalizer.
- */
-public class Main {
-    public static void main(String[] args) {
-        BadFinalizer bf = new BadFinalizer();
-
-        System.out.println("Constructed object.");
-        bf = null;
-
-        System.out.println("Nulled. Requestion gc.");
-        System.gc();
-
-        for (int i = 0; i < 8; i++) {
-            BadFinalizer.snooze(4000);
-            System.out.println("Requesting another GC.");
-            System.gc();
-        }
-
-        System.out.println("Done waiting.");
-        System.exit(0);
-    }
-}
diff --git a/tests/031-class-attributes/expected.txt b/tests/031-class-attributes/expected.txt
deleted file mode 100644
index 849487d..0000000
--- a/tests/031-class-attributes/expected.txt
+++ /dev/null
@@ -1,223 +0,0 @@
-public abstract final int
-public abstract final [I
-public java.lang.Object
-public abstract final [Ljava.lang.Object;
-public ClassAttrs$PublicInnerClass
-public abstract final [LClassAttrs$PublicInnerClass;
-protected ClassAttrs$ProtectedInnerClass
-protected abstract final [LClassAttrs$ProtectedInnerClass;
-private ClassAttrs$PrivateInnerClass
-private abstract final [LClassAttrs$PrivateInnerClass;
- ClassAttrs$PackagePrivateInnerClass
-abstract final [LClassAttrs$PackagePrivateInnerClass;
-***** class ClassAttrs:
-  name: ClassAttrs
-  canonical: ClassAttrs
-  simple: ClassAttrs
-  genericSignature: null
-  super: class java.lang.Object
-  genericSuperclass: class java.lang.Object
-  declaring: null
-  enclosing: null
-  enclosingCon: null
-  enclosingMeth: null
-  modifiers: 1
-  package: null
-  declaredClasses: [6] class ClassAttrs$PublicMemberClass, class ClassAttrs$MemberClass, class ClassAttrs$PackagePrivateInnerClass, class ClassAttrs$PrivateInnerClass, class ClassAttrs$ProtectedInnerClass, class ClassAttrs$PublicInnerClass
-  member classes: [3] class ClassAttrs$PublicMemberClass, class ClassAttrs$ProtectedInnerClass, class ClassAttrs$PublicInnerClass
-  isAnnotation: false
-  isAnonymous: false
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: false
-  isMemberClass: false
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [0]
-  typeParameters: [0]
-***** class OtherClass:
-  name: OtherClass
-  canonical: OtherClass
-  simple: OtherClass
-  genericSignature: null
-  super: class java.lang.Object
-  genericSuperclass: class java.lang.Object
-  declaring: null
-  enclosing: null
-  enclosingCon: null
-  enclosingMeth: null
-  modifiers: 0
-  package: null
-  declaredClasses: [0]
-  member classes: [0]
-  isAnnotation: false
-  isAnonymous: false
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: false
-  isMemberClass: false
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [0]
-  typeParameters: [0]
-***** class otherpackage.OtherPackageClass:
-  name: otherpackage.OtherPackageClass
-  canonical: otherpackage.OtherPackageClass
-  simple: OtherPackageClass
-  genericSignature: null
-  super: class java.lang.Object
-  genericSuperclass: class java.lang.Object
-  declaring: null
-  enclosing: null
-  enclosingCon: null
-  enclosingMeth: null
-  modifiers: 1
-  package: package otherpackage
-  declaredClasses: [0]
-  member classes: [0]
-  isAnnotation: false
-  isAnonymous: false
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: false
-  isMemberClass: false
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [0]
-  typeParameters: [0]
-***** class ClassAttrs$1InnerNamed:
-  name: ClassAttrs$1InnerNamed
-  canonical: null
-  simple: InnerNamed
-  genericSignature: null
-  super: class java.lang.Object
-  genericSuperclass: class java.lang.Object
-  declaring: null
-  enclosing: class ClassAttrs
-  enclosingCon: null
-  enclosingMeth: public static void ClassAttrs.main()
-  modifiers: 0
-  package: null
-  declaredClasses: [0]
-  member classes: [0]
-  isAnnotation: false
-  isAnonymous: false
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: true
-  isMemberClass: false
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [0]
-  typeParameters: [0]
-***** class ClassAttrs$1ConsInnerNamed:
-  name: ClassAttrs$1ConsInnerNamed
-  canonical: null
-  simple: ConsInnerNamed
-  genericSignature: null
-  super: class java.lang.Object
-  genericSuperclass: class java.lang.Object
-  declaring: null
-  enclosing: class ClassAttrs
-  enclosingCon: ClassAttrs()
-  enclosingMeth: null
-  modifiers: 0
-  package: null
-  declaredClasses: [0]
-  member classes: [0]
-  isAnnotation: false
-  isAnonymous: false
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: true
-  isMemberClass: false
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [0]
-  typeParameters: [0]
-***** class ClassAttrs$1:
-  name: ClassAttrs$1
-  canonical: null
-  simple: 
-  genericSignature: null
-  super: class OtherClass
-  genericSuperclass: class OtherClass
-  declaring: null
-  enclosing: class ClassAttrs
-  enclosingCon: null
-  enclosingMeth: public static void ClassAttrs.main()
-  modifiers: 8
-  package: null
-  declaredClasses: [0]
-  member classes: [0]
-  isAnnotation: false
-  isAnonymous: true
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: false
-  isMemberClass: false
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [0]
-  typeParameters: [0]
-***** class ClassAttrs$MemberClass:
-  name: ClassAttrs$MemberClass
-  canonical: ClassAttrs.MemberClass
-  simple: MemberClass
-  genericSignature: <XYZ:Ljava/lang/Object;>Ljava/lang/Object;
-  super: class java.lang.Object
-  genericSuperclass: class java.lang.Object
-  declaring: class ClassAttrs
-  enclosing: class ClassAttrs
-  enclosingCon: null
-  enclosingMeth: null
-  modifiers: 8
-  package: null
-  declaredClasses: [0]
-  member classes: [0]
-  isAnnotation: false
-  isAnonymous: false
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: false
-  isMemberClass: true
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [0]
-  typeParameters: [1] XYZ
-***** class FancyClass:
-  name: FancyClass
-  canonical: FancyClass
-  simple: FancyClass
-  genericSignature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/HashMap<TK;TV;>;Ljava/util/Map<TK;TV;>;
-  super: class java.util.HashMap
-  genericSuperclass: java.util.HashMap<K, V>
-  declaring: null
-  enclosing: null
-  enclosingCon: null
-  enclosingMeth: null
-  modifiers: 1
-  package: null
-  declaredClasses: [0]
-  member classes: [2] class java.util.AbstractMap$SimpleEntry, class java.util.AbstractMap$SimpleImmutableEntry
-  isAnnotation: false
-  isAnonymous: false
-  isArray: false
-  isEnum: false
-  isInterface: false
-  isLocalClass: false
-  isMemberClass: false
-  isPrimitive: false
-  isSynthetic: false
-  genericInterfaces: [1] java.util.Map<K, V>
-  typeParameters: [2] K, V
-constructor signature: (LClassAttrs$MemberClass<TXYZ;>;)V
-method signature: ()Ljava/lang/Class<TXYZ;>;
-field signature: LClassAttrs$MemberClass<TXYZ;>;
diff --git a/tests/031-class-attributes/info.txt b/tests/031-class-attributes/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/031-class-attributes/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/031-class-attributes/src/ClassAttrs.java b/tests/031-class-attributes/src/ClassAttrs.java
deleted file mode 100644
index e731c2c..0000000
--- a/tests/031-class-attributes/src/ClassAttrs.java
+++ /dev/null
@@ -1,248 +0,0 @@
-import otherpackage.OtherPackageClass;
-
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.Type;
-import java.lang.reflect.TypeVariable;
-
-public class ClassAttrs {
-    ClassAttrs() {
-        /* local, not anonymous, not member */
-        class ConsInnerNamed {
-            public void showMe() {
-                printClassAttrs(this.getClass());
-            }
-        }
-
-        ConsInnerNamed cinner = new ConsInnerNamed();
-        cinner.showMe();
-    }
-
-    public class PublicInnerClass {
-    }
-
-    protected class ProtectedInnerClass {
-    }
-
-    private class PrivateInnerClass {
-    }
-
-    class PackagePrivateInnerClass {
-    }
-
-    private static void showModifiers(Class<?> c) {
-        System.out.println(Modifier.toString(c.getModifiers()) + " " + c.getName());
-    }
-
-    // https://code.google.com/p/android/issues/detail?id=56267
-    private static void test56267() {
-        // Primitive classes.
-        showModifiers(int.class);
-        showModifiers(int[].class);
-
-        // Regular classes.
-        showModifiers(Object.class);
-        showModifiers(Object[].class);
-
-        // Inner classes.
-        showModifiers(PublicInnerClass.class);
-        showModifiers(PublicInnerClass[].class);
-        showModifiers(ProtectedInnerClass.class);
-        showModifiers(ProtectedInnerClass[].class);
-        showModifiers(PrivateInnerClass.class);
-        showModifiers(PrivateInnerClass[].class);
-        showModifiers(PackagePrivateInnerClass.class);
-        showModifiers(PackagePrivateInnerClass[].class);
-    }
-
-    public static void main() {
-        test56267();
-
-        printClassAttrs(ClassAttrs.class);
-        printClassAttrs(OtherClass.class);
-        printClassAttrs(OtherPackageClass.class);
-
-        /* local, not anonymous, not member */
-        class InnerNamed {
-            public void showMe() {
-                printClassAttrs(this.getClass());
-            }
-        }
-        InnerNamed inner = new InnerNamed();
-        inner.showMe();
-
-        ClassAttrs attrs = new ClassAttrs();
-
-        /* anonymous, not local, not member */
-        printClassAttrs((new OtherClass() { int i = 5; }).getClass());
-
-        /* member, not anonymous, not local */
-        printClassAttrs(MemberClass.class);
-
-        /* fancy */
-        printClassAttrs(FancyClass.class);
-
-        try {
-            Constructor cons;
-            cons = MemberClass.class.getConstructor(
-                    new Class[] { MemberClass.class });
-            System.out.println("constructor signature: "
-                    + getSignatureAttribute(cons));
-
-            Method meth;
-            meth = MemberClass.class.getMethod("foo", (Class[]) null);
-            System.out.println("method signature: "
-                    + getSignatureAttribute(meth));
-
-            Field field;
-            field = MemberClass.class.getField("mWha");
-            System.out.println("field signature: "
-                    + getSignatureAttribute(field));
-        } catch (NoSuchMethodException nsme) {
-            System.err.println("FAILED: " + nsme);
-        } catch (NoSuchFieldException nsfe) {
-            System.err.println("FAILED: " + nsfe);
-        } catch (RuntimeException re) {
-            System.err.println("FAILED: " + re);
-            re.printStackTrace();
-        }
-    }
-
-    /* to call the (out-of-scope) <code>getSignatureAttribute</code> methods */
-    public static String getSignatureAttribute(Object obj) {
-        Method method;
-        try {
-            if (obj instanceof AccessibleObject) {
-                method = AccessibleObject.class.getDeclaredMethod(
-                        "getSignatureAttribute");
-            } else {
-                // Should be a Class.
-                method = Class.class.getDeclaredMethod(
-                        "getSignatureAttribute");
-            }
-            method.setAccessible(true);
-        } catch (NoSuchMethodException ex) {
-            //System.err.println("getSignatureAttribute() not defined.");
-            //ex.printStackTrace();
-            return "<unknown>";
-        }
-
-        try {
-            return (String) method.invoke(obj);
-        } catch (IllegalAccessException ex) {
-            throw new RuntimeException(ex);
-        } catch (InvocationTargetException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    /* for reflection testing */
-    static class MemberClass<XYZ> {
-        public MemberClass<XYZ> mWha;
-
-        public MemberClass(MemberClass<XYZ> memb) {
-            mWha = memb;
-        }
-
-        public Class<XYZ> foo() throws NoSuchMethodException {
-            return null;
-        }
-    }
-
-    /* for reflection testing (getClasses vs getDeclaredClasses) */
-    static public class PublicMemberClass {
-        float mBlah;
-    }
-
-    /*
-     * Dump a variety of class attributes.
-     */
-    public static void printClassAttrs(Class clazz) {
-        Class clazz2;
-
-        System.out.println("***** " + clazz + ":");
-
-        System.out.println("  name: "
-            + clazz.getName());
-        System.out.println("  canonical: "
-            + clazz.getCanonicalName());
-        System.out.println("  simple: "
-            + clazz.getSimpleName());
-        System.out.println("  genericSignature: "
-            + getSignatureAttribute(clazz));
-
-        System.out.println("  super: "
-            + clazz.getSuperclass());
-        System.out.println("  genericSuperclass: "
-            + clazz.getGenericSuperclass());
-        System.out.println("  declaring: "
-            + clazz.getDeclaringClass());
-        System.out.println("  enclosing: "
-            + clazz.getEnclosingClass());
-        System.out.println("  enclosingCon: "
-            + clazz.getEnclosingConstructor());
-        System.out.println("  enclosingMeth: "
-            + clazz.getEnclosingMethod());
-        System.out.println("  modifiers: "
-            + clazz.getModifiers());
-        System.out.println("  package: "
-            + clazz.getPackage());
-
-        System.out.println("  declaredClasses: "
-            + stringifyTypeArray(clazz.getDeclaredClasses()));
-        System.out.println("  member classes: "
-            + stringifyTypeArray(clazz.getClasses()));
-
-        System.out.println("  isAnnotation: "
-            + clazz.isAnnotation());
-        System.out.println("  isAnonymous: "
-            + clazz.isAnonymousClass());
-        System.out.println("  isArray: "
-            + clazz.isArray());
-        System.out.println("  isEnum: "
-            + clazz.isEnum());
-        System.out.println("  isInterface: "
-            + clazz.isInterface());
-        System.out.println("  isLocalClass: "
-            + clazz.isLocalClass());
-        System.out.println("  isMemberClass: "
-            + clazz.isMemberClass());
-        System.out.println("  isPrimitive: "
-            + clazz.isPrimitive());
-        System.out.println("  isSynthetic: "
-            + clazz.isSynthetic());
-
-        System.out.println("  genericInterfaces: "
-            + stringifyTypeArray(clazz.getGenericInterfaces()));
-
-        TypeVariable<Class<?>>[] typeParameters = clazz.getTypeParameters();
-        System.out.println("  typeParameters: "
-            + stringifyTypeArray(typeParameters));
-    }
-
-    /*
-     * Convert an array of Type into a string.  Start with an array count.
-     */
-    private static String stringifyTypeArray(Type[] types) {
-        StringBuilder stb = new StringBuilder();
-        boolean first = true;
-
-        stb.append("[" + types.length + "]");
-
-        for (Type t: types) {
-            if (first) {
-                stb.append(" ");
-                first = false;
-            } else {
-                stb.append(", ");
-            }
-            stb.append(t.toString());
-        }
-
-        return stb.toString();
-    }
-}
diff --git a/tests/031-class-attributes/src/FancyClass.java b/tests/031-class-attributes/src/FancyClass.java
deleted file mode 100644
index a58b6a6..0000000
--- a/tests/031-class-attributes/src/FancyClass.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class FancyClass<K,V> extends HashMap<K,V> implements Map<K,V> {
-}
-
diff --git a/tests/031-class-attributes/src/Main.java b/tests/031-class-attributes/src/Main.java
deleted file mode 100644
index bc6b749..0000000
--- a/tests/031-class-attributes/src/Main.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class Main {
-    public static void main(String[] args) {
-        ClassAttrs.main();
-    }
-}
diff --git a/tests/031-class-attributes/src/OtherClass.java b/tests/031-class-attributes/src/OtherClass.java
deleted file mode 100644
index 0b4526e..0000000
--- a/tests/031-class-attributes/src/OtherClass.java
+++ /dev/null
@@ -1,2 +0,0 @@
-class OtherClass {
-}
diff --git a/tests/031-class-attributes/src/otherpackage/OtherPackageClass.java b/tests/031-class-attributes/src/otherpackage/OtherPackageClass.java
deleted file mode 100644
index 9652b77..0000000
--- a/tests/031-class-attributes/src/otherpackage/OtherPackageClass.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package otherpackage;
-
-public class OtherPackageClass {
-}
diff --git a/tests/032-concrete-sub/expected.txt b/tests/032-concrete-sub/expected.txt
deleted file mode 100644
index 56f25bb..0000000
--- a/tests/032-concrete-sub/expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-calling abs.doStuff()
-In AbstractBase.doStuff (src2)
-Got expected exception from abs.doStuff().
-class modifiers=1025
-meth modifiers=1025
-Got expected failure
diff --git a/tests/032-concrete-sub/info.txt b/tests/032-concrete-sub/info.txt
deleted file mode 100644
index 1956994..0000000
--- a/tests/032-concrete-sub/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-This tests some facets of abstract method handling, notably situations
-where a concrete class and its abstract superclass were compiled with
-different notions about which methods are abstract.
diff --git a/tests/032-concrete-sub/src/AbstractBase.java b/tests/032-concrete-sub/src/AbstractBase.java
deleted file mode 100644
index 6281189..0000000
--- a/tests/032-concrete-sub/src/AbstractBase.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Abstract base class.
- */
-public abstract class AbstractBase {
-    public void doStuff() {
-        System.out.println("In AbstractBase.doStuff");
-    }
-
-    public void abstractOrNot() {}
-}
diff --git a/tests/032-concrete-sub/src/ConcreteSub.java b/tests/032-concrete-sub/src/ConcreteSub.java
deleted file mode 100644
index 083f25d..0000000
--- a/tests/032-concrete-sub/src/ConcreteSub.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.Method;
-
-/**
- * Test insertion of an abstract method in a superclass.
- */
-public class ConcreteSub extends AbstractBase {
-    private static void callBase(AbstractBase abs) {
-        System.out.println("calling abs.doStuff()");
-        abs.doStuff();
-    }
-
-    public static void main() {
-        ConcreteSub sub = new ConcreteSub();
-
-        try {
-            callBase(sub);
-        } catch (AbstractMethodError ame) {
-            System.out.println("Got expected exception from abs.doStuff().");
-        }
-
-        /*
-         * Check reflection stuff.
-         */
-        Class absClass = AbstractBase.class;
-        Method meth;
-
-        System.out.println("class modifiers=" + absClass.getModifiers());
-
-        try {
-            meth = absClass.getMethod("redefineMe", (Class[]) null);
-        } catch (NoSuchMethodException nsme) {
-            nsme.printStackTrace();
-            return;
-        }
-        System.out.println("meth modifiers=" + meth.getModifiers());
-    }
-}
diff --git a/tests/032-concrete-sub/src/ConcreteSub2.java b/tests/032-concrete-sub/src/ConcreteSub2.java
deleted file mode 100644
index 0a9e67e..0000000
--- a/tests/032-concrete-sub/src/ConcreteSub2.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test conversion of a concrete method to an abstract method.  This class
- * will fail verification because there is no implementation of the
- * abstractOrNot() method.
- */
-public class ConcreteSub2 extends AbstractBase {
-    public void doStuff() {
-        abstractOrNot();
-    }
-}
diff --git a/tests/032-concrete-sub/src/Main.java b/tests/032-concrete-sub/src/Main.java
deleted file mode 100644
index 4a5193d..0000000
--- a/tests/032-concrete-sub/src/Main.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test insertion of an abstract method in a superclass.
- */
-public class Main {
-    public static void main(String[] args) {
-        ConcreteSub.main();
-
-        try {
-            // Dalvik verifier stops here (VerifyError)
-            ConcreteSub2 blah = new ConcreteSub2();
-            // other VMs fail here (AbstractMethodError)
-            blah.doStuff();
-            System.err.println("Succeeded unexpectedly");
-        } catch (VerifyError ve) {
-            System.out.println("Got expected failure");
-        } catch (AbstractMethodError ame) {
-            System.out.println("Got expected failure");
-        }
-    }
-}
diff --git a/tests/032-concrete-sub/src2/AbstractBase.java b/tests/032-concrete-sub/src2/AbstractBase.java
deleted file mode 100644
index 534f738..0000000
--- a/tests/032-concrete-sub/src2/AbstractBase.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Abstract base class.
- */
-public abstract class AbstractBase {
-    public void doStuff() {
-        System.out.println("In AbstractBase.doStuff (src2)");
-        redefineMe();
-    }
-
-    public abstract void redefineMe();
-
-    public abstract void abstractOrNot();
-}
diff --git a/tests/033-class-init-deadlock/expected.txt b/tests/033-class-init-deadlock/expected.txt
deleted file mode 100644
index 182d0da..0000000
--- a/tests/033-class-init-deadlock/expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Deadlock test starting.
-A initializing...
-B initializing...
-Deadlock test interrupting threads.
-Deadlock test main thread bailing.
-A initialized: false
-B initialized: false
diff --git a/tests/033-class-init-deadlock/info.txt b/tests/033-class-init-deadlock/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/033-class-init-deadlock/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/033-class-init-deadlock/src/Main.java b/tests/033-class-init-deadlock/src/Main.java
deleted file mode 100644
index 1e3f897..0000000
--- a/tests/033-class-init-deadlock/src/Main.java
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * This causes most VMs to lock up.
- *
- * Interrupting threads in class initialization should NOT work.
- */
-public class Main {
-    public static boolean aInitialized = false;
-    public static boolean bInitialized = false;
-
-    static public void main(String[] args) {
-        Thread thread1, thread2;
-
-        System.out.println("Deadlock test starting.");
-        thread1 = new Thread() { public void run() { new A(); } };
-        thread2 = new Thread() { public void run() { new B(); } };
-        thread1.start();
-        // Give thread1 a chance to start before starting thread2.
-        try { Thread.sleep(1000); } catch (InterruptedException ie) { }
-        thread2.start();
-
-        try { Thread.sleep(6000); } catch (InterruptedException ie) { }
-
-        System.out.println("Deadlock test interrupting threads.");
-        thread1.interrupt();
-        thread2.interrupt();
-        System.out.println("Deadlock test main thread bailing.");
-        System.out.println("A initialized: " + aInitialized);
-        System.out.println("B initialized: " + bInitialized);
-        System.exit(0);
-    }
-}
-
-class A {
-    static {
-        System.out.println("A initializing...");
-        try { Thread.sleep(3000); } catch (InterruptedException ie) { }
-        new B();
-        System.out.println("A initialized");
-        Main.aInitialized = true;
-    }
-}
-
-class B {
-    static {
-        System.out.println("B initializing...");
-        try { Thread.sleep(3000); } catch (InterruptedException ie) { }
-        new A();
-        System.out.println("B initialized");
-        Main.bInitialized = true;
-    }
-}
diff --git a/tests/034-call-null/expected.txt b/tests/034-call-null/expected.txt
deleted file mode 100644
index 19f86f4..0000000
--- a/tests/034-call-null/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-done
diff --git a/tests/034-call-null/info.txt b/tests/034-call-null/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/034-call-null/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/034-call-null/src/Main.java b/tests/034-call-null/src/Main.java
deleted file mode 100644
index 8fe88bd..0000000
--- a/tests/034-call-null/src/Main.java
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public class Main {
-    int mFoo = 27;
-
-    private void doStuff() {
-        System.out.println("mFoo is " + mFoo);
-    }
-
-    public static void main(String[] args) {
-        Main instance = null;
-        try {
-            instance.doStuff();
-            throw new RuntimeException("fail");
-        } catch (NullPointerException npe) { }
-
-        System.out.println("done");
-    }
-}
diff --git a/tests/035-enum/expected.txt b/tests/035-enum/expected.txt
deleted file mode 100644
index 50f2791..0000000
--- a/tests/035-enum/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-found field CRAWLING
-  synthetic? false
-  enum? true
diff --git a/tests/035-enum/info.txt b/tests/035-enum/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/035-enum/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/035-enum/src/Main.java b/tests/035-enum/src/Main.java
deleted file mode 100644
index 09fcc98..0000000
--- a/tests/035-enum/src/Main.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-import java.lang.reflect.Field;
-
-/**
- * Try some stuff with enumerations.
- */
-public class Main {
-    public enum Shubbery { GROUND, CRAWLING, HANGING }
-
-    public static void main(String[] args) {
-        Field field;
-        try {
-            field = Shubbery.class.getDeclaredField("CRAWLING");
-        } catch (NoSuchFieldException nsfe) {
-            throw new RuntimeException(nsfe);
-        }
-
-        System.out.println("found field " + field.getName());
-        System.out.println("  synthetic? " + field.isSynthetic());
-        System.out.println("  enum? " + field.isEnumConstant());
-    }
-}
diff --git a/tests/036-finalizer/expected.txt b/tests/036-finalizer/expected.txt
deleted file mode 100644
index f9b29b0..0000000
--- a/tests/036-finalizer/expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-wimp: wahoo
-gc
-finalizer executed: wahoo
-wimp: null
-finalize
-wimp: null
-sleep
-reborn: wahoo
-wimp: null
-reset reborn
-gc + finalize
-sleep
-reborn: nothing
-wimp: null
diff --git a/tests/036-finalizer/info.txt b/tests/036-finalizer/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/036-finalizer/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/036-finalizer/src/FinalizerTest.java b/tests/036-finalizer/src/FinalizerTest.java
deleted file mode 100644
index 420ec34..0000000
--- a/tests/036-finalizer/src/FinalizerTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-import java.lang.ref.WeakReference;
-
-public class FinalizerTest {
-    public static FinalizerTest mNothing = new FinalizerTest("nothing");
-    public static FinalizerTest mReborn = mNothing;
-
-    public String mMsg = "default";
-
-    public FinalizerTest(String msg) {
-        mMsg = msg;
-    }
-
-    public String toString() {
-        return mMsg;
-    }
-
-    protected void finalize() {
-        System.out.println("finalizer executed: " + mMsg);
-        mReborn = this;
-    }
-}
diff --git a/tests/036-finalizer/src/Main.java b/tests/036-finalizer/src/Main.java
deleted file mode 100644
index c29cc11..0000000
--- a/tests/036-finalizer/src/Main.java
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-import java.lang.ref.WeakReference;
-
-/**
- * Some finalizer tests.
- *
- * This only works if System.runFinalization() causes finalizers to run
- * immediately or very soon.
- */
-public class Main {
-    private static void snooze(int ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException ie) {
-            System.out.println("Snooze: " + ie.getMessage());
-        }
-    }
-
-    public static WeakReference makeRef() {
-        /*
-         * Make ft in another thread, so there is no danger of
-         * a conservative reference leaking onto the main thread's
-         * stack.
-         */
-
-        final WeakReference[] wimp = new WeakReference[1];
-        Thread t = new Thread() {
-                public void run() {
-                    FinalizerTest ft = new FinalizerTest("wahoo");
-                    wimp[0] = new WeakReference(ft);
-                    ft = null;
-                }
-            };
-
-        t.start();
-
-        try {
-            t.join();
-        } catch (InterruptedException ie) {
-            throw new RuntimeException(ie);
-        }
-
-        return wimp[0];
-    }
-
-    public static String wimpString(final WeakReference wimp) {
-        /*
-         * Do the work in another thread, so there is no danger of a
-         * conservative reference to ft leaking onto the main thread's
-         * stack.
-         */
-
-        final String[] s = new String[1];
-        Thread t = new Thread() {
-                public void run() {
-                    Object ref = wimp.get();
-                    if (ref != null) {
-                        s[0] = ref.toString();
-                    }
-                }
-            };
-
-        t.start();
-
-        try {
-            t.join();
-        } catch (InterruptedException ie) {
-            throw new RuntimeException(ie);
-        }
-
-        return s[0];
-    }
-
-    public static void main(String[] args) {
-        WeakReference wimp = makeRef();
-
-        System.out.println("wimp: " + wimpString(wimp));
-
-        /* this will try to collect and finalize ft */
-        System.out.println("gc");
-        System.gc();
-
-        System.out.println("wimp: " + wimpString(wimp));
-        System.out.println("finalize");
-        System.runFinalization();
-        System.out.println("wimp: " + wimpString(wimp));
-
-        System.out.println("sleep");
-        snooze(1000);
-
-        System.out.println("reborn: " + FinalizerTest.mReborn);
-        System.out.println("wimp: " + wimpString(wimp));
-        System.out.println("reset reborn");
-        System.gc();
-        FinalizerTest.mReborn = FinalizerTest.mNothing;
-        System.out.println("gc + finalize");
-        System.gc();
-        System.runFinalization();
-
-        System.out.println("sleep");
-        snooze(1000);
-
-        System.out.println("reborn: " + FinalizerTest.mReborn);
-        System.out.println("wimp: " + wimpString(wimp));
-    }
-}
diff --git a/tests/037-inherit/expected.txt b/tests/037-inherit/expected.txt
deleted file mode 100644
index 1fb9912..0000000
--- a/tests/037-inherit/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-magic is 64.0
- 0: 64.0
- 1: 64.0
diff --git a/tests/037-inherit/info.txt b/tests/037-inherit/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/037-inherit/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/037-inherit/src/Main.java b/tests/037-inherit/src/Main.java
deleted file mode 100644
index 55b782e..0000000
--- a/tests/037-inherit/src/Main.java
+++ /dev/null
@@ -1,37 +0,0 @@
-public class Main {
-    static void arrayCluster(IMagic[] magicArray) {
-        int i;
-
-        for (i = 0; i < magicArray.length; i++)
-            System.out.println(" " + i + ": " + magicArray[i].getSomeData());
-    }
-
-    public static void main(String args[]) {
-        MagicClass magic = new MagicClass();
-
-        System.out.print("magic is ");
-        System.out.println(magic.getSomeData());
-
-        MagicClass magicArray[] = new MagicClass[2];
-        magicArray[0] = new MagicClass();
-        magicArray[1] = new MagicClass();
-        arrayCluster(magicArray);
-    }
-}
-
-class IntSource {
-    public int getMagicInt() { return 64; }
-}
-
-interface IMagic {
-    public double getSomeData();
-
-    IntSource mIntSource = new IntSource();
-    public int MAGIC_INT = mIntSource.getMagicInt();
-}
-
-class MagicClass implements IMagic {
-    public double getSomeData() {
-        return this.MAGIC_INT;
-    }
-}
diff --git a/tests/038-inner-null/expected.txt b/tests/038-inner-null/expected.txt
deleted file mode 100644
index 29c1e42..0000000
--- a/tests/038-inner-null/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-new Special()
-done
diff --git a/tests/038-inner-null/info.txt b/tests/038-inner-null/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/038-inner-null/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/038-inner-null/src/Main.java b/tests/038-inner-null/src/Main.java
deleted file mode 100644
index 1239248..0000000
--- a/tests/038-inner-null/src/Main.java
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public class Main {
-    public static void main(String[] args) {
-        Special special = new Special();
-        special.callInner();
-        System.out.println("done");
-    }
-
-    public static class Special {
-        Blort mBlort = null;
-
-        Special() {
-            System.out.println("new Special()");
-        }
-
-        public void callInner() {
-            try {
-                mBlort.repaint();
-                throw new RuntimeException("fail");
-            } catch (NullPointerException npe) {}
-        }
-    }
-
-    private class Blort {
-        public void repaint() {
-            System.out.println("shouldn't see this");
-        }
-    }
-
-}
diff --git a/tests/039-join-main/expected.txt b/tests/039-join-main/expected.txt
deleted file mode 100644
index 37e6d77..0000000
--- a/tests/039-join-main/expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Starting thread 'Joiner'
-@ JoinMainSub running
-JoinMain starter returning
-@ JoinMainSub successfully joined main
-@ JoinMainSub bailing
diff --git a/tests/039-join-main/info.txt b/tests/039-join-main/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/039-join-main/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/039-join-main/src/Main.java b/tests/039-join-main/src/Main.java
deleted file mode 100644
index 0644f1c..0000000
--- a/tests/039-join-main/src/Main.java
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Make sure that a sub-thread can join the main thread.
- */
-public class Main {
-    public static void main(String[] args) {
-        Thread t;
-
-        t = new Thread(new JoinMainSub(Thread.currentThread()), "Joiner");
-        System.out.print("Starting thread '" + t.getName() + "'\n");
-        t.start();
-
-        try { Thread.sleep(1000); }
-        catch (InterruptedException ie) {}
-
-        System.out.print("JoinMain starter returning\n");
-    }
-}
-
-class JoinMainSub implements Runnable {
-    private Thread mJoinMe;
-
-    public JoinMainSub(Thread joinMe) {
-        mJoinMe = joinMe;
-    }
-
-    public void run() {
-        System.out.print("@ JoinMainSub running\n");
-
-        try {
-            mJoinMe.join();
-            System.out.print("@ JoinMainSub successfully joined main\n");
-        } catch (InterruptedException ie) {
-            System.out.print("@ JoinMainSub interrupted!\n");
-        }
-        finally {
-            System.out.print("@ JoinMainSub bailing\n");
-        }
-    }
-}
diff --git a/tests/040-miranda/expected.txt b/tests/040-miranda/expected.txt
deleted file mode 100644
index e22bbd9..0000000
--- a/tests/040-miranda/expected.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-MirandaClass:
-  inInterface:  true
-  inInterface2: 27
-  inAbstract:   false
-MirandaAbstract / MirandaClass:
-  inInterface:  true
-  inInterface2: 27
-  inAbstract:   false
-MirandaAbstract / MirandaClass2:
-  inInterface:  true
-  inInterface2: 28
-  inAbstract:   true
diff --git a/tests/040-miranda/info.txt b/tests/040-miranda/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/040-miranda/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/040-miranda/src/Main.java b/tests/040-miranda/src/Main.java
deleted file mode 100644
index 558806a..0000000
--- a/tests/040-miranda/src/Main.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Miranda testing.
- */
-public class Main {
-    public static void main(String[] args) {
-        MirandaClass mir = new MirandaClass();
-        System.out.println("MirandaClass:");
-        System.out.println("  inInterface:  " + mir.inInterface());
-        System.out.println("  inInterface2: " + mir.inInterface2());
-        System.out.println("  inAbstract:   " + mir.inAbstract());
-
-        /* try again through abstract class; results should be identical */
-        MirandaAbstract mira = mir;
-        System.out.println("MirandaAbstract / MirandaClass:");
-        System.out.println("  inInterface:  " + mira.inInterface());
-        System.out.println("  inInterface2: " + mira.inInterface2());
-        System.out.println("  inAbstract:   " + mira.inAbstract());
-
-        MirandaAbstract mira2 = new MirandaClass2();
-        System.out.println("MirandaAbstract / MirandaClass2:");
-        System.out.println("  inInterface:  " + mira2.inInterface());
-        System.out.println("  inInterface2: " + mira2.inInterface2());
-        System.out.println("  inAbstract:   " + mira2.inAbstract());
-    }
-}
diff --git a/tests/040-miranda/src/MirandaAbstract.java b/tests/040-miranda/src/MirandaAbstract.java
deleted file mode 100644
index b603ce6..0000000
--- a/tests/040-miranda/src/MirandaAbstract.java
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Miranda testing.
- */
-public abstract class MirandaAbstract implements MirandaInterface, MirandaInterface2
-{
-    protected MirandaAbstract() { }
-
-    //public abstract boolean inInterface();
-    //public abstract int inInterface2();
-
-    public boolean inAbstract() {
-        return true;
-    }
-}
diff --git a/tests/040-miranda/src/MirandaClass.java b/tests/040-miranda/src/MirandaClass.java
deleted file mode 100644
index 3bf6704..0000000
--- a/tests/040-miranda/src/MirandaClass.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Miranda testing.
- */
-public class MirandaClass extends MirandaAbstract {
-
-    public MirandaClass() {}
-
-    public boolean inInterface() {
-        //System.out.println("    MirandaClass inInterface");
-        return true;
-    }
-
-    public int inInterface2() {
-        //System.out.println("    MirandaClass inInterface2");
-        return 27;
-    }
-
-    public boolean inAbstract() {
-        //System.out.println("    MirandaClass inAbstract");
-        return false;
-    }
-}
diff --git a/tests/040-miranda/src/MirandaClass2.java b/tests/040-miranda/src/MirandaClass2.java
deleted file mode 100644
index e9bdf2b..0000000
--- a/tests/040-miranda/src/MirandaClass2.java
+++ /dev/null
@@ -1,9 +0,0 @@
-class MirandaClass2 extends MirandaAbstract {
-    public boolean inInterface() {
-        return true;
-    }
-
-    public int inInterface2() {
-        return 28;
-    }
-}
diff --git a/tests/040-miranda/src/MirandaInterface.java b/tests/040-miranda/src/MirandaInterface.java
deleted file mode 100644
index 2c0a59a..0000000
--- a/tests/040-miranda/src/MirandaInterface.java
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Miranda testing.
- */
-public interface MirandaInterface {
-
-    public boolean inInterface();
-
-}
diff --git a/tests/040-miranda/src/MirandaInterface2.java b/tests/040-miranda/src/MirandaInterface2.java
deleted file mode 100644
index 83b6af8..0000000
--- a/tests/040-miranda/src/MirandaInterface2.java
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Miranda testing.
- */
-public interface MirandaInterface2 {
-
-    public boolean inInterface();
-
-    public int inInterface2();
-
-}
diff --git a/tests/041-narrowing/expected.txt b/tests/041-narrowing/expected.txt
deleted file mode 100644
index 93b8590..0000000
--- a/tests/041-narrowing/expected.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-
-Double.POSITIVE_INFINITY = 7ff0000000000000
-Double.NEGATIVE_INFINITY = fff0000000000000
-Float.POSITIVE_INFINITY  = 7ff0000000000000
-Float.NEGATIVE_INFINITY  = fff0000000000000
-Double.NaN               = 7ff8000000000000
-Float.NaN                = 7ff8000000000000
-
-(byte) Double.NaN  =               00 expected:               00
-(short) Double.NaN =             0000 expected:             0000
-(int) Double.NaN   =         00000000 expected:         00000000
-(long) Double.NaN  = 0000000000000000 expected: 0000000000000000
-
-(byte) Float.NaN  =               00 expected:               00
-(short) Float.NaN =             0000 expected:             0000
-(int) Float.NaN   =         00000000 expected:         00000000
-(long) Float.NaN  = 0000000000000000 expected: 0000000000000000
-
-(byte) Double.POSITIVE_INFINITY  =               ff expected:               ff
-(short) Double.POSITIVE_INFINITY =             ffff expected:             ffff
-(int) Double.POSITIVE_INFINITY   =         7fffffff expected:         7fffffff
-(long) Double.POSITIVE_INFINITY  = 7fffffffffffffff expected: 7fffffffffffffff
-
-(byte) Double.NEGATIVE_INFINITY  =               00 expected:               00
-(short) Double.NEGATIVE_INFINITY =             0000 expected:             0000
-(int) Double.NEGATIVE_INFINITY   =         80000000 expected:         80000000
-(long) Double.NEGATIVE_INFINITY  = 8000000000000000 expected: 8000000000000000
-
-(byte) Float.POSITIVE_INFINITY   =               ff expected:               ff
-(short) Float.POSITIVE_INFINITY  =             ffff expected:             ffff
-(int) Float.POSITIVE_INFINITY    =         7fffffff expected:         7fffffff
-(long) Float.POSITIVE_INFINITY   = 7fffffffffffffff expected: 7fffffffffffffff
-
-(byte) Float.NEGATIVE_INFINITY   =               00 expected:               00
-(short) Float.NEGATIVE_INFINITY  =             0000 expected:             0000
-(int) Float.NEGATIVE_INFINITY    =         80000000 expected:         80000000
-(long) Float.NEGATIVE_INFINITY   = 8000000000000000 expected: 8000000000000000
-
diff --git a/tests/041-narrowing/info.txt b/tests/041-narrowing/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/041-narrowing/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/041-narrowing/src/Main.java b/tests/041-narrowing/src/Main.java
deleted file mode 100644
index eb9d64a..0000000
--- a/tests/041-narrowing/src/Main.java
+++ /dev/null
@@ -1,99 +0,0 @@
-public class Main {
-    public static void main(String[] args) {
-        test_printNarrowing();
-    }
-
-    public static void test_printNarrowing() {
-
-        System.out.println();
-        System.out.println("Double.POSITIVE_INFINITY = "
-                + Long.toHexString(Double.doubleToRawLongBits(Double.POSITIVE_INFINITY)));
-        System.out.println("Double.NEGATIVE_INFINITY = "
-                + Long.toHexString(Double.doubleToRawLongBits(Double.NEGATIVE_INFINITY)));
-        System.out.println("Float.POSITIVE_INFINITY  = "
-                + Long.toHexString(Double.doubleToRawLongBits(Float.POSITIVE_INFINITY)));
-        System.out.println("Float.NEGATIVE_INFINITY  = "
-                + Long.toHexString(Double.doubleToRawLongBits(Float.NEGATIVE_INFINITY)));
-        System.out.println("Double.NaN               = "
-                + Long.toHexString(Double.doubleToRawLongBits(Double.NaN)));
-        System.out.println("Float.NaN                = "
-                + Long.toHexString(Double.doubleToRawLongBits(Float.NaN)));
-        double dbl2 = Double.NaN;
-        System.out.println();
-        System.out.println("(byte) Double.NaN  =               "
-                + (Long.toHexString((byte)dbl2).equals("0") ? "00" : Long.toHexString((byte)dbl2)
-                        .substring(6)) + " expected:               00");
-        System.out.println("(short) Double.NaN =             "
-                + (Integer.toHexString((short)dbl2).equals("0") ? "0000" : Integer.toHexString(
-                        (short)dbl2).substring(4)) + " expected:             0000");
-        System.out.println("(int) Double.NaN   =         "
-                + (Integer.toHexString((int)dbl2).equals("0") ? "00000000" : Integer
-                        .toHexString((int)dbl2)) + " expected:         00000000");
-        System.out.println("(long) Double.NaN  = "
-                + (Long.toHexString((long)dbl2).equals("0") ? "0000000000000000" : Long
-                        .toHexString((long)dbl2)) + " expected: 0000000000000000");
-        float fl2 = Float.NaN;
-        System.out.println();
-        System.out.println("(byte) Float.NaN  =               "
-                + (Long.toHexString((byte)fl2).equals("0") ? "00" : Long.toHexString((byte)fl2)
-                        .substring(6)) + " expected:               00");
-        System.out.println("(short) Float.NaN =             "
-                + (Integer.toHexString((short)fl2).equals("0") ? "0000" : Integer.toHexString(
-                        (short)fl2).substring(4)) + " expected:             0000");
-        System.out.println("(int) Float.NaN   =         "
-                + (Integer.toHexString((int)fl2).equals("0") ? "00000000" : Integer
-                        .toHexString((int)fl2)) + " expected:         00000000");
-        System.out.println("(long) Float.NaN  = "
-                + (Long.toHexString((long)fl2).equals("0") ? "0000000000000000" : Long
-                        .toHexString((long)fl2)) + " expected: 0000000000000000");
-        double dbl3 = Double.POSITIVE_INFINITY;
-        System.out.println();
-        System.out.println("(byte) Double.POSITIVE_INFINITY  =               "
-                + (Integer.toHexString((byte)dbl3).equals("0") ? "00" : Integer.toHexString(
-                        (byte)dbl3).substring(6)) + " expected:               ff");
-        System.out.println("(short) Double.POSITIVE_INFINITY =             "
-                + (Integer.toHexString((short)dbl3).equals("0") ? "0000" : Integer.toHexString(
-                        (short)dbl3).substring(4)) + " expected:             ffff");
-        System.out.println("(int) Double.POSITIVE_INFINITY   =         "
-                + Integer.toHexString((int)dbl3) + " expected:         7fffffff");
-        System.out.println("(long) Double.POSITIVE_INFINITY  = " + Long.toHexString((long)dbl3)
-                + " expected: 7fffffffffffffff");
-        double dbl4 = Double.NEGATIVE_INFINITY;
-        System.out.println();
-        System.out.println("(byte) Double.NEGATIVE_INFINITY  = "
-                + (Long.toHexString((byte)dbl4).equals("0") ? "              00" : Long
-                        .toHexString((byte)dbl4)) + " expected:               00");
-        System.out.println("(short) Double.NEGATIVE_INFINITY = "
-                + (Integer.toHexString((short)dbl4).equals("0") ? "            0000" : Long
-                        .toHexString((short)dbl4)) + " expected:             0000");
-        System.out.println("(int) Double.NEGATIVE_INFINITY   =         "
-                + Integer.toHexString((int)dbl4) + " expected:         80000000");
-        System.out.println("(long) Double.NEGATIVE_INFINITY  = " + Long.toHexString((long)dbl4)
-                + " expected: 8000000000000000");
-        float fl3 = Float.POSITIVE_INFINITY;
-        System.out.println();
-        System.out.println("(byte) Float.POSITIVE_INFINITY   =               "
-                + (Integer.toHexString((byte)fl3).equals("0") ? "00" : Integer.toHexString(
-                        (byte)fl3).substring(6)) + " expected:               ff");
-        System.out.println("(short) Float.POSITIVE_INFINITY  =             "
-                + (Integer.toHexString((short)fl3).equals("0") ? "0000" : Integer.toHexString(
-                        (short)fl3).substring(4)) + " expected:             ffff");
-        System.out.println("(int) Float.POSITIVE_INFINITY    =         "
-                + Integer.toHexString((int)fl3) + " expected:         7fffffff");
-        System.out.println("(long) Float.POSITIVE_INFINITY   = " + Long.toHexString((long)fl3)
-                + " expected: 7fffffffffffffff");
-        float fl4 = Float.NEGATIVE_INFINITY;
-        System.out.println();
-        System.out.println("(byte) Float.NEGATIVE_INFINITY   = "
-                + (Long.toHexString((byte)fl4).equals("0") ? "              00" : Long
-                        .toHexString((byte)fl4)) + " expected:               00");
-        System.out.println("(short) Float.NEGATIVE_INFINITY  = "
-                + (Integer.toHexString((short)fl4).equals("0") ? "            0000" : Long
-                        .toHexString((short)fl4)) + " expected:             0000");
-        System.out.println("(int) Float.NEGATIVE_INFINITY    =         "
-                + Integer.toHexString((int)fl4) + " expected:         80000000");
-        System.out.println("(long) Float.NEGATIVE_INFINITY   = " + Long.toHexString((long)fl4)
-                + " expected: 8000000000000000");
-        System.out.println();
-    }
-}
diff --git a/tests/042-new-instance/expected.txt b/tests/042-new-instance/expected.txt
deleted file mode 100644
index bb1b80c..0000000
--- a/tests/042-new-instance/expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-LocalClass succeeded
-Got expected PackageAccess complaint
-LocalClass3 succeeded
-Got expected InstantationError
-Cons LocalClass failed as expected
-Cons LocalClass2 succeeded
-Cons got expected PackageAccess complaint
-Cons got expected InstantationException
-Cons got expected PackageAccess2 complaint
diff --git a/tests/042-new-instance/info.txt b/tests/042-new-instance/info.txt
deleted file mode 100644
index 49c9e02..0000000
--- a/tests/042-new-instance/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Test various permutations of Class.newInstance and Constructor.newInstance,
-looking for correct handling of access rights and abstract classes.
diff --git a/tests/042-new-instance/src/Main.java b/tests/042-new-instance/src/Main.java
deleted file mode 100644
index e43c5a5..0000000
--- a/tests/042-new-instance/src/Main.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.Constructor;
-
-/**
- * Test instance creation.
- */
-public class Main {
-    private static boolean FULL_ACCESS_CHECKS = false;  // b/5861201
-
-    public static void main(String[] args) {
-        testClassNewInstance();
-        testConstructorNewInstance();
-    }
-
-    /**
-     * Tests Class.newInstance().
-     */
-    static void testClassNewInstance() {
-        // should succeed
-        try {
-            Class c = Class.forName("LocalClass");
-            Object obj = c.newInstance();
-            System.out.println("LocalClass succeeded");
-        } catch (Exception ex) {
-            System.err.println("LocalClass failed");
-            ex.printStackTrace();
-        }
-
-        // should fail
-        try {
-            Class c = Class.forName("otherpackage.PackageAccess");
-            Object obj = c.newInstance();
-            System.err.println("ERROR: PackageAccess succeeded unexpectedly");
-        } catch (IllegalAccessException iae) {
-            System.out.println("Got expected PackageAccess complaint");
-        } catch (Exception ex) {
-            System.err.println("Got unexpected PackageAccess failure");
-            ex.printStackTrace();
-        }
-
-        LocalClass3.main();
-
-        try {
-            MaybeAbstract ma = new MaybeAbstract();
-            System.err.println("ERROR: MaybeAbstract succeeded unexpectedly");
-        } catch (InstantiationError ie) {
-            System.out.println("Got expected InstantationError");
-        } catch (Exception ex) {
-            System.err.println("Got unexpected MaybeAbstract failure");
-        }
-    }
-
-    /**
-     * Tests Constructor.newInstance().
-     */
-    static void testConstructorNewInstance() {
-        // should fail -- getConstructor only returns public constructors
-        try {
-            Class c = Class.forName("LocalClass");
-            Constructor cons = c.getConstructor(new Class[0] /*(Class[])null*/);
-            System.err.println("Cons LocalClass succeeded unexpectedly");
-        } catch (NoSuchMethodException nsme) {
-            System.out.println("Cons LocalClass failed as expected");
-        } catch (Exception ex) {
-            System.err.println("Cons LocalClass failed strangely");
-            ex.printStackTrace();
-        }
-
-        // should succeed
-        try {
-            Class c = Class.forName("LocalClass2");
-            Constructor cons = c.getConstructor((Class[]) null);
-            Object obj = cons.newInstance();
-            System.out.println("Cons LocalClass2 succeeded");
-        } catch (Exception ex) {
-            System.err.println("Cons LocalClass2 failed");
-            ex.printStackTrace();
-        }
-
-        // should fail
-        try {
-            Class c = Class.forName("otherpackage.PackageAccess");
-            Constructor cons = c.getConstructor(new Class[0] /*(Class[])null*/);
-            System.err.println("ERROR: Cons PackageAccess succeeded unexpectedly");
-        } catch (NoSuchMethodException nsme) {
-            // constructor isn't public
-            System.out.println("Cons got expected PackageAccess complaint");
-        } catch (Exception ex) {
-            System.err.println("Cons got unexpected PackageAccess failure");
-            ex.printStackTrace();
-        }
-
-        // should fail
-        try {
-            Class c = Class.forName("MaybeAbstract");
-            Constructor cons = c.getConstructor(new Class[0] /*(Class[])null*/);
-            Object obj = cons.newInstance();
-            System.err.println("ERROR: Cons MaybeAbstract succeeded unexpectedly");
-        } catch (InstantiationException ie) {
-            // note InstantiationException vs. InstantiationError
-            System.out.println("Cons got expected InstantationException");
-        } catch (Exception ex) {
-            System.err.println("Cons got unexpected MaybeAbstract failure");
-            ex.printStackTrace();
-        }
-
-        // should fail
-        try {
-            Class c = Class.forName("otherpackage.PackageAccess2");
-            Constructor cons = c.getConstructor((Class[]) null);
-            if (!FULL_ACCESS_CHECKS) { throw new IllegalAccessException(); }
-            Object obj = cons.newInstance();
-            System.err.println("ERROR: Cons PackageAccess2 succeeded unexpectedly");
-        } catch (IllegalAccessException iae) {
-            // constructor is public, but class has package scope
-            System.out.println("Cons got expected PackageAccess2 complaint");
-        } catch (Exception ex) {
-            System.err.println("Cons got unexpected PackageAccess2 failure");
-            ex.printStackTrace();
-        }
-
-    }
-}
-
-class LocalClass {
-    // this class has a default constructor with package visibility
-}
-
-class LocalClass2 {
-    public LocalClass2() {}
-}
-
-
-class LocalClass3 {
-    public static void main() {
-        try {
-            CC.newInstance();
-            System.out.println("LocalClass3 succeeded");
-        } catch (Exception ex) {
-            System.err.println("Got unexpected LocalClass3 failure");
-            ex.printStackTrace();
-        }
-    }
-
-    static class CC {
-        private CC() {}
-
-        static Object newInstance() {
-            try {
-                Class c = CC.class;
-                return c.newInstance();
-            } catch (Exception ex) {
-                ex.printStackTrace();
-                return null;
-            }
-        }
-    }
-}
diff --git a/tests/042-new-instance/src/MaybeAbstract.java b/tests/042-new-instance/src/MaybeAbstract.java
deleted file mode 100644
index 6d3b05b..0000000
--- a/tests/042-new-instance/src/MaybeAbstract.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public /*abstract*/ class MaybeAbstract {
-    public MaybeAbstract() {}
-    int foo() { return 0; }
-}
diff --git a/tests/042-new-instance/src/otherpackage/PackageAccess.java b/tests/042-new-instance/src/otherpackage/PackageAccess.java
deleted file mode 100644
index f4541f2..0000000
--- a/tests/042-new-instance/src/otherpackage/PackageAccess.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package otherpackage;
-
-class PackageAccess {
-    /*package*/ PackageAccess() {
-        System.out.println("created PackageAccess");
-    }
-}
-
-class PackageAccess2 {
-    public PackageAccess2() {
-        System.out.println("created PackageAccess2");
-    }
-}
diff --git a/tests/042-new-instance/src2/MaybeAbstract.java b/tests/042-new-instance/src2/MaybeAbstract.java
deleted file mode 100644
index 8b70a07..0000000
--- a/tests/042-new-instance/src2/MaybeAbstract.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public abstract class MaybeAbstract {
-    public MaybeAbstract() {}
-    int foo() { return 0; }
-}
diff --git a/tests/043-privates/expected.txt b/tests/043-privates/expected.txt
deleted file mode 100644
index 2779ec7..0000000
--- a/tests/043-privates/expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-PrivatePackage --> PrivatePackage!
-PrivatePackage --> PrivatePackage!
-PrivatePackage --> PrivatePackage!
-PrivatePackageSub --> PrivatePackageSub!
-PrivatePackage --> PrivatePackage!
-PrivatePackage --> PrivatePackage!
diff --git a/tests/043-privates/info.txt b/tests/043-privates/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/043-privates/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/043-privates/src/Main.java b/tests/043-privates/src/Main.java
deleted file mode 100644
index 73b4d79..0000000
--- a/tests/043-privates/src/Main.java
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Make sure private methods don't inherit.
- */
-public class Main {
-    public static void main(String args[]) {
-        PrivatePackage inst1 = new PrivatePackage();
-        PrivatePackage inst2 = new PrivatePackageSub();
-        PrivatePackageSub inst3 = new PrivatePackageSub();
-
-        System.out.println("PrivatePackage --> " + inst1.getStr());
-        System.out.println("PrivatePackage --> " + inst2.getStr());
-        System.out.println("PrivatePackage --> " + inst3.getStr());
-        System.out.println("PrivatePackageSub --> " + inst3.getStrSub());
-
-        inst1.stretchTest();
-    }
-}
-
-class PrivatePackage {
-    public String getStr() {
-        return privGetStr();
-    }
-
-    private String privGetStr() {
-        return "PrivatePackage!";
-    }
-
-    public void stretchTest() {
-        PrivatePackage inst = new PrivatePackageSub();
-        System.out.println("PrivatePackage --> " + inst.getStr());
-        System.out.println("PrivatePackage --> " + inst.privGetStr());
-    }
-}
-
-class PrivatePackageSub extends PrivatePackage {
-    public String getStrSub() {
-        return privGetStr();
-    }
-
-    private String privGetStr() {
-        return "PrivatePackageSub!";
-    }
-}
diff --git a/tests/044-proxy/expected.txt b/tests/044-proxy/expected.txt
deleted file mode 100644
index 4be26cf..0000000
--- a/tests/044-proxy/expected.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-Invoke public abstract void Shapes.circle(int)
- 0: 3
---- circle 3
-Success: method circle res=null
-Invoke public abstract int Quads.rectangle(int,int)
- 0: 10
- 1: 20
---- rectangle 10,20
-Success: method rectangle res=4
-Invoke public abstract java.lang.String Shapes.blob()
- (no args)
---- blob
-Success: method blob res=mix
-Invoke public abstract int Quads.rectangle(int,int)
- 0: 15
- 1: 25
---- rectangle 15,25
-Success: method rectangle res=4
-Invoke public abstract int Quads.trapezoid(int,double,int)
- 0: 6
- 1: 81.18
- 2: 4
---- trap 6,4,81.18
-Success: method trapezoid res=8
-Invoke public abstract int Colors.red(float)
- 0: 1.0
---- red 1.0
-Success: method red res=0
-Invoke public abstract double Colors.blue(int)
- 0: 777
---- blue 777
-Success: method blue res=2.54
-Invoke public abstract int Colors.mauve(java.lang.String)
- 0: sorry
---- mauve sorry
-Success: method mauve res=3
-Invoke public abstract java.lang.String Shapes.blob()
- (no args)
---- blob
-Success: method blob res=mix
-Invoke public abstract void Shapes.upChuck()
- (no args)
-Got expected ioobe
-Invoke public abstract void Shapes.upCheck() throws java.lang.InterruptedException
- (no args)
-Got expected ie
-
-Proxy methods: [public native boolean $Proxy0.equals(java.lang.Object), public native int $Proxy0.hashCode(), public native java.lang.String $Proxy0.toString(), public native int $Proxy0.rectangle(int,int), public native int $Proxy0.square(int,int), public native int $Proxy0.trapezoid(int,double,int), public native java.lang.String $Proxy0.blob(), public native void $Proxy0.circle(int), public native void $Proxy0.upCheck(), public native void $Proxy0.upChuck(), public native double $Proxy0.blue(int), public native R0aa $Proxy0.checkMe(), public native int $Proxy0.green(double), public native int $Proxy0.mauve(java.lang.String), public native int $Proxy0.red(float)]
-Decl annos: []
-Param annos (1) : [[]]
-Proxy fields: [private static java.lang.Throwable[][] $Proxy0.throws]
-Dupe threw expected exception
-Clash threw expected exception
-Clash2 threw expected exception
-Clash3 threw expected exception
-Clash4 threw expected exception
-Invoke public abstract void InterfaceW1.throwFunky()
- (no args)
-Got expected UTE
-Invoke public abstract void InterfaceW1.throwFunky2() throws BaseException,java.lang.NoSuchMethodException,java.io.IOException
- (no args)
-Got expected IOE
-Invoke public abstract void InterfaceW1.throwFunky2() throws BaseException,java.lang.NoSuchMethodException,java.io.IOException
- (no args)
-Got expected IOE
-Invoke public abstract void InterfaceW1.throwException() throws BaseException
- (no args)
-Got expected UTE
-Invoke public abstract void InterfaceW1.throwBase() throws BaseException
- (no args)
-Got expected UTE
-Invoke public abstract void InterfaceW1.throwSub() throws BaseException
- (no args)
-Got expected exception
-Invoke public abstract void InterfaceW1.throwSubSub() throws BaseException
- (no args)
-Got expected exception
-Invoke public abstract void InterfaceW1.bothThrowBase() throws BaseException,SubException,SubSubException
- (no args)
-Got expected exception
diff --git a/tests/044-proxy/info.txt b/tests/044-proxy/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/044-proxy/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/044-proxy/src/BasicTest.java b/tests/044-proxy/src/BasicTest.java
deleted file mode 100644
index 2a453c4..0000000
--- a/tests/044-proxy/src/BasicTest.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.Arrays;
-
-/**
- * Do some basic tests.
- */
-public class BasicTest {
-
-    public static void main(String[] args) {
-        Mix proxyMe = new Mix();
-        Object proxy = createProxy(proxyMe);
-
-        if (!Proxy.isProxyClass(proxy.getClass()))
-            System.err.println("not a proxy class?");
-        if (Proxy.getInvocationHandler(proxy) == null)
-            System.err.println("ERROR: Proxy.getInvocationHandler is null");
-
-        /* take it for a spin; verifies instanceof constraint */
-        Shapes shapes = (Shapes) proxy;
-        shapes.circle(3);
-        shapes.rectangle(10, 20);
-        shapes.blob();
-        Quads quads = (Quads) proxy;
-        quads.rectangle(15, 25);
-        quads.trapezoid(6, 81.18, 4);
-        Colors colors = (Colors) proxy;
-        colors.red(1.0f);
-        colors.blue(777);
-        colors.mauve("sorry");
-        colors.blob();
-
-        try {
-            shapes.upChuck();
-            System.out.println("Didn't get expected exception");
-        } catch (IndexOutOfBoundsException ioobe) {
-            System.out.println("Got expected ioobe");
-        }
-        try {
-            shapes.upCheck();
-            System.out.println("Didn't get expected exception");
-        } catch (InterruptedException ie) {
-            System.out.println("Got expected ie");
-        }
-
-        /*
-         * Exercise annotations on Proxy classes.  This is mostly to ensure
-         * that annotation calls work correctly on generated classes.
-         */
-        System.out.println("");
-        Method[] methods = proxy.getClass().getDeclaredMethods();
-        System.out.println("Proxy methods: " + Arrays.deepToString(methods));
-        Method meth = methods[methods.length -1];
-        System.out.println("Decl annos: " + Arrays.deepToString(meth.getDeclaredAnnotations()));
-        Annotation[][] paramAnnos = meth.getParameterAnnotations();
-        System.out.println("Param annos (" + paramAnnos.length + ") : "
-            + Arrays.deepToString(paramAnnos));
-        Field[] fields = proxy.getClass().getDeclaredFields();
-        System.out.println("Proxy fields: " + Arrays.deepToString(fields));
-    }
-
-    static Object createProxy(Object proxyMe) {
-        /* declare an object that will handle the method calls */
-        InvocationHandler handler = new MyInvocationHandler(proxyMe);
-
-        /* create the proxy class */
-        Class proxyClass = Proxy.getProxyClass(Shapes.class.getClassLoader(),
-                            new Class[] { Quads.class, Colors.class });
-
-        /* create a proxy object, passing the handler object in */
-        Object proxy = null;
-        try {
-            Constructor<Class> cons;
-            cons = proxyClass.getConstructor(
-                            new Class[] { InvocationHandler.class });
-            //System.out.println("Constructor is " + cons);
-            proxy = cons.newInstance(new Object[] { handler });
-        } catch (NoSuchMethodException nsme) {
-            System.err.println("failed: " + nsme);
-        } catch (InstantiationException ie) {
-            System.err.println("failed: " + ie);
-        } catch (IllegalAccessException ie) {
-            System.err.println("failed: " + ie);
-        } catch (InvocationTargetException ite) {
-            System.err.println("failed: " + ite);
-        }
-
-        return proxy;
-    }
-}
-
-/*
- * Some interfaces.
- */
-interface Shapes {
-    public void circle(int r);
-    public int rectangle(int x, int y);
-
-    public String blob();
-
-    public R0base checkMe();
-    public void upChuck();
-    public void upCheck() throws InterruptedException;
-}
-
-interface Quads extends Shapes {
-    public int rectangle(int x, int y);
-    public int square(int x, int y);
-    public int trapezoid(int x, double off, int y);
-
-    public R0a checkMe();
-}
-
-/*
- * More interfaces.
- */
-interface Colors {
-    public int red(float howRed);
-    public int green(double howGreen);
-    public double blue(int howBlue);
-    public int mauve(String apology);
-
-    public String blob();
-
-    public R0aa checkMe();
-}
-
-/*
- * Some return types.
- */
-class R0base { int mBlah;  }
-class R0a extends R0base { int mBlah_a;  }
-class R0aa extends R0a { int mBlah_aa;  }
-
-
-/*
- * A class that implements them all.
- */
-class Mix implements Quads, Colors {
-    public void circle(int r) {
-        System.out.println("--- circle " + r);
-    }
-    public int rectangle(int x, int y) {
-        System.out.println("--- rectangle " + x + "," + y);
-        return 4;
-    }
-    public int square(int x, int y) {
-        System.out.println("--- square " + x + "," + y);
-        return 4;
-    }
-    public int trapezoid(int x, double off, int y) {
-        System.out.println("--- trap " + x + "," + y + "," + off);
-        return 8;
-    }
-    public String blob() {
-        System.out.println("--- blob");
-        return "mix";
-    }
-
-    public int red(float howRed) {
-        System.out.println("--- red " + howRed);
-        return 0;
-    }
-    public int green(double howGreen) {
-        System.out.println("--- green " + howGreen);
-        return 1;
-    }
-    public double blue(int howBlue) {
-        System.out.println("--- blue " + howBlue);
-        return 2.54;
-    }
-    public int mauve(String apology) {
-        System.out.println("--- mauve " + apology);
-        return 3;
-    }
-
-    public R0aa checkMe() {
-        return null;
-    }
-    public void upChuck() {
-        throw new IndexOutOfBoundsException("upchuck");
-    }
-    public void upCheck() throws InterruptedException {
-        throw new InterruptedException("upcheck");
-    }
-}
-
-/*
- * Invocation handler, defining the implementation of the proxy functions.
- */
-class MyInvocationHandler implements InvocationHandler {
-    Object mObj;
-
-    public MyInvocationHandler(Object obj) {
-        mObj = obj;
-    }
-
-    /*
-     * This is called when anything gets invoked in the proxy object.
-     */
-    public Object invoke(Object proxy, Method method, Object[] args)
-        throws Throwable {
-
-        Object result = null;
-
-        // Trap Object calls.  This is important here to avoid a recursive
-        // invocation of toString() in the print statements below.
-        if (method.getDeclaringClass() == java.lang.Object.class) {
-            //System.out.println("!!! object " + method.getName());
-            if (method.getName().equals("toString"))
-                return super.toString();
-            else if (method.getName().equals("hashCode"))
-                return Integer.valueOf(super.hashCode());
-            else if (method.getName().equals("equals"))
-                return Boolean.valueOf(super.equals(args[0]));
-            else
-                throw new RuntimeException("huh?");
-        }
-
-        System.out.println("Invoke " + method);
-        if (args == null || args.length == 0) {
-            System.out.println(" (no args)");
-        } else {
-            for (int i = 0; i < args.length; i++)
-                System.out.println(" " + i + ": " + args[i]);
-        }
-
-        try {
-            if (true)
-                result = method.invoke(mObj, args);
-            else
-                result = -1;
-            System.out.println("Success: method " + method.getName()
-                + " res=" + result);
-        } catch (InvocationTargetException ite) {
-            throw ite.getTargetException();
-        } catch (IllegalAccessException iae) {
-            throw new RuntimeException(iae);
-        }
-        return result;
-    }
-}
diff --git a/tests/044-proxy/src/Clash.java b/tests/044-proxy/src/Clash.java
deleted file mode 100644
index adeffdc..0000000
--- a/tests/044-proxy/src/Clash.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-/*
- * Try to instantiate a proxy class with interfaces that have conflicting
- * duplicate methods (primitive vs. object).
- */
-public class Clash {
-    public static void main(String[] args) {
-        InvocationHandler handler = new ClashInvocationHandler();
-
-        /* try passing in the same interface twice */
-        try {
-            Proxy.newProxyInstance(Clash.class.getClassLoader(),
-                new Class[] { Interface1A.class, Interface1A.class },
-                handler);
-            System.err.println("Dupe did not throw expected exception");
-        } catch (IllegalArgumentException iae) {
-            System.out.println("Dupe threw expected exception");
-        }
-
-        try {
-            Proxy.newProxyInstance(Clash.class.getClassLoader(),
-                new Class[] { Interface1A.class, Interface1B.class },
-                handler);
-            System.err.println("Clash did not throw expected exception");
-        } catch (IllegalArgumentException iae) {
-            System.out.println("Clash threw expected exception");
-        }
-    }
-}
-
-interface Interface1A {
-    public int thisIsOkay();
-
-    public float thisIsTrouble();
-}
-
-interface Interface1B {
-    public int thisIsOkay();
-
-    public Object thisIsTrouble();
-}
-
-class ClashInvocationHandler implements InvocationHandler {
-    /* don't really need to do anything -- should never get this far */
-    public Object invoke(Object proxy, Method method, Object[] args)
-        throws Throwable {
-
-        return null;
-    }
-}
diff --git a/tests/044-proxy/src/Clash2.java b/tests/044-proxy/src/Clash2.java
deleted file mode 100644
index 2a384f4..0000000
--- a/tests/044-proxy/src/Clash2.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-/*
- * Try to instantiate a proxy class with interfaces that have conflicting
- * duplicate methods (primitive types).
- */
-public class Clash2 {
-    public static void main(String[] args) {
-        InvocationHandler handler = new Clash2InvocationHandler();
-
-        try {
-            Proxy.newProxyInstance(Clash.class.getClassLoader(),
-                new Class[] { Interface2A.class, Interface2B.class },
-                handler);
-            System.err.println("Clash2 did not throw expected exception");
-        } catch (IllegalArgumentException iae) {
-            System.out.println("Clash2 threw expected exception");
-        }
-    }
-}
-
-interface Interface2A {
-    public int thisIsOkay();
-
-    public int thisIsTrouble();
-}
-
-interface Interface2B {
-    public int thisIsOkay();
-
-    public short thisIsTrouble();
-}
-
-class Clash2InvocationHandler implements InvocationHandler {
-    /* don't really need to do anything -- should never get this far */
-    public Object invoke(Object proxy, Method method, Object[] args)
-        throws Throwable {
-
-        return null;
-    }
-}
diff --git a/tests/044-proxy/src/Clash3.java b/tests/044-proxy/src/Clash3.java
deleted file mode 100644
index 6d6f2f2..0000000
--- a/tests/044-proxy/src/Clash3.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-/*
- * Try to instantiate a proxy class with interfaces that have conflicting
- * duplicate methods (type tree with interface).
- */
-public class Clash3 {
-    public static void main(String[] args) {
-        InvocationHandler handler = new Clash3InvocationHandler();
-
-        try {
-            Proxy.newProxyInstance(Clash.class.getClassLoader(),
-                new Class[] {
-                    Interface3a.class,
-                    Interface3base.class,
-                    Interface3aa.class,
-                    Interface3b.class },
-                handler);
-            System.err.println("Clash3 did not throw expected exception");
-        } catch (IllegalArgumentException iae) {
-            System.out.println("Clash3 threw expected exception");
-        }
-    }
-}
-
-class R3base implements I3 { int mBlah; public void x() {} }
-class R3a extends R3base { int mBlah_a;  }
-class R3aa extends R3a { int mBlah_aa;  }
-class R3b implements I3 { int mBlah_b; public void x() {} }
-
-interface I3 {
-    void x();
-}
-
-interface Interface3base {
-    public R3base thisIsTrouble();
-}
-
-interface Interface3a {
-    public R3a thisIsTrouble();
-}
-interface Interface3aa {
-    public R3aa thisIsTrouble();
-}
-interface Interface3b {
-    public R3b thisIsTrouble();
-}
-
-class Clash3InvocationHandler implements InvocationHandler {
-    /* don't really need to do anything -- should never get this far */
-    public Object invoke(Object proxy, Method method, Object[] args)
-        throws Throwable {
-
-        return null;
-    }
-}
diff --git a/tests/044-proxy/src/Clash4.java b/tests/044-proxy/src/Clash4.java
deleted file mode 100644
index 1bfb37f..0000000
--- a/tests/044-proxy/src/Clash4.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-/*
- * Try to instantiate a proxy class with interfaces that have conflicting
- * duplicate methods (tree of types).
- */
-public class Clash4 {
-    public static void main(String[] args) {
-        InvocationHandler handler = new Clash4InvocationHandler();
-
-        try {
-            Proxy.newProxyInstance(Clash.class.getClassLoader(),
-                new Class[] {
-                    Interface4a.class,
-                    Interface4aa.class,
-                    Interface4base.class,
-                    Interface4b.class,
-                    Interface4bb.class },
-                handler);
-            System.err.println("Clash4 did not throw expected exception");
-        } catch (IllegalArgumentException iae) {
-            System.out.println("Clash4 threw expected exception");
-            //System.out.println(iae);
-        }
-    }
-}
-
-class R4base { int mBlah;  }
-class R4a extends R4base { int mBlah_a;  }
-class R4aa extends R4a { int mBlah_aa;  }
-class R4b extends R4base { int mBlah_b;  }
-class R4bb extends R4b { int mBlah_bb;  }
-
-interface Interface4base {
-    public R4base thisIsTrouble();
-}
-
-interface Interface4a {
-    public R4a thisIsTrouble();
-}
-interface Interface4aa {
-    public R4aa thisIsTrouble();
-}
-interface Interface4b {
-    public R4b thisIsTrouble();
-}
-interface Interface4bb {
-    public R4bb thisIsTrouble();
-}
-
-class Clash4InvocationHandler implements InvocationHandler {
-    /* don't really need to do anything -- should never get this far */
-    public Object invoke(Object proxy, Method method, Object[] args)
-        throws Throwable {
-
-        return null;
-    }
-}
diff --git a/tests/044-proxy/src/Main.java b/tests/044-proxy/src/Main.java
deleted file mode 100644
index 01926af..0000000
--- a/tests/044-proxy/src/Main.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test java.lang.reflect.Proxy
- */
-public class Main {
-    public static void main(String[] args) {
-        BasicTest.main(null);
-        Clash.main(null);
-        Clash2.main(null);
-        Clash3.main(null);
-        Clash4.main(null);
-        WrappedThrow.main(null);
-    }
-}
diff --git a/tests/044-proxy/src/WrappedThrow.java b/tests/044-proxy/src/WrappedThrow.java
deleted file mode 100644
index 27ae84e..0000000
--- a/tests/044-proxy/src/WrappedThrow.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.IOException;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.lang.reflect.UndeclaredThrowableException;
-
-/*
- * Create a Proxy class that blah.
- */
-public class WrappedThrow {
-    public static void main(String[] args) {
-        WTMix mix = new WTMix();
-        InvocationHandler handler = new WTInvocationHandler(mix);
-        Object proxy;
-
-        try {
-            proxy = Proxy.newProxyInstance(WrappedThrow.class.getClassLoader(),
-                new Class[] { InterfaceW1.class, InterfaceW2.class },
-                handler);
-        } catch (IllegalArgumentException iae) {
-            System.out.println("WT init failed");
-            return;
-        }
-
-        InterfaceW1 if1 = (InterfaceW1) proxy;
-        InterfaceW2 if2 = (InterfaceW2) proxy;
-        try {
-            if1.throwFunky();
-            System.err.println("No exception thrown");
-        } catch (UndeclaredThrowableException ute) {
-            System.out.println("Got expected UTE");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-
-        try {
-            if1.throwFunky2();
-            System.err.println("No exception thrown");
-        } catch (IOException ioe) {
-            System.out.println("Got expected IOE");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-
-        try {
-            if2.throwFunky2();
-            System.err.println("No exception thrown");
-        } catch (IOException ioe) {
-            System.out.println("Got expected IOE");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-
-        /*
-         * Throw exceptions, walking down the hierarchy.
-         */
-        try {
-            if1.throwException();
-            System.err.println("No exception thrown");
-        } catch (UndeclaredThrowableException ute) {
-            System.out.println("Got expected UTE");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-
-        try {
-            if1.throwBase();
-            System.err.println("No exception thrown");
-        } catch (UndeclaredThrowableException ute) {
-            System.out.println("Got expected UTE");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-
-        try {
-            if2.throwSub();
-            System.err.println("No exception thrown");
-        } catch (SubException se) {
-            System.out.println("Got expected exception");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-
-        try {
-            if2.throwSubSub();
-            System.err.println("No exception thrown");
-        } catch (SubException se) {
-            System.out.println("Got expected exception");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-
-        /*
-         * Make sure that, if the class explicitly allows the base
-         * class of an exception, that we still allow it.
-         */
-        try {
-            if1.bothThrowBase();
-            System.err.println("No exception thrown");
-        } catch (BaseException se) {
-            System.out.println("Got expected exception");
-        } catch (Throwable t) {
-            System.err.println("Got unexpected exception: " + t);
-        }
-    }
-}
-
-class BaseException extends Exception {}
-class SubException extends BaseException {}
-class SubSubException extends SubException {}
-
-interface InterfaceW1 {
-    public void throwFunky();
-
-    public void throwFunky2() throws BaseException,
-           NoSuchMethodException, IOException;
-
-    public void throwException() throws BaseException;
-    public void throwBase() throws BaseException;
-    public void throwSub() throws BaseException;
-    public void throwSubSub() throws BaseException;
-
-    public void bothThrowBase() throws BaseException, SubException, SubSubException;
-}
-
-interface InterfaceW2 {
-    public void throwFunky2() throws InterruptedException,
-           NoSuchMethodException, IOException;
-
-    public void throwException() throws SubException;
-    public void throwBase() throws SubException;
-    public void throwSub() throws SubException;
-    public void throwSubSub() throws SubException;
-
-    public void bothThrowBase() throws SubException, BaseException, SubSubException;
-}
-
-/**
- * Implement all of the proxied interfaces.
- */
-class WTMix implements InterfaceW1, InterfaceW2 {
-    public int dastardlyDeed() throws SubException {
-        System.out.println("Throwing SubException");
-        throw new SubException();
-    }
-
-    /* these don't actually get called; they just cause exceptions */
-    public void throwFunky() {}
-    public void throwFunky2() {}
-    public void throwException() throws SubException {}
-    public void throwBase() throws SubException {}
-    public void throwSub() throws SubException {}
-    public void throwSubSub() throws SubException {}
-
-    public void bothThrowBase() throws BaseException, SubException {}
-}
-
-/**
- * Invocation handler for our proxy class.
- */
-class WTInvocationHandler implements InvocationHandler {
-    private Object mObj;
-
-    public WTInvocationHandler(Object obj) {
-        mObj = obj;
-    }
-
-    /*
-     * This is called when anything gets invoked in the proxy object.
-     */
-    public Object invoke(Object proxy, Method method, Object[] args)
-        throws Throwable {
-
-        Object result = null;
-
-        // Trap Object calls.  This is important here to avoid a recursive
-        // invocation of toString() in the print statements below.
-        if (method.getDeclaringClass() == java.lang.Object.class) {
-            //System.out.println("!!! object " + method.getName());
-            if (method.getName().equals("toString"))
-                return super.toString();
-            else if (method.getName().equals("hashCode"))
-                return Integer.valueOf(super.hashCode());
-            else if (method.getName().equals("equals"))
-                return Boolean.valueOf(super.equals(args[0]));
-            else
-                throw new RuntimeException("huh?");
-        }
-
-        System.out.println("Invoke " + method);
-        if (args == null || args.length == 0) {
-            System.out.println(" (no args)");
-        } else {
-            for (int i = 0; i < args.length; i++)
-                System.out.println(" " + i + ": " + args[i]);
-        }
-
-        try {
-            if (method.getName().equals("throwFunky"))
-                throw new InterruptedException("fake");
-            if (method.getName().equals("throwFunky2"))
-                throw new IOException("fake2");
-            if (method.getName().equals("throwException"))
-                throw new Exception();
-            if (method.getName().equals("throwBase"))
-                throw new BaseException();
-            if (method.getName().equals("throwSub"))
-                throw new SubException();
-            if (method.getName().equals("throwSubSub"))
-                throw new SubSubException();
-            if (method.getName().equals("bothThrowBase"))
-                throw new BaseException();
-
-            if (true)
-                result = method.invoke(mObj, args);
-            else
-                result = -1;
-            System.out.println("Success: method " + method.getName()
-                + " res=" + result);
-        } catch (InvocationTargetException ite) {
-            throw ite.getTargetException();
-        } catch (IllegalAccessException iae) {
-            throw new RuntimeException(iae);
-        }
-        return result;
-    }
-}
diff --git a/tests/045-reflect-array/expected.txt b/tests/045-reflect-array/expected.txt
deleted file mode 100644
index 5990b34..0000000
--- a/tests/045-reflect-array/expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-ReflectArrayTest.testSingleInt passed
-ReflectArrayTest.testSingleChar passed
-ReflectArrayTest.testSingleShort passed
-ReflectArrayTest.testSingleLong passed
-ReflectArrayTest.testSingle passed
-ReflectArrayTest.testMultiInt passed
-zero one two ++
-ReflectArrayTest.testMulti passed
-ReflectArrayTest passed
diff --git a/tests/045-reflect-array/info.txt b/tests/045-reflect-array/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/045-reflect-array/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/045-reflect-array/src/Main.java b/tests/045-reflect-array/src/Main.java
deleted file mode 100644
index 36f8ac3..0000000
--- a/tests/045-reflect-array/src/Main.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright 2006 The Android Open Source Project
- */
-
-import java.lang.reflect.Array;
-
-/**
- * Test java.lang.reflect.Array.
- */
-public class Main {
-    public static void main(String[] args) {
-        testSingleInt();
-        testSingleChar();
-        testSingleShort();
-        testSingleLong();
-        testSingle();
-        testMultiInt();
-        testMulti();
-
-        System.out.println("ReflectArrayTest passed");
-    }
-
-    static void testSingleInt() {
-        Object intArray;
-
-        intArray = Array.newInstance(Integer.TYPE, 2);
-
-        int[] array = (int[]) intArray;
-        array[0] = 5;
-        Array.setInt(intArray, 1, 6);
-
-        if (Array.getInt(intArray, 0) != 5)
-            throw new RuntimeException();
-        if (array[1] != 6)
-            throw new RuntimeException();
-        try {
-            array[2] = 27;
-            throw new RuntimeException("store should have failed");
-        } catch (ArrayIndexOutOfBoundsException abe) { }
-        try {
-            Array.setInt(intArray, 2, 27);
-            throw new RuntimeException("store should have failed");
-        } catch (ArrayIndexOutOfBoundsException abe) { }
-        if (array.length != Array.getLength(intArray) ||
-            array.length != 2)
-        {
-            throw new RuntimeException("bad len");
-        }
-
-        Integer x123 = Integer.valueOf(123);
-        Integer x456 = Integer.valueOf(456);
-
-        Array.set(intArray, 0, x123);
-        Array.set(intArray, 1, x456);
-        if (!Array.get(intArray, 0).equals(x123) || !Array.get(intArray, 1).equals(x456)) {
-            throw new RuntimeException("bad 123 or 456");
-        }
-
-        int[][] wrongArray;
-        try {
-            wrongArray = (int[][]) intArray;
-            throw new RuntimeException("cast should have failed");
-        } catch (ClassCastException cce) { }
-
-        intArray = Array.newInstance(Integer.TYPE, 0);
-        if (Array.getLength(intArray) != 0)
-            throw new RuntimeException();
-        System.out.println("ReflectArrayTest.testSingleInt passed");
-    }
-
-    static void testSingleChar() {
-        Object charArray = Array.newInstance(Character.TYPE, 7);
-
-        char[] array = (char[]) charArray;
-        array[0] = '0';
-        array[1] = 'W';
-        array[2] = '2';
-        array[3] = '3';
-        array[4] = 'X';
-        array[5] = '5';
-        array[6] = '6';
-        Array.setChar(charArray, 1, '1');
-        Array.setChar(charArray, 4, '4');
-        try {
-            Array.setShort(charArray, 3, (short) 'Y');
-            throw new RuntimeException("shouldn't allow short in char array");
-        } catch (IllegalArgumentException iae) {}
-        try {
-            Array.setInt(charArray, 5, 'Z');
-            throw new RuntimeException("shouldn't allow int in char array");
-        } catch (IllegalArgumentException iae) {}
-
-        try {
-            for (int i = 0; i < array.length; i++) {
-                if (Array.getInt(charArray, i) - '0' != i) {
-                    throw new RuntimeException("mismatch: " + i + " is " + array[i]);
-                }
-            }
-
-            if (Array.getInt(charArray, 4) != '4') {
-                throw new RuntimeException("load should have worked");
-            }
-        } catch (IllegalArgumentException iae) {
-            System.err.println("Couldn't Array.getInt(charArray)");
-        }
-        try {
-            Array.getByte(charArray, 2);
-            throw new RuntimeException("shouldn't allow read of char as byte");
-        } catch (IllegalArgumentException iae) {}
-
-        Array.setChar(charArray, 3, (char) 0xffff);
-        try {
-            if (Array.getInt(charArray, 3) != 0xffff) {
-                throw new RuntimeException("char got sign-extended? "
-                    + Array.getInt(charArray, 3));
-            }
-        } catch (IllegalArgumentException iae) {
-            System.err.println("Couldn't Array.getInt(charArray)");
-        }
-
-        System.out.println("ReflectArrayTest.testSingleChar passed");
-    }
-
-    static void testSingleShort() {
-        Object shortArray = Array.newInstance(Short.TYPE, 1);
-        Array.setShort(shortArray, 0, (short) -1);
-        if (Array.getInt(shortArray, 0) != -1) {
-            throw new RuntimeException("short didn't get sign-extended");
-        }
-
-        Short box = (Short) Array.get(shortArray, 0);
-
-        System.out.println("ReflectArrayTest.testSingleShort passed");
-    }
-
-    static void testSingleLong() {
-        Object longArray = Array.newInstance(Long.TYPE, 2);
-        Array.setInt(longArray, 0, 123);
-        Array.setLong(longArray, 1, 0x1122334455667788L);
-        try {
-            Array.getInt(longArray, 0);
-            throw new RuntimeException("shouldn't allow read of long as int");
-        } catch (IllegalArgumentException iae) {}
-
-        long[] array = (long[]) longArray;
-        if (array[0] != 123 || array[1] != 0x1122334455667788L) {
-            throw new RuntimeException();
-        }
-
-        float f = Array.getFloat(longArray, 0);
-        if (f < 122.9 || f > 123.1) {
-            throw new RuntimeException("long-as-float failed - " + f);
-        }
-        if (Array.getLong(longArray, 1) != 0x1122334455667788L) {
-            throw new RuntimeException("long1 failed");
-        }
-
-        System.out.println("ReflectArrayTest.testSingleLong passed");
-    }
-
-    static void testSingle() {
-        Object strArray;
-
-        strArray = Array.newInstance(String.class, 2);
-
-        String[] array = (String[]) strArray;
-        array[0] = "entry zero";
-        Array.set(strArray, 1, "entry one");
-        try {
-            Array.set(strArray, 2, "entry two");
-            throw new RuntimeException("store should have failed");
-        } catch (ArrayIndexOutOfBoundsException abe) { }
-
-        //System.out.println("array: " + array);
-
-        if (!"entry zero".equals(Array.get(strArray, 0)))
-            throw new RuntimeException();
-        if (!"entry one".equals(array[1]))
-            throw new RuntimeException();
-
-        if (array.length != Array.getLength(strArray) ||
-            array.length != 2)
-        {
-            throw new RuntimeException("bad len");
-        }
-
-        try {
-            Array.set(strArray, 0, new Integer(5));
-            throw new RuntimeException("store of Integer should have failed");
-        } catch (IllegalArgumentException iae) {}
-        System.out.println("ReflectArrayTest.testSingle passed");
-    }
-
-    static void testMultiInt() {
-        Object intIntIntArray;
-        int[] dimensions = { 3, 2, 1 };
-
-        intIntIntArray = Array.newInstance(Integer.TYPE, dimensions);
-        int[][][] array3 = (int[][][]) intIntIntArray;
-
-        array3[0][0][0] = 123;      // trouble
-        array3[2][1][0] = 456;
-
-        try {
-            array3[2][1][1] = 768;
-            throw new RuntimeException("store should have failed");
-        }
-        catch (ArrayIndexOutOfBoundsException abe) {
-        }
-        System.out.println("ReflectArrayTest.testMultiInt passed");
-    }
-
-    static void testMulti() {
-        Object strStrStrArray;
-        int[] dimensions = { 1, 2, 3 };
-
-        strStrStrArray = Array.newInstance(String.class, dimensions);
-        String[][][] array3 = (String[][][]) strStrStrArray;
-
-        array3[0][0][0] = "zero zero zero";
-        array3[0][1][2] = "zero one two";
-
-        try {
-            array3[1][0][0] = "bad store";
-            throw new RuntimeException("store should have failed");
-        }
-        catch (ArrayIndexOutOfBoundsException abe) {
-        }
-
-        try {
-            String[][] array2 = (String[][]) strStrStrArray;
-            throw new RuntimeException("expecting bad cast");
-        }
-        catch (ClassCastException cce) {
-        }
-
-        String[] strar = new String[4];
-        strar[2] = "zero one two ++";
-        array3[0][1] = strar;
-        System.out.println(array3[0][1][2]);
-        //System.out.println("array3: " + array3);
-
-
-        int[] dimensions2 = { 1, 2 };
-        strStrStrArray = Array.newInstance(String[].class, dimensions2);
-        array3 = (String[][][]) strStrStrArray;
-
-        array3[0][1] = new String[3];
-        array3[0][1][2] = "zero one two";
-        try {
-            array3[1][0][0] = "bad store";
-            throw new RuntimeException("store should have failed");
-        }
-        catch (ArrayIndexOutOfBoundsException abe) {
-        }
-        System.out.println("ReflectArrayTest.testMulti passed");
-    }
-}
diff --git a/tests/046-reflect/expected.txt b/tests/046-reflect/expected.txt
deleted file mode 100644
index 309b076..0000000
--- a/tests/046-reflect/expected.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-Method name is myMethod
- Declaring class is Target
- Arg 0: int
- Exc 0: java.lang.NullPointerException
- Exc 1: java.io.IOException
- Return type is int
- Access flags are 0x1
-Method name is myMethod
- Declaring class is SuperTarget
- Arg 0: float
- Return type is int
- Access flags are 0x1
-Method name is myNoargMethod
- Declaring class is Target
- Return type is void
- Access flags are 0x9
-Method name is myMethod
- Declaring class is Target
- Arg 0: [Ljava.lang.String;
- Arg 1: float
- Arg 2: char
- Return type is int
- Access flags are 0x1
-SuperTarget constructor ()V
-Target constructor ()V
-Before, float is 3.1415925
-myMethod: hi there 3.1415925 Q !
-Result of invoke: 7
-Calling no-arg void-return method
-myNoargMethod ()V
-throwingMethod
-Invoke got expected exception:
-java.lang.reflect.InvocationTargetException
-java.lang.NullPointerException: gratuitous throw!
-
-Field name is string1
- Declaring class is Target
- Field type is java.lang.String
- Access flags are 0x1
-  string1 value is 'hey'
-  ::: hey:yo:there
-  string1 value is now 'a new string'
-  ::: a new string:yo:there
-  got expected illegal obj store exc
-  got the other expected access exc
-  got expected arg exc
-pubLong initial value is 1122334455667788
-pubLong new value is 9988776655443322
-Field name is superInt
- Declaring class is SuperTarget
- Field type is int
- Access flags are 0x1
-  superInt value is 1010101
-  superInt boxed is 1010101
-  superInt value is now 20202
-  superInt value (from short) is now 30303
-  superInt value is now 40404
-  got expected long->int failure
-  got expected long->int failure
-  got expected string->int failure
-  got expected int->short failure
-Field name is superClassInt
- Declaring class is SuperTarget
- Field type is int
- Access flags are 0x9
-  superClassInt value is 1010102
-Field name is staticDouble
- Declaring class is Target
- Field type is double
- Access flags are 0x9
-  staticDoubleVal value is 3.3
-  got expected double->long failure
-as expected: aPrivateInt not found
-Field name is constantString
- Declaring class is Target
- Field type is java.lang.String
- Access flags are 0x19
-  Constant test value is a constant string
-Field name is cantTouchThis
- Declaring class is Target
- Field type is int
- Access flags are 0x11
-  cantTouchThis is 77
-  got expected set-final failure
-  cantTouchThis is now 77
-  cantTouchThis is now 88
-cons modifiers=1
-SuperTarget constructor ()V
-Target constructor (IF)V : ii=7 ff=3.3333
-myMethod (I)I
- arg=17 anInt=7
-ReflectTest done!
-public method
-checkType invoking null
-checkType got expected exception
-got methods
-NoisyInitUser is initializing
-NoisyInit is initializing
-
-generic field: java.util.List<java.lang.String>
-generic method fancyMethod params='[1] java.util.ArrayList<java.lang.String>' ret='java.util.Map<java.lang.Integer, java.lang.String>'
-generic ctor Main params='[1] java.util.ArrayList<java.lang.Integer>'
diff --git a/tests/046-reflect/info.txt b/tests/046-reflect/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/046-reflect/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/046-reflect/src/Main.java b/tests/046-reflect/src/Main.java
deleted file mode 100644
index e2a3929..0000000
--- a/tests/046-reflect/src/Main.java
+++ /dev/null
@@ -1,555 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-import java.lang.reflect.*;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Reflection test.
- */
-public class Main {
-    private static boolean FULL_ACCESS_CHECKS = false;  // b/5861201
-    public Main() {}
-    public Main(ArrayList<Integer> stuff) {}
-
-    void printMethodInfo(Method meth) {
-        Class[] params, exceptions;
-        int i;
-
-        System.out.println("Method name is " + meth.getName());
-        System.out.println(" Declaring class is "
-            + meth.getDeclaringClass().getName());
-        params = meth.getParameterTypes();
-        for (i = 0; i < params.length; i++)
-            System.out.println(" Arg " + i + ": " + params[i].getName());
-        exceptions = meth.getExceptionTypes();
-        for (i = 0; i < exceptions.length; i++)
-            System.out.println(" Exc " + i + ": " + exceptions[i].getName());
-        System.out.println(" Return type is " + meth.getReturnType().getName());
-        System.out.println(" Access flags are 0x"
-            + Integer.toHexString(meth.getModifiers()));
-        //System.out.println(" GenericStr is " + meth.toGenericString());
-    }
-
-    void printFieldInfo(Field field) {
-        System.out.println("Field name is " + field.getName());
-        System.out.println(" Declaring class is "
-            + field.getDeclaringClass().getName());
-        System.out.println(" Field type is " + field.getType().getName());
-        System.out.println(" Access flags are 0x"
-            + Integer.toHexString(field.getModifiers()));
-    }
-
-    private void showStrings(Target instance)
-        throws NoSuchFieldException, IllegalAccessException {
-
-        Class target = Target.class;
-        String one, two, three, four;
-        Field field = null;
-
-        field = target.getField("string1");
-        one = (String) field.get(instance);
-
-        field = target.getField("string2");
-        two = (String) field.get(instance);
-
-        field = target.getField("string3");
-        three = (String) field.get(instance);
-
-        System.out.println("  ::: " + one + ":" + two + ":" + three);
-    }
-
-    public static void checkAccess() {
-        try {
-            Class target = otherpackage.Other.class;
-            Object instance = new otherpackage.Other();
-            Method meth;
-
-            meth = target.getMethod("publicMethod", (Class[]) null);
-            meth.invoke(instance);
-
-            try {
-                meth = target.getMethod("packageMethod", (Class[]) null);
-                System.err.println("succeeded on package-scope method");
-            } catch (NoSuchMethodException nsme) {
-                // good
-            }
-
-
-            instance = otherpackage.Other.getInnerClassInstance();
-            target = instance.getClass();
-            meth = target.getMethod("innerMethod", (Class[]) null);
-            try {
-                if (!FULL_ACCESS_CHECKS) { throw new IllegalAccessException(); }
-                meth.invoke(instance);
-                System.err.println("inner-method invoke unexpectedly worked");
-            } catch (IllegalAccessException iae) {
-                // good
-            }
-
-            Field field = target.getField("innerField");
-            try {
-                int x = field.getInt(instance);
-                if (!FULL_ACCESS_CHECKS) { throw new IllegalAccessException(); }
-                System.err.println("field get unexpectedly worked: " + x);
-            } catch (IllegalAccessException iae) {
-                // good
-            }
-        } catch (Exception ex) {
-            System.out.println("----- unexpected exception -----");
-            ex.printStackTrace();
-        }
-    }
-
-    public void run() {
-        Class target = Target.class;
-        Method meth = null;
-        Field field = null;
-        boolean excep;
-
-        try {
-            meth = target.getMethod("myMethod", new Class[] { int.class });
-
-            if (meth.getDeclaringClass() != target)
-                throw new RuntimeException();
-            printMethodInfo(meth);
-
-            meth = target.getMethod("myMethod", new Class[] { float.class });
-            printMethodInfo(meth);
-
-            meth = target.getMethod("myNoargMethod", (Class[]) null);
-            printMethodInfo(meth);
-
-            meth = target.getMethod("myMethod",
-                new Class[] { String[].class, float.class, char.class });
-            printMethodInfo(meth);
-
-            Target instance = new Target();
-            Object[] argList = new Object[] {
-                new String[] { "hi there" },
-                new Float(3.1415926f),
-                new Character('Q')
-            };
-            System.out.println("Before, float is "
-                + ((Float)argList[1]).floatValue());
-
-            Integer boxval;
-            boxval = (Integer) meth.invoke(instance, argList);
-            System.out.println("Result of invoke: " + boxval.intValue());
-
-            System.out.println("Calling no-arg void-return method");
-            meth = target.getMethod("myNoargMethod", (Class[]) null);
-            meth.invoke(instance, (Object[]) null);
-
-            /* try invoking a method that throws an exception */
-            meth = target.getMethod("throwingMethod", (Class[]) null);
-            try {
-                meth.invoke(instance, (Object[]) null);
-                System.out.println("GLITCH: didn't throw");
-            } catch (InvocationTargetException ite) {
-                System.out.println("Invoke got expected exception:");
-                System.out.println(ite.getClass().getName());
-                System.out.println(ite.getCause());
-            }
-            catch (Exception ex) {
-                System.out.println("GLITCH: invoke got wrong exception:");
-                ex.printStackTrace();
-            }
-            System.out.println("");
-
-
-            field = target.getField("string1");
-            if (field.getDeclaringClass() != target)
-                throw new RuntimeException();
-            printFieldInfo(field);
-            String strVal = (String) field.get(instance);
-            System.out.println("  string1 value is '" + strVal + "'");
-
-            showStrings(instance);
-
-            field.set(instance, new String("a new string"));
-            strVal = (String) field.get(instance);
-            System.out.println("  string1 value is now '" + strVal + "'");
-
-            showStrings(instance);
-
-            try {
-                field.set(instance, new Object());
-                System.out.println("WARNING: able to store Object into String");
-            }
-            catch (IllegalArgumentException iae) {
-                System.out.println("  got expected illegal obj store exc");
-            }
-
-
-            try {
-                String four;
-                field = target.getField("string4");
-                four = (String) field.get(instance);
-                System.out.println("WARNING: able to access string4: "
-                    + four);
-            }
-            catch (IllegalAccessException iae) {
-                System.out.println("  got expected access exc");
-            }
-            catch (NoSuchFieldException nsfe) {
-                System.out.println("  got the other expected access exc");
-            }
-            try {
-                String three;
-                field = target.getField("string3");
-                three = (String) field.get(this);
-                System.out.println("WARNING: able to get string3 in wrong obj: "
-                    + three);
-            }
-            catch (IllegalArgumentException iae) {
-                System.out.println("  got expected arg exc");
-            }
-
-            /*
-             * Try setting a field to null.
-             */
-            String four;
-            field = target.getDeclaredField("string3");
-            field.set(instance, null);
-
-            /*
-             * Do some stuff with long.
-             */
-            long longVal;
-            field = target.getField("pubLong");
-            longVal = field.getLong(instance);
-            System.out.println("pubLong initial value is " +
-                Long.toHexString(longVal));
-            field.setLong(instance, 0x9988776655443322L);
-            longVal = field.getLong(instance);
-            System.out.println("pubLong new value is " +
-                Long.toHexString(longVal));
-
-
-            field = target.getField("superInt");
-            if (field.getDeclaringClass() == target)
-                throw new RuntimeException();
-            printFieldInfo(field);
-            int intVal = field.getInt(instance);
-            System.out.println("  superInt value is " + intVal);
-            Integer boxedIntVal = (Integer) field.get(instance);
-            System.out.println("  superInt boxed is " + boxedIntVal);
-
-            field.set(instance, new Integer(20202));
-            intVal = field.getInt(instance);
-            System.out.println("  superInt value is now " + intVal);
-            field.setShort(instance, (short)30303);
-            intVal = field.getInt(instance);
-            System.out.println("  superInt value (from short) is now " +intVal);
-            field.setInt(instance, 40404);
-            intVal = field.getInt(instance);
-            System.out.println("  superInt value is now " + intVal);
-            try {
-                field.set(instance, new Long(123));
-                System.out.println("FAIL: expected exception not thrown");
-            }
-            catch (IllegalArgumentException iae) {
-                System.out.println("  got expected long->int failure");
-            }
-            try {
-                field.setLong(instance, 123);
-                System.out.println("FAIL: expected exception not thrown");
-            }
-            catch (IllegalArgumentException iae) {
-                System.out.println("  got expected long->int failure");
-            }
-            try {
-                field.set(instance, new String("abc"));
-                System.out.println("FAIL: expected exception not thrown");
-            }
-            catch (IllegalArgumentException iae) {
-                System.out.println("  got expected string->int failure");
-            }
-
-            try {
-                field.getShort(instance);
-                System.out.println("FAIL: expected exception not thrown");
-            }
-            catch (IllegalArgumentException iae) {
-                System.out.println("  got expected int->short failure");
-            }
-
-            field = target.getField("superClassInt");
-            printFieldInfo(field);
-            int superClassIntVal = field.getInt(instance);
-            System.out.println("  superClassInt value is " + superClassIntVal);
-
-            field = target.getField("staticDouble");
-            printFieldInfo(field);
-            double staticDoubleVal = field.getDouble(null);
-            System.out.println("  staticDoubleVal value is " + staticDoubleVal);
-
-            try {
-                field.getLong(instance);
-                System.out.println("FAIL: expected exception not thrown");
-            }
-            catch (IllegalArgumentException iae) {
-                System.out.println("  got expected double->long failure");
-            }
-
-            excep = false;
-            try {
-                field = target.getField("aPrivateInt");
-                printFieldInfo(field);
-            }
-            catch (NoSuchFieldException nsfe) {
-                System.out.println("as expected: aPrivateInt not found");
-                excep = true;
-            }
-            if (!excep)
-                System.out.println("BUG: got aPrivateInt");
-
-
-            field = target.getField("constantString");
-            printFieldInfo(field);
-            String val = (String) field.get(instance);
-            System.out.println("  Constant test value is " + val);
-
-
-            field = target.getField("cantTouchThis");
-            printFieldInfo(field);
-            intVal = field.getInt(instance);
-            System.out.println("  cantTouchThis is " + intVal);
-            try {
-                field.setInt(instance, 99);
-                System.out.println("ERROR: set-final succeeded");
-            } catch (IllegalAccessException iae) {
-                System.out.println("  got expected set-final failure");
-            }
-            intVal = field.getInt(instance);
-            System.out.println("  cantTouchThis is now " + intVal);
-
-            field.setAccessible(true);
-            field.setInt(instance, 87);     // exercise int version
-            field.set(instance, 88);        // exercise Object version
-            intVal = field.getInt(instance);
-            System.out.println("  cantTouchThis is now " + intVal);
-
-            Constructor<Target> cons;
-            Target targ;
-            Object[] args;
-
-            cons = target.getConstructor(new Class[] { int.class,float.class });
-            args = new Object[] { new Integer(7), new Float(3.3333) };
-            System.out.println("cons modifiers=" + cons.getModifiers());
-            targ = cons.newInstance(args);
-            targ.myMethod(17);
-
-        } catch (Exception ex) {
-            System.out.println("----- unexpected exception -----");
-            ex.printStackTrace();
-        }
-
-        System.out.println("ReflectTest done!");
-    }
-
-    public static void checkType() {
-        Method m;
-
-        try {
-            m = Collections.class.getDeclaredMethod("checkType",
-                            Object.class, Class.class);
-        } catch (NoSuchMethodException nsme) {
-            nsme.printStackTrace();
-            return;
-        }
-
-        m.setAccessible(true);
-        try {
-            m.invoke(null, new Object(), Object.class);
-        } catch (IllegalAccessException iae) {
-            iae.printStackTrace();
-            return;
-        } catch (InvocationTargetException ite) {
-            ite.printStackTrace();
-            return;
-        }
-
-        try {
-            System.out.println("checkType invoking null");
-            m.invoke(null, new Object(), int.class);
-            System.out.println("ERROR: should throw InvocationTargetException");
-        } catch (InvocationTargetException ite) {
-            System.out.println("checkType got expected exception");
-        } catch (IllegalAccessException iae) {
-            iae.printStackTrace();
-            return;
-        }
-    }
-
-    public static void checkInit() {
-        Class niuClass = NoisyInitUser.class;
-        Method[] methods;
-
-        methods = niuClass.getDeclaredMethods();
-        System.out.println("got methods");
-        /* neither NoisyInit nor NoisyInitUser should be initialized yet */
-        NoisyInitUser niu = new NoisyInitUser();
-        NoisyInit ni = new NoisyInit();
-
-        System.out.println("");
-    }
-
-
-    /*
-     * Test some generic type stuff.
-     */
-    public List<String> dummy;
-    public Map<Integer,String> fancyMethod(ArrayList<String> blah) { return null; }
-    public static void checkGeneric() {
-        Field field;
-        try {
-            field = Main.class.getField("dummy");
-        } catch (NoSuchFieldException nsfe) {
-            throw new RuntimeException(nsfe);
-        }
-        Type listType = field.getGenericType();
-        System.out.println("generic field: " + listType);
-
-        Method method;
-        try {
-            method = Main.class.getMethod("fancyMethod",
-                new Class[] { ArrayList.class });
-        } catch (NoSuchMethodException nsme) {
-            throw new RuntimeException(nsme);
-        }
-        Type[] parmTypes = method.getGenericParameterTypes();
-        Type ret = method.getGenericReturnType();
-        System.out.println("generic method " + method.getName() + " params='"
-            + stringifyTypeArray(parmTypes) + "' ret='" + ret + "'");
-
-        Constructor ctor;
-        try {
-            ctor = Main.class.getConstructor(new Class[] { ArrayList.class });
-        } catch (NoSuchMethodException nsme) {
-            throw new RuntimeException(nsme);
-        }
-        parmTypes = ctor.getGenericParameterTypes();
-        System.out.println("generic ctor " + ctor.getName() + " params='"
-            + stringifyTypeArray(parmTypes) + "'");
-    }
-
-    /*
-     * Convert an array of Type into a string.  Start with an array count.
-     */
-    private static String stringifyTypeArray(Type[] types) {
-        StringBuilder stb = new StringBuilder();
-        boolean first = true;
-
-        stb.append("[" + types.length + "]");
-
-        for (Type t: types) {
-            if (first) {
-                stb.append(" ");
-                first = false;
-            } else {
-                stb.append(", ");
-            }
-            stb.append(t.toString());
-        }
-
-        return stb.toString();
-    }
-
-
-    public static void main(String[] args) {
-        Main test = new Main();
-        test.run();
-
-        checkAccess();
-        checkType();
-        checkInit();
-        checkGeneric();
-    }
-}
-
-
-class SuperTarget {
-    public SuperTarget() {
-        System.out.println("SuperTarget constructor ()V");
-        superInt = 1010101;
-        superClassInt = 1010102;
-    }
-
-    public int myMethod(float floatArg) {
-        System.out.println("myMethod (F)I " + floatArg);
-        return 6;
-    }
-
-    public int superInt;
-    public static int superClassInt;
-}
-
-class Target extends SuperTarget {
-    public Target() {
-        System.out.println("Target constructor ()V");
-    }
-
-    public Target(int ii, float ff) {
-        System.out.println("Target constructor (IF)V : ii="
-            + ii + " ff=" + ff);
-        anInt = ii;
-    }
-
-    public int myMethod(int intarg) throws NullPointerException, IOException {
-        System.out.println("myMethod (I)I");
-        System.out.println(" arg=" + intarg + " anInt=" + anInt);
-        return 5;
-    }
-
-    public int myMethod(String[] strarg, float f, char c) {
-        System.out.println("myMethod: " + strarg[0] + " " + f + " " + c + " !");
-        return 7;
-    }
-
-    public static void myNoargMethod() {
-        System.out.println("myNoargMethod ()V");
-    }
-
-    public void throwingMethod() {
-        System.out.println("throwingMethod");
-        throw new NullPointerException("gratuitous throw!");
-    }
-
-    public void misc() {
-        System.out.println("misc");
-    }
-
-    public int anInt;
-    public String string1 = "hey";
-    public String string2 = "yo";
-    public String string3 = "there";
-    private String string4 = "naughty";
-    public static final String constantString = "a constant string";
-    private int aPrivateInt;
-
-    public final int cantTouchThis = 77;
-
-    public long pubLong = 0x1122334455667788L;
-
-    public static double staticDouble = 3.3;
-}
-
-class NoisyInit {
-    static {
-        System.out.println("NoisyInit is initializing");
-        //Throwable th = new Throwable();
-        //th.printStackTrace();
-    }
-}
-
-class NoisyInitUser {
-    static {
-        System.out.println("NoisyInitUser is initializing");
-    }
-    public void createNoisyInit(NoisyInit ni) {}
-}
diff --git a/tests/046-reflect/src/otherpackage/Other.java b/tests/046-reflect/src/otherpackage/Other.java
deleted file mode 100644
index 702ab6d..0000000
--- a/tests/046-reflect/src/otherpackage/Other.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package otherpackage;
-
-public class Other {
-    public void publicMethod() {
-        System.out.println("public method");
-    }
-    void packageMethod() {
-        System.out.println("package method");
-    }
-
-    public static InnerOther getInnerClassInstance() {
-        return new InnerOther();
-    }
-
-    private static class InnerOther {
-        public void innerMethod() {
-            System.out.println("inner method");
-        }
-
-        public int innerField = 7;
-    }
-}
diff --git a/tests/047-returns/expected.txt b/tests/047-returns/expected.txt
deleted file mode 100644
index 160f69c..0000000
--- a/tests/047-returns/expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-pick 1
-one running
-one
-1
-pick 2
-two running
-two
-2
-pick 3
-three running
diff --git a/tests/047-returns/info.txt b/tests/047-returns/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/047-returns/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/047-returns/src/Main.java b/tests/047-returns/src/Main.java
deleted file mode 100644
index d53c4a7..0000000
--- a/tests/047-returns/src/Main.java
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Return stuff.
- */
-public class Main {
-    public static void main(String[] args) {
-
-        System.out.println("pick 1");
-        pickOne(1).run();
-        System.out.println(((CommonInterface)pickOne(1)).doStuff());
-
-        System.out.println("pick 2");
-        pickOne(2).run();
-        System.out.println(((CommonInterface)pickOne(2)).doStuff());
-
-        System.out.println("pick 3");
-        pickOne(3).run();
-    }
-
-    public static Runnable pickOne(int which) {
-        Runnable runme;
-
-        if (which == 1)
-            runme = new ClassOne();
-        else if (which == 2)
-            runme = new ClassTwo();
-        else if (which == 3)
-            runme = new ClassThree();
-        else
-            runme = null;
-
-        return runme;
-    }
-}
-
-class ClassOne implements CommonInterface, Runnable {
-    public void run() {
-        System.out.println("one running");
-    }
-    public int doStuff() {
-        System.out.println("one");
-        return 1;
-    }
-}
-
-class ClassTwo implements CommonInterface, Runnable {
-    public void run() {
-        System.out.println("two running");
-    }
-    public int doStuff() {
-        System.out.println("two");
-        return 2;
-    }
-}
-
-class ClassThree implements Runnable {
-    public void run() {
-        System.out.println("three running");
-    }
-}
-
-interface CommonInterface {
-    int doStuff();
-}
diff --git a/tests/048-server-socket/expected.txt b/tests/048-server-socket/expected.txt
deleted file mode 100644
index 23c3e84..0000000
--- a/tests/048-server-socket/expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-opened!
-closed!
-reopened!
-done
diff --git a/tests/048-server-socket/info.txt b/tests/048-server-socket/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/048-server-socket/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/048-server-socket/src/Main.java b/tests/048-server-socket/src/Main.java
deleted file mode 100644
index 55dbf9a..0000000
--- a/tests/048-server-socket/src/Main.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-import java.net.ServerSocket;
-import java.io.IOException;
-
-
-/**
- * Quick server socket test.
- */
-public class Main {
-    private static void snooze(int sec) {
-        try {
-            Thread.sleep(sec * 1000);
-        } catch (InterruptedException ie) {
-            ie.printStackTrace();
-        }
-    }
-
-    public static void main(String[] args) {
-        ServerSocket socket;
-
-        try {
-            socket = new ServerSocket(7890);
-        } catch (IOException ioe) {
-            System.out.println("couldn't open socket " + ioe.getMessage());
-            return;
-        }
-
-        System.out.println("opened!");
-        snooze(1);
-
-        try {
-            socket.close();
-        } catch (IOException ioe) {
-            System.out.println("couldn't close socket " + ioe.getMessage());
-            return;
-        }
-
-        System.out.println("closed!");
-        snooze(1);
-
-        try {
-            socket = new ServerSocket(7890);
-        } catch (IOException ioe) {
-            System.out.println("couldn't reopen socket " + ioe.getMessage());
-            return;
-        }
-
-        System.out.println("reopened!");
-        System.out.println("done");
-    }
-}
diff --git a/tests/049-show-object/expected.txt b/tests/049-show-object/expected.txt
deleted file mode 100644
index 4613c39..0000000
--- a/tests/049-show-object/expected.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-d is 3.1415
-class: class [Ljava.lang.Object;
-0: null
-1: null
-2: null
-3: null
-4: null
-class: class [Ljava.lang.String;
-0: hey
-1: you
-2: there
diff --git a/tests/049-show-object/info.txt b/tests/049-show-object/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/049-show-object/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/049-show-object/src/Main.java b/tests/049-show-object/src/Main.java
deleted file mode 100644
index d31eeda..0000000
--- a/tests/049-show-object/src/Main.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/*
- * Some basic operations for testing the debugger.
- */
-public class Main {
-    long mLong = 0x1122334455667788L;
-
-    public Main() {
-        double d = 3.1415;
-        System.out.println("d is " + d);
-    }
-
-    public static void showObject(Object[] foo) {
-        int xyz = 27;
-        System.out.println("class: " + foo.getClass());
-
-        for (int i = 0; i < foo.length; i++) {
-            System.out.println(i + ": "  + foo[i]);
-        }
-    }
-
-    public static void main(String[] args) {
-        int x = 5;
-        Main testObj = new Main();
-
-        Object[] array = new Object[5];
-        showObject(array);
-
-        String[] niftyStrings = new String[] { "hey", "you", "there" };
-        array = niftyStrings;
-        showObject(array);
-    }
-}
diff --git a/tests/050-sync-test/expected.txt b/tests/050-sync-test/expected.txt
deleted file mode 100644
index c2a7031..0000000
--- a/tests/050-sync-test/expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-Sleep Test
-GOING
-GONE
-
-Count Test
-going: 1
-going: 1
-going: 1
-going: 1
-going: 1
-going: 1
-going: 1
-going: 1
-going: 1
-going: 1
-Final result: 10
-going: 2
-going: 2
-going: 2
-going: 2
-going: 2
-going: 2
-going: 2
-going: 2
-going: 2
-going: 2
-Final result: 20
-main: all done
-
-Interrupt Test
-SleepyThread.run starting
-SleepyThread.run starting
-interrupting other (isAlive=true)
-thread#0 interrupted, flag=false
diff --git a/tests/050-sync-test/info.txt b/tests/050-sync-test/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/050-sync-test/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/050-sync-test/src/Main.java b/tests/050-sync-test/src/Main.java
deleted file mode 100644
index 418f5f4..0000000
--- a/tests/050-sync-test/src/Main.java
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Test synchronization primitives.
- *
- * TODO: this should be re-written to be a little more rigorous and/or
- * useful.  Also, the ThreadDeathHandler stuff should be exposed or
- * split out.
- */
-public class Main {
-    public static void main(String[] args) {
-        System.out.println("Sleep Test");
-        sleepTest();
-
-        System.out.println("\nCount Test");
-        countTest();
-
-        System.out.println("\nInterrupt Test");
-        interruptTest();
-    }
-
-    static void sleepTest() {
-        System.out.println("GOING");
-        try {
-            Thread.sleep(1000);
-        } catch (InterruptedException ie) {
-            System.out.println("INTERRUPT!");
-            ie.printStackTrace();
-        }
-        System.out.println("GONE");
-    }
-
-    static void countTest() {
-        CpuThread one, two;
-
-        one = new CpuThread(1);
-        two = new CpuThread(2);
-
-        one.start();
-
-        try {
-            Thread.sleep(100);
-        } catch (InterruptedException ie) {
-            System.out.println("INTERRUPT!");
-            ie.printStackTrace();
-        }
-
-        two.start();
-
-        //System.out.println("main: off and running");
-
-        try {
-            one.join();
-            two.join();
-        } catch (InterruptedException ie) {
-            System.out.println("INTERRUPT!");
-            ie.printStackTrace();
-        }
-        System.out.println("main: all done");
-    }
-
-    static void interruptTest() {
-        SleepyThread sleepy, pesky;
-
-        sleepy = new SleepyThread(null);
-        pesky = new SleepyThread(sleepy);
-
-        sleepy.setPriority(4);
-        sleepy.start();
-        pesky.start();
-        pesky.setPriority(3);
-    }
-}
-
-class CpuThread extends Thread {
-    static Object mSyncable = new Object();
-    static int mCount = 0;
-    int mNumber;
-
-    CpuThread(int num) {
-        super("CpuThread " + num);
-        mNumber = num;
-    }
-
-    public void run() {
-        //System.out.print("thread running -- ");
-        //System.out.println(Thread.currentThread().getName());
-
-        synchronized (mSyncable) {
-            for (int i = 0; i < 10; i++) {
-                output(mNumber);
-            }
-
-            System.out.print("Final result: ");
-            System.out.println(mCount);
-        }
-    }
-
-    void output(int num) {
-        int count = mCount;
-
-        System.out.print("going: ");
-        System.out.println(num);
-
-        /* burn CPU; adjust end value so we exceed scheduler quantum */
-        for (int j = 0; j < 5000; j++) {
-            ;
-        }
-
-        count++;
-        mCount = count;
-    }
-}
-
-class SleepyThread extends Thread {
-    private SleepyThread mOther;
-    private Integer[] mWaitOnMe;      // any type of object will do
-
-    private static int count = 0;
-
-    SleepyThread(SleepyThread other) {
-        mOther = other;
-        mWaitOnMe = new Integer[] { 1, 2 };
-
-        setName("thread#" + count);
-        count++;
-    }
-
-    public void run() {
-        System.out.println("SleepyThread.run starting");
-
-        if (false) {
-            ThreadDeathHandler threadHandler =
-                new ThreadDeathHandler("SYNC THREAD");
-            Thread.currentThread().setUncaughtExceptionHandler(threadHandler);
-            throw new NullPointerException("die");
-        }
-
-        if (mOther == null) {
-            boolean intr = false;
-
-            try {
-                synchronized (mWaitOnMe) {
-                    mWaitOnMe.wait(9000);
-                }
-            } catch (InterruptedException ie) {
-                // Expecting this; interrupted should be false.
-                System.out.println(Thread.currentThread().getName() +
-                        " interrupted, flag=" + Thread.interrupted());
-                intr = true;
-            } catch (Exception ex) {
-                ex.printStackTrace();
-            }
-
-            if (!intr)
-                System.out.println("NOT INTERRUPTED");
-        } else {
-            try {
-                Thread.sleep(2000);
-            } catch (InterruptedException ie) {
-                System.out.println("PESKY INTERRUPTED?");
-            }
-
-            System.out.println("interrupting other (isAlive="
-                + mOther.isAlive() + ")");
-            mOther.interrupt();
-        }
-    }
-}
diff --git a/tests/050-sync-test/src/ThreadDeathHandler.java b/tests/050-sync-test/src/ThreadDeathHandler.java
deleted file mode 100644
index 5ea61a5..0000000
--- a/tests/050-sync-test/src/ThreadDeathHandler.java
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-import java.lang.Thread.UncaughtExceptionHandler;
-
-/**
- * Report death-by-uncaught-exception.
- */
-public class ThreadDeathHandler implements Thread.UncaughtExceptionHandler {
-    private String mMyMessage;
-
-    public ThreadDeathHandler(String msg) {
-        mMyMessage = msg;
-    }
-
-    public void uncaughtException(Thread t, Throwable e) {
-        System.err.println("Uncaught exception " + mMyMessage + "!");
-        e.printStackTrace();
-    }
-}
diff --git a/tests/051-thread/expected.txt b/tests/051-thread/expected.txt
deleted file mode 100644
index 8e6b153..0000000
--- a/tests/051-thread/expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Initializing System.out...
-Thread count: 512
-Starting thread 'Thready'
-@ Thread running
-@ Got expected setDaemon exception
-@ Thread bailing
-Thread starter returning
-thread test done
diff --git a/tests/051-thread/info.txt b/tests/051-thread/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/051-thread/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/051-thread/src/Main.java b/tests/051-thread/src/Main.java
deleted file mode 100644
index ea587af..0000000
--- a/tests/051-thread/src/Main.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.ArrayList;
-
-/**
- * Test some basic thread stuff.
- */
-public class Main {
-    public static void main(String[] args) throws Exception {
-        System.out.println("Initializing System.out...");
-
-        MyThread[] threads = new MyThread[512];
-        for (int i = 0; i < 512; i++) {
-            threads[i] = new MyThread();
-        }
-
-        for (MyThread thread : threads) {
-            thread.start();
-        }
-        for (MyThread thread : threads) {
-            thread.join();
-        }
-
-        System.out.println("Thread count: " + MyThread.mCount);
-
-        go();
-        System.out.println("thread test done");
-    }
-
-    public static void go() {
-        Thread t = new Thread(null, new ThreadTestSub(), "Thready", 7168);
-
-        t.setDaemon(false);
-
-        System.out.print("Starting thread '" + t.getName() + "'\n");
-        t.start();
-
-        try {
-            t.join();
-        } catch (InterruptedException ex) {
-            ex.printStackTrace();
-        }
-
-        System.out.print("Thread starter returning\n");
-    }
-
-    /*
-     * Simple thread capacity test.
-     */
-    static class MyThread extends Thread {
-        static int mCount = 0;
-        public void run() {
-            synchronized (MyThread.class) {
-                ++mCount;
-            }
-        }
-    }
-}
-
-class ThreadTestSub implements Runnable {
-    public void run() {
-        System.out.print("@ Thread running\n");
-
-        try {
-            Thread.currentThread().setDaemon(true);
-            System.out.print("@ FAILED: setDaemon() succeeded\n");
-        } catch (IllegalThreadStateException itse) {
-            System.out.print("@ Got expected setDaemon exception\n");
-        }
-
-        //if (true)
-        //    throw new NullPointerException();
-        try {
-            Thread.sleep(2000);
-        }
-        catch (InterruptedException ie) {
-            System.out.print("@ Interrupted!\n");
-        }
-        finally {
-            System.out.print("@ Thread bailing\n");
-        }
-    }
-}
diff --git a/tests/052-verifier-fun/expected.txt b/tests/052-verifier-fun/expected.txt
deleted file mode 100644
index 5662675..0000000
--- a/tests/052-verifier-fun/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-BlahOne
-Zorch.
diff --git a/tests/052-verifier-fun/info.txt b/tests/052-verifier-fun/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/052-verifier-fun/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/052-verifier-fun/src/Blah.java b/tests/052-verifier-fun/src/Blah.java
deleted file mode 100644
index edd6c9d..0000000
--- a/tests/052-verifier-fun/src/Blah.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public abstract class Blah {
-    public void unrelatedStuff() {
-    }
-}
diff --git a/tests/052-verifier-fun/src/BlahFeature.java b/tests/052-verifier-fun/src/BlahFeature.java
deleted file mode 100644
index ea0e18a..0000000
--- a/tests/052-verifier-fun/src/BlahFeature.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface BlahFeature {
-    public void doStuff();
-}
diff --git a/tests/052-verifier-fun/src/BlahOne.java b/tests/052-verifier-fun/src/BlahOne.java
deleted file mode 100644
index ed423cd..0000000
--- a/tests/052-verifier-fun/src/BlahOne.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class BlahOne extends Blah implements BlahFeature {
-    public void doStuff() {
-        System.out.println("BlahOne");
-    }
-}
diff --git a/tests/052-verifier-fun/src/BlahTwo.java b/tests/052-verifier-fun/src/BlahTwo.java
deleted file mode 100644
index cff3670..0000000
--- a/tests/052-verifier-fun/src/BlahTwo.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class BlahTwo extends Blah implements BlahFeature {
-    public void doStuff() {
-        System.out.println("BlahTwo");
-    }
-}
diff --git a/tests/052-verifier-fun/src/Main.java b/tests/052-verifier-fun/src/Main.java
deleted file mode 100644
index ca960cf..0000000
--- a/tests/052-verifier-fun/src/Main.java
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-import java.lang.reflect.Type;
-
-/**
- * Throw a few things at the verifier, all of which are expected to pass.
- */
-public class Main {
-    static public void main(String[] args) {
-        tryBlah(1);
-
-        System.out.println("Zorch.");
-    }
-
-    /*
-     * Make sure the verifier is handling type merge of arrays of
-     * references correctly.
-     */
-    static Object[] arrayCheck1(int wanted) {
-        String[] arrayOne;
-        Integer[] arrayTwo;
-
-        arrayOne = new String[1];
-        arrayTwo = new Integer[1];
-
-        switch (wanted) {
-            case 0:     return arrayOne;
-            case 1:     return arrayTwo;
-            default:    return null;
-        }
-    }
-
-    static Object arrayCheck1b(int wanted) {
-        String[] arrayOne;
-        Integer[] arrayTwo;
-        int[] arrayThree;
-
-        arrayOne = new String[1];
-        arrayTwo = new Integer[1];
-        arrayThree = new int[1];
-
-        switch (wanted) {
-            case 0:     return arrayOne;
-            case 1:     return arrayTwo;
-            case 2:     return arrayThree;
-            default:    return null;
-        }
-    }
-
-    static Object[] arrayCheck2(int wanted) {
-        String[][] arrayOne;
-        String[][] arrayTwo;
-        Integer[][] arrayThree;
-
-        arrayOne = new String[1][];
-        arrayTwo = new String[1][];
-        arrayThree = new Integer[1][];
-
-        switch (wanted) {
-            case 0:     return arrayOne;
-            case 1:     return arrayTwo;
-            case 2:     return arrayThree;
-            default:    return null;
-        }
-    }
-
-    static Object[] arrayCheck3(int wanted) {
-        String[][] arrayTwo;
-        String[][][][] arrayFour;
-
-        arrayTwo = new String[1][];
-        arrayFour = new String[1][][][];
-
-        switch (wanted) {
-            case 0:     return arrayTwo;
-            case 1:     return arrayFour;
-            default:    return null;
-        }
-    }
-
-    /*
-     * Check return type merge.
-     */
-    private Type[] typeTest() {
-        if(this == null) {
-            return (Class<?>[])null;
-        }
-        return (Type[])null;
-    }
-
-
-    /*
-     * Exercise the blahs.
-     */
-    static void tryBlah(int num) {
-        BlahFeature feature = null;     // interface ref
-
-        switch (num) {
-            case 1:
-                feature = new BlahOne();
-                break;
-            default:
-                feature = new BlahTwo();
-                break;
-        }
-
-        feature.doStuff();
-    }
-}
diff --git a/tests/053-wait-some/expected.txt b/tests/053-wait-some/expected.txt
deleted file mode 100644
index 182892c..0000000
--- a/tests/053-wait-some/expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Caught expected exception on neg arg
-Waiting for 200ms...
-Waiting for 500ms...
-Waiting for 1000ms...
-Waiting for 2000ms...
-Waiting for 3500ms...
-Waiting for 8000ms...
diff --git a/tests/053-wait-some/info.txt b/tests/053-wait-some/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/053-wait-some/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/053-wait-some/src/Main.java b/tests/053-wait-some/src/Main.java
deleted file mode 100644
index 51e6c52..0000000
--- a/tests/053-wait-some/src/Main.java
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-/**
- * Exercise Object.wait(), comparing results against wall clock time.
- */
-public class Main {
-    /* delays, in milliseconds */
-    private final static long[] DELAYS = {
-        200, 500, 1000, 2000, 3500, 8000
-    };
-
-    public static void main(String[] args) {
-        boolean timing = (args.length >= 1) && args[0].equals("--timing");
-        doit(timing);
-    }
-
-    public static void doit(boolean timing) {
-        Object sleepy = new Object();
-        long start, end;
-
-        synchronized (sleepy) {
-            try {
-                sleepy.wait(-500);
-                System.out.println("HEY: didn't throw on negative arg");
-            } catch (IllegalArgumentException iae) {
-                System.out.println("Caught expected exception on neg arg");
-            } catch (InterruptedException ie) {
-                ie.printStackTrace();
-            }
-
-            for(long delay : DELAYS) {
-                System.out.println("Waiting for " + delay + "ms...");
-
-                start = System.currentTimeMillis();
-                try {
-                    sleepy.wait(delay);
-                } catch (InterruptedException ie) {
-                    ie.printStackTrace();
-                }
-                end = System.currentTimeMillis();
-
-                long elapsed = end - start;
-                boolean showTime = timing;
-
-                if (! timing) {
-                    long epsilon = delay / 10;
-                    if (epsilon > 50) {
-                        epsilon = 50;
-                    }
-
-                    long min = delay - epsilon;
-                    long max = delay + epsilon;
-
-                    if (elapsed < min) {
-                        System.out.println("  Elapsed time was too short");
-                        showTime = true;
-                    } else if (elapsed > max) {
-                        System.out.println("  Elapsed time was too long: "
-                            + "elapsed=" + elapsed + " max=" + max);
-                        showTime = true;
-                    }
-                }
-
-                if (showTime) {
-                    System.out.println("  Wall clock elapsed "
-                            + elapsed + "ms");
-                }
-            }
-        }
-    }
-}
diff --git a/tests/054-uncaught/expected.txt b/tests/054-uncaught/expected.txt
deleted file mode 100644
index e7473be..0000000
--- a/tests/054-uncaught/expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-Test 1
-Uncaught exception DEFAULT!
-java.lang.NullPointerException: Hi diddly-ho, neighborino.
-	at Main.catchTheUncaught(Main.java:49)
-	at Main$Helper.run(Main.java:60)
-Test 2
-Uncaught exception THREAD!
-java.lang.NullPointerException: Hi diddly-ho, neighborino.
-	at Main.catchTheUncaught(Main.java:49)
-	at Main$Helper.run(Main.java:60)
-Test 3
-Uncaught exception THREAD!
-java.lang.NullPointerException: Hi diddly-ho, neighborino.
-	at Main.catchTheUncaught(Main.java:49)
-	at Main$Helper.run(Main.java:60)
-Test 1
-Uncaught exception DEFAULT!
-java.lang.NullPointerException: Hi diddly-ho, neighborino.
-	at Main.catchTheUncaught(Main.java:49)
-	at Main.main(Main.java:12)
-	at dalvik.system.NativeStart.main(Native Method)
diff --git a/tests/054-uncaught/info.txt b/tests/054-uncaught/info.txt
deleted file mode 100644
index 08127da..0000000
--- a/tests/054-uncaught/info.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-TODO: Real description goes here.
diff --git a/tests/054-uncaught/src/Main.java b/tests/054-uncaught/src/Main.java
deleted file mode 100644
index 4ee6b05..0000000
--- a/tests/054-uncaught/src/Main.java
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2006 The Android Open Source Project
-
-/**
- * Test the uncaught exception handler.
- */
-public class Main {
-    public static void main(String[] args) {
-        testThread(1);
-        testThread(2);
-        testThread(3);
-
-        catchTheUncaught(1);
-    }
-
-    private static void testThread(int which) {
-        Thread t = new Helper(which);
-        t.start();
-
-        try {
-            t.join();
-        } catch (InterruptedException ex) {
-            ex.printStackTrace();
-        }
-    }
-
-    static void catchTheUncaught(int which) {
-        ThreadDeathHandler defHandler = new ThreadDeathHandler("DEFAULT");
-        ThreadDeathHandler threadHandler = new ThreadDeathHandler("THREAD");
-
-        System.out.println("Test " + which);
-        switch (which) {
-            case 1: {
-                Thread.setDefaultUncaughtExceptionHandler(defHandler);
-                break;
-            }
-            case 2: {
-                Thread.currentThread().setUncaughtExceptionHandler(
-                        threadHandler);
-                break;
-            }
-            case 3: {
-                Thread.setDefaultUncaughtExceptionHandler(defHandler);
-                Thread.currentThread().setUncaughtExceptionHandler(
-                        threadHandler);
-                break;
-            }
-        }
-
-        throw new NullPointerException("Hi diddly-ho, neighborino.");
-    }
-
-    private static class Helper extends Thread {
-        private int which;
-
-        public Helper(int which) {
-            this.which = which;
-        }
-
-        public void run() {
-            catchTheUncaught(which);
-        }
-    }
-}
diff --git a/tests/054-uncaught/src/ThreadDeathHandler.java b/tests/054-uncaught/src/ThreadDeathHandler.java
deleted file mode 100644
index 5ea61a5..0000000
--- a/tests/054-uncaught/src/ThreadDeathHandler.java
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2007 The Android Open Source Project
-
-import java.lang.Thread.UncaughtExceptionHandler;
-
-/**
- * Report death-by-uncaught-exception.
- */
-public class ThreadDeathHandler implements Thread.UncaughtExceptionHandler {
-    private String mMyMessage;
-
-    public ThreadDeathHandler(String msg) {
-        mMyMessage = msg;
-    }
-
-    public void uncaughtException(Thread t, Throwable e) {
-        System.err.println("Uncaught exception " + mMyMessage + "!");
-        e.printStackTrace();
-    }
-}
diff --git a/tests/055-enum-performance/expected.txt b/tests/055-enum-performance/expected.txt
deleted file mode 100644
index ceb6bc4..0000000
--- a/tests/055-enum-performance/expected.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-FOUR
-ONE
-FOURTEEN
-NINE
-FIVE
-TWELVE
-SamePackagePublicEnum
-basis: performed 10000 iterations
-test1: performed 10000 iterations
-test2: performed 10000 iterations
-test3: performed 10000 iterations
-Timing is acceptable.
diff --git a/tests/055-enum-performance/info.txt b/tests/055-enum-performance/info.txt
deleted file mode 100644
index 2ea1b9d..0000000
--- a/tests/055-enum-performance/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a performance test of Enum.valueOf(). To see the numbers, invoke
-this test with the "--timing" option.
diff --git a/tests/055-enum-performance/src/Main.java b/tests/055-enum-performance/src/Main.java
deleted file mode 100644
index 43f45f1..0000000
--- a/tests/055-enum-performance/src/Main.java
+++ /dev/null
@@ -1,195 +0,0 @@
-import otherpackage.OtherPackagePublicEnum;
-
-public class Main {
-    /** used by {@link #basisCall} */
-    static private int basisTestValue = 12;
-
-    static public void main(String[] args) throws Exception {
-        boolean timing = (args.length >= 1) && args[0].equals("--timing");
-        run(timing);
-    }
-
-    static public void run(boolean timing) {
-        preTest();
-
-        long time0 = System.nanoTime();
-        int count1 = test1(500);
-        long time1 = System.nanoTime();
-        int count2 = test2(500);
-        long time2 = System.nanoTime();
-        int count3 = test3(500);
-        long time3 = System.nanoTime();
-        int count4 = basis(500);
-        long time4 = System.nanoTime();
-
-        System.out.println("basis: performed " + count4 + " iterations");
-        System.out.println("test1: performed " + count1 + " iterations");
-        System.out.println("test2: performed " + count2 + " iterations");
-        System.out.println("test3: performed " + count3 + " iterations");
-
-        double msec1 = (time1 - time0) / (double) count1 / 1000000;
-        double msec2 = (time2 - time1) / (double) count2 / 1000000;
-        double msec3 = (time3 - time2) / (double) count3 / 1000000;
-        double basisMsec = (time4 - time3) / (double) count4 / 1000000;
-
-        double avg = (msec1 + msec2 + msec3) / 3;
-        if (avg < (basisMsec * 10)) {
-            System.out.println("Timing is acceptable.");
-        } else {
-            System.out.println("Iterations are taking too long!");
-            timing = true;
-        }
-
-        if (timing) {
-            System.out.printf("basis time: %.3g msec\n", basisMsec);
-            System.out.printf("test1: %.3g msec per iteration\n", msec1);
-            System.out.printf("test2: %.3g msec per iteration\n", msec2);
-            System.out.printf("test3: %.3g msec per iteration\n", msec3);
-        }
-
-    }
-
-    static public void preTest() {
-        /*
-         * This is meant to ensure that the basic enum functionality
-         * really is working.
-         */
-
-        Class<SamePackagePublicEnum> c = SamePackagePublicEnum.class;
-
-        System.out.println(Enum.valueOf(c, "FOUR"));
-        System.out.println(Enum.valueOf(c, "ONE"));
-        System.out.println(Enum.valueOf(c, "FOURTEEN"));
-        System.out.println(Enum.valueOf(c, "NINE"));
-        System.out.println(Enum.valueOf(c, "FIVE"));
-        System.out.println(Enum.valueOf(c, "TWELVE"));
-
-        System.out.println(Enum.valueOf(c, "ZERO").getClass().getName());
-    }
-
-    static final String[] BASIS_COMPARE_ARRAY = {
-        "ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT",
-        "NINE", "TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN",
-        "SIXTEEN", "SEVENTEEN", "EIGHTEEN", "NINETEEN"
-    };
-
-    static public int basis(int iters) {
-        for (int i = iters; i > 0; i--) {
-            basisValueOf("ZERO");
-            basisValueOf("ONE");
-            basisValueOf("TWO");
-            basisValueOf("THREE");
-            basisValueOf("FOUR");
-            basisValueOf("FIVE");
-            basisValueOf("SIX");
-            basisValueOf("SEVEN");
-            basisValueOf("EIGHT");
-            basisValueOf("NINE");
-            basisValueOf("TEN");
-            basisValueOf("ELEVEN");
-            basisValueOf("TWELVE");
-            basisValueOf("THIRTEEN");
-            basisValueOf("FOURTEEN");
-            basisValueOf("FIFTEEN");
-            basisValueOf("SIXTEEN");
-            basisValueOf("SEVENTEEN");
-            basisValueOf("EIGHTEEN");
-            basisValueOf("NINETEEN");
-        }
-
-        return iters * 20;
-    }
-
-    static String basisValueOf(String key) {
-        for (String s : BASIS_COMPARE_ARRAY) {
-            if (s.equals(key)) {
-                return s;
-            }
-        }
-        throw new IllegalArgumentException();
-    }
-
-    static public int test1(int iters) {
-        Class<SamePackagePublicEnum> c = SamePackagePublicEnum.class;
-        for (int i = iters; i > 0; i--) {
-            Enum.valueOf(c, "ZERO");
-            Enum.valueOf(c, "ONE");
-            Enum.valueOf(c, "TWO");
-            Enum.valueOf(c, "THREE");
-            Enum.valueOf(c, "FOUR");
-            Enum.valueOf(c, "FIVE");
-            Enum.valueOf(c, "SIX");
-            Enum.valueOf(c, "SEVEN");
-            Enum.valueOf(c, "EIGHT");
-            Enum.valueOf(c, "NINE");
-            Enum.valueOf(c, "TEN");
-            Enum.valueOf(c, "ELEVEN");
-            Enum.valueOf(c, "TWELVE");
-            Enum.valueOf(c, "THIRTEEN");
-            Enum.valueOf(c, "FOURTEEN");
-            Enum.valueOf(c, "FIFTEEN");
-            Enum.valueOf(c, "SIXTEEN");
-            Enum.valueOf(c, "SEVENTEEN");
-            Enum.valueOf(c, "EIGHTEEN");
-            Enum.valueOf(c, "NINETEEN");
-        }
-
-        return iters * 20;
-    }
-
-    static public int test2(int iters) {
-        Class<SamePackagePrivateEnum> c = SamePackagePrivateEnum.class;
-        for (int i = iters; i > 0; i--) {
-            Enum.valueOf(c, "ZERO");
-            Enum.valueOf(c, "ONE");
-            Enum.valueOf(c, "TWO");
-            Enum.valueOf(c, "THREE");
-            Enum.valueOf(c, "FOUR");
-            Enum.valueOf(c, "FIVE");
-            Enum.valueOf(c, "SIX");
-            Enum.valueOf(c, "SEVEN");
-            Enum.valueOf(c, "EIGHT");
-            Enum.valueOf(c, "NINE");
-            Enum.valueOf(c, "TEN");
-            Enum.valueOf(c, "ELEVEN");
-            Enum.valueOf(c, "TWELVE");
-            Enum.valueOf(c, "THIRTEEN");
-            Enum.valueOf(c, "FOURTEEN");
-            Enum.valueOf(c, "FIFTEEN");
-            Enum.valueOf(c, "SIXTEEN");
-            Enum.valueOf(c, "SEVENTEEN");
-            Enum.valueOf(c, "EIGHTEEN");
-            Enum.valueOf(c, "NINETEEN");
-        }
-
-        return iters * 20;
-    }
-
-    static public int test3(int iters) {
-        Class<OtherPackagePublicEnum> c = OtherPackagePublicEnum.class;
-        for (int i = iters; i > 0; i--) {
-            Enum.valueOf(c, "ZERO");
-            Enum.valueOf(c, "ONE");
-            Enum.valueOf(c, "TWO");
-            Enum.valueOf(c, "THREE");
-            Enum.valueOf(c, "FOUR");
-            Enum.valueOf(c, "FIVE");
-            Enum.valueOf(c, "SIX");
-            Enum.valueOf(c, "SEVEN");
-            Enum.valueOf(c, "EIGHT");
-            Enum.valueOf(c, "NINE");
-            Enum.valueOf(c, "TEN");
-            Enum.valueOf(c, "ELEVEN");
-            Enum.valueOf(c, "TWELVE");
-            Enum.valueOf(c, "THIRTEEN");
-            Enum.valueOf(c, "FOURTEEN");
-            Enum.valueOf(c, "FIFTEEN");
-            Enum.valueOf(c, "SIXTEEN");
-            Enum.valueOf(c, "SEVENTEEN");
-            Enum.valueOf(c, "EIGHTEEN");
-            Enum.valueOf(c, "NINETEEN");
-        }
-
-        return iters * 20;
-    }
-}
diff --git a/tests/055-enum-performance/src/SamePackagePrivateEnum.java b/tests/055-enum-performance/src/SamePackagePrivateEnum.java
deleted file mode 100644
index b6759f6..0000000
--- a/tests/055-enum-performance/src/SamePackagePrivateEnum.java
+++ /dev/null
@@ -1,5 +0,0 @@
-/*package*/ enum SamePackagePrivateEnum {
-    ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE,
-        TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN,
-        SEVENTEEN, EIGHTEEN, NINETEEN;
-}
diff --git a/tests/055-enum-performance/src/SamePackagePublicEnum.java b/tests/055-enum-performance/src/SamePackagePublicEnum.java
deleted file mode 100644
index 3a1c230..0000000
--- a/tests/055-enum-performance/src/SamePackagePublicEnum.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public enum SamePackagePublicEnum {
-    ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE,
-        TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN,
-        SEVENTEEN, EIGHTEEN, NINETEEN;
-}
diff --git a/tests/055-enum-performance/src/otherpackage/OtherPackagePublicEnum.java b/tests/055-enum-performance/src/otherpackage/OtherPackagePublicEnum.java
deleted file mode 100644
index 4ef4d78..0000000
--- a/tests/055-enum-performance/src/otherpackage/OtherPackagePublicEnum.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package otherpackage;
-
-public enum OtherPackagePublicEnum {
-    ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE,
-        TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN,
-        SEVENTEEN, EIGHTEEN, NINETEEN;
-}
diff --git a/tests/056-const-string-jumbo/build b/tests/056-const-string-jumbo/build
deleted file mode 100644
index c5e35db..0000000
--- a/tests/056-const-string-jumbo/build
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2008 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Stop if something fails.
-set -e
-
-# Write out files with 32768 total static string declarations, so that
-# the reference to "zorch" in the real test file will be guaranteed to
-# need a jumbo string reference (it sorts last after all the others).
-# Note: Each string reference is stored in a separate static variable,
-# and that variable's name is also represented in the strings, which
-# is why we can just have 32768 and not 65536 declarations.
-
-awk '
-BEGIN {
-    writeFile("Zorch1", 0, 16383);
-    writeFile("Zorch2", 16384, 32767);
-}
-function writeFile(name, start, end) {
-    fileName = "src/" name ".java";
-    printf("public class %s {\n", name) > fileName;
-    for (i = start; i <= end; i++) {
-        printf("    static public final String s%d = \"%d\";\n",
-            i, i) > fileName;
-    }
-    printf("}\n") > fileName;
-}'
-
-mkdir classes
-${JAVAC} -d classes src/*.java
-
-dx -JXmx500m --debug --dex --no-optimize --positions=none --no-locals \
-    --dump-to=classes.lst --output=classes.dex classes
-zip test.jar classes.dex
diff --git a/tests/056-const-string-jumbo/expected.txt b/tests/056-const-string-jumbo/expected.txt
deleted file mode 100644
index bebbf9e..0000000
--- a/tests/056-const-string-jumbo/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-zorch
diff --git a/tests/056-const-string-jumbo/info.txt b/tests/056-const-string-jumbo/info.txt
deleted file mode 100644
index c4ba856..0000000
--- a/tests/056-const-string-jumbo/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test that the opcode const-string/jumbo works.
diff --git a/tests/056-const-string-jumbo/src/Main.java b/tests/056-const-string-jumbo/src/Main.java
deleted file mode 100644
index 68d6e53..0000000
--- a/tests/056-const-string-jumbo/src/Main.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    static public void main(String[] args) {
-        System.out.println("zorch");
-    }
-}
diff --git a/tests/058-enum-order/expected.txt b/tests/058-enum-order/expected.txt
deleted file mode 100644
index b812404..0000000
--- a/tests/058-enum-order/expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-0: CORN
-1: BLUEBERRY
-2: CRANBERRY
-3: BRAN
-4: BLACKBERRY
diff --git a/tests/058-enum-order/info.txt b/tests/058-enum-order/info.txt
deleted file mode 100644
index b9809fd..0000000
--- a/tests/058-enum-order/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test that the ordering of enums is as expected.
diff --git a/tests/058-enum-order/src/Main.java b/tests/058-enum-order/src/Main.java
deleted file mode 100644
index 2cd6052..0000000
--- a/tests/058-enum-order/src/Main.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test enum ordering.
- */
-public class Main {
-    public static enum Muffin {
-        CORN, BLUEBERRY, CRANBERRY, BRAN, BLACKBERRY;
-    }
-
-    public static void main(String args[]) {
-        Muffin[] array = Muffin.class.getEnumConstants();
-        for (Muffin m : array) {
-            System.out.println(m.ordinal() + ": " + m);
-        }
-    }
-}
diff --git a/tests/059-finalizer-throw/expected.txt b/tests/059-finalizer-throw/expected.txt
deleted file mode 100644
index cbc9ece..0000000
--- a/tests/059-finalizer-throw/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-In finalizer
-done
diff --git a/tests/059-finalizer-throw/info.txt b/tests/059-finalizer-throw/info.txt
deleted file mode 100644
index 6261372..0000000
--- a/tests/059-finalizer-throw/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Verify that exceptions thrown from finalizers are ignored.
diff --git a/tests/059-finalizer-throw/src/Main.java b/tests/059-finalizer-throw/src/Main.java
deleted file mode 100644
index 42260e4..0000000
--- a/tests/059-finalizer-throw/src/Main.java
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-import java.util.Timer;
-import java.util.TimerTask;
-
-/*
- * Throw an exception from a finalizer and make sure it's harmless.  Under
- * Dalvik this may also generate a warning in the log file.
- */
-public class Main {
-    static Object waiter = new Object();
-    static volatile boolean didFinal = false;
-
-    static void createAndForget() {
-        Main main = new Main();
-    }
-
-    public static void main(String[] args) {
-        createAndForget();
-
-        System.gc();
-        System.runFinalization();
-
-        new Timer(true).schedule(new TimerTask() {
-                public void run() {
-                    System.out.println("Timed out, exiting");
-                    System.exit(1);
-                }
-            }, 30000);
-
-        while (!didFinal) {
-            try {
-                Thread.sleep(500);
-            } catch (InterruptedException ie) {
-                System.err.println(ie);
-            }
-        }
-
-        /* give it a chance to cause mayhem */
-        try {
-            Thread.sleep(750);
-        } catch (InterruptedException ie) {
-            System.err.println(ie);
-        }
-
-        System.out.println("done");
-    }
-
-    protected void finalize() throws Throwable {
-        System.out.println("In finalizer");
-
-        didFinal = true;
-
-        throw new InterruptedException("whee");
-    }
-}
diff --git a/tests/061-out-of-memory/expected.txt b/tests/061-out-of-memory/expected.txt
deleted file mode 100644
index ca87629..0000000
--- a/tests/061-out-of-memory/expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-tests beginning
-Got expected huge-array OOM
-testOomeLarge beginning
-testOomeLarge succeeded
-testOomeSmall beginning
-testOomeSmall succeeded
-tests succeeded
diff --git a/tests/061-out-of-memory/info.txt b/tests/061-out-of-memory/info.txt
deleted file mode 100644
index 523f3a2..0000000
--- a/tests/061-out-of-memory/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Tests the various ways that an OutOfMemoryError can be constructed and thrown.
diff --git a/tests/061-out-of-memory/src/Main.java b/tests/061-out-of-memory/src/Main.java
deleted file mode 100644
index c812c81..0000000
--- a/tests/061-out-of-memory/src/Main.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.Arrays;
-import java.util.LinkedList;
-
-/**
- * Exercise the construction and throwing of OutOfMemoryError.
- */
-public class Main {
-    public static void main(String args[]) {
-        System.out.println("tests beginning");
-        testHugeArray();
-        testOomeLarge();
-        testOomeSmall();
-        System.out.println("tests succeeded");
-    }
-
-    private static void testHugeArray() {
-        try {
-            final int COUNT = 32768*32768 + 4;
-            int[] tooBig = new int[COUNT];
-
-            Arrays.fill(tooBig, 0xdd);
-        } catch (OutOfMemoryError oom) {
-            System.out.println("Got expected huge-array OOM");
-        }
-    }
-
-    private static void testOomeLarge() {
-        System.out.println("testOomeLarge beginning");
-
-        Boolean sawEx = false;
-        byte[] a;
-
-        try {
-            // Just shy of the typical max heap size so that it will actually
-            // try to allocate it instead of short-circuiting.
-            a = new byte[(int) Runtime.getRuntime().maxMemory() - 32];
-        } catch (OutOfMemoryError oom) {
-            //Log.i(TAG, "HeapTest/OomeLarge caught " + oom);
-            sawEx = true;
-        }
-
-        if (!sawEx) {
-            throw new RuntimeException("Test failed: " +
-                    "OutOfMemoryError not thrown");
-        }
-
-        System.out.println("testOomeLarge succeeded");
-    }
-
-    /* Do this in another method so that the GC has a chance of freeing the
-     * list afterwards.  Even if we null out list when we're done, the conservative
-     * GC may see a stale pointer to it in a register.
-     */
-    private static boolean testOomeSmallInternal() {
-        final int LINK_SIZE = 6 * 4; // estimated size of a LinkedList's node
-
-        LinkedList<Object> list = new LinkedList<Object>();
-
-        /* Allocate progressively smaller objects to fill up the entire heap.
-         */
-        int objSize = 1 * 1024 * 1024;
-        while (objSize >= LINK_SIZE) {
-            boolean sawEx = false;
-            try {
-                for (int i = 0; i < Runtime.getRuntime().maxMemory() / objSize; i++) {
-                    list.add((Object)new byte[objSize]);
-                }
-            } catch (OutOfMemoryError oom) {
-                sawEx = true;
-            }
-
-            if (!sawEx) {
-                return false;
-            }
-
-            objSize = (objSize * 4) / 5;
-        }
-
-        return true;
-    }
-
-    private static void testOomeSmall() {
-        System.out.println("testOomeSmall beginning");
-        if (!testOomeSmallInternal()) {
-            /* Can't reliably throw this from inside the internal function, because
-             * we may not be able to allocate the RuntimeException.
-             */
-            throw new RuntimeException("Test failed: " +
-                    "OutOfMemoryError not thrown while filling heap");
-        }
-        System.out.println("testOomeSmall succeeded");
-    }
-}
diff --git a/tests/062-character-encodings/expected.txt b/tests/062-character-encodings/expected.txt
deleted file mode 100644
index b395a2a..0000000
--- a/tests/062-character-encodings/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Missing: []
diff --git a/tests/062-character-encodings/info.txt b/tests/062-character-encodings/info.txt
deleted file mode 100644
index bdf60bf..0000000
--- a/tests/062-character-encodings/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test that the list of character encodings is what we expect.
diff --git a/tests/062-character-encodings/src/Main.java b/tests/062-character-encodings/src/Main.java
deleted file mode 100644
index 6e9f0cd..0000000
--- a/tests/062-character-encodings/src/Main.java
+++ /dev/null
@@ -1,25 +0,0 @@
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.Set;
-
-public class Main {
-    static public void main(String[] args) throws Exception {
-        // These charsets must be provided; anything else is optional.
-        List<String> standardCharsets = Arrays.asList("US-ASCII", "ISO-8859-1",
-                "UTF-8", "UTF-16BE", "UTF-16LE", "UTF-16");
-
-        SortedMap<String, Charset> all = Charset.availableCharsets();
-        Set<String> needed = new HashSet<String>(standardCharsets);
-        for (Map.Entry<String, Charset> e : all.entrySet()) {
-            String canonicalName = e.getKey();
-            needed.remove(canonicalName);
-        }
-        System.out.println("Missing: " + needed);
-    }
-}
diff --git a/tests/063-process-manager/expected.txt b/tests/063-process-manager/expected.txt
deleted file mode 100644
index 8360239..0000000
--- a/tests/063-process-manager/expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-process manager: nonexistent
-
-spawning child #1
-spawning child
-process manager: RUNNABLE
-child died
-process manager: WAITING
-
-spawning child #2
-spawning child
-process manager: RUNNABLE
-child died
-process manager: WAITING
-
-done!
diff --git a/tests/063-process-manager/info.txt b/tests/063-process-manager/info.txt
deleted file mode 100644
index e5907c4..0000000
--- a/tests/063-process-manager/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Test that spawning a child process and then reaping it (a) works and (b)
-doesn't cause the system to busy-wait.
diff --git a/tests/063-process-manager/src/Main.java b/tests/063-process-manager/src/Main.java
deleted file mode 100644
index 68bf878..0000000
--- a/tests/063-process-manager/src/Main.java
+++ /dev/null
@@ -1,43 +0,0 @@
-import java.util.Map;
-
-public class Main {
-    static public void main(String[] args) throws Exception {
-        checkManager();
-        for (int i = 1; i <= 2; i++) {
-            System.out.println("\nspawning child #" + i);
-            child();
-            Thread.sleep(2000);
-            checkManager();
-        }
-        System.out.println("\ndone!");
-    }
-
-    static private void child() throws Exception {
-        System.out.println("spawning child");
-        ProcessBuilder pb = new ProcessBuilder("sleep", "5");
-        Process proc = pb.start();
-        Thread.sleep(1000);
-        checkManager();
-        proc.waitFor();
-        System.out.println("child died");
-    }
-
-    static private void checkManager() {
-        Map<Thread, StackTraceElement[]> traces = Thread.getAllStackTraces();
-        boolean found = false;
-
-        for (Map.Entry<Thread, StackTraceElement[]> entry :
-                 traces.entrySet()) {
-            Thread t = entry.getKey();
-            String name = t.getName();
-            if (name.equals("java.lang.ProcessManager")) {
-                System.out.println("process manager: " + t.getState());
-                found = true;
-            }
-        }
-
-        if (! found) {
-            System.out.println("process manager: nonexistent");
-        }
-    }
-}
diff --git a/tests/064-field-access/expected.txt b/tests/064-field-access/expected.txt
deleted file mode 100644
index 0af56ba..0000000
--- a/tests/064-field-access/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-good
-Got expected failure
diff --git a/tests/064-field-access/info.txt b/tests/064-field-access/info.txt
deleted file mode 100644
index 442baf2..0000000
--- a/tests/064-field-access/info.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-The documentation lists exceptional conditions and the exceptions that
-should be thrown, but doesn't say which exception previals when two or
-more exceptional conditions exist at the same time.  For example,
-attempting to set a protected field from an unrelated class causes an
-IllegalAccessException, while passing in a data type that doesn't match
-the field causes an IllegalArgumentException.  If code does both at the
-same time, we can only throw one or the other.
-
-This exercises the various failure modes to ensure that behavior is
-equivalent, and not merely spec-compliant.
diff --git a/tests/064-field-access/src/GetNonexistent.java b/tests/064-field-access/src/GetNonexistent.java
deleted file mode 100644
index faad686..0000000
--- a/tests/064-field-access/src/GetNonexistent.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class GetNonexistent {
-    public static void main(String[] args) {
-        Object obj = Holder.mObject;
-    }
-}
diff --git a/tests/064-field-access/src/Holder.java b/tests/064-field-access/src/Holder.java
deleted file mode 100644
index 5e34024..0000000
--- a/tests/064-field-access/src/Holder.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Holder {
-    public static Object mObject = new Object();
-}
diff --git a/tests/064-field-access/src/Main.java b/tests/064-field-access/src/Main.java
deleted file mode 100644
index c068d23..0000000
--- a/tests/064-field-access/src/Main.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import other.OtherPackage;
-
-import java.lang.reflect.Field;
-
-/*
- * Test field access through reflection.
- */
-public class Main {
-    public static void main(String[] args) {
-        SubOther.main(null);
-
-        try {
-            GetNonexistent.main(null);
-            System.err.println("Not expected to succeed");
-        } catch (VerifyError fe) {
-            // dalvik
-            System.out.println("Got expected failure");
-        } catch (NoSuchFieldError nsfe) {
-            // reference
-            System.out.println("Got expected failure");
-        }
-    }
-
-    /*
-     * Get the field specified by "field" from "obj".
-     *
-     * "type" determines which "get" call is made, e.g. 'B' turns into
-     * field.getByte().
-     *
-     * The "expectedException" must match the class of the exception thrown,
-     * or be null if no exception was expected.
-     *
-     * On success, the boxed value retrieved is returned.
-     */
-    public Object getValue(Field field, Object obj, char type,
-            Class expectedException) {
-
-        Object result = null;
-        try {
-            switch (type) {
-            case 'Z':
-                result = new Boolean(field.getBoolean(obj));
-                break;
-            case 'B':
-                result = new Byte(field.getByte(obj));
-                break;
-            case 'S':
-                result = new Short(field.getShort(obj));
-                break;
-            case 'C':
-                result = new Character(field.getChar(obj));
-                break;
-            case 'I':
-                result = new Integer(field.getInt(obj));
-                break;
-            case 'J':
-                result = new Long(field.getLong(obj));
-                break;
-            case 'F':
-                result = new Float(field.getFloat(obj));
-                break;
-            case 'D':
-                result = new Double(field.getDouble(obj));
-                break;
-            case 'L':
-                result = field.get(obj);
-                break;
-            default:
-                throw new RuntimeException("bad type '" + type + "'");
-            }
-
-            /* success; expected? */
-            if (expectedException != null) {
-                Throwable th = new Throwable();
-                System.err.println("ERROR: call succeeded, was expecting "
-                    + expectedException);
-                th.printStackTrace();
-            }
-        } catch (Exception ex) {
-            if (expectedException == null) {
-                System.err.println("ERROR: call failed unexpectedly: "
-                    + ex.getClass());
-                ex.printStackTrace();
-            } else {
-                if (!expectedException.equals(ex.getClass())) {
-                    System.err.println("ERROR: incorrect exception: wanted "
-                        + expectedException.getName() + ", got "
-                        + ex.getClass());
-                    ex.printStackTrace();
-                }
-            }
-        }
-
-        return result;
-    }
-}
-
-/*
- * Local class with some fields.
- */
-class SamePackage {
-    public byte pubByteField;
-
-    protected byte protByteField;
-    protected Object protObjectField;
-
-    private float privFloatField;
-}
-
-/*
- * This is a sub-class of OtherPackage, which should be allowed to access
- * the various protected fields.
- */
-class SubOther extends OtherPackage {
-
-    protected long protLongField = 0x1122334455667788L;
-
-    /*
-     * Perform the various tests.
-     *
-     * localInst.getValue() is performed using an instance of Main as the
-     * source of the reflection call.  otherInst.getValue() uses a subclass
-     * of OtherPackage as the source.
-     */
-    public static void main(String[] args) {
-        SubOther subOther = new SubOther();
-        subOther.doTests();
-    }
-
-    public void doTests() {
-        Class localClass = SamePackage.class;
-        Class otherClass = OtherPackage.class;
-        Field localPubByteField, localProtByteField, localProtObjectField,
-              localPrivFloatField;
-        Field otherPubCharField, otherProtShortField, otherProtObjectField,
-              otherPkgDoubleField;
-        Field subProtLongField;
-        Main localInst = new Main();
-        SamePackage samePkgInst = new SamePackage();
-        OtherPackage otherPkgInst = new OtherPackage();
-        Object plainObj = new Object();
-
-        /*
-         * Locate the various fields.
-         */
-        try {
-            localPubByteField = localClass.getDeclaredField("pubByteField");
-            localProtByteField = localClass.getDeclaredField("protByteField");
-            localProtObjectField = localClass.getDeclaredField("protObjectField");
-            localPrivFloatField = localClass.getDeclaredField("privFloatField");
-
-            otherPubCharField = otherClass.getDeclaredField("pubCharField");
-            otherProtShortField = otherClass.getDeclaredField("protShortField");
-            otherProtObjectField = otherClass.getDeclaredField("protObjectField");
-            otherPkgDoubleField = otherClass.getDeclaredField("pkgDoubleField");
-
-            subProtLongField = getClass().getDeclaredField("protLongField");
-        } catch (NoSuchFieldException nsfe) {
-            throw new RuntimeException(nsfe);
-        }
-
-        /*
-         * Get a public field from a class in the same package.
-         */
-        localInst.getValue(localPubByteField, samePkgInst, 'B', null);
-
-        /*
-         * Get a protected field from a class in the same package.
-         */
-        this.getValue(localProtByteField, samePkgInst, 'B', null);
-
-        /*
-         * Get a private field from a class in the same package.
-         */
-        this.getValue(localPrivFloatField, samePkgInst, 'F',
-            IllegalAccessException.class);
-
-        /*
-         * Get a protected field from otherInst's superclass.
-         *
-         * We can get at "this.protShortField" but not
-         * "otherPkgInst.protShortField" because we can only access
-         * protected fields in instances of our class -- being a subclass
-         * of OtherPackage does not allow us to modify protected fields in
-         * all other subclasses of OtherPackage.
-         */
-        this.getValue(otherProtShortField, this, 'S',
-            null);
-        this.getValue(otherProtShortField, otherPkgInst, 'S',
-            IllegalAccessException.class);
-        this.getValue(otherPkgDoubleField, otherPkgInst, 'D',
-            IllegalAccessException.class);
-
-        /*
-         * Null object.  Different exceptions based on which package
-         * we would be trying to access and whether or not our object
-         * has the correct type.
-         */
-        localInst.getValue(localPubByteField, null, 'B',
-            NullPointerException.class);
-
-        this.getValue(subProtLongField, null, 'J',
-            NullPointerException.class);
-
-        this.getValue(localPrivFloatField, null, 'F',
-            IllegalAccessException.class);
-
-        localInst.getValue(otherProtShortField, null, 'S',
-            IllegalAccessException.class);
-        this.getValue(otherProtShortField, null, 'S',
-            IllegalAccessException.class);
-        this.getValue(otherPkgDoubleField, null, 'D',
-            IllegalAccessException.class);
-
-        localInst.getValue(otherProtShortField, null, 'Z',
-            IllegalAccessException.class);
-        /* -- Dalvik VM currently throws NPE
-        this.getValue(subProtLongField, null, 'Z',
-            IllegalArgumentException.class);
-        */
-
-        /*
-         * Valid object, wrong field type.
-         */
-        this.getValue(subProtLongField, this, 'J',
-            null);
-        this.getValue(localProtByteField, samePkgInst, 'Z',
-            IllegalArgumentException.class);
-        this.getValue(subProtLongField, this, 'Z',
-            IllegalArgumentException.class);
-        this.getValue(localPrivFloatField, this, 'Z',
-            IllegalAccessException.class);
-        this.getValue(localPrivFloatField, this, 'Z',
-            IllegalAccessException.class);
-        localInst.getValue(otherProtShortField, otherPkgInst, 'Z',
-            IllegalAccessException.class);
-        this.getValue(otherProtShortField, otherPkgInst, 'Z',
-            IllegalAccessException.class);
-
-        /*
-         * Wrong object.
-         */
-        this.getValue(subProtLongField, plainObj, 'J',
-            IllegalArgumentException.class);
-
-        /* wrong object + private field */
-        this.getValue(localPrivFloatField, plainObj, 'F',
-            IllegalAccessException.class);
-
-        /* wrong object + wrong field type */
-        this.getValue(subProtLongField, plainObj, 'Z',
-            IllegalArgumentException.class);
-
-        /* wrong object + invalid access */
-        localInst.getValue(otherProtShortField, plainObj, 'S',
-            IllegalAccessException.class);
-        this.getValue(otherProtShortField, plainObj, 'S',
-            IllegalAccessException.class);
-
-        System.out.println("good");
-    }
-
-    /*
-     * [this is a clone of Main.getValue() -- the class issuing the
-     * reflection call is significant]
-     */
-    public Object getValue(Field field, Object obj, char type,
-            Class expectedException) {
-
-        Object result = null;
-        try {
-            switch (type) {
-            case 'Z':
-                result = new Boolean(field.getBoolean(obj));
-                break;
-            case 'B':
-                result = new Byte(field.getByte(obj));
-                break;
-            case 'S':
-                result = new Short(field.getShort(obj));
-                break;
-            case 'C':
-                result = new Character(field.getChar(obj));
-                break;
-            case 'I':
-                result = new Integer(field.getInt(obj));
-                break;
-            case 'J':
-                result = new Long(field.getLong(obj));
-                break;
-            case 'F':
-                result = new Float(field.getFloat(obj));
-                break;
-            case 'D':
-                result = new Double(field.getDouble(obj));
-                break;
-            case 'L':
-                result = field.get(obj);
-                break;
-            default:
-                throw new RuntimeException("bad type '" + type + "'");
-            }
-
-            /* success; expected? */
-            if (expectedException != null) {
-                Throwable th = new Throwable();
-                System.err.println("ERROR: call succeeded, was expecting "
-                    + expectedException);
-                th.printStackTrace();
-            }
-        } catch (Exception ex) {
-            if (expectedException == null) {
-                System.err.println("ERROR: call failed unexpectedly: "
-                    + ex.getClass());
-                ex.printStackTrace();
-            } else {
-                if (!expectedException.equals(ex.getClass())) {
-                    System.err.println("ERROR: incorrect exception: wanted "
-                        + expectedException.getName() + ", got "
-                        + ex.getClass());
-                    ex.printStackTrace();
-                }
-            }
-        }
-
-        return result;
-    }
-
-}
diff --git a/tests/064-field-access/src/other/OtherPackage.java b/tests/064-field-access/src/other/OtherPackage.java
deleted file mode 100644
index a595db5..0000000
--- a/tests/064-field-access/src/other/OtherPackage.java
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-package other;
-
-/*
- * Declare a few fields to reflect upon.
- */
-public class OtherPackage {
-    public char pubCharField = 0x8765;
-
-    protected short protShortField = 0x1234;
-    protected Object protObjectField = "blah";
-
-    double pkgDoubleField = 3.141592654;
-}
diff --git a/tests/064-field-access/src2/Holder.java b/tests/064-field-access/src2/Holder.java
deleted file mode 100644
index 28224d7..0000000
--- a/tests/064-field-access/src2/Holder.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Holder {
-    //public static Object mObject = new Object();
-}
diff --git a/tests/065-mismatched-implements/expected.txt b/tests/065-mismatched-implements/expected.txt
deleted file mode 100644
index 09c0596..0000000
--- a/tests/065-mismatched-implements/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Got expected ICCE
diff --git a/tests/065-mismatched-implements/info.txt b/tests/065-mismatched-implements/info.txt
deleted file mode 100644
index 74c3ff3..0000000
--- a/tests/065-mismatched-implements/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This tests what happens when class A implements interface B, but somebody
-turns B into an abstract class without rebuilding A.
diff --git a/tests/065-mismatched-implements/src/Base.java b/tests/065-mismatched-implements/src/Base.java
deleted file mode 100644
index 8623ad7..0000000
--- a/tests/065-mismatched-implements/src/Base.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public class Base implements Defs {
-    public void func() {
-        System.out.println("whee");
-    }
-};
diff --git a/tests/065-mismatched-implements/src/Defs.java b/tests/065-mismatched-implements/src/Defs.java
deleted file mode 100644
index bab92d8..0000000
--- a/tests/065-mismatched-implements/src/Defs.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public interface Defs {
-    public void func();
-
-    // func2 not defined
-}
diff --git a/tests/065-mismatched-implements/src/Indirect.java b/tests/065-mismatched-implements/src/Indirect.java
deleted file mode 100644
index 023e409..0000000
--- a/tests/065-mismatched-implements/src/Indirect.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Error indirection class.
- *
- * Some VMs will load this class and fail on the "new" call, others will
- * refuse to load this class at all.
- */
-public class Indirect {
-    public static void main() {
-        Base base = new Base();
-    }
-}
diff --git a/tests/065-mismatched-implements/src/Main.java b/tests/065-mismatched-implements/src/Main.java
deleted file mode 100644
index 5975b99..0000000
--- a/tests/065-mismatched-implements/src/Main.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Test field access through reflection.
- */
-public class Main {
-    public static void main(String[] args) {
-        try {
-            Indirect.main();
-            System.err.println("Succeeded unexpectedly");
-        } catch (IncompatibleClassChangeError icce) {
-            System.out.println("Got expected ICCE");
-        }
-    }
-}
diff --git a/tests/065-mismatched-implements/src2/Defs.java b/tests/065-mismatched-implements/src2/Defs.java
deleted file mode 100644
index e7eb8a1..0000000
--- a/tests/065-mismatched-implements/src2/Defs.java
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public abstract class Defs {
-    public void func() {
-        System.out.println("yo");
-    }
-
-    public void func2() {
-        System.out.println("yo yo");
-    }
-}
diff --git a/tests/066-mismatched-super/expected.txt b/tests/066-mismatched-super/expected.txt
deleted file mode 100644
index 09c0596..0000000
--- a/tests/066-mismatched-super/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Got expected ICCE
diff --git a/tests/066-mismatched-super/info.txt b/tests/066-mismatched-super/info.txt
deleted file mode 100644
index 7865ffc..0000000
--- a/tests/066-mismatched-super/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This tests what happens when class A extends abstract class B, but somebody
-turns B into an interface without rebuilding A.
diff --git a/tests/066-mismatched-super/src/Base.java b/tests/066-mismatched-super/src/Base.java
deleted file mode 100644
index 6180c8b..0000000
--- a/tests/066-mismatched-super/src/Base.java
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public class Base extends Defs {
-    // no need to implement func(), provided by abstract class
-};
diff --git a/tests/066-mismatched-super/src/Defs.java b/tests/066-mismatched-super/src/Defs.java
deleted file mode 100644
index e7eb8a1..0000000
--- a/tests/066-mismatched-super/src/Defs.java
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public abstract class Defs {
-    public void func() {
-        System.out.println("yo");
-    }
-
-    public void func2() {
-        System.out.println("yo yo");
-    }
-}
diff --git a/tests/066-mismatched-super/src/Indirect.java b/tests/066-mismatched-super/src/Indirect.java
deleted file mode 100644
index 023e409..0000000
--- a/tests/066-mismatched-super/src/Indirect.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Error indirection class.
- *
- * Some VMs will load this class and fail on the "new" call, others will
- * refuse to load this class at all.
- */
-public class Indirect {
-    public static void main() {
-        Base base = new Base();
-    }
-}
diff --git a/tests/066-mismatched-super/src/Main.java b/tests/066-mismatched-super/src/Main.java
deleted file mode 100644
index 5975b99..0000000
--- a/tests/066-mismatched-super/src/Main.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Test field access through reflection.
- */
-public class Main {
-    public static void main(String[] args) {
-        try {
-            Indirect.main();
-            System.err.println("Succeeded unexpectedly");
-        } catch (IncompatibleClassChangeError icce) {
-            System.out.println("Got expected ICCE");
-        }
-    }
-}
diff --git a/tests/066-mismatched-super/src2/Defs.java b/tests/066-mismatched-super/src2/Defs.java
deleted file mode 100644
index bab92d8..0000000
--- a/tests/066-mismatched-super/src2/Defs.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-public interface Defs {
-    public void func();
-
-    // func2 not defined
-}
diff --git a/tests/067-preemptive-unpark/expected.txt b/tests/067-preemptive-unpark/expected.txt
deleted file mode 100644
index 12bfee0..0000000
--- a/tests/067-preemptive-unpark/expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Test starting
-GC'ing
-Asking thread to park
-park() returned quickly
-Test succeeded!
diff --git a/tests/067-preemptive-unpark/info.txt b/tests/067-preemptive-unpark/info.txt
deleted file mode 100644
index 0bc0c61..0000000
--- a/tests/067-preemptive-unpark/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test that Unsafe.unpark() operates as expected, in particular across a gc.
diff --git a/tests/067-preemptive-unpark/src/Main.java b/tests/067-preemptive-unpark/src/Main.java
deleted file mode 100644
index a16219e..0000000
--- a/tests/067-preemptive-unpark/src/Main.java
+++ /dev/null
@@ -1,107 +0,0 @@
-import sun.misc.Unsafe;
-
-import java.lang.reflect.Field;
-
-public class Main {
-    private static Unsafe UNSAFE;
-
-    public static void main(String[] args) throws Exception {
-        setUp();
-
-        ParkTester test = new ParkTester();
-
-        System.out.println("Test starting");
-
-        test.start();
-        UNSAFE.unpark(test);
-        clearStack(10);
-
-        System.out.println("GC'ing");
-        System.gc();
-        System.gc();
-
-        System.out.println("Asking thread to park");
-        test.parkNow = true;
-
-        try {
-            Thread.sleep(1500);
-        } catch (InterruptedException ex) {
-            // Ignore it.
-        }
-
-        if (test.success) {
-            System.out.println("Test succeeded!");
-        } else {
-            System.out.println("Test failed.");
-        }
-    }
-
-    /**
-     * Set up {@link #UNSAFE}.
-     */
-    public static void setUp() {
-        /*
-         * Subvert the access check to get the unique Unsafe instance.
-         * We can do this because there's no security manager
-         * installed when running the test.
-         */
-        try {
-            Field field = Unsafe.class.getDeclaredField("THE_ONE");
-            field.setAccessible(true);
-
-            UNSAFE = (Unsafe) field.get(null);
-        } catch (NoSuchFieldException ex) {
-            throw new RuntimeException(ex);
-        } catch (IllegalAccessException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    /**
-     * Scribbles on the stack to help ensure we don't have a fake
-     * pointer that would keep would-be garbage alive.
-     */
-    private static void clearStack(int depth) {
-        int a = 0;
-        int b = 0;
-        int c = 0;
-        int d = 0;
-        int e = 0;
-        int f = 0;
-        int g = 0;
-        int h = 0;
-        int i = 0;
-        int j = 0;
-
-        if (depth > 0) {
-            clearStack(depth - 1);
-        }
-    }
-
-    private static class ParkTester extends Thread {
-        public volatile boolean parkNow = false;
-        public volatile boolean success = false;
-
-        public void run() {
-            while (!parkNow) {
-                try {
-                    Thread.sleep(500);
-                } catch (InterruptedException ex) {
-                    // Ignore it.
-                }
-            }
-
-            long start = System.currentTimeMillis();
-            UNSAFE.park(false, 500 * 1000000); // 500 msec
-            long elapsed = System.currentTimeMillis() - start;
-
-            if (elapsed > 200) {
-                System.out.println("park()ed for " + elapsed + " msec");
-                success = false;
-            } else {
-                System.out.println("park() returned quickly");
-                success = true;
-            }
-        }
-    }
-}
diff --git a/tests/068-classloader/expected.txt b/tests/068-classloader/expected.txt
deleted file mode 100644
index bf131ee..0000000
--- a/tests/068-classloader/expected.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-base: class DoubledImplement
-base2: class DoubledImplement2
-Got expected access exception #1
-Got expected CNFE/IAE #2
-Got expected CNFE/IAE #3
-Got expected LinkageError on DE
-Got DEO result DoubledExtendOkay 1
-Got LinkageError on GD
-Got LinkageError on TA
-Ctor: doubled implement, type 1
-DoubledImplement one
-Got LinkageError on DI (early)
-Got LinkageError on IDI (early)
diff --git a/tests/068-classloader/info.txt b/tests/068-classloader/info.txt
deleted file mode 100644
index 421e52a..0000000
--- a/tests/068-classloader/info.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Class loaders allow code to "redefine" a given class, e.g. it's possible to
-have multiple classes called "com.android.Blah" loaded simultaneously.  The
-classes are distinct and must be treated as such.  This test exercises
-some situations in which a VM that only checks the UTF-8 signatures could
-mix things up.
-
-This also tests a couple of situations in which an IllegalAccessException
-is expected.
diff --git a/tests/068-classloader/src-ex/AbstractGet.java b/tests/068-classloader/src-ex/AbstractGet.java
deleted file mode 100644
index db13b32..0000000
--- a/tests/068-classloader/src-ex/AbstractGet.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Verify that we don't reject this with a LinkageError.
- */
-public class AbstractGet extends AbstractBase {
-    public DoubledExtendOkay getExtended() {
-        return new DoubledExtendOkay();
-    }
-}
-
-/**
- * Abstract class, does not declare getAbstract.  This cause the VM to
- * generate a "miranda" method.
- */
-abstract class AbstractBase extends BaseOkay {
-    public abstract DoubledExtendOkay getExtended();
-}
diff --git a/tests/068-classloader/src-ex/DoubledExtend.java b/tests/068-classloader/src-ex/DoubledExtend.java
deleted file mode 100644
index 6ad2708..0000000
--- a/tests/068-classloader/src-ex/DoubledExtend.java
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Doubled sub-class, form #2.
- */
-public class DoubledExtend extends Base {
-    public DoubledExtend() {
-        //System.out.println("Ctor: doubled extend, type 2");
-    }
-
-    @Override
-    public DoubledExtend getExtended() {
-        //System.out.println("getExtended 2");
-        return new DoubledExtend();
-    }
-
-    public String getStr() {
-        return "DoubledExtend 2";
-    }
-}
diff --git a/tests/068-classloader/src-ex/DoubledExtendOkay.java b/tests/068-classloader/src-ex/DoubledExtendOkay.java
deleted file mode 100644
index 9674875..0000000
--- a/tests/068-classloader/src-ex/DoubledExtendOkay.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * "Okay" doubled sub-class, form #2.
- */
-public class DoubledExtendOkay extends BaseOkay {
-    public DoubledExtendOkay() {
-        //System.out.println("Ctor: doubled extend okay, type 2");
-    }
-
-    /*
-    @Override
-    public DoubledExtendOkay getExtended() {
-        //System.out.println("getExtended 2");
-        return new DoubledExtendOkay();
-    }
-    */
-
-    public String getStr() {
-        return "DoubledExtendOkay 2";
-    }
-}
diff --git a/tests/068-classloader/src-ex/DoubledImplement.java b/tests/068-classloader/src-ex/DoubledImplement.java
deleted file mode 100644
index 5c44fc3..0000000
--- a/tests/068-classloader/src-ex/DoubledImplement.java
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Doubled sub-class, form #2.
- */
-public class DoubledImplement implements ICommon {
-    public DoubledImplement() {
-        System.out.println("Ctor: doubled implement, type 2");
-    }
-
-    public DoubledImplement getDoubledInstance() {
-        return new DoubledImplement();
-    }
-
-    public void two() {
-        System.out.println("DoubledImplement two");
-    }
-}
diff --git a/tests/068-classloader/src-ex/DoubledImplement2.java b/tests/068-classloader/src-ex/DoubledImplement2.java
deleted file mode 100644
index 24ecb65..0000000
--- a/tests/068-classloader/src-ex/DoubledImplement2.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Another doubled sub-class, form #2.
- */
-public class DoubledImplement2 implements ICommon2 {
-    public DoubledImplement2() {
-        System.out.println("Ctor: doubled implement, type 2");
-    }
-
-    public DoubledImplement2 getDoubledInstance2() {
-        return new DoubledImplement2();
-    }
-
-    public void two() {
-        System.out.println("DoubledImplement2 two");
-    }
-}
diff --git a/tests/068-classloader/src-ex/GetDoubled.java b/tests/068-classloader/src-ex/GetDoubled.java
deleted file mode 100644
index 28ada1e..0000000
--- a/tests/068-classloader/src-ex/GetDoubled.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * The interface we implement was declared in a different class loader,
- * which means the DoubledExtend we return is not the one it was declared
- * to return.
- */
-public class GetDoubled implements IGetDoubled {
-    public DoubledExtendOkay getDoubled() {
-        return new DoubledExtendOkay();
-    }
-}
diff --git a/tests/068-classloader/src-ex/IfaceImpl.java b/tests/068-classloader/src-ex/IfaceImpl.java
deleted file mode 100644
index 7e9c27d..0000000
--- a/tests/068-classloader/src-ex/IfaceImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class IfaceImpl implements IfaceSub {
-    public DoubledImplement2 getDoubledInstance2() {
-        return new DoubledImplement2();
-    }
-}
diff --git a/tests/068-classloader/src-ex/IfaceSub.java b/tests/068-classloader/src-ex/IfaceSub.java
deleted file mode 100644
index 7e512e7..0000000
--- a/tests/068-classloader/src-ex/IfaceSub.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public interface IfaceSub extends IfaceSuper {
-    public DoubledImplement2 getDoubledInstance2();
-}
diff --git a/tests/068-classloader/src-ex/Inaccessible1.java b/tests/068-classloader/src-ex/Inaccessible1.java
deleted file mode 100644
index 415a8a1..0000000
--- a/tests/068-classloader/src-ex/Inaccessible1.java
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Non-public class, inaccessible from Main.  Note the constructor is
- * public.
- */
-class Inaccessible1 extends SimpleBase {
-    public Inaccessible1() {
-        System.out.println("--- inaccessible1");
-    }
-}
diff --git a/tests/068-classloader/src-ex/Inaccessible2.java b/tests/068-classloader/src-ex/Inaccessible2.java
deleted file mode 100644
index dc20c21..0000000
--- a/tests/068-classloader/src-ex/Inaccessible2.java
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Public class that can't access its base.
- */
-public class Inaccessible2 extends InaccessibleBase {
-    public Inaccessible2() {
-        System.out.println("--- inaccessible2");
-    }
-}
diff --git a/tests/068-classloader/src-ex/Inaccessible3.java b/tests/068-classloader/src-ex/Inaccessible3.java
deleted file mode 100644
index 771d0f7..0000000
--- a/tests/068-classloader/src-ex/Inaccessible3.java
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Public class that can't access its interface.
- */
-public class Inaccessible3 implements InaccessibleInterface {
-    public Inaccessible3() {
-        System.out.println("--- inaccessible3");
-    }
-}
diff --git a/tests/068-classloader/src/Base.java b/tests/068-classloader/src/Base.java
deleted file mode 100644
index b297a8a..0000000
--- a/tests/068-classloader/src/Base.java
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Common base class.
- */
-public class Base {
-    public Base() {}
-
-    public DoubledExtend getExtended() {
-        return new DoubledExtend();
-    }
-
-    public static String doStuff(DoubledExtend dt) {
-        return dt.getStr();
-    }
-}
diff --git a/tests/068-classloader/src/BaseOkay.java b/tests/068-classloader/src/BaseOkay.java
deleted file mode 100644
index 48b7796..0000000
--- a/tests/068-classloader/src/BaseOkay.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Common base class.
- */
-public class BaseOkay implements IDoubledExtendOkay {
-    public BaseOkay() {}
-
-    public DoubledExtendOkay getExtended() {
-        return new DoubledExtendOkay();
-    }
-
-    public static String doStuff(DoubledExtendOkay dt) {
-        return dt.getStr();
-    }
-}
-
-/**
- * Interface that declares the not-overridden method.  This exists to ensure
- * that the existence of an interface doesn't trip the check.
- */
-interface IDoubledExtendOkay {
-    public DoubledExtendOkay getExtended();
-}
diff --git a/tests/068-classloader/src/DoubledExtend.java b/tests/068-classloader/src/DoubledExtend.java
deleted file mode 100644
index 5f8ebc2..0000000
--- a/tests/068-classloader/src/DoubledExtend.java
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Doubled sub-class, form #1.
- */
-public class DoubledExtend extends Base {
-    public DoubledExtend() {
-        //System.out.println("Ctor: doubled extend, type 1");
-    }
-
-    @Override
-    public DoubledExtend getExtended() {
-        System.out.println("getExtended 1");
-        return new DoubledExtend();
-    }
-
-    public String getStr() {
-        return "DoubledExtend 1";
-    }
-}
diff --git a/tests/068-classloader/src/DoubledExtendOkay.java b/tests/068-classloader/src/DoubledExtendOkay.java
deleted file mode 100644
index e226e5f..0000000
--- a/tests/068-classloader/src/DoubledExtendOkay.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * "Okay" doubled sub-class, form #1.
- */
-public class DoubledExtendOkay extends BaseOkay {
-    public DoubledExtendOkay() {
-        //System.out.println("Ctor: doubled extend okay, type 1");
-    }
-
-    /*
-    @Override
-    public DoubledExtendOkay getExtended() {
-        System.out.println("getExtended 1");
-        return new DoubledExtendOkay();
-    }
-    */
-
-    public String getStr() {
-        return "DoubledExtendOkay 1";
-    }
-}
diff --git a/tests/068-classloader/src/DoubledImplement.java b/tests/068-classloader/src/DoubledImplement.java
deleted file mode 100644
index 64ec5e2..0000000
--- a/tests/068-classloader/src/DoubledImplement.java
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Doubled sub-class, form #1.
- */
-class DoubledImplement implements ICommon {
-    public DoubledImplement() {
-        System.out.println("Ctor: doubled implement, type 1");
-    }
-
-    public DoubledImplement getDoubledInstance() {
-        return new DoubledImplement();
-    }
-
-    public void one() {
-        System.out.println("DoubledImplement one");
-    }
-}
diff --git a/tests/068-classloader/src/DoubledImplement2.java b/tests/068-classloader/src/DoubledImplement2.java
deleted file mode 100644
index 12c036c..0000000
--- a/tests/068-classloader/src/DoubledImplement2.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Another doubled sub-class, form #1.
- */
-public class DoubledImplement2 implements ICommon2 {
-    public DoubledImplement2() {
-        System.out.println("Ctor: doubled implement, type 1");
-    }
-
-    public DoubledImplement2 getDoubledInstance2() {
-        return new DoubledImplement2();
-    }
-
-    public void one() {
-        System.out.println("DoubledImplement2 one");
-    }
-}
diff --git a/tests/068-classloader/src/FancyLoader.java b/tests/068-classloader/src/FancyLoader.java
deleted file mode 100644
index d04083a..0000000
--- a/tests/068-classloader/src/FancyLoader.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * A class loader with atypical behavior: we try to load a private
- * class implementation before asking the system or boot loader.  This
- * is used to create multiple classes with identical names in a single VM.
- *
- * If DexFile is available, we use that; if not, we assume we're not in
- * Dalvik and instantiate the class with defineClass().
- *
- * The location of the DEX files and class data is dependent upon the
- * test framework.
- */
-public class FancyLoader extends ClassLoader {
-    /* this is where the "alternate" .class files live */
-    static final String CLASS_PATH = "classes-ex/";
-
-    /* this is the "alternate" DEX/Jar file */
-    static final String DEX_FILE = "test-ex.jar";
-
-    /* on Dalvik, this is a DexFile; otherwise, it's null */
-    private Class mDexClass;
-
-    private Object mDexFile;
-
-    /**
-     * Construct FancyLoader, grabbing a reference to the DexFile class
-     * if we're running under Dalvik.
-     */
-    public FancyLoader(ClassLoader parent) {
-        super(parent);
-
-        try {
-            mDexClass = parent.loadClass("dalvik.system.DexFile");
-        } catch (ClassNotFoundException cnfe) {
-            // ignore -- not running Dalvik
-        }
-    }
-
-    /**
-     * Finds the class with the specified binary name.
-     *
-     * We search for a file in CLASS_PATH or pull an entry from DEX_FILE.
-     * If we don't find a match, we throw an exception.
-     */
-    protected Class<?> findClass(String name) throws ClassNotFoundException
-    {
-        if (mDexClass != null) {
-            return findClassDalvik(name);
-        } else {
-            return findClassNonDalvik(name);
-        }
-    }
-
-    /**
-     * Finds the class with the specified binary name, from a DEX file.
-     */
-    private Class<?> findClassDalvik(String name)
-        throws ClassNotFoundException {
-
-        if (mDexFile == null) {
-            synchronized (FancyLoader.class) {
-                Constructor ctor;
-                /*
-                 * Construct a DexFile object through reflection.
-                 */
-                try {
-                    ctor = mDexClass.getConstructor(new Class[] {String.class});
-                } catch (NoSuchMethodException nsme) {
-                    throw new ClassNotFoundException("getConstructor failed",
-                        nsme);
-                }
-
-                try {
-                    mDexFile = ctor.newInstance(DEX_FILE);
-                } catch (InstantiationException ie) {
-                    throw new ClassNotFoundException("newInstance failed", ie);
-                } catch (IllegalAccessException iae) {
-                    throw new ClassNotFoundException("newInstance failed", iae);
-                } catch (InvocationTargetException ite) {
-                    throw new ClassNotFoundException("newInstance failed", ite);
-                }
-            }
-        }
-
-        /*
-         * Call DexFile.loadClass(String, ClassLoader).
-         */
-        Method meth;
-
-        try {
-            meth = mDexClass.getMethod("loadClass",
-                    new Class[] { String.class, ClassLoader.class });
-        } catch (NoSuchMethodException nsme) {
-            throw new ClassNotFoundException("getMethod failed", nsme);
-        }
-
-        try {
-            meth.invoke(mDexFile, name, this);
-        } catch (IllegalAccessException iae) {
-            throw new ClassNotFoundException("loadClass failed", iae);
-        } catch (InvocationTargetException ite) {
-            throw new ClassNotFoundException("loadClass failed",
-                ite.getCause());
-        }
-
-        return null;
-    }
-
-    /**
-     * Finds the class with the specified binary name, from .class files.
-     */
-    private Class<?> findClassNonDalvik(String name)
-        throws ClassNotFoundException {
-
-        String pathName = CLASS_PATH + name + ".class";
-        //System.out.println("--- Fancy: looking for " + pathName);
-
-        File path = new File(pathName);
-        RandomAccessFile raf;
-
-        try {
-            raf = new RandomAccessFile(path, "r");
-        } catch (FileNotFoundException fnfe) {
-            throw new ClassNotFoundException("Not found: " + pathName);
-        }
-
-        /* read the entire file in */
-        byte[] fileData;
-        try {
-            fileData = new byte[(int) raf.length()];
-            raf.readFully(fileData);
-        } catch (IOException ioe) {
-            throw new ClassNotFoundException("Read error: " + pathName);
-        } finally {
-            try {
-                raf.close();
-            } catch (IOException ioe) {
-                // drop
-            }
-        }
-
-        /* create the class */
-        //System.out.println("--- Fancy: defining " + name);
-        try {
-            return defineClass(name, fileData, 0, fileData.length);
-        } catch (Throwable th) {
-            throw new ClassNotFoundException("defineClass failed", th);
-        }
-    }
-
-    /**
-     * Load a class.
-     *
-     * Normally a class loader wouldn't override this, but we want our
-     * version of the class to take precedence over an already-loaded
-     * version.
-     *
-     * We still want the system classes (e.g. java.lang.Object) from the
-     * bootstrap class loader.
-     */
-    protected Class<?> loadClass(String name, boolean resolve)
-        throws ClassNotFoundException
-    {
-        Class res;
-
-        /*
-         * 1. Invoke findLoadedClass(String) to check if the class has
-         * already been loaded.
-         *
-         * This doesn't change.
-         */
-        res = findLoadedClass(name);
-        if (res != null) {
-            System.out.println("FancyLoader.loadClass: "
-                + name + " already loaded");
-            if (resolve)
-                resolveClass(res);
-            return res;
-        }
-
-        /*
-         * 3. Invoke the findClass(String) method to find the class.
-         */
-        try {
-            res = findClass(name);
-            if (resolve)
-                resolveClass(res);
-        }
-        catch (ClassNotFoundException e) {
-            // we couldn't find it, so eat the exception and keep going
-        }
-
-        /*
-         * 2. Invoke the loadClass method on the parent class loader.  If
-         * the parent loader is null the class loader built-in to the
-         * virtual machine is used, instead.
-         *
-         * (Since we're not in java.lang, we can't actually invoke the
-         * parent's loadClass() method, but we passed our parent to the
-         * super-class which can take care of it for us.)
-         */
-        res = super.loadClass(name, resolve);   // returns class or throws
-        return res;
-    }
-}
diff --git a/tests/068-classloader/src/ICommon.java b/tests/068-classloader/src/ICommon.java
deleted file mode 100644
index 35a98cc..0000000
--- a/tests/068-classloader/src/ICommon.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Common interface.
- */
-public interface ICommon {
-    public DoubledImplement getDoubledInstance();
-}
diff --git a/tests/068-classloader/src/ICommon2.java b/tests/068-classloader/src/ICommon2.java
deleted file mode 100644
index 6d81afc..0000000
--- a/tests/068-classloader/src/ICommon2.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Common interface.
- */
-public interface ICommon2 {
-    public DoubledImplement2 getDoubledInstance2();
-}
diff --git a/tests/068-classloader/src/IGetDoubled.java b/tests/068-classloader/src/IGetDoubled.java
deleted file mode 100644
index 08cd1ce..0000000
--- a/tests/068-classloader/src/IGetDoubled.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Interface, loaded from one loader, used from another.
- */
-public interface IGetDoubled {
-    public DoubledExtendOkay getDoubled();
-}
diff --git a/tests/068-classloader/src/IfaceSuper.java b/tests/068-classloader/src/IfaceSuper.java
deleted file mode 100644
index 36d278c..0000000
--- a/tests/068-classloader/src/IfaceSuper.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public interface IfaceSuper {
-    public DoubledImplement2 getDoubledInstance2();
-}
diff --git a/tests/068-classloader/src/InaccessibleBase.java b/tests/068-classloader/src/InaccessibleBase.java
deleted file mode 100644
index 83af665..0000000
--- a/tests/068-classloader/src/InaccessibleBase.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Non-public base class, inaccessible from alternate class loader.
- */
-class InaccessibleBase {
-}
diff --git a/tests/068-classloader/src/InaccessibleInterface.java b/tests/068-classloader/src/InaccessibleInterface.java
deleted file mode 100644
index 7f52b80..0000000
--- a/tests/068-classloader/src/InaccessibleInterface.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Non-public interface class, inaccessible from alternate class loader.
- */
-interface InaccessibleInterface {
-}
diff --git a/tests/068-classloader/src/Main.java b/tests/068-classloader/src/Main.java
deleted file mode 100644
index 1bc7b04..0000000
--- a/tests/068-classloader/src/Main.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Class loader test.
- */
-public class Main {
-    /**
-     * Main entry point.
-     */
-    public static void main(String[] args) {
-        FancyLoader loader;
-
-        loader = new FancyLoader(ClassLoader.getSystemClassLoader());
-        //System.out.println("SYSTEM: " + ClassLoader.getSystemClassLoader());
-        //System.out.println("ALTERN: " + loader);
-
-        /*
-         * This statement has no effect on this program, but it can
-         * change the point where a LinkageException is thrown in
-         * testImplement().  When this is present the "reference
-         * implementation" throws an exception from Class.newInstance(),
-         * when it's absent the exception is deferred until the first time
-         * we call a method that isn't actually implemented.
-         *
-         * This isn't the class that fails -- it's a class with the same
-         * name in the "fancy" class loader --  but the VM thinks it has a
-         * reference to one of these; presumably the difference is that
-         * without this the VM finds itself holding a reference to an
-         * instance of an uninitialized class.
-         */
-        System.out.println("base: " + DoubledImplement.class);
-        System.out.println("base2: " + DoubledImplement2.class);
-
-        /*
-         * Run tests.
-         */
-        testAccess1(loader);
-        testAccess2(loader);
-        testAccess3(loader);
-
-        testExtend(loader);
-        testExtendOkay(loader);
-        testInterface(loader);
-        testAbstract(loader);
-        testImplement(loader);
-        testIfaceImplement(loader);
-    }
-
-    /**
-     * See if we can load a class that isn't public to us.  We should be
-     * able to load it but not instantiate it.
-     */
-    static void testAccess1(ClassLoader loader) {
-        Class altClass;
-
-        try {
-            altClass = loader.loadClass("Inaccessible1");
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("loadClass failed");
-            cnfe.printStackTrace();
-            return;
-        }
-
-        /* instantiate */
-        Object obj;
-        try {
-            obj = altClass.newInstance();
-            System.err.println("ERROR: Inaccessible1 was accessible");
-        } catch (InstantiationException ie) {
-            System.err.println("newInstance failed: " + ie);
-            return;
-        } catch (IllegalAccessException iae) {
-            System.out.println("Got expected access exception #1");
-            //System.out.println("+++ " + iae);
-            return;
-        }
-    }
-
-    /**
-     * See if we can load a class whose base class is not accessible to it
-     * (though the base *is* accessible to us).
-     */
-    static void testAccess2(ClassLoader loader) {
-        Class altClass;
-
-        try {
-            altClass = loader.loadClass("Inaccessible2");
-            System.err.println("ERROR: Inaccessible2 was accessible");
-        } catch (ClassNotFoundException cnfe) {
-            Throwable cause = cnfe.getCause();
-            if (cause instanceof IllegalAccessError) {
-                System.out.println("Got expected CNFE/IAE #2");
-            } else {
-                System.err.println("Got unexpected CNFE/IAE #2");
-                cnfe.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * See if we can load a class with an inaccessible interface.
-     */
-    static void testAccess3(ClassLoader loader) {
-        Class altClass;
-
-        try {
-            altClass = loader.loadClass("Inaccessible3");
-            System.err.println("ERROR: Inaccessible3 was accessible");
-        } catch (ClassNotFoundException cnfe) {
-            Throwable cause = cnfe.getCause();
-            if (cause instanceof IllegalAccessError) {
-                System.out.println("Got expected CNFE/IAE #3");
-            } else {
-                System.err.println("Got unexpected CNFE/IAE #3");
-                cnfe.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * Test a doubled class that extends the base class.
-     */
-    static void testExtend(ClassLoader loader) {
-        Class doubledExtendClass;
-        Object obj;
-
-        /* get the "alternate" version of DoubledExtend */
-        try {
-            doubledExtendClass = loader.loadClass("DoubledExtend");
-            //System.out.println("+++ DoubledExtend is " + doubledExtendClass
-            //    + " in " + doubledExtendClass.getClassLoader());
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("loadClass failed: " + cnfe);
-            return;
-        }
-
-        /* instantiate */
-        try {
-            obj = doubledExtendClass.newInstance();
-        } catch (InstantiationException ie) {
-            System.err.println("newInstance failed: " + ie);
-            return;
-        } catch (IllegalAccessException iae) {
-            System.err.println("newInstance failed: " + iae);
-            return;
-        } catch (LinkageError le) {
-            System.out.println("Got expected LinkageError on DE");
-            return;
-        }
-
-        /* use the base class reference to get a CL-specific instance */
-        Base baseRef = (Base) obj;
-        DoubledExtend de = baseRef.getExtended();
-
-        /* try to call through it */
-        try {
-            String result;
-
-            result = Base.doStuff(de);
-            System.err.println("ERROR: did not get LinkageError on DE");
-            System.err.println("(result=" + result + ")");
-        } catch (LinkageError le) {
-            System.out.println("Got expected LinkageError on DE");
-            return;
-        }
-    }
-
-    /**
-     * Test a doubled class that extends the base class, but is okay since
-     * it doesn't override the base class method.
-     */
-    static void testExtendOkay(ClassLoader loader) {
-        Class doubledExtendOkayClass;
-        Object obj;
-
-        /* get the "alternate" version of DoubledExtendOkay */
-        try {
-            doubledExtendOkayClass = loader.loadClass("DoubledExtendOkay");
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("loadClass failed: " + cnfe);
-            return;
-        }
-
-        /* instantiate */
-        try {
-            obj = doubledExtendOkayClass.newInstance();
-        } catch (InstantiationException ie) {
-            System.err.println("newInstance failed: " + ie);
-            return;
-        } catch (IllegalAccessException iae) {
-            System.err.println("newInstance failed: " + iae);
-            return;
-        } catch (LinkageError le) {
-            System.err.println("Got unexpected LinkageError on DEO");
-            le.printStackTrace();
-            return;
-        }
-
-        /* use the base class reference to get a CL-specific instance */
-        BaseOkay baseRef = (BaseOkay) obj;
-        DoubledExtendOkay de = baseRef.getExtended();
-
-        /* try to call through it */
-        try {
-            String result;
-
-            result = BaseOkay.doStuff(de);
-            System.out.println("Got DEO result " + result);
-        } catch (LinkageError le) {
-            System.err.println("Got unexpected LinkageError on DEO");
-            le.printStackTrace();
-            return;
-        }
-    }
-
-    /**
-     * Try to access a doubled class through a class that implements
-     * an interface declared in a different class.
-     */
-    static void testInterface(ClassLoader loader) {
-        Class getDoubledClass;
-        Object obj;
-
-        /* get GetDoubled from the "alternate" class loader */
-        try {
-            getDoubledClass = loader.loadClass("GetDoubled");
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("loadClass failed: " + cnfe);
-            return;
-        }
-
-        /* instantiate */
-        try {
-            obj = getDoubledClass.newInstance();
-        } catch (InstantiationException ie) {
-            System.err.println("newInstance failed: " + ie);
-            return;
-        } catch (IllegalAccessException iae) {
-            System.err.println("newInstance failed: " + iae);
-            return;
-        } catch (LinkageError le) {
-            // Dalvik bails here
-            System.out.println("Got LinkageError on GD");
-            return;
-        }
-
-        /*
-         * Cast the object to the interface, and try to use it.
-         */
-        IGetDoubled iface = (IGetDoubled) obj;
-        try {
-            /* "de" will be the wrong variety of DoubledExtendOkay */
-            DoubledExtendOkay de = iface.getDoubled();
-            // reference impl bails here
-            String str = de.getStr();
-        } catch (LinkageError le) {
-            System.out.println("Got LinkageError on GD");
-            return;
-        }
-        System.err.println("Should have failed by now on GetDoubled");
-    }
-
-    /**
-     * Throw an abstract class into the middle and see what happens.
-     */
-    static void testAbstract(ClassLoader loader) {
-        Class abstractGetClass;
-        Object obj;
-
-        /* get AbstractGet from the "alternate" loader */
-        try {
-            abstractGetClass = loader.loadClass("AbstractGet");
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("loadClass ta failed: " + cnfe);
-            return;
-        }
-
-        /* instantiate */
-        try {
-            obj = abstractGetClass.newInstance();
-        } catch (InstantiationException ie) {
-            System.err.println("newInstance failed: " + ie);
-            return;
-        } catch (IllegalAccessException iae) {
-            System.err.println("newInstance failed: " + iae);
-            return;
-        } catch (LinkageError le) {
-            System.out.println("Got LinkageError on TA");
-            return;
-        }
-
-        /* use the base class reference to get a CL-specific instance */
-        BaseOkay baseRef = (BaseOkay) obj;
-        DoubledExtendOkay de = baseRef.getExtended();
-
-        /* try to call through it */
-        try {
-            String result;
-
-            result = BaseOkay.doStuff(de);
-        } catch (LinkageError le) {
-            System.out.println("Got LinkageError on TA");
-            return;
-        }
-        System.err.println("Should have failed by now in testAbstract");
-    }
-
-    /**
-     * Test a doubled class that implements a common interface.
-     */
-    static void testImplement(ClassLoader loader) {
-        Class doubledImplementClass;
-        Object obj;
-
-        useImplement(new DoubledImplement(), true);
-
-        /* get the "alternate" version of DoubledImplement */
-        try {
-            doubledImplementClass = loader.loadClass("DoubledImplement");
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("loadClass failed: " + cnfe);
-            return;
-        }
-
-        /* instantiate */
-        try {
-            obj = doubledImplementClass.newInstance();
-        } catch (InstantiationException ie) {
-            System.err.println("newInstance failed: " + ie);
-            return;
-        } catch (IllegalAccessException iae) {
-            System.err.println("newInstance failed: " + iae);
-            return;
-        } catch (LinkageError le) {
-            System.out.println("Got LinkageError on DI (early)");
-            return;
-        }
-
-        /* if we lived this long, try to do something with it */
-        ICommon icommon = (ICommon) obj;
-        useImplement(icommon.getDoubledInstance(), false);
-    }
-
-    /**
-     * Do something with a DoubledImplement instance.
-     */
-    static void useImplement(DoubledImplement di, boolean isOne) {
-        //System.out.println("useObject: " + di.toString() + " -- "
-        //    + di.getClass().getClassLoader());
-        try {
-            di.one();
-            if (!isOne) {
-                System.err.println("ERROR: did not get LinkageError on DI");
-            }
-        } catch (LinkageError le) {
-            if (!isOne) {
-                System.out.println("Got LinkageError on DI (late)");
-            } else {
-                throw le;
-            }
-        }
-    }
-
-
-    /**
-     * Test a class that implements an interface with a super-interface
-     * that refers to a doubled class.
-     */
-    static void testIfaceImplement(ClassLoader loader) {
-        Class ifaceImplClass;
-        Object obj;
-
-        /*
-         * Create an instance of IfaceImpl.  We also pull in
-         * DoubledImplement2 from the other class loader; without this
-         * we don't fail in some implementations.
-         */
-        try {
-            ifaceImplClass = loader.loadClass("IfaceImpl");
-            ifaceImplClass = loader.loadClass("DoubledImplement2");
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("loadClass failed: " + cnfe);
-            return;
-        }
-
-        /* instantiate */
-        try {
-            obj = ifaceImplClass.newInstance();
-        } catch (InstantiationException ie) {
-            System.err.println("newInstance failed: " + ie);
-            return;
-        } catch (IllegalAccessException iae) {
-            System.err.println("newInstance failed: " + iae);
-            return;
-        } catch (LinkageError le) {
-            System.out.println("Got LinkageError on IDI (early)");
-            //System.out.println(le);
-            return;
-        }
-
-        /*
-         * Without the pre-load of FancyLoader->DoubledImplement2, some
-         * implementations will happily execute through this part.  "obj"
-         * comes from FancyLoader, but the di2 returned from ifaceSuper
-         * comes from the application class loader.
-         */
-        IfaceSuper ifaceSuper = (IfaceSuper) obj;
-        DoubledImplement2 di2 = ifaceSuper.getDoubledInstance2();
-        di2.one();
-    }
-}
diff --git a/tests/068-classloader/src/SimpleBase.java b/tests/068-classloader/src/SimpleBase.java
deleted file mode 100644
index fd56db9..0000000
--- a/tests/068-classloader/src/SimpleBase.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2008 The Android Open Source Project
-
-/**
- * Simple, public base class.
- */
-public class SimpleBase {
-    public SimpleBase() {}
-}
diff --git a/tests/068-classloader/src/Useless.java b/tests/068-classloader/src/Useless.java
deleted file mode 100644
index f51d9a8..0000000
--- a/tests/068-classloader/src/Useless.java
+++ /dev/null
@@ -1,4 +0,0 @@
-
-public class Useless implements ICommon {
-    public DoubledImplement getDoubledInstance() { return null; }
-}
diff --git a/tests/069-field-type/expected.txt b/tests/069-field-type/expected.txt
deleted file mode 100644
index 8828178..0000000
--- a/tests/069-field-type/expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Assignment was allowed
-Got expected IncompatibleClassChangeError
-In compareTo
-Done
diff --git a/tests/069-field-type/info.txt b/tests/069-field-type/info.txt
deleted file mode 100644
index 6e3a22f..0000000
--- a/tests/069-field-type/info.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This tests to see if the VM allows you to store a reference to an
-inappropriate object type in an instance field.  By compiling two
-versions of the field-holder class we can bypass the compiler's type
-safety.
diff --git a/tests/069-field-type/src/Blah.java b/tests/069-field-type/src/Blah.java
deleted file mode 100644
index fd98336..0000000
--- a/tests/069-field-type/src/Blah.java
+++ /dev/null
@@ -1,9 +0,0 @@
-
-/**
- * Trivial class; must implement an interesting interface.
- */
-public class Blah implements Runnable {
-    public void run() {
-        System.out.println("run");
-    }
-}
diff --git a/tests/069-field-type/src/Holder.java b/tests/069-field-type/src/Holder.java
deleted file mode 100644
index e3c9f89..0000000
--- a/tests/069-field-type/src/Holder.java
+++ /dev/null
@@ -1,7 +0,0 @@
-
-/**
- * Simple class with one field.
- */
-public class Holder {
-    public Runnable mValue;
-}
diff --git a/tests/069-field-type/src/Main.java b/tests/069-field-type/src/Main.java
deleted file mode 100644
index f9885e6..0000000
--- a/tests/069-field-type/src/Main.java
+++ /dev/null
@@ -1,34 +0,0 @@
-
-/**
- * Create some objects and store them into an instance field.
- */
-public class Main {
-    /**
-     * Entry point.
-     */
-    public static void main(String[] args) {
-        Holder holder = new Holder();
-
-        Blah blah = new Blah();
-
-        /* strictly speaking, this should fail */
-        holder.mValue = blah;
-
-        System.out.println("Assignment was allowed");
-
-        /* try to use the reference; should fail */
-        try {
-            holder.mValue.run();
-            System.err.println("ERROR: did not get expected ICCE");
-        } catch (IncompatibleClassChangeError icce) {
-            System.out.println("Got expected IncompatibleClassChangeError");
-        }
-
-        /* for fun, verify that it's the "alternate" type */
-        //Comparable cmpx = holder.mValue;      /* compiler rejects */
-        Comparable cmp = (Comparable) holder.mValue;
-        cmp.compareTo(cmp);
-
-        System.out.println("Done");
-    }
-}
diff --git a/tests/069-field-type/src2/Blah.java b/tests/069-field-type/src2/Blah.java
deleted file mode 100644
index 1bffff6..0000000
--- a/tests/069-field-type/src2/Blah.java
+++ /dev/null
@@ -1,10 +0,0 @@
-
-/**
- * Trivial class; must implement an interesting interface.
- */
-public class Blah implements Comparable {
-    public int compareTo(Object another) {
-        System.out.println("In compareTo");
-        return 0;
-    }
-}
diff --git a/tests/070-nio-buffer/expected.txt b/tests/070-nio-buffer/expected.txt
deleted file mode 100644
index ddb45af..0000000
--- a/tests/070-nio-buffer/expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Direct byte buffer has array: true
-Got expected buffer overflow exception
-Got expected out-of-bounds exception
-Got expected buffer overflow exception
-00fbfb2ec03000001234567840490fd01122334455667788000000000000000100000000
-ccfb2efb30c0cccc78563412d00f494088776655443322110100000000000000cccccccc
diff --git a/tests/070-nio-buffer/info.txt b/tests/070-nio-buffer/info.txt
deleted file mode 100644
index 761714e..0000000
--- a/tests/070-nio-buffer/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Exercise NIO buffers (e.g. java.nio.ByteBuffer).
diff --git a/tests/070-nio-buffer/src/Main.java b/tests/070-nio-buffer/src/Main.java
deleted file mode 100644
index a7433b8..0000000
--- a/tests/070-nio-buffer/src/Main.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.nio.BufferOverflowException;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
-import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
-
-public class Main {
-    public static void main(String[] args) {
-        ByteBuffer buf = ByteBuffer.allocateDirect(16);
-        System.out.println("Direct byte buffer has array: " + buf.hasArray());
-
-        intFloatTest();
-        basicShortTest();
-        primTest();
-    }
-
-    /*
-     * Create a buffer and fiddle with it.
-     */
-    public static void basicShortTest() {
-        ByteBuffer directBuf = ByteBuffer.allocateDirect(64);
-        //ByteBuffer directBuf = ByteBuffer.allocateDirect(65);
-
-        ShortBuffer shortBuf = directBuf.asShortBuffer();
-
-        short[] myShorts = {
-            1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
-            1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015,
-            1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023,
-            1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031
-        };
-
-        shortBuf.position(0);
-        shortBuf.put(myShorts, 0, 32);      // should work
-        shortBuf.position(0);
-        shortBuf.put(myShorts, 16, 16);     // should work
-        shortBuf.put(myShorts, 16, 16);     // advance to end
-
-        try {
-            shortBuf.put(myShorts, 0, 1);     // should fail
-            System.err.println("ERROR: out-of-bounds put succeeded\n");
-        } catch (BufferOverflowException boe) {
-            System.out.println("Got expected buffer overflow exception");
-        }
-
-        try {
-            shortBuf.position(0);
-            shortBuf.put(myShorts, 0, 33);     // should fail
-            System.err.println("ERROR: out-of-bounds put succeeded\n");
-        } catch (IndexOutOfBoundsException ioobe) {
-            System.out.println("Got expected out-of-bounds exception");
-        }
-
-        try {
-            shortBuf.position(16);
-            shortBuf.put(myShorts, 0, 17);     // should fail
-            System.err.println("ERROR: out-of-bounds put succeeded\n");
-        } catch (BufferOverflowException boe) {
-            System.out.println("Got expected buffer overflow exception");
-        }
-    }
-
-    /*
-     * Try this with either floats or ints; ints fail with
-     * BufferOverflowException, floats work.
-     *
-     * From http://code.google.com/p/android/issues/detail?id=1585 .
-     */
-    public static void intFloatTest() {
-        ByteBuffer direct = ByteBuffer.allocateDirect(100);
-        direct.order(ByteOrder.nativeOrder());
-        IntBuffer int1 = direct.asIntBuffer();
-        int data[] = new int[25];
-        //FloatBuffer int1 = direct.asFloatBuffer();
-        //float data[] = new float[25];
-        int1.clear ();
-        int1.put (data);
-        int1.position (0);
-
-        int1.clear ();
-        int1.put (data);
-        int1.position (0);
-    }
-
-    /*
-     * Exercise all "view buffer" classes, in both byte orders.
-     */
-    public static void primTest() {
-        ByteBuffer directBuf = ByteBuffer.allocateDirect(36);
-        directBuf.order(ByteOrder.BIG_ENDIAN);
-        storeValues(directBuf);
-
-        for (int i = 0; i < 36; i++) {
-            directBuf.put(i, (byte) 0xcc);
-        }
-
-        directBuf.order(ByteOrder.LITTLE_ENDIAN);
-        storeValues(directBuf);
-    }
-
-    static void storeValues(ByteBuffer directBuf) {
-        directBuf.position(0);
-        ShortBuffer shortBuf = directBuf.asShortBuffer();
-        CharBuffer charBuf = directBuf.asCharBuffer();
-        IntBuffer intBuf = directBuf.asIntBuffer();
-        FloatBuffer floatBuf = directBuf.asFloatBuffer();
-        LongBuffer longBuf = directBuf.asLongBuffer();
-        DoubleBuffer doubleBuf = directBuf.asDoubleBuffer();
-
-        final byte byteValue = -5;
-        final short shortValue = -1234;
-        final char charValue = 49200;
-        final int intValue = 0x12345678;
-        final float floatValue = 3.14159f;
-        final long longValue = 0x1122334455667788L;
-        final double doubleValue = Double.MIN_VALUE;
-
-        if (directBuf.put(1, byteValue).get(1) != byteValue) {
-            throw new RuntimeException("byte get/store failed");
-        }
-        if (shortBuf.put(1, shortValue).get(1) != shortValue) {
-            throw new RuntimeException("short get/store failed");
-        }
-        if (charBuf.put(2, charValue).get(2) != charValue) {
-            throw new RuntimeException("char get/store failed");
-        }
-        if (intBuf.put(2, intValue).get(2) != intValue) {
-            throw new RuntimeException("int get/store failed");
-        }
-        if (floatBuf.put(3, floatValue).get(3) != floatValue) {
-            throw new RuntimeException("float get/store failed");
-        }
-        if (longBuf.put(2, longValue).get(2) != longValue) {
-            throw new RuntimeException("long get/store failed");
-        }
-        if (doubleBuf.put(3, doubleValue).get(3) != doubleValue) {
-            throw new RuntimeException("double get/store failed");
-        }
-
-        directBuf.position(0);
-        char[] outBuf = new char[directBuf.limit() * 2];
-        for (int i = 0; i < directBuf.limit(); i++) {
-            byte b = directBuf.get();
-            outBuf[i*2] = hexChar((byte) ((b >> 4) & 0x0f));
-            outBuf[i*2+1] = hexChar((byte) (b & 0x0f));
-        }
-        System.out.println(new String(outBuf));
-    }
-
-    static char hexChar(byte b) {
-        if (b < 10) {
-            return (char) ('0' + b);
-        } else {
-            return (char) ('a' + b - 10);
-        }
-    }
-}
diff --git a/tests/071-dexfile/expected.txt b/tests/071-dexfile/expected.txt
deleted file mode 100644
index b7af75e..0000000
--- a/tests/071-dexfile/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Constructing another
-Got expected ULE
-done
diff --git a/tests/071-dexfile/info.txt b/tests/071-dexfile/info.txt
deleted file mode 100644
index 54d9ed0..0000000
--- a/tests/071-dexfile/info.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Exercise some Dalvik-specific DEX file features.  This is not expected to
-work on other VMs.
-
-NOTE: the test requires that /sdcard exists and is writable.
diff --git a/tests/071-dexfile/src-ex/Another.java b/tests/071-dexfile/src-ex/Another.java
deleted file mode 100644
index c978c59..0000000
--- a/tests/071-dexfile/src-ex/Another.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Another {
-    public Another() {
-        System.out.println("Constructing another");
-
-        /* not expected to work; just exercises the call */
-        try {
-            System.loadLibrary("nonexistent");
-        } catch (UnsatisfiedLinkError ule) {
-            System.out.println("Got expected ULE");
-        }
-    }
-}
diff --git a/tests/071-dexfile/src/Main.java b/tests/071-dexfile/src/Main.java
deleted file mode 100644
index d71aec0..0000000
--- a/tests/071-dexfile/src/Main.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-
-/**
- * DexFile tests (Dalvik-specific).
- */
-public class Main {
-    private static final String CLASS_PATH = "test-ex.jar";
-    private static final String ODEX_DIR = "/sdcard";
-    //private static final String ODEX_DIR = ".";
-    private static final String ODEX_ALT = "/tmp";
-    private static final String LIB_DIR = "/nowhere/nothing/";
-
-    /**
-     * Prep the environment then run the test.
-     */
-    public static void main(String[] args) {
-        Process p;
-        try {
-            /*
-             * Create a sub-process to see if the ProcessManager wait
-             * interferes with the dexopt invocation wait.
-             *
-             * /dev/random never hits EOF, so we're sure that we'll still
-             * be waiting for the process to complete.  On the device it
-             * stops pretty quickly (which means the child won't be
-             * spinning).
-             */
-            ProcessBuilder pb = new ProcessBuilder("cat", "/dev/random");
-            p = pb.start();
-        } catch (IOException ioe) {
-            System.err.println("cmd failed: " + ioe.getMessage());
-            p = null;
-        }
-
-        try {
-            testDexClassLoader();
-        } finally {
-            // shouldn't be necessary, but it's good to be tidy
-            if (p != null)
-                p.destroy();
-
-            // let the ProcessManager's daemon thread finish before we shut down
-            // (avoids the occasional segmentation fault)
-            try {
-                Thread.sleep(500);
-            } catch (Exception ex) {}
-        }
-
-        System.out.println("done");
-    }
-
-    /**
-     * Create a class loader, explicitly specifying the source DEX and
-     * the location for the optimized DEX.
-     */
-    private static void testDexClassLoader() {
-        ClassLoader dexClassLoader = getDexClassLoader();
-
-        Class anotherClass;
-        try {
-            anotherClass = dexClassLoader.loadClass("Another");
-        } catch (ClassNotFoundException cnfe) {
-            throw new RuntimeException("Another?");
-        }
-
-        Object another;
-        try {
-            another = anotherClass.newInstance();
-        } catch (IllegalAccessException ie) {
-            throw new RuntimeException("new another", ie);
-        } catch (InstantiationException ie) {
-            throw new RuntimeException("new another", ie);
-        }
-
-        // not expected to work; just exercises the call
-        dexClassLoader.getResource("nonexistent");
-    }
-
-    /*
-     * Create an instance of DexClassLoader.  The test harness doesn't
-     * have visibility into dalvik.system.*, so we do this through
-     * reflection.
-     */
-    private static ClassLoader getDexClassLoader() {
-        String odexDir;
-
-        /*
-        String androidData = System.getenv("ANDROID_DATA");
-        if (androidData == null)
-            androidData = "";
-        odexDir = androidData + "/" + ODEX_DIR;
-        */
-
-        File test = new File(ODEX_DIR);
-        if (test.isDirectory())
-            odexDir = ODEX_DIR;
-        else
-            odexDir = ODEX_ALT;
-        //System.out.println("Output dir is " + odexDir);
-
-        ClassLoader myLoader = Main.class.getClassLoader();
-        Class dclClass;
-        try {
-            dclClass = myLoader.loadClass("dalvik.system.DexClassLoader");
-        } catch (ClassNotFoundException cnfe) {
-            throw new RuntimeException("dalvik.system.DexClassLoader not found");
-        }
-
-        Constructor ctor;
-        try {
-            ctor = dclClass.getConstructor(String.class, String.class,
-                String.class, ClassLoader.class);
-        } catch (NoSuchMethodException nsme) {
-            throw new RuntimeException("DCL ctor", nsme);
-        }
-
-        // create an instance, using the path we found
-        Object dclObj;
-        try {
-            dclObj = ctor.newInstance(CLASS_PATH, odexDir, LIB_DIR, myLoader);
-        } catch (Exception ex) {
-            throw new RuntimeException("DCL newInstance", ex);
-        }
-
-        return (ClassLoader) dclObj;
-    }
-}
diff --git a/tests/072-precise-gc/expected.txt b/tests/072-precise-gc/expected.txt
deleted file mode 100644
index 18ec087..0000000
--- a/tests/072-precise-gc/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Valid refs: 0
-String0String1String2String3String4String5String6String7String8String9
diff --git a/tests/072-precise-gc/info.txt b/tests/072-precise-gc/info.txt
deleted file mode 100644
index b0b2cea..0000000
--- a/tests/072-precise-gc/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Try to detect whether precise GC is working.
diff --git a/tests/072-precise-gc/src/Main.java b/tests/072-precise-gc/src/Main.java
deleted file mode 100644
index e049221..0000000
--- a/tests/072-precise-gc/src/Main.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.ref.WeakReference;
-
-public class Main {
-    public static void main(String[] args) {
-        staleStackTest();
-    }
-
-    public static void staleStackTest() {
-        WeakReference wrefs[] = new WeakReference[10];
-
-        populate(wrefs);
-
-        check(wrefs);
-    }
-
-    static void populate(WeakReference[] wrefs) {
-        /*
-         * Get a bunch of non-constant String objects into registers.  These
-         * should be the first locals declared.
-         */
-        String str0 = generateString("String", 0);
-        String str1 = generateString("String", 1);
-        String str2 = generateString("String", 2);
-        String str3 = generateString("String", 3);
-        String str4 = generateString("String", 4);
-        String str5 = generateString("String", 5);
-        String str6 = generateString("String", 6);
-        String str7 = generateString("String", 7);
-        String str8 = generateString("String", 8);
-        String str9 = generateString("String", 9);
-
-        /* stuff them into the weak references array */
-        wrefs[0] = new WeakReference(str0);
-        wrefs[1] = new WeakReference(str1);
-        wrefs[2] = new WeakReference(str2);
-        wrefs[3] = new WeakReference(str3);
-        wrefs[4] = new WeakReference(str4);
-        wrefs[5] = new WeakReference(str5);
-        wrefs[6] = new WeakReference(str6);
-        wrefs[7] = new WeakReference(str7);
-        wrefs[8] = new WeakReference(str8);
-        wrefs[9] = new WeakReference(str9);
-    }
-
-    static String generateString(String base, int num) {
-        return base + num;
-    }
-
-    static void check(WeakReference[] wrefs) {
-        /*
-         * Declare locals so that our stack overlaps the same region
-         * that populate() did.
-         */
-        String str0;
-        String str1;
-        String str2;
-        String str3;
-        String str4;
-        String str5;
-        String str6;
-        String str7;
-        String str8;
-        String str9;
-        int numValid = 0;
-
-        /*
-         * This *should* blow out all the weakly-reference objects.  If
-         * we still have stale copies of references on the stack, a
-         * conservative GC will try to hold on to those objects and the
-         * count will be nonzero.
-         *
-         * Getting a zero result here isn't conclusive, but it's a strong
-         * indicator that precise GC is having an impact.
-         */
-        System.gc();
-
-        for (int i = 0; i < wrefs.length; i++) {
-            if (wrefs[i].get() != null)
-                numValid++;
-        }
-
-        System.out.println("Valid refs: " + numValid);
-
-        /* use the locals in case the compiler gets smart */
-        str0 = generateString("String", 0);
-        str1 = generateString("String", 1);
-        str2 = generateString("String", 2);
-        str3 = generateString("String", 3);
-        str4 = generateString("String", 4);
-        str5 = generateString("String", 5);
-        str6 = generateString("String", 6);
-        str7 = generateString("String", 7);
-        str8 = generateString("String", 8);
-        str9 = generateString("String", 9);
-        System.out.println(str0+str1+str2+str3+str4+str5+str6+str7+str8+str9);
-    }
-}
diff --git a/tests/073-mismatched-field/expected.txt b/tests/073-mismatched-field/expected.txt
deleted file mode 100644
index 90fbab8..0000000
--- a/tests/073-mismatched-field/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Got expected failure
diff --git a/tests/073-mismatched-field/info.txt b/tests/073-mismatched-field/info.txt
deleted file mode 100644
index 4a15263..0000000
--- a/tests/073-mismatched-field/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Test behavior when an instance field is overlapped (through separate
-compilation) by a static field.  The VM is expected to detect the conflict
-and throw an IncompatibleClassChangeError when the field is accessed.
diff --git a/tests/073-mismatched-field/src/IMain.java b/tests/073-mismatched-field/src/IMain.java
deleted file mode 100644
index 3ad5ecb..0000000
--- a/tests/073-mismatched-field/src/IMain.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public interface IMain {
-    //static int f = 123;
-}
diff --git a/tests/073-mismatched-field/src/Main.java b/tests/073-mismatched-field/src/Main.java
deleted file mode 100644
index 70709c0..0000000
--- a/tests/073-mismatched-field/src/Main.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main extends SuperMain implements IMain {
-    public static void main(String[] args) {
-        Main main = new Main();
-        main.doit();
-    }
-
-    void doit() {
-        try {
-            System.out.println("value=" + this.f);
-            System.err.println("Succeeded unexpectedly");
-        } catch (IncompatibleClassChangeError icce) {
-            System.out.println("Got expected failure");
-        }
-    }
-}
diff --git a/tests/073-mismatched-field/src/SuperMain.java b/tests/073-mismatched-field/src/SuperMain.java
deleted file mode 100644
index 48a9bab..0000000
--- a/tests/073-mismatched-field/src/SuperMain.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class SuperMain {
-    public int f = 456;
-}
diff --git a/tests/073-mismatched-field/src2/IMain.java b/tests/073-mismatched-field/src2/IMain.java
deleted file mode 100644
index 136f2a1..0000000
--- a/tests/073-mismatched-field/src2/IMain.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public interface IMain {
-    static int f = 123;
-}
diff --git a/tests/074-gc-thrash/expected.txt b/tests/074-gc-thrash/expected.txt
deleted file mode 100644
index 2669165..0000000
--- a/tests/074-gc-thrash/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Running (10 seconds) ...
-Done.
diff --git a/tests/074-gc-thrash/info.txt b/tests/074-gc-thrash/info.txt
deleted file mode 100644
index ded1582..0000000
--- a/tests/074-gc-thrash/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-This thrashes the memory allocator and garbage collector for a brief period.
diff --git a/tests/074-gc-thrash/src/Main.java b/tests/074-gc-thrash/src/Main.java
deleted file mode 100644
index f85aa4b..0000000
--- a/tests/074-gc-thrash/src/Main.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.File;
-import java.lang.ref.WeakReference;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-public class Main {
-    public static volatile boolean quit = false;
-    public static final boolean DEBUG = false;
-
-    private static final boolean WRITE_HPROF_DATA = false;
-    private static final int TEST_TIME = 10;
-    private static final String OUTPUT_FILE = "gc-thrash.hprof";
-
-    public static void main(String[] args) {
-        // dump heap before
-
-        System.out.println("Running (" + TEST_TIME + " seconds) ...");
-        runTests();
-
-        Method dumpHprofDataMethod = null;
-        String dumpFile = null;
-
-        if (WRITE_HPROF_DATA) {
-            dumpHprofDataMethod = getDumpHprofDataMethod();
-            if (dumpHprofDataMethod != null) {
-                dumpFile = getDumpFileName();
-                System.out.println("Sending output to " + dumpFile);
-            }
-        }
-
-        System.gc();
-        System.runFinalization();
-        System.gc();
-
-        if (WRITE_HPROF_DATA && dumpHprofDataMethod != null) {
-            try {
-                dumpHprofDataMethod.invoke(null, dumpFile);
-            } catch (IllegalAccessException iae) {
-                System.err.println(iae);
-            } catch (InvocationTargetException ite) {
-                System.err.println(ite);
-            }
-        }
-
-        System.out.println("Done.");
-    }
-
-    /**
-     * Finds VMDebug.dumpHprofData() through reflection.  In the reference
-     * implementation this will not be available.
-     *
-     * @return the reflection object, or null if the method can't be found
-     */
-    private static Method getDumpHprofDataMethod() {
-        ClassLoader myLoader = Main.class.getClassLoader();
-        Class vmdClass;
-        try {
-            vmdClass = myLoader.loadClass("dalvik.system.VMDebug");
-        } catch (ClassNotFoundException cnfe) {
-            return null;
-        }
-
-        Method meth;
-        try {
-            meth = vmdClass.getMethod("dumpHprofData",
-                    new Class[] { String.class });
-        } catch (NoSuchMethodException nsme) {
-            System.err.println("Found VMDebug but not dumpHprofData method");
-            return null;
-        }
-
-        return meth;
-    }
-
-    private static String getDumpFileName() {
-        File tmpDir = new File("/tmp");
-        if (tmpDir.exists() && tmpDir.isDirectory()) {
-            return "/tmp/" + OUTPUT_FILE;
-        }
-
-        File sdcard = new File("/sdcard");
-        if (sdcard.exists() && sdcard.isDirectory()) {
-            return "/sdcard/" + OUTPUT_FILE;
-        }
-
-        return null;
-    }
-
-
-    /**
-     * Run the various tests for a set period.
-     */
-    public static void runTests() {
-        Robin robin = new Robin();
-        Deep deep = new Deep();
-        Large large = new Large();
-
-        /* start all threads */
-        robin.start();
-        deep.start();
-        large.start();
-
-        /* let everybody run for 10 seconds */
-        sleep(TEST_TIME * 1000);
-
-        quit = true;
-
-        try {
-            /* wait for all threads to stop */
-            robin.join();
-            deep.join();
-            large.join();
-        } catch (InterruptedException ie) {
-            System.err.println("join was interrupted");
-        }
-    }
-
-    /**
-     * Sleeps for the "ms" milliseconds.
-     */
-    public static void sleep(int ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException ie) {
-            System.err.println("sleep was interrupted");
-        }
-    }
-
-    /**
-     * Sleeps briefly, allowing other threads some CPU time to get started.
-     */
-    public static void startupDelay() {
-        sleep(500);
-    }
-}
-
-
-/**
- * Allocates useless objects and holds on to several of them.
- *
- * Uses a single large array of references, replaced repeatedly in round-robin
- * order.
- */
-class Robin extends Thread {
-    private static final int ARRAY_SIZE = 40960;
-    int sleepCount = 0;
-
-    public void run() {
-        Main.startupDelay();
-
-        String strings[] = new String[ARRAY_SIZE];
-        int idx = 0;
-
-        while (!Main.quit) {
-            strings[idx] = makeString(idx);
-
-            if (idx % (ARRAY_SIZE / 4) == 0) {
-                Main.sleep(400);
-                sleepCount++;
-            }
-
-            idx = (idx + 1) % ARRAY_SIZE;
-        }
-
-        if (Main.DEBUG)
-            System.out.println("Robin: sleepCount=" + sleepCount);
-    }
-
-    private String makeString(int val) {
-        return new String("Robin" + val);
-    }
-}
-
-
-/**
- * Allocates useless objects in recursive calls.
- */
-class Deep extends Thread {
-    private static final int MAX_DEPTH = 61;
-
-    private static String strong[] = new String[MAX_DEPTH];
-    private static WeakReference weak[] = new WeakReference[MAX_DEPTH];
-
-    public void run() {
-        int iter = 0;
-        boolean once = false;
-
-        Main.startupDelay();
-
-        while (!Main.quit) {
-            dive(0, iter);
-            once = true;
-            iter += MAX_DEPTH;
-        }
-
-        if (!once) {
-            System.err.println("not even once?");
-            return;
-        }
-
-        /*
-         * Check the results of the last trip through.  Everything in
-         * "weak" should be matched in "strong", and the two should be
-         * equivalent (object-wise, not just string-equality-wise).
-         */
-        for (int i = 0; i < MAX_DEPTH; i++) {
-            if (strong[i] != weak[i].get()) {
-                System.err.println("Deep: " + i + " strong=" + strong[i] +
-                    ", weak=" + weak[i].get());
-            }
-        }
-
-        /*
-         * Wipe "strong", do a GC, see if "weak" got collected.
-         */
-        for (int i = 0; i < MAX_DEPTH; i++)
-            strong[i] = null;
-
-        System.gc();
-
-        for (int i = 0; i < MAX_DEPTH; i++) {
-            if (weak[i].get() != null) {
-                System.err.println("Deep: weak still has " + i);
-            }
-        }
-
-        if (Main.DEBUG)
-            System.out.println("Deep: iters=" + iter / MAX_DEPTH);
-    }
-
-    /**
-     * Recursively dive down, setting one or more local variables.
-     *
-     * We pad the stack out with locals, attempting to create a mix of
-     * valid and invalid references on the stack.
-     */
-    private String dive(int depth, int iteration) {
-        String str0;
-        String str1;
-        String str2;
-        String str3;
-        String str4;
-        String str5;
-        String str6;
-        String str7;
-        String funStr;
-
-        funStr = "";
-
-        switch (iteration % 8) {
-            case 0:
-                funStr = str0 = makeString(iteration);
-                break;
-            case 1:
-                funStr = str1 = makeString(iteration);
-                break;
-            case 2:
-                funStr = str2 = makeString(iteration);
-                break;
-            case 3:
-                funStr = str3 = makeString(iteration);
-                break;
-            case 4:
-                funStr = str4 = makeString(iteration);
-                break;
-            case 5:
-                funStr = str5 = makeString(iteration);
-                break;
-            case 6:
-                funStr = str6 = makeString(iteration);
-                break;
-            case 7:
-                funStr = str7 = makeString(iteration);
-                break;
-        }
-
-        strong[depth] = funStr;
-        weak[depth] = new WeakReference(funStr);
-
-        if (depth+1 < MAX_DEPTH)
-            dive(depth+1, iteration+1);
-        else
-            Main.sleep(100);
-
-        return funStr;
-    }
-
-    private String makeString(int val) {
-        return new String("Deep" + val);
-    }
-}
-
-
-/**
- * Allocates large useless objects.
- */
-class Large extends Thread {
-    public void run() {
-        byte[] chunk;
-        int count = 0;
-        int sleepCount = 0;
-
-        Main.startupDelay();
-
-        while (!Main.quit) {
-            chunk = new byte[100000];
-            pretendToUse(chunk);
-
-            count++;
-            if ((count % 500) == 0) {
-                Main.sleep(400);
-                sleepCount++;
-            }
-        }
-
-        if (Main.DEBUG)
-            System.out.println("Large: sleepCount=" + sleepCount);
-    }
-
-    public void pretendToUse(byte[] chunk) {}
-}
diff --git a/tests/075-verification-error/expected.txt b/tests/075-verification-error/expected.txt
deleted file mode 100644
index 6e4f584..0000000
--- a/tests/075-verification-error/expected.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-Got expected InstantationError
-Got expected NoSuchFieldError
-Got expected NoSuchFieldError
-Got expected NoSuchMethodError
-Got expected NoSuchMethodError
-Got expected IllegalAccessError (ifield)
-Got expected IllegalAccessError (sfield)
-Got expected IllegalAccessError (method)
-Got expected IllegalAccessError (smethod)
-Got expected IllegalAccessError (meth-class)
-Got expected IllegalAccessError (field-class)
-Got expected IllegalAccessError (meth-meth)
diff --git a/tests/075-verification-error/info.txt b/tests/075-verification-error/info.txt
deleted file mode 100644
index be688ff..0000000
--- a/tests/075-verification-error/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Exercise deferred verification error reporting.
diff --git a/tests/075-verification-error/src/Main.java b/tests/075-verification-error/src/Main.java
deleted file mode 100644
index 51d648c..0000000
--- a/tests/075-verification-error/src/Main.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import other.Mutant;
-import other.InaccessibleClass;
-import other.InaccessibleMethod;
-
-/**
- * Test some problematic situations that the verifier detects.
- */
-public class Main {
-    public static final boolean VERBOSE = false;
-
-    public static void main(String[] args) {
-        testClassNewInstance();
-        testMissingStuff();
-        testBadAccess();
-    }
-
-    /**
-     * Try to create a new instance of an abstract class.
-     */
-    static void testClassNewInstance() {
-        try {
-            MaybeAbstract ma = new MaybeAbstract();
-            System.err.println("ERROR: MaybeAbstract succeeded unexpectedly");
-        } catch (InstantiationError ie) {
-            System.out.println("Got expected InstantationError");
-            if (VERBOSE) System.out.println("--- " + ie);
-        } catch (Exception ex) {
-            System.err.println("Got unexpected MaybeAbstract failure");
-        }
-    }
-
-    /**
-     * Test stuff that disappears.
-     */
-    static void testMissingStuff() {
-        Mutant mutant = new Mutant();
-
-        try {
-            int x = mutant.disappearingField;
-        } catch (NoSuchFieldError nsfe) {
-            System.out.println("Got expected NoSuchFieldError");
-            if (VERBOSE) System.out.println("--- " + nsfe);
-        }
-
-        try {
-            int y = Mutant.disappearingStaticField;
-        } catch (NoSuchFieldError nsfe) {
-            System.out.println("Got expected NoSuchFieldError");
-            if (VERBOSE) System.out.println("--- " + nsfe);
-        }
-
-        try {
-            mutant.disappearingMethod();
-        } catch (NoSuchMethodError nsme) {
-            System.out.println("Got expected NoSuchMethodError");
-            if (VERBOSE) System.out.println("--- " + nsme);
-        }
-
-        try {
-            Mutant.disappearingStaticMethod();
-        } catch (NoSuchMethodError nsme) {
-            System.out.println("Got expected NoSuchMethodError");
-            if (VERBOSE) System.out.println("--- " + nsme);
-        }
-    }
-
-    /**
-     * Test stuff that becomes inaccessible.
-     */
-    static void testBadAccess() {
-        Mutant mutant = new Mutant();
-
-        try {
-            int x = mutant.inaccessibleField;
-            System.err.println("ERROR: bad access succeeded\n");
-        } catch (IllegalAccessError iae) {
-            System.out.println("Got expected IllegalAccessError (ifield)");
-            if (VERBOSE) System.out.println("--- " + iae);
-        }
-
-        try {
-            int y = Mutant.inaccessibleStaticField;
-            System.err.println("ERROR: bad access succeeded\n");
-        } catch (IllegalAccessError iae) {
-            System.out.println("Got expected IllegalAccessError (sfield)");
-            if (VERBOSE) System.out.println("--- " + iae);
-        }
-
-        try {
-            mutant.inaccessibleMethod();
-            System.err.println("ERROR: bad access succeeded\n");
-        } catch (IllegalAccessError iae) {
-            System.out.println("Got expected IllegalAccessError (method)");
-            if (VERBOSE) System.out.println("--- " + iae);
-        }
-
-        try {
-            Mutant.inaccessibleStaticMethod();
-            System.err.println("ERROR: bad access succeeded\n");
-        } catch (IllegalAccessError iae) {
-            System.out.println("Got expected IllegalAccessError (smethod)");
-            if (VERBOSE) System.out.println("--- " + iae);
-        }
-
-        try {
-            /* accessible static method in an inaccessible class */
-            InaccessibleClass.test();
-            System.err.println("ERROR: bad meth-class access succeeded\n");
-        } catch (IllegalAccessError iae) {
-            System.out.println("Got expected IllegalAccessError (meth-class)");
-            if (VERBOSE) System.out.println("--- " + iae);
-        }
-
-        try {
-            /* accessible static field in an inaccessible class */
-            int blah = InaccessibleClass.blah;
-            System.err.println("ERROR: bad field-class access succeeded\n");
-        } catch (IllegalAccessError iae) {
-            System.out.println("Got expected IllegalAccessError (field-class)");
-            if (VERBOSE) System.out.println("--- " + iae);
-        }
-
-        try {
-            /* inaccessible static method in an accessible class */
-            InaccessibleMethod.test();
-            System.err.println("ERROR: bad access succeeded\n");
-        } catch (IllegalAccessError iae) {
-            System.out.println("Got expected IllegalAccessError (meth-meth)");
-            if (VERBOSE) System.out.println("--- " + iae);
-        }
-    }
-}
diff --git a/tests/075-verification-error/src/MaybeAbstract.java b/tests/075-verification-error/src/MaybeAbstract.java
deleted file mode 100644
index 6d3b05b..0000000
--- a/tests/075-verification-error/src/MaybeAbstract.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public /*abstract*/ class MaybeAbstract {
-    public MaybeAbstract() {}
-    int foo() { return 0; }
-}
diff --git a/tests/075-verification-error/src/other/InaccessibleClass.java b/tests/075-verification-error/src/other/InaccessibleClass.java
deleted file mode 100644
index b9bdfc4..0000000
--- a/tests/075-verification-error/src/other/InaccessibleClass.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package other;
-
-public class InaccessibleClass {
-    public static void test() {}
-
-    public static int blah = 5;
-}
diff --git a/tests/075-verification-error/src/other/InaccessibleMethod.java b/tests/075-verification-error/src/other/InaccessibleMethod.java
deleted file mode 100644
index 0460373..0000000
--- a/tests/075-verification-error/src/other/InaccessibleMethod.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package other;
-
-public class InaccessibleMethod {
-    public static void test() {}
-}
diff --git a/tests/075-verification-error/src/other/Mutant.java b/tests/075-verification-error/src/other/Mutant.java
deleted file mode 100644
index ec4754b..0000000
--- a/tests/075-verification-error/src/other/Mutant.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package other;
-
-/**
- * Parts of this class will disappear or change form.
- */
-public class Mutant {
-    public int disappearingField = 3;
-    public static int disappearingStaticField = 4;
-
-    public void disappearingMethod() {
-        System.out.println("bye");
-    }
-    public static void disappearingStaticMethod() {
-        System.out.println("kthxbai");
-    }
-
-    public int inaccessibleField = 5;
-    public static int inaccessibleStaticField = 6;
-
-    public void inaccessibleMethod() {
-        System.out.println("no");
-    }
-
-    public static void inaccessibleStaticMethod() {
-        System.out.println("nay");
-    }
-}
diff --git a/tests/075-verification-error/src2/MaybeAbstract.java b/tests/075-verification-error/src2/MaybeAbstract.java
deleted file mode 100644
index 8b70a07..0000000
--- a/tests/075-verification-error/src2/MaybeAbstract.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public abstract class MaybeAbstract {
-    public MaybeAbstract() {}
-    int foo() { return 0; }
-}
diff --git a/tests/075-verification-error/src2/other/InaccessibleClass.java b/tests/075-verification-error/src2/other/InaccessibleClass.java
deleted file mode 100644
index 812fac9..0000000
--- a/tests/075-verification-error/src2/other/InaccessibleClass.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package other;
-
-/*package*/ class InaccessibleClass {
-    public static void test() {}
-
-    public static int blah = 5;
-}
diff --git a/tests/075-verification-error/src2/other/InaccessibleMethod.java b/tests/075-verification-error/src2/other/InaccessibleMethod.java
deleted file mode 100644
index 9fb844e..0000000
--- a/tests/075-verification-error/src2/other/InaccessibleMethod.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package other;
-
-public class InaccessibleMethod {
-    /*package*/ static void test() {}
-}
diff --git a/tests/075-verification-error/src2/other/Mutant.java b/tests/075-verification-error/src2/other/Mutant.java
deleted file mode 100644
index 67cd36d..0000000
--- a/tests/075-verification-error/src2/other/Mutant.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package other;
-
-/**
- * Parts of this class will disappear or change form.
- */
-public class Mutant {
-    //public int disappearingField = 3;
-    //public static int disappearingStaticField = 4;
-
-    //public static void disappearingMethod() {
-    //    System.out.println("bye");
-    //}
-    //public static void disappearingStaticMethod() {
-    //    System.out.println("kthxbai");
-    //}
-
-    protected int inaccessibleField = 5;
-    protected static int inaccessibleStaticField = 6;
-
-    protected void inaccessibleMethod() {
-        System.out.println("no");
-    }
-
-    protected static void inaccessibleStaticMethod() {
-        System.out.println("nay");
-    }
-}
diff --git a/tests/076-boolean-put/expected.txt b/tests/076-boolean-put/expected.txt
deleted file mode 100644
index a965a70..0000000
--- a/tests/076-boolean-put/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Done
diff --git a/tests/076-boolean-put/info.txt b/tests/076-boolean-put/info.txt
deleted file mode 100644
index 5b3ef4d..0000000
--- a/tests/076-boolean-put/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-This checks a case where javac generates code that stores a byte into a
-boolean field.  The code as generated should not pass the verifier, so the
-verifier had to be "loosened" to allow this case.
diff --git a/tests/076-boolean-put/src/Main.java b/tests/076-boolean-put/src/Main.java
deleted file mode 100644
index b325422..0000000
--- a/tests/076-boolean-put/src/Main.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test access to private boolean fields.
- *
- * Accessing private boolean fields from an inner class causes the compiler
- * to generate an accessor method that performs the boolean operation.
- * Unfortunately the generated method takes an integer as an argument,
- * not a boolean, which makes the verifier upset when the result of the
- * operation is written back to a boolean field.
- */
-public class Main {
-    private boolean mInstance;
-    private static boolean mStatic;
-
-    public static void main(String[] args) {
-        Main foo = new Main();
-        foo.test();
-
-        System.out.println("Done");
-    }
-
-    void test() {
-        Innard innard = new Innard();
-        innard.doStuff();
-    }
-
-    class Innard {
-        void doStuff() {
-            mInstance |= true;
-            mStatic |= true;
-        }
-    }
-}
diff --git a/tests/077-method-override/expected.txt b/tests/077-method-override/expected.txt
deleted file mode 100644
index 2e9bda3..0000000
--- a/tests/077-method-override/expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-declaredInBase: Base
-notDeclaredInBase: Derived
-wasOverridden: Derived
-overrideWithPublic: Derived
-overrideProtectedWithPublic: Derived
-overridePublicWithProtected: Derived
-overridePublicWithPrivate: Base
-overridePrivateWithPublic: Base
-overridePrivateWithPublic: Derived
-overrideVirtualWithStatic: Base
-overrideVirtualWithStatic: Derived
-overrideStaticWithVirtual: Base
-overrideStaticWithVirtual: Derived
-Got expected exception - ovws
-Got expected exception - oswv
diff --git a/tests/077-method-override/info.txt b/tests/077-method-override/info.txt
deleted file mode 100644
index 914b4f2..0000000
--- a/tests/077-method-override/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Test various forms of method overrides, including some not allowed by the
-compiler but possible with separate compilation.
diff --git a/tests/077-method-override/src/Base.java b/tests/077-method-override/src/Base.java
deleted file mode 100644
index befe2e2..0000000
--- a/tests/077-method-override/src/Base.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Base {
-    public void declaredInBase() {
-        System.out.println("declaredInBase: Base");
-    }
-
-    public void overridden() {
-        System.out.println("overridden: Base");
-    }
-
-    /* src2: removed */
-    public void wasOverridden() {
-        System.out.println("wasOverridden: Base");
-    }
-
-    public void callOverrideWithPublic() {
-        overrideWithPublic();
-    }
-    public void overrideWithPublic() {
-        System.out.println("overrideWithPublic: Base");
-    }
-
-    public void callOverridePublicWithProtected() {
-        overridePublicWithProtected();
-    }
-    /* src2: public */
-    protected void overridePublicWithProtected() {
-        System.out.println("overridePublicWithProtected: Base");
-    }
-
-    public void callOverrideProtectedWithPublic() {
-        overrideProtectedWithPublic();
-    }
-    protected void overrideProtectedWithPublic() {
-        System.out.println("overrideProtectedWithPublic: Base");
-    }
-
-    public void callOverridePublicWithPrivate() {
-        overridePublicWithPrivate();
-    }
-    /* src2: public */
-    private void overridePublicWithPrivate() {
-        System.out.println("overridePublicWithPrivate: Base");
-    }
-
-    public void callOverridePrivateWithPublic() {
-        overridePrivateWithPublic();
-    }
-    private void overridePrivateWithPublic() {
-        System.out.println("overridePrivateWithPublic: Base");
-    }
-
-    public void callOverrideVirtualWithStatic() {
-        overrideVirtualWithStatic();
-    }
-    /* src2: non-static */
-    public static void overrideVirtualWithStatic() {
-        System.out.println("overrideVirtualWithStatic: Base");
-    }
-
-    public void callOverrideStaticWithVirtual() {
-        overrideStaticWithVirtual();
-    }
-    /* src2: static */
-    public void overrideStaticWithVirtual() {
-        System.out.println("overrideStaticWithVirtual: Base");
-    }
-}
diff --git a/tests/077-method-override/src/Derived.java b/tests/077-method-override/src/Derived.java
deleted file mode 100644
index 7dc43d0..0000000
--- a/tests/077-method-override/src/Derived.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Derived extends Base {
-    public static void notDeclaredInBase() {
-        System.out.println("notDeclaredInBase: Derived");
-    }
-
-    public void overridden() {
-        System.out.println("overridden: Derived");
-    }
-
-    public void wasOverridden() {
-        System.out.println("wasOverridden: Derived");
-    }
-
-    public void overrideWithPublic() {
-        System.out.println("overrideWithPublic: Derived");
-    }
-
-    protected void overridePublicWithProtected() {
-        System.out.println("overridePublicWithProtected: Derived");
-    }
-
-    public void overrideProtectedWithPublic() {
-        System.out.println("overrideProtectedWithPublic: Derived");
-    }
-
-    private void overridePublicWithPrivate() {
-        System.out.println("overridePublicWithPrivate: Derived");
-    }
-
-    public void overridePrivateWithPublic() {
-        System.out.println("overridePrivateWithPublic: Derived");
-    }
-
-    /* not really an "override"; just has same method signature */
-    public static void overrideVirtualWithStatic() {
-        System.out.println("overrideVirtualWithStatic: Derived");
-    }
-
-    /* not really an "override"; just has same method signature */
-    public void overrideStaticWithVirtual() {
-        System.out.println("overrideStaticWithVirtual: Derived");
-    }
-}
diff --git a/tests/077-method-override/src/Main.java b/tests/077-method-override/src/Main.java
deleted file mode 100644
index 2d10ee0..0000000
--- a/tests/077-method-override/src/Main.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    public static void main(String args[]) {
-        Derived derived = new Derived();
-
-        derived.declaredInBase();
-        derived.notDeclaredInBase();
-        derived.wasOverridden();
-
-        derived.callOverrideWithPublic();
-        derived.callOverrideProtectedWithPublic();
-        derived.callOverridePublicWithProtected();
-        derived.callOverridePublicWithPrivate();
-        derived.callOverridePrivateWithPublic();
-        derived.overridePrivateWithPublic();
-        derived.callOverrideVirtualWithStatic();
-        derived.overrideVirtualWithStatic();
-        derived.callOverrideStaticWithVirtual();
-        derived.overrideStaticWithVirtual();
-
-        try {
-            ((Base)derived).overrideVirtualWithStatic();
-        } catch (NoSuchMethodError nsme) {
-            /* NSME is subclass of ICCE, so check it explicitly */
-            System.err.println("Got NSME - ovws");
-        } catch (IncompatibleClassChangeError icce) {
-            System.out.println("Got expected exception - ovws");
-        }
-
-        try {
-            ((Base)derived).overrideStaticWithVirtual();
-        } catch (NoSuchMethodError nsme) {
-            System.err.println("Got NSME - ovws");
-        } catch (IncompatibleClassChangeError icce) {
-            System.out.println("Got expected exception - oswv");
-        }
-    }
-}
diff --git a/tests/077-method-override/src2/Base.java b/tests/077-method-override/src2/Base.java
deleted file mode 100644
index ab2a28b..0000000
--- a/tests/077-method-override/src2/Base.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Base {
-    public void declaredInBase() {
-        System.out.println("declaredInBase: Base");
-    }
-
-    public void overridden() {
-        System.out.println("overridden: Base");
-    }
-
-    /* src2: removed */
-    //public void wasOverridden() {
-    //    System.out.println("wasOverridden: Base");
-    //}
-
-    public void callOverrideWithPublic() {
-        overrideWithPublic();
-    }
-    public void overrideWithPublic() {
-        System.out.println("overrideWithPublic: Base");
-    }
-
-    public void callOverridePublicWithProtected() {
-        overridePublicWithProtected();
-    }
-    /* src2: public */
-    public void overridePublicWithProtected() {
-        System.out.println("overridePublicWithProtected: Base");
-    }
-
-    public void callOverrideProtectedWithPublic() {
-        overrideProtectedWithPublic();
-    }
-    protected void overrideProtectedWithPublic() {
-        System.out.println("overrideProtectedWithPublic: Base");
-    }
-
-    public void callOverridePublicWithPrivate() {
-        overridePublicWithPrivate();
-    }
-    /* src2: public */
-    public void overridePublicWithPrivate() {
-        System.out.println("overridePublicWithPrivate: Base");
-    }
-
-    public void callOverridePrivateWithPublic() {
-        overridePrivateWithPublic();
-    }
-    private void overridePrivateWithPublic() {
-        System.out.println("overridePrivateWithPublic: Base");
-    }
-
-    public void callOverrideVirtualWithStatic() {
-        overrideVirtualWithStatic();
-    }
-    /* src2: non-static */
-    public void overrideVirtualWithStatic() {
-        System.out.println("overrideVirtualWithStatic: Base");
-    }
-
-    public void callOverrideStaticWithVirtual() {
-        overrideStaticWithVirtual();
-    }
-    public static void overrideStaticWithVirtual() {
-        System.out.println("overrideStaticWithVirtual: Base");
-    }
-}
diff --git a/tests/078-polymorphic-virtual/expected.txt b/tests/078-polymorphic-virtual/expected.txt
deleted file mode 100644
index 0d29728..0000000
--- a/tests/078-polymorphic-virtual/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-10000000
-20000000
-30000000
diff --git a/tests/078-polymorphic-virtual/info.txt b/tests/078-polymorphic-virtual/info.txt
deleted file mode 100644
index 7c8a561..0000000
--- a/tests/078-polymorphic-virtual/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Stress test predicted chaining for overloaded virtual callsite with 3 resolved
-calless invoked 10,000,000 times each in three threads.
diff --git a/tests/078-polymorphic-virtual/src/Base.java b/tests/078-polymorphic-virtual/src/Base.java
deleted file mode 100644
index ec3aadd..0000000
--- a/tests/078-polymorphic-virtual/src/Base.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Base extends Thread {
-    int value;
-
-    public void run() {
-        for (int i = 0; i < 10000000; i++) {
-            incrimentValue();
-        }
-    }
-
-    public void incrimentValue() {
-    }
-
-    public int getValue() {
-        return value;
-    }
-}
diff --git a/tests/078-polymorphic-virtual/src/Derived1.java b/tests/078-polymorphic-virtual/src/Derived1.java
deleted file mode 100644
index 57bd3b0..0000000
--- a/tests/078-polymorphic-virtual/src/Derived1.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Derived1 extends Base {
-    public void incrimentValue() {
-        value += 1;
-    }
-}
diff --git a/tests/078-polymorphic-virtual/src/Derived2.java b/tests/078-polymorphic-virtual/src/Derived2.java
deleted file mode 100644
index 1d7de57..0000000
--- a/tests/078-polymorphic-virtual/src/Derived2.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Derived2 extends Base {
-    public void incrimentValue() {
-        value += 2;
-    }
-}
diff --git a/tests/078-polymorphic-virtual/src/Derived3.java b/tests/078-polymorphic-virtual/src/Derived3.java
deleted file mode 100644
index c2594d2..0000000
--- a/tests/078-polymorphic-virtual/src/Derived3.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Derived3 extends Base {
-    public void incrimentValue() {
-        value += 3;
-    }
-}
diff --git a/tests/078-polymorphic-virtual/src/Main.java b/tests/078-polymorphic-virtual/src/Main.java
deleted file mode 100644
index 0514e53..0000000
--- a/tests/078-polymorphic-virtual/src/Main.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    public static void main(String args[]) {
-        Derived1 derived1 = new Derived1();
-        Derived2 derived2 = new Derived2();
-        Derived3 derived3 = new Derived3();
-
-        derived1.start();
-        derived2.start();
-        derived3.start();
-
-        try {
-            derived1.join();
-            derived2.join();
-            derived3.join();
-        } catch (Exception e) {
-            System.out.println(e);
-            return;
-        }
-
-        System.out.println(derived1.getValue());
-        System.out.println(derived2.getValue());
-        System.out.println(derived3.getValue());
-    }
-}
diff --git a/tests/079-phantom/expected.txt b/tests/079-phantom/expected.txt
deleted file mode 100644
index a932b77..0000000
--- a/tests/079-phantom/expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-start
-Created Bitmap one: 10x10 (100)
-Created Bitmap two: 20x20 (101)
-Created Bitmap three/four: 20x20 (101)
-Drawing Bitmap two: 20x20 (101)
-nulling 1
-freeNativeStorage: 100
-nulling 2
-nulling 3
-nulling 4
-freeNativeStorage: 101
-intr
-Bitmap has shut down
-done
diff --git a/tests/079-phantom/info.txt b/tests/079-phantom/info.txt
deleted file mode 100644
index d974e2c..0000000
--- a/tests/079-phantom/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Exercise phantom references.
diff --git a/tests/079-phantom/src/Bitmap.java b/tests/079-phantom/src/Bitmap.java
deleted file mode 100644
index 9d03cbd..0000000
--- a/tests/079-phantom/src/Bitmap.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.ref.ReferenceQueue;
-import java.lang.ref.PhantomReference;
-import java.util.ArrayList;
-
-public class Bitmap {
-    String mName;           /* for debugging */
-    int mWidth, mHeight;
-    Bitmap.NativeWrapper mNativeWrapper;
-
-    private static int sSerial = 100;
-    private static ArrayList sPhantomList = new ArrayList<PhantomWrapper>();
-    private static ReferenceQueue<PhantomWrapper> sPhantomQueue =
-            new ReferenceQueue<PhantomWrapper>();
-    private static BitmapWatcher sWatcher = new BitmapWatcher(sPhantomQueue);
-    static {
-        sWatcher.start();
-    };
-
-    Bitmap(String name, int width, int height, Bitmap.NativeWrapper nativeData) {
-        mName = name;
-        mWidth = width;
-        mHeight = height;
-        mNativeWrapper = nativeData;
-
-        System.out.println("Created " + this);
-    }
-
-    public String toString() {
-        return "Bitmap " + mName + ": " + mWidth + "x" + mHeight + " (" +
-                mNativeWrapper.mNativeData + ")";
-    }
-
-    public void drawAt(int x, int y) {
-        System.out.println("Drawing " + this);
-    }
-
-    public static void shutDown() {
-        sWatcher.shutDown();
-        try {
-            sWatcher.join();
-        } catch (InterruptedException ie) {
-            System.out.println("join intr");
-        }
-        System.out.println("Bitmap has shut down");
-    }
-
-    /*
-     * Pretend we're allocating native storage.  Just returns a unique
-     * serial number.
-     */
-    static Bitmap.NativeWrapper allocNativeStorage(int width, int height) {
-        int nativeData;
-
-        synchronized (Bitmap.class) {
-            nativeData = sSerial++;
-        }
-
-        Bitmap.NativeWrapper wrapper = new Bitmap.NativeWrapper(nativeData);
-        PhantomWrapper phan = new PhantomWrapper(wrapper, sPhantomQueue,
-                nativeData);
-        sPhantomList.add(phan);
-        return wrapper;
-    }
-
-    static void freeNativeStorage(int nativeDataPtr) {
-        System.out.println("freeNativeStorage: " + nativeDataPtr);
-    }
-
-    /*
-     * Wraps a native data pointer in an object.  When this object is no
-     * longer referenced, we free the native data.
-     */
-    static class NativeWrapper {
-        public NativeWrapper(int nativeDataPtr) {
-            mNativeData = nativeDataPtr;
-        }
-        public int mNativeData;
-
-        /*
-        @Override
-        protected void finalize() throws Throwable {
-            System.out.println("finalized " + mNativeData);
-        }
-        */
-    }
-}
-
-/*
- * Keep an eye on the native data.
- *
- * We keep a copy of the native data pointer value, and set the wrapper
- * as our referent.  We need the copy because you can't get the referred-to
- * object back out of a PhantomReference.
- */
-class PhantomWrapper extends PhantomReference {
-    PhantomWrapper(Bitmap.NativeWrapper wrapper,
-        ReferenceQueue<PhantomWrapper> queue, int nativeDataPtr)
-    {
-        super(wrapper, queue);
-        mNativeData = nativeDataPtr;
-    }
-
-    public int mNativeData;
-}
-
-/*
- * Thread that watches for un-referenced bitmap data.
- */
-class BitmapWatcher extends Thread {
-    ReferenceQueue<PhantomWrapper> mQueue;
-    volatile boolean mQuit = false;
-
-    BitmapWatcher(ReferenceQueue<PhantomWrapper> queue) {
-        mQueue = queue;
-        setName("Bitmap Watcher");
-    }
-
-    public void run() {
-        while (!mQuit) {
-            try {
-                PhantomWrapper ref = (PhantomWrapper) mQueue.remove();
-                //System.out.println("dequeued ref " + ref.mNativeData +
-                //    " - " + ref);
-                Bitmap.freeNativeStorage(ref.mNativeData);
-                //ref.clear();
-            } catch (InterruptedException ie) {
-                System.out.println("intr");
-            }
-        }
-    }
-
-    public void shutDown() {
-        mQuit = true;
-        interrupt();
-    }
-}
diff --git a/tests/079-phantom/src/Main.java b/tests/079-phantom/src/Main.java
deleted file mode 100644
index 9c459c9..0000000
--- a/tests/079-phantom/src/Main.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    Bitmap mBitmap1, mBitmap2, mBitmap3, mBitmap4;
-
-    public static void sleep(int ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException ie) {
-            System.err.println("sleep interrupted");
-        }
-    }
-
-    public static void main(String args[]) {
-        System.out.println("start");
-
-        Main main = new Main();
-        main.run();
-
-        sleep(1000);
-        System.out.println("done");
-    }
-
-    public void run() {
-        createBitmaps();
-
-        System.gc();
-        sleep(250);
-
-        mBitmap2.drawAt(0, 0);
-
-        System.out.println("nulling 1");
-        mBitmap1 = null;
-        System.gc();
-        sleep(500);
-
-        System.out.println("nulling 2");
-        mBitmap2 = null;
-        System.gc();
-        sleep(500);
-
-        System.out.println("nulling 3");
-        mBitmap3 = null;
-        System.gc();
-        sleep(500);
-
-        System.out.println("nulling 4");
-        mBitmap4 = null;
-        System.gc();
-        sleep(500);
-
-        Bitmap.shutDown();
-    }
-
-    /*
-     * Create bitmaps.
-     *
-     * bitmap1 is 10x10 and unique
-     * bitmap2 and bitmap3 are 20x20 and share the same storage.
-     * bitmap4 is just another reference to bitmap3
-     *
-     * When we return there should be no local refs lurking on the stack.
-     */
-    public void createBitmaps() {
-        Bitmap.NativeWrapper dataA = Bitmap.allocNativeStorage(10, 10);
-        Bitmap.NativeWrapper dataB = Bitmap.allocNativeStorage(20, 20);
-        mBitmap1 = new Bitmap("one", 10, 10, dataA);
-        mBitmap2 = new Bitmap("two", 20, 20, dataB);
-        mBitmap3 = mBitmap4 = new Bitmap("three/four", 20, 20, dataB);
-    }
-}
diff --git a/tests/080-oom-throw/expected.txt b/tests/080-oom-throw/expected.txt
deleted file mode 100644
index 73cc0d8..0000000
--- a/tests/080-oom-throw/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NEW_ARRAY correctly threw OOME
-NEW_INSTANCE correctly threw OOME
diff --git a/tests/080-oom-throw/info.txt b/tests/080-oom-throw/info.txt
deleted file mode 100644
index e8ae6f6..0000000
--- a/tests/080-oom-throw/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Inject memory allocation failures for NEW_ARRAY and NEW_INSTANCE and make sure
-the JIT'ed code handles OOM exception correctly since it cannot fall back to
-the interpreter and re-execute the bytecode.
diff --git a/tests/080-oom-throw/src/Main.java b/tests/080-oom-throw/src/Main.java
deleted file mode 100644
index 3ffe2f3..0000000
--- a/tests/080-oom-throw/src/Main.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    static class ArrayMemEater {
-        static boolean sawOome;
-
-        static void blowup(char[][] holder) {
-            try {
-                for (int i = 0; i < holder.length; ++i) {
-                    holder[i] = new char[128 * 1024];
-                }
-            } catch (OutOfMemoryError oome) {
-                ArrayMemEater.sawOome = true;
-            }
-        }
-    }
-
-    static class InstanceMemEater {
-        static boolean sawOome;
-
-        InstanceMemEater next;
-        double d1, d2, d3, d4, d5, d6, d7, d8; // Bloat this object so we fill the heap faster.
-
-        static InstanceMemEater allocate() {
-            try {
-                return new InstanceMemEater();
-            } catch (OutOfMemoryError e) {
-                InstanceMemEater.sawOome = true;
-                return null;
-            }
-        }
-
-        static void confuseCompilerOptimization(InstanceMemEater instance) {
-        }
-    }
-
-    static boolean triggerArrayOOM() {
-        ArrayMemEater.blowup(new char[1 * 1024 * 1024][]);
-        return ArrayMemEater.sawOome;
-    }
-
-    static boolean triggerInstanceOOM() {
-        InstanceMemEater memEater = InstanceMemEater.allocate();
-        InstanceMemEater lastMemEater = memEater;
-        do {
-            lastMemEater.next = InstanceMemEater.allocate();
-            lastMemEater = lastMemEater.next;
-        } while (lastMemEater != null);
-        memEater.confuseCompilerOptimization(memEater);
-        return InstanceMemEater.sawOome;
-    }
-
-    public static void main(String[] args) {
-        if (triggerArrayOOM()) {
-            System.out.println("NEW_ARRAY correctly threw OOME");
-        }
-
-        if (triggerInstanceOOM()) {
-            System.out.println("NEW_INSTANCE correctly threw OOME");
-        }
-    }
-}
diff --git a/tests/081-hot-exceptions/expected.txt b/tests/081-hot-exceptions/expected.txt
deleted file mode 100644
index 2432ff4..0000000
--- a/tests/081-hot-exceptions/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-sum = 0
-exception = 1024
diff --git a/tests/081-hot-exceptions/info.txt b/tests/081-hot-exceptions/info.txt
deleted file mode 100644
index cc514f3..0000000
--- a/tests/081-hot-exceptions/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Make a hot exception-throwing path to stress test how the trace builder handles
-exceptions encountered during trace selection. The existence of exceptions will
-cause a control flow change to deviate from the current method.
diff --git a/tests/081-hot-exceptions/src/Main.java b/tests/081-hot-exceptions/src/Main.java
deleted file mode 100644
index 90e7af2..0000000
--- a/tests/081-hot-exceptions/src/Main.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    static class ArrayObj {
-        int[] array;
-
-        int getArrayElement(int i) throws NullPointerException {
-            return array[i];
-        }
-    }
-
-    public static void main(String[] args) {
-        ArrayObj arrayObj2 = new ArrayObj();
-        int sum = 0;
-        int exception = 0;
-
-        for (int i = 0; i < 1024; i++) {
-            try {
-                // A hot method invocation that always encounters exceptions
-                sum += arrayObj2.getArrayElement(i);
-            } catch (NullPointerException npe) {
-                exception++;
-            }
-        }
-        System.out.println("sum = " + sum);
-        System.out.println("exception = " + exception);
-    }
-}
diff --git a/tests/082-inline-execute/expected.txt b/tests/082-inline-execute/expected.txt
deleted file mode 100644
index 5059fe8..0000000
--- a/tests/082-inline-execute/expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Length of  : 0
-Length of x : 1
-Length of 01234567890123456789012345678901234567890123456789012345678901234567890123456789 : 80
-Now is the time[0] = "N"
-Now is the time[1] = "o"
-Now is the time[10] = " "
-Now is the time[last] = "e"
-Num throws 2000
diff --git a/tests/082-inline-execute/info.txt b/tests/082-inline-execute/info.txt
deleted file mode 100644
index ddc31fe..0000000
--- a/tests/082-inline-execute/info.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-This test covers the string inline-execute tests, and it done in a
-looping manner to ensure that the tests are translated when a Jit is
-active.
diff --git a/tests/082-inline-execute/src/Main.java b/tests/082-inline-execute/src/Main.java
deleted file mode 100644
index b512091..0000000
--- a/tests/082-inline-execute/src/Main.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Test for Jit's handling of string inline-execute.  Should be tested
- * twice - once using self-cosimulation (if available) and once without.
- * The non-self-cosimulation test ensures that the answer computed the first
- * time through (via the interpreter) is the same after looping enough
- * to trigger translation.
- */
-
-import junit.framework.Assert;
-
-public class Main {
-    public static void main(String args[]) {
-        int i;
-        stringLengthTest();
-        stringCharAtTest();
-        stringIndexOfTest();
-        for (i = 0; i < 1000; i++)
-            stringCompareToTest();
-    }
-
-    public static void stringLengthTest() {
-        String str0 = "";
-        String str1 = "x";
-        String str80 = "01234567890123456789012345678901234567890123456789012345678901234567890123456789";
-        int len0 = str0.length();
-        int len1 = str1.length();
-        int len80 = str80.length();
-        int i;
-
-        System.out.println("Length of " + str0 + " : " + len0);
-        System.out.println("Length of " + str1 + " : " + len1);
-        System.out.println("Length of " + str80 + " : " + len80);
-
-        for (i = 0; i < 1000; i++) {
-            assert(str0.length() == len0);
-            assert(str1.length() == len1);
-            assert(str80.length() == len80);
-        }
-    }
-
-    public static void stringCharAtTest() {
-        String testStr = "Now is the time";
-        int under = -1;
-        int over = testStr.length();
-        int numThrown = 0;
-        int numNotThrown = 0;
-        int at0 = testStr.charAt(0);
-        int at1 = testStr.charAt(1);
-        int at10 = testStr.charAt(10);
-        int atLast = testStr.charAt(testStr.length()-1);
-        int i;
-
-        System.out.println(testStr + "[0] = \"" + (char)at0 + "\"");
-        System.out.println(testStr + "[1] = \"" + (char)at1 + "\"");
-        System.out.println(testStr + "[10] = \"" + (char)at10 + "\"");
-        System.out.println(testStr + "[last] = \"" + (char)atLast + "\"");
-
-        for (i = 0; i < 1000; i++) {
-            assert(at0 == testStr.charAt(0));
-            assert(at1 == testStr.charAt(1));
-            assert(at10 == testStr.charAt(10));
-            assert(atLast == testStr.charAt(testStr.length()-1));
-        }
-
-        for (i = 0; i < 1000; i++) {
-            try {
-                testStr.charAt(under);
-                numNotThrown++;
-            } catch (StringIndexOutOfBoundsException sioobe) {
-                numThrown++;
-            }
-            try {
-                testStr.charAt(over);
-                numNotThrown++;
-            } catch (StringIndexOutOfBoundsException sioobe) {
-                numThrown++;
-            }
-        }
-        assert(numNotThrown == 0);
-        System.out.println("Num throws " + numThrown);
-    }
-
-
-    public static void stringIndexOfTest() {
-        String str0 = "";
-        String str3 = "abc";
-        String str10 = "abcdefghij";
-        String str40 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabc";
-        int i;
-
-        for (i = 0; i < 1000; i++) {
-            assert(str0.indexOf('a') == -1);
-            assert(str3.indexOf('a') == 0);
-            assert(str3.indexOf('b') == 1);
-            assert(str3.indexOf('c') == 2);
-            assert(str10.indexOf('j') == 9);
-            assert(str40.indexOf('a') == 0);
-            assert(str40.indexOf('b') == 38);
-            assert(str40.indexOf('c') == 39);
-            assert(str0.indexOf('a',20) == -1);
-            assert(str0.indexOf('a',0) == -1);
-            assert(str0.indexOf('a',-1) == -1);
-            assert(str3.indexOf('a',0) == 0);
-            assert(str3.indexOf('a',1) == -1);
-            assert(str3.indexOf('a',1234) == -1);
-            assert(str3.indexOf('b',0) == 1);
-            assert(str3.indexOf('b',1) == 1);
-            assert(str3.indexOf('c',2) == 2);
-            assert(str10.indexOf('j',5) == 9);
-            assert(str10.indexOf('j',9) == 9);
-            assert(str40.indexOf('a',10) == 10);
-            assert(str40.indexOf('b',40) == -1);
-        }
-
-    }
-
-    public static void stringCompareToTest() {
-        String test = "0123456789";
-        String test1 = new String("0123456789");    // different object
-        String test2 = new String("0123456780");    // different value
-        String offset = new String("xxx0123456789yyy");
-        String sub = offset.substring(3, 13);
-        String str32 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
-        String str33 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy";
-        String lc = "abcdefg";
-        String uc = "ABCDEFG";
-        Object blah = new Object();
-
-        for (int i = 0; i < 100; i++) {
-            String y = lc.toUpperCase();
-            Assert.assertTrue(y.equals(uc));
-        }
-
-        Assert.assertEquals(str32.compareTo(str33), -1);
-        Assert.assertEquals(str33.compareTo(str32), 1);
-
-        Assert.assertTrue(test.equals(test));
-        Assert.assertTrue(test.equals(test1));
-        Assert.assertFalse(test.equals(test2));
-
-        Assert.assertEquals(test.compareTo(test1), 0);
-        Assert.assertTrue(test1.compareTo(test2) > 0);
-        Assert.assertTrue(test2.compareTo(test1) < 0);
-
-        /* compare string with a nonzero offset, in left/right side */
-        Assert.assertEquals(test.compareTo(sub), 0);
-        Assert.assertEquals(sub.compareTo(test), 0);
-        Assert.assertTrue(test.equals(sub));
-        Assert.assertTrue(sub.equals(test));
-        /* same base, one is a substring */
-        Assert.assertFalse(offset.equals(sub));
-        Assert.assertFalse(sub.equals(offset));
-        /* wrong class */
-        Assert.assertFalse(test.equals(blah));
-
-        /* null ptr - throw */
-        try {
-            test.compareTo(null);
-            Assert.fail("didn't get expected npe");
-        } catch (NullPointerException npe) {
-        }
-        /* null ptr - ok */
-        Assert.assertFalse(test.equals(null));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("123456789"));
-        Assert.assertFalse(test.equals(test1));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("23456789"));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("3456789"));
-
-        test = test.substring(1);
-        Assert.assertTrue(test.equals("456789"));
-
-        test = test.substring(3,5);
-        Assert.assertTrue(test.equals("78"));
-
-        test = "this/is/a/path";
-        String[] strings = test.split("/");
-        Assert.assertEquals(4, strings.length);
-
-        Assert.assertEquals("this is a path", test.replaceAll("/", " "));
-        Assert.assertEquals("this is a path", test.replace("/", " "));
-    }
-
-}
diff --git a/tests/082-inline-execute/src/junit/framework/Assert.java b/tests/082-inline-execute/src/junit/framework/Assert.java
deleted file mode 100644
index 364e646..0000000
--- a/tests/082-inline-execute/src/junit/framework/Assert.java
+++ /dev/null
@@ -1,291 +0,0 @@
-package junit.framework;
-
-/**
- * A set of assert methods.  Messages are only displayed when an assert fails.
- */
-
-public class Assert {
-    /**
-     * Protect constructor since it is a static only class
-     */
-    protected Assert() {
-    }
-
-    /**
-     * Asserts that a condition is true. If it isn't it throws
-     * an AssertionFailedError with the given message.
-     */
-    static public void assertTrue(String message, boolean condition) {
-        if (!condition)
-            fail(message);
-    }
-    /**
-     * Asserts that a condition is true. If it isn't it throws
-     * an AssertionFailedError.
-     */
-    static public void assertTrue(boolean condition) {
-        assertTrue(null, condition);
-    }
-    /**
-     * Asserts that a condition is false. If it isn't it throws
-     * an AssertionFailedError with the given message.
-     */
-    static public void assertFalse(String message, boolean condition) {
-        assertTrue(message, !condition);
-    }
-    /**
-     * Asserts that a condition is false. If it isn't it throws
-     * an AssertionFailedError.
-     */
-    static public void assertFalse(boolean condition) {
-        assertFalse(null, condition);
-    }
-    /**
-     * Fails a test with the given message.
-     */
-    static public void fail(String message) {
-        throw new AssertionFailedError(message);
-    }
-    /**
-     * Fails a test with no message.
-     */
-    static public void fail() {
-        fail(null);
-    }
-    /**
-     * Asserts that two objects are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, Object expected, Object actual) {
-        if (expected == null && actual == null)
-            return;
-        if (expected != null && expected.equals(actual))
-            return;
-        failNotEquals(message, expected, actual);
-    }
-    /**
-     * Asserts that two objects are equal. If they are not
-     * an AssertionFailedError is thrown.
-     */
-    static public void assertEquals(Object expected, Object actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two Strings are equal.
-     */
-    static public void assertEquals(String message, String expected, String actual) {
-        if (expected == null && actual == null)
-            return;
-        if (expected != null && expected.equals(actual))
-            return;
-        throw new ComparisonFailure(message, expected, actual);
-    }
-    /**
-     * Asserts that two Strings are equal.
-     */
-    static public void assertEquals(String expected, String actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two doubles are equal concerning a delta.  If they are not
-     * an AssertionFailedError is thrown with the given message.  If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(String message, double expected, double actual, double delta) {
-        // handle infinity specially since subtracting to infinite values gives NaN and the
-        // the following test fails
-        if (Double.isInfinite(expected)) {
-            if (!(expected == actual))
-                failNotEquals(message, new Double(expected), new Double(actual));
-        } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false
-            failNotEquals(message, new Double(expected), new Double(actual));
-    }
-    /**
-     * Asserts that two doubles are equal concerning a delta. If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(double expected, double actual, double delta) {
-        assertEquals(null, expected, actual, delta);
-    }
-    /**
-     * Asserts that two floats are equal concerning a delta. If they are not
-     * an AssertionFailedError is thrown with the given message.  If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(String message, float expected, float actual, float delta) {
-         // handle infinity specially since subtracting to infinite values gives NaN and the
-        // the following test fails
-        if (Float.isInfinite(expected)) {
-            if (!(expected == actual))
-                failNotEquals(message, new Float(expected), new Float(actual));
-        } else if (!(Math.abs(expected-actual) <= delta))
-              failNotEquals(message, new Float(expected), new Float(actual));
-    }
-    /**
-     * Asserts that two floats are equal concerning a delta. If the expected
-     * value is infinity then the delta value is ignored.
-     */
-    static public void assertEquals(float expected, float actual, float delta) {
-        assertEquals(null, expected, actual, delta);
-    }
-    /**
-     * Asserts that two longs are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, long expected, long actual) {
-        assertEquals(message, new Long(expected), new Long(actual));
-    }
-    /**
-     * Asserts that two longs are equal.
-     */
-    static public void assertEquals(long expected, long actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two booleans are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, boolean expected, boolean actual) {
-            assertEquals(message, new Boolean(expected), new Boolean(actual));
-      }
-    /**
-     * Asserts that two booleans are equal.
-      */
-    static public void assertEquals(boolean expected, boolean actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two bytes are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-      static public void assertEquals(String message, byte expected, byte actual) {
-        assertEquals(message, new Byte(expected), new Byte(actual));
-    }
-    /**
-        * Asserts that two bytes are equal.
-     */
-    static public void assertEquals(byte expected, byte actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two chars are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-      static public void assertEquals(String message, char expected, char actual) {
-            assertEquals(message, new Character(expected), new Character(actual));
-      }
-    /**
-     * Asserts that two chars are equal.
-     */
-      static public void assertEquals(char expected, char actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two shorts are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertEquals(String message, short expected, short actual) {
-            assertEquals(message, new Short(expected), new Short(actual));
-    }
-      /**
-     * Asserts that two shorts are equal.
-     */
-    static public void assertEquals(short expected, short actual) {
-        assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that two ints are equal. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-      static public void assertEquals(String message, int expected, int actual) {
-        assertEquals(message, new Integer(expected), new Integer(actual));
-      }
-      /**
-        * Asserts that two ints are equal.
-     */
-      static public void assertEquals(int expected, int actual) {
-          assertEquals(null, expected, actual);
-    }
-    /**
-     * Asserts that an object isn't null.
-     */
-    static public void assertNotNull(Object object) {
-        assertNotNull(null, object);
-    }
-    /**
-     * Asserts that an object isn't null. If it is
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertNotNull(String message, Object object) {
-        assertTrue(message, object != null);
-    }
-    /**
-     * Asserts that an object is null.
-     */
-    static public void assertNull(Object object) {
-        assertNull(null, object);
-    }
-    /**
-     * Asserts that an object is null.  If it is not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertNull(String message, Object object) {
-        assertTrue(message, object == null);
-    }
-    /**
-     * Asserts that two objects refer to the same object. If they are not
-     * an AssertionFailedError is thrown with the given message.
-     */
-    static public void assertSame(String message, Object expected, Object actual) {
-        if (expected == actual)
-            return;
-        failNotSame(message, expected, actual);
-    }
-    /**
-     * Asserts that two objects refer to the same object. If they are not
-     * the same an AssertionFailedError is thrown.
-     */
-    static public void assertSame(Object expected, Object actual) {
-        assertSame(null, expected, actual);
-    }
-     /**
-      * Asserts that two objects refer to the same object. If they are not
-      * an AssertionFailedError is thrown with the given message.
-      */
-    static public void assertNotSame(String message, Object expected, Object actual) {
-        if (expected == actual)
-            failSame(message);
-    }
-    /**
-     * Asserts that two objects refer to the same object. If they are not
-     * the same an AssertionFailedError is thrown.
-     */
-    static public void assertNotSame(Object expected, Object actual) {
-        assertNotSame(null, expected, actual);
-    }
-
-    static private void failSame(String message) {
-        String formatted= "";
-         if (message != null)
-             formatted= message+" ";
-         fail(formatted+"expected not same");
-    }
-
-    static private void failNotSame(String message, Object expected, Object actual) {
-        String formatted= "";
-        if (message != null)
-            formatted= message+" ";
-        fail(formatted+"expected same:<"+expected+"> was not:<"+actual+">");
-    }
-
-    static private void failNotEquals(String message, Object expected, Object actual) {
-        fail(format(message, expected, actual));
-    }
-
-    static String format(String message, Object expected, Object actual) {
-        String formatted= "";
-        if (message != null)
-            formatted= message+" ";
-        return formatted+"expected:<"+expected+"> but was:<"+actual+">";
-    }
-}
diff --git a/tests/082-inline-execute/src/junit/framework/AssertionFailedError.java b/tests/082-inline-execute/src/junit/framework/AssertionFailedError.java
deleted file mode 100644
index e9cb3a3..0000000
--- a/tests/082-inline-execute/src/junit/framework/AssertionFailedError.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package junit.framework;
-
-/**
- * Thrown when an assertion failed.
- */
-public class AssertionFailedError extends Error {
-
-    public AssertionFailedError () {
-    }
-    public AssertionFailedError (String message) {
-        super (message);
-    }
-}
diff --git a/tests/082-inline-execute/src/junit/framework/ComparisonFailure.java b/tests/082-inline-execute/src/junit/framework/ComparisonFailure.java
deleted file mode 100644
index 0cb2cee..0000000
--- a/tests/082-inline-execute/src/junit/framework/ComparisonFailure.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package junit.framework;
-
-/**
- * Thrown when an assert equals for Strings failed.
- *
- * Inspired by a patch from Alex Chaffee mailto:alex@purpletech.com
- */
-public class ComparisonFailure extends AssertionFailedError {
-    private String fExpected;
-    private String fActual;
-
-    /**
-     * Constructs a comparison failure.
-     * @param message the identifying message or null
-     * @param expected the expected string value
-     * @param actual the actual string value
-     */
-    public ComparisonFailure (String message, String expected, String actual) {
-        super (message);
-        fExpected= expected;
-        fActual= actual;
-    }
-
-    /**
-     * Returns "..." in place of common prefix and "..." in
-     * place of common suffix between expected and actual.
-     *
-     * @see java.lang.Throwable#getMessage()
-     */
-    public String getMessage() {
-        if (fExpected == null || fActual == null)
-            return Assert.format(super.getMessage(), fExpected, fActual);
-
-        int end= Math.min(fExpected.length(), fActual.length());
-
-        int i= 0;
-        for(; i < end; i++) {
-            if (fExpected.charAt(i) != fActual.charAt(i))
-                break;
-        }
-        int j= fExpected.length()-1;
-        int k= fActual.length()-1;
-        for (; k >= i && j >= i; k--,j--) {
-            if (fExpected.charAt(j) != fActual.charAt(k))
-                break;
-        }
-        String actual, expected;
-
-        // equal strings
-        if (j < i && k < i) {
-            expected= fExpected;
-            actual= fActual;
-        } else {
-            expected= fExpected.substring(i, j+1);
-            actual= fActual.substring(i, k+1);
-            if (i <= end && i > 0) {
-                expected= "..."+expected;
-                actual= "..."+actual;
-            }
-
-            if (j < fExpected.length()-1)
-                expected= expected+"...";
-            if (k < fActual.length()-1)
-                actual= actual+"...";
-        }
-        return Assert.format(super.getMessage(), expected, actual);
-    }
-}
diff --git a/tests/083-jit-regressions/expected.txt b/tests/083-jit-regressions/expected.txt
deleted file mode 100644
index 7f9f14c..0000000
--- a/tests/083-jit-regressions/expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-b2296099 passes
-b2302318 passes
-b2487514 passes
-b5884080 passes
-longDivTest passes
-longModTest passes
diff --git a/tests/083-jit-regressions/info.txt b/tests/083-jit-regressions/info.txt
deleted file mode 100644
index 00c24ee..0000000
--- a/tests/083-jit-regressions/info.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-This is a miscellaneous test that was imported into the new-at-the-time
-runtime test framework. The test is intended to exercise basic features,
-and as such cannot be build on top of junit, since failure of such basic
-features might disrupt junit.
-
-This test covers JIT regressions
-
-2296099 JIT shift bug
-2302318 Crash during spin-on-suspend testing
-2487514 Missed exception in PriorityBlockingQueueTest.testToArray1_BadArg
-5884080 ICS JIT regression in nested loop formation
diff --git a/tests/083-jit-regressions/src/Main.java b/tests/083-jit-regressions/src/Main.java
deleted file mode 100644
index 68bfa37..0000000
--- a/tests/083-jit-regressions/src/Main.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.concurrent.*;
-
-/**
- * Test for Jit regressions.
- */
-public class Main {
-    public static void main(String args[]) throws Exception {
-        b2296099Test();
-        b2302318Test();
-        b2487514Test();
-        b5884080Test();
-        zeroTest();
-    }
-
-    static void b2296099Test() throws Exception {
-       int x = -1190771042;
-       int dist = 360530809;
-       int xl = -1190771042;
-       int distl = 360530809;
-
-       for (int i = 0; i < 100000; i++) {
-           int b = rotateLeft(x, dist);
-           if (b != 1030884493)
-               throw new RuntimeException("Unexpected value: " + b
-                       + " after " + i + " iterations");
-       }
-       for (int i = 0; i < 100000; i++) {
-           long bl = rotateLeft(xl, distl);
-           if (bl != 1030884493)
-               throw new RuntimeException("Unexpected value: " + bl
-                       + " after " + i + " iterations");
-       }
-       System.out.println("b2296099 passes");
-   }
-
-    static int rotateLeft(int i, int distance) {
-        return ((i << distance) | (i >>> (-distance)));
-    }
-
-    static void b2302318Test() {
-        System.gc();
-
-        SpinThread slow = new SpinThread(Thread.MIN_PRIORITY);
-        SpinThread fast1 = new SpinThread(Thread.NORM_PRIORITY);
-        SpinThread fast2 = new SpinThread(Thread.MAX_PRIORITY);
-
-        slow.setDaemon(true);
-        fast1.setDaemon(true);
-        fast2.setDaemon(true);
-
-        fast2.start();
-        slow.start();
-        fast1.start();
-        try {
-            Thread.sleep(3000);
-        } catch (InterruptedException ie) {/*ignore */}
-        System.gc();
-
-        System.out.println("b2302318 passes");
-    }
-
-    static void b2487514Test() {
-        PriorityBlockingQueue q = new PriorityBlockingQueue(10);
-        int catchCount = 0;
-
-        q.offer(new Integer(0));
-        /*
-         * Warm up the code cache to have toArray() compiled. The key here is
-         * to pass a compatible type so that there are no exceptions when
-         * executing the method body (ie the APUT_OBJECT bytecode).
-         */
-        for (int i = 0; i < 1000; i++) {
-            Integer[] ints = (Integer[]) q.toArray(new Integer[5]);
-        }
-
-        /* Now pass an incompatible type which is guaranteed to throw */
-        for (int i = 0; i < 1000; i++) {
-            try {
-                Object[] obj = q.toArray(new String[5]);
-            }
-            catch (ArrayStoreException  success) {
-                catchCount++;
-            }
-        }
-
-        if (catchCount == 1000) {
-            System.out.println("b2487514 passes");
-        }
-        else {
-            System.out.println("b2487514 fails: catchCount is " + catchCount +
-                               " (expecting 1000)");
-        }
-    }
-
-    static void b5884080Test() {
-        int vA = 1;
-
-        int l = 0;
-        do {
-            int k = 0;
-            do
-                vA += 1;
-            while(++k < 100);
-        } while (++l < 1000);
-        if (vA == 100001) {
-            System.out.println("b5884080 passes");
-        }
-        else {
-            System.out.println("b5884080 fails: vA is " + vA +
-                               " (expecting 100001)");
-        }
-    }
-
-    static void zeroTest() throws Exception {
-        ZeroTests zt = new ZeroTests();
-        try {
-            zt.longDivTest();
-        } catch (Throwable th) {
-            th.printStackTrace();
-        }
-        try {
-            zt.longModTest();
-        } catch (Throwable th) {
-            th.printStackTrace();
-        }
-    }
-}
-
-class SpinThread extends Thread {
-    int mPriority;
-
-    SpinThread(int prio) {
-        super("Spin prio=" + prio);
-        mPriority = prio;
-    }
-
-    public void run() {
-        setPriority(mPriority);
-        while (true) {}
-    }
-}
diff --git a/tests/083-jit-regressions/src/ZeroTests.java b/tests/083-jit-regressions/src/ZeroTests.java
deleted file mode 100644
index 57ca151..0000000
--- a/tests/083-jit-regressions/src/ZeroTests.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.Random;
-
-/**
- * Tests long division by zero for both / and %.
- */
-public class ZeroTests {
-    public void longDivTest() throws Exception {
-      longTest("longDivTest", true);
-    }
-
-    public void longModTest() throws Exception {
-      longTest("longModTest", false);
-    }
-
-    private static void longTest(String name, boolean divide) throws Exception {
-      // Warm up JIT.
-      for (int i = 0; i < 10000; ++i) {
-        try {
-          // We won't JIT code that hasn't completed successfully, so rhs can't be 0 here!
-          if (divide) {
-            longDiv(1, 1);
-          } else {
-            longMod(1, 1);
-          }
-        } catch (ArithmeticException expected) {
-          throw new AssertionError(name + " threw during warmup");
-        }
-      }
-
-      // Boom?
-      int catchCount = 0;
-      for (int i = 0; i < 10000; ++i) {
-        try {
-          if (divide) {
-            longDiv(1, 0);
-          } else {
-            longMod(1, 0);
-          }
-          throw new AssertionError(name + " failed to throw: " + i);
-        } catch (ArithmeticException expected) {
-          ++catchCount;
-        }
-      }
-      if (catchCount != 10000) throw new AssertionError(name + " failed: " + catchCount);
-
-      System.out.println(name + " passes");
-    }
-
-    private static long longDiv(long lhs, long rhs) {
-      return lhs / rhs;
-    }
-
-    private static long longMod(long lhs, long rhs) {
-      return lhs % rhs;
-    }
-}
diff --git a/tests/084-class-init/expected.txt b/tests/084-class-init/expected.txt
deleted file mode 100644
index 68a2b38..0000000
--- a/tests/084-class-init/expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Got expected EIIE for FIELD0
-Got expected NCDFE for FIELD0
-Got expected NCDFE for FIELD1
-Got expected 'hello!' from Exploder
-SlowInit static block pre-sleep
-SlowInit static block post-sleep
-MethodThread message
-Fields (child thread): 111222333444
-Fields (main thread): 111222333444
diff --git a/tests/084-class-init/info.txt b/tests/084-class-init/info.txt
deleted file mode 100644
index 00fa31b..0000000
--- a/tests/084-class-init/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test class initialization edge cases and race conditions.
diff --git a/tests/084-class-init/src/Exploder.java b/tests/084-class-init/src/Exploder.java
deleted file mode 100644
index 911e5fe..0000000
--- a/tests/084-class-init/src/Exploder.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-/**
- * Throws an Error rather than an exception from its class initializer.
- */
-public class Exploder {
-    public static final Object FIELD = new AssertThrower();
-    static class AssertThrower {
-        AssertThrower() {
-            throw new AssertionError("hello!");
-        }
-    }
-}
diff --git a/tests/084-class-init/src/IntHolder.java b/tests/084-class-init/src/IntHolder.java
deleted file mode 100644
index 4012d6e..0000000
--- a/tests/084-class-init/src/IntHolder.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-/**
- * Holds an int.
- */
-public class IntHolder {
-    private int mValue = 0;
-
-    /**
-     * Constructs an IntHolder with the specified value.  Throws an
-     * exception if the initial value is less than zero.
-     */
-    public IntHolder(int initialVal) {
-        if (initialVal < 0)
-            throw new RuntimeException("negative number");
-
-        mValue = initialVal;
-    }
-
-    public int getValue() {
-        return mValue;
-    }
-    public void setValue(int val) {
-        mValue = val;
-    }
-}
diff --git a/tests/084-class-init/src/Main.java b/tests/084-class-init/src/Main.java
deleted file mode 100644
index 29681ce..0000000
--- a/tests/084-class-init/src/Main.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    public static void main(String[] args) {
-        checkExceptions();
-        checkTiming();
-    }
-
-    public static void sleep(int msec) {
-        try {
-            Thread.sleep(msec);
-        } catch (InterruptedException ie) {
-            System.err.println("sleep interrupted");
-        }
-    }
-
-    static void checkExceptions() {
-        try {
-            System.out.println(PartialInit.FIELD0);
-            System.err.println("Construction of PartialInit succeeded unexpectedly");
-        } catch (ExceptionInInitializerError eiie) {
-            System.out.println("Got expected EIIE for FIELD0");
-        }
-
-        try {
-            System.out.println(PartialInit.FIELD0);
-            System.err.println("Load of FIELD0 succeeded unexpectedly");
-        } catch (NoClassDefFoundError ncdfe) {
-            System.out.println("Got expected NCDFE for FIELD0");
-        }
-        try {
-            System.out.println(PartialInit.FIELD1);
-            System.err.println("Load of FIELD1 succeeded unexpectedly");
-        } catch (NoClassDefFoundError ncdfe) {
-            System.out.println("Got expected NCDFE for FIELD1");
-        }
-
-        try {
-            System.out.println(Exploder.FIELD);
-            System.err.println("Load of FIELD succeeded unexpectedly");
-        } catch (AssertionError expected) {
-            System.out.println("Got expected '" + expected.getMessage() + "' from Exploder");
-        }
-    }
-
-    static void checkTiming() {
-        FieldThread fieldThread = new FieldThread();
-        MethodThread methodThread = new MethodThread();
-
-        fieldThread.start();
-        methodThread.start();
-
-        /* start class init */
-        IntHolder zero = SlowInit.FIELD0;
-
-        /* wait for children to complete */
-        try {
-            fieldThread.join();
-            methodThread.join();
-        } catch (InterruptedException ie) {
-            System.err.println(ie);
-        }
-
-        /* print all values */
-        System.out.println("Fields (main thread): " +
-            SlowInit.FIELD0.getValue() + SlowInit.FIELD1.getValue() +
-            SlowInit.FIELD2.getValue() + SlowInit.FIELD3.getValue());
-    }
-
-    static class FieldThread extends Thread {
-        public void run() {
-            /* allow SlowInit's <clinit> to start */
-            Main.sleep(1000);
-
-            /* collect fields; should delay until class init completes */
-            int field0, field1, field2, field3;
-            field0 = SlowInit.FIELD0.getValue();
-            field1 = SlowInit.FIELD1.getValue();
-            field2 = SlowInit.FIELD2.getValue();
-            field3 = SlowInit.FIELD3.getValue();
-
-            /* let MethodThread print first */
-            Main.sleep(5000);
-            System.out.println("Fields (child thread): " +
-                field0 + field1 + field2 + field3);
-        }
-    }
-
-    static class MethodThread extends Thread {
-        public void run() {
-            /* allow SlowInit's <clinit> to start */
-            Main.sleep(1000);
-
-            /* use a method that shouldn't be accessible yet */
-            SlowInit.printMsg("MethodThread message");
-        }
-    }
-}
diff --git a/tests/084-class-init/src/PartialInit.java b/tests/084-class-init/src/PartialInit.java
deleted file mode 100644
index d4c71ff..0000000
--- a/tests/084-class-init/src/PartialInit.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-/**
- * Partially-initialized class.
- */
-public class PartialInit {
-    public static final IntHolder FIELD0 = new IntHolder(1);    // succeeds
-    public static final IntHolder FIELD1 = new IntHolder(-2);   // throws
-}
diff --git a/tests/084-class-init/src/SlowInit.java b/tests/084-class-init/src/SlowInit.java
deleted file mode 100644
index f0c6919..0000000
--- a/tests/084-class-init/src/SlowInit.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Class that initializes with a pause.
- */
-public class SlowInit {
-
-    public static final IntHolder FIELD0 = new IntHolder(0);
-    public static final IntHolder FIELD1 = new IntHolder(0);
-    public static final IntHolder FIELD2 = new IntHolder(0);
-    public static final IntHolder FIELD3 = new IntHolder(0);
-
-    public static void printMsg(String msg) {
-        System.out.println(msg);
-    }
-
-    static {
-        FIELD0.setValue(111);
-        FIELD1.setValue(222);
-        printMsg("SlowInit static block pre-sleep");
-        Main.sleep(4000);
-        printMsg("SlowInit static block post-sleep");
-        FIELD2.setValue(333);
-        FIELD3.setValue(444);
-    };
-}
diff --git a/tests/085-old-style-inner-class/build b/tests/085-old-style-inner-class/build
deleted file mode 100644
index dc6f3bb..0000000
--- a/tests/085-old-style-inner-class/build
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2010 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Stop if something fails.
-set -e
-
-# We compile for a 1.4 target to suppress the use of EnclosingMethod
-# attributes.
-mkdir classes
-${JAVAC} -source 1.4 -target 1.4 -d classes `find src -name '*.java'`
-
-# Suppress stderr to keep the inner class warnings out of the expected output.
-dx --debug --dex --dump-to=classes.lst --output=classes.dex \
-    --dump-width=1000 classes 2>/dev/null
-
-zip test.jar classes.dex
diff --git a/tests/085-old-style-inner-class/expected.txt b/tests/085-old-style-inner-class/expected.txt
deleted file mode 100644
index 63a0076..0000000
--- a/tests/085-old-style-inner-class/expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Class: Main$1
-  getDeclaringClass(): (null)
-  getEnclosingClass(): (null)
-  getEnclosingMethod(): (null)
-Class: Main$2
-  getDeclaringClass(): (null)
-  getEnclosingClass(): (null)
-  getEnclosingMethod(): (null)
diff --git a/tests/085-old-style-inner-class/info.txt b/tests/085-old-style-inner-class/info.txt
deleted file mode 100644
index 9e5c4f9..0000000
--- a/tests/085-old-style-inner-class/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Test that the conversion of an old-style (pre-1.5) inner class results
-in a loss of inner class reflection information.
diff --git a/tests/085-old-style-inner-class/src/Main.java b/tests/085-old-style-inner-class/src/Main.java
deleted file mode 100644
index c9a5b72..0000000
--- a/tests/085-old-style-inner-class/src/Main.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.Method;
-
-/**
- * Test reflection on old-style inner classes.
- */
-public class Main {
-    private static Runnable theRunnable = new Runnable() {
-            public void run() { }
-        };
-
-    private static Runnable create() {
-        return new Runnable() {
-                public void run() { }
-            };
-    }
-
-    private static String nameOf(Class clazz) {
-        return (clazz == null) ? "(null)" : clazz.getName();
-    }
-
-    private static String nameOf(Method meth) {
-        return (meth == null) ? "(null)" : meth.toString();
-    }
-
-    private static void infoFor(Class clazz) {
-        System.out.println("Class: " + nameOf(clazz) + "\n" +
-                "  getDeclaringClass(): " +
-                nameOf(clazz.getDeclaringClass()) + "\n" +
-                "  getEnclosingClass(): " +
-                nameOf(clazz.getEnclosingClass()) + "\n" +
-                "  getEnclosingMethod(): " +
-                nameOf(clazz.getEnclosingMethod()));
-    }
-
-    public static void main(String args[]) {
-        infoFor(theRunnable.getClass());
-        infoFor(create().getClass());
-    }
-}
diff --git a/tests/086-null-super/expected.txt b/tests/086-null-super/expected.txt
deleted file mode 100644
index 20c6796..0000000
--- a/tests/086-null-super/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Got expected ITE/NPE
diff --git a/tests/086-null-super/info.txt b/tests/086-null-super/info.txt
deleted file mode 100644
index f983bd0..0000000
--- a/tests/086-null-super/info.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-ClassLoader.loadClass() is expected to throw an exception, usually
-ClassNotFound, if it can't find the given Class, and not return null.
-
-This is a regression test for a defect in Dalvik, which was assuming
-that if there was no exception, the value returned would be non-null.
-
-This test is not expected to work for the reference implementation.
diff --git a/tests/086-null-super/src/Main.java b/tests/086-null-super/src/Main.java
deleted file mode 100644
index 82237c5..0000000
--- a/tests/086-null-super/src/Main.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * Class loader test.
- */
-public class Main {
-    /**
-     * Thrown when an unexpected Exception is caught internally.
-     */
-    static class TestFailed extends Exception {
-        public TestFailed(Throwable cause) {
-            super(cause);
-        }
-    }
-
-    /**
-     * A class loader which loads classes from the dex file
-     * "test.jar". However, it will return null when asked to load the
-     * class InaccessibleSuper.
-     *
-     * When testing code calls BrokenDexLoader's findBrokenClass(),
-     * a BrokenDexLoader will be the defining loader for the class
-     * Inaccessible.  The VM will call the defining loader for
-     * "InaccessibleSuper", which will return null, which the VM
-     * should be able to deal with gracefully.
-     *
-     * Note that this depends heavily on the Dalvik test harness.
-     */
-    static class BrokenDexLoader extends ClassLoader {
-
-        /** We return null when asked to load InaccessibleSuper. */
-        private static class InaccessibleSuper {}
-        private static class Inaccessible extends InaccessibleSuper {}
-
-        private static final String SUPERCLASS_NAME =
-                "Main$BrokenDexLoader$InaccessibleSuper";
-        private static final String CLASS_NAME =
-                "Main$BrokenDexLoader$Inaccessible";
-
-        private static final String DEX_FILE = "test.jar";
-
-        public BrokenDexLoader(ClassLoader parent) {
-            super(parent);
-        }
-
-        /**
-         * Finds the class with the specified binary name, from DEX_FILE.
-         *
-         * If we don't find a match, we throw an exception.
-         */
-        private Class<?> findDexClass(String name)
-                throws TestFailed, InvocationTargetException
-        {
-
-            try {
-                /*
-                 * Find the DexFile class, and construct a DexFile object
-                 * through reflection, then call loadCLass on it.
-                 */
-                Class mDexClass = ClassLoader.getSystemClassLoader().
-                        loadClass("dalvik.system.DexFile");
-                Constructor ctor = mDexClass.
-                        getConstructor(new Class[] {String.class});
-                Object mDexFile = ctor.newInstance(DEX_FILE);
-                Method meth = mDexClass.
-                        getMethod("loadClass",
-                            new Class[] { String.class, ClassLoader.class });
-                /*
-                 * Invoking loadClass on CLASS_NAME is expected to
-                 * throw an InvocationTargetException. Anything else
-                 * is an error we can't recover from.
-                 */
-                meth.invoke(mDexFile, name, this);
-            } catch (NoSuchMethodException nsme) {
-                throw new TestFailed(nsme);
-            } catch (InstantiationException ie) {
-                throw new TestFailed(ie);
-            } catch (IllegalAccessException iae) {
-                throw new TestFailed(iae);
-            } catch (ClassNotFoundException cnfe) {
-                throw new TestFailed(cnfe);
-            }
-
-            return null;
-        }
-
-        /**
-         * Load a class.
-         *
-         * Return null if the class's name is SUPERCLASS_NAME;
-         * otherwise invoke the super's loadClass method.
-         */
-        public Class<?> loadClass(String name, boolean resolve)
-                throws ClassNotFoundException
-        {
-            if (SUPERCLASS_NAME.equals(name)) {
-                return null;
-            }
-
-            return super.loadClass(name, resolve);
-        }
-
-        /**
-         * Attempt to find the class with the superclass we refuse to
-         * load.  This is expected to throw an
-         * InvocationTargetException, with a NullPointerException as
-         * its cause.
-         */
-        public void findBrokenClass()
-                throws TestFailed, InvocationTargetException
-        {
-            findDexClass(CLASS_NAME);
-        }
-    }
-
-    /**
-     * Main entry point.
-     */
-    public static void main(String[] args)
-            throws TestFailed, ClassNotFoundException {
-        /*
-         * Run test.
-         */
-        testFailLoadAndGc();
-    }
-
-    /**
-     * See if we can GC after a failed load.
-     */
-    static void testFailLoadAndGc() throws TestFailed {
-        try {
-            BrokenDexLoader loader;
-
-            loader = new BrokenDexLoader(ClassLoader.getSystemClassLoader());
-            loader.findBrokenClass();
-            System.err.println("ERROR: Inaccessible was accessible");
-        } catch (InvocationTargetException ite) {
-            Throwable cause = ite.getCause();
-            if (cause instanceof NullPointerException) {
-                System.err.println("Got expected ITE/NPE");
-            } else {
-                System.err.println("Got unexpected ITE");
-                ite.printStackTrace();
-            }
-        }
-    }
-}
diff --git a/tests/087-gc-after-link/expected.txt b/tests/087-gc-after-link/expected.txt
deleted file mode 100644
index 3b2d33a..0000000
--- a/tests/087-gc-after-link/expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Got expected ITE/NPE
-GC complete.
diff --git a/tests/087-gc-after-link/info.txt b/tests/087-gc-after-link/info.txt
deleted file mode 100644
index 9483838..0000000
--- a/tests/087-gc-after-link/info.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-This test causes a linkage error, which calls dvmFreeClassInnards on
-the unlinked Class.
-
-This is a regression test for a defect in Dalvik, which was assuming
-that dvmFreeClassInnards could be called twice on the same class.
-
-This test is a modified version of test 086.
-This test is not expected to work for the reference implementation.
diff --git a/tests/087-gc-after-link/src/Main.java b/tests/087-gc-after-link/src/Main.java
deleted file mode 100644
index 11fb2d3..0000000
--- a/tests/087-gc-after-link/src/Main.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * Class loader test.
- */
-public class Main {
-    /**
-     * Thrown when an unexpected Exception is caught internally.
-     */
-    static class TestFailed extends Exception {
-        public TestFailed(Throwable cause) {
-            super(cause);
-        }
-    }
-
-    /**
-     * A class loader which loads classes from the dex file
-     * "test.jar". However, it will return null when asked to load the
-     * class InaccessibleSuper.
-     *
-     * When testing code calls BrokenDexLoader's findBrokenClass(),
-     * a BrokenDexLoader will be the defining loader for the class
-     * Inaccessible.  The VM will call the defining loader for
-     * "InaccessibleSuper", which will return null, which the VM
-     * should be able to deal with gracefully.
-     *
-     * Note that this depends heavily on the Dalvik test harness.
-     */
-    static class BrokenDexLoader extends ClassLoader {
-
-        /** We return null when asked to load InaccessibleSuper. */
-        private static class InaccessibleSuper {}
-        private static class Inaccessible extends InaccessibleSuper {}
-
-        private static final String SUPERCLASS_NAME =
-                "Main$BrokenDexLoader$InaccessibleSuper";
-        private static final String CLASS_NAME =
-                "Main$BrokenDexLoader$Inaccessible";
-
-        private static final String DEX_FILE = "test.jar";
-
-        public BrokenDexLoader(ClassLoader parent) {
-            super(parent);
-        }
-
-        /**
-         * Finds the class with the specified binary name, from DEX_FILE.
-         *
-         * If we don't find a match, we throw an exception.
-         */
-        private Class<?> findDexClass(String name)
-                throws TestFailed, InvocationTargetException
-        {
-            Object dexFile = null;
-            Class dexClass = null;
-
-            try {
-                try {
-                    /*
-                     * Find the DexFile class, and construct a DexFile object
-                     * through reflection, then call loadClass on it.
-                     */
-                    dexClass = ClassLoader.getSystemClassLoader().
-                            loadClass("dalvik.system.DexFile");
-                    Constructor ctor = dexClass.
-                            getConstructor(new Class[] {String.class});
-                    dexFile = ctor.newInstance(DEX_FILE);
-                    Method meth = dexClass.getMethod("loadClass",
-                            new Class[] { String.class, ClassLoader.class });
-                    /*
-                     * Invoking loadClass on CLASS_NAME is expected to
-                     * throw an InvocationTargetException. Anything else
-                     * is an error we can't recover from.
-                     */
-                    meth.invoke(dexFile, name, this);
-                } finally {
-                    if (dexFile != null) {
-                        /* close the DexFile to make CloseGuard happy */
-                        Method meth = dexClass.getMethod("close", (Class[]) null);
-                        meth.invoke(dexFile);
-                    }
-                }
-            } catch (NoSuchMethodException nsme) {
-                throw new TestFailed(nsme);
-            } catch (InstantiationException ie) {
-                throw new TestFailed(ie);
-            } catch (IllegalAccessException iae) {
-                throw new TestFailed(iae);
-            } catch (ClassNotFoundException cnfe) {
-                throw new TestFailed(cnfe);
-            }
-
-            return null;
-        }
-
-        /**
-         * Load a class.
-         *
-         * Return null if the class's name is SUPERCLASS_NAME;
-         * otherwise invoke the super's loadClass method.
-         */
-        public Class<?> loadClass(String name, boolean resolve)
-                throws ClassNotFoundException
-        {
-            if (SUPERCLASS_NAME.equals(name)) {
-                return null;
-            }
-
-            return super.loadClass(name, resolve);
-        }
-
-        /**
-         * Attempt to find the class with the superclass we refuse to
-         * load.  This is expected to throw an
-         * InvocationTargetException, with a NullPointerException as
-         * its cause.
-         */
-        public void findBrokenClass()
-                throws TestFailed, InvocationTargetException
-        {
-            findDexClass(CLASS_NAME);
-        }
-    }
-
-    /**
-     * Main entry point.
-     */
-    public static void main(String[] args)
-            throws TestFailed, ClassNotFoundException {
-        /*
-         * Run test.
-         */
-        testFailLoadAndGc();
-    }
-
-    /**
-     * See if we can GC after a failed load.
-     */
-    static void testFailLoadAndGc() throws TestFailed {
-        try {
-            BrokenDexLoader loader;
-
-            loader = new BrokenDexLoader(ClassLoader.getSystemClassLoader());
-            loader.findBrokenClass();
-            System.err.println("ERROR: Inaccessible was accessible");
-        } catch (InvocationTargetException ite) {
-            Throwable cause = ite.getCause();
-            if (cause instanceof NullPointerException) {
-                System.err.println("Got expected ITE/NPE");
-            } else {
-                System.err.println("Got unexpected ITE");
-                ite.printStackTrace();
-            }
-        }
-        System.gc();
-        System.out.println("GC complete.");
-    }
-}
diff --git a/tests/088-monitor-verification/expected.txt b/tests/088-monitor-verification/expected.txt
deleted file mode 100644
index 07f5b0b..0000000
--- a/tests/088-monitor-verification/expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-recursiveSync ok
-nestedMayThrow ok
-constantLock ok
-excessiveNesting ok
-notNested ok
-twoPath ok
-triplet ok
diff --git a/tests/088-monitor-verification/info.txt b/tests/088-monitor-verification/info.txt
deleted file mode 100644
index c00cb1c..0000000
--- a/tests/088-monitor-verification/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Try different arrangements of "synchronized" to exercise the structured
-lock checks in the bytecode verifier.
diff --git a/tests/088-monitor-verification/src/Main.java b/tests/088-monitor-verification/src/Main.java
deleted file mode 100644
index aa90b92..0000000
--- a/tests/088-monitor-verification/src/Main.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-/*
- * Entry point and tests that are expected to succeed.
- */
-public class Main {
-    /**
-     * Drives tests.
-     */
-    public static void main(String[] args) {
-        Main m = new Main();
-
-        m.recursiveSync(0);
-
-        m.nestedMayThrow(false);
-        try {
-            m.nestedMayThrow(true);
-            System.err.println("nestedThrow(true) did not throw");
-        } catch (MyException me) {}
-        System.out.println("nestedMayThrow ok");
-
-        m.constantLock();
-        System.out.println("constantLock ok");
-
-        m.notExcessiveNesting();
-        if (false) {    // TODO: remove when verification is turned on
-        try {
-            TooDeep.excessiveNesting();
-            System.err.println("excessiveNesting did not throw");
-        } catch (VerifyError ve) {}
-        }
-        System.out.println("excessiveNesting ok");
-
-        m.notNested();
-        System.out.println("notNested ok");
-
-        Object obj1 = new Object();
-        Object obj2 = new Object();
-
-        m.twoPath(obj1, obj2, 0);
-        System.out.println("twoPath ok");
-
-        m.triplet(obj1, obj2, 0);
-        System.out.println("triplet ok");
-    }
-
-    /**
-     * Recursive synchronized method.
-     */
-    synchronized void recursiveSync(int iter) {
-        if (iter < 40) {
-            recursiveSync(iter+1);
-        } else {
-            System.out.println("recursiveSync ok");
-        }
-    }
-
-    /**
-     * Tests simple nesting, with and without a throw.
-     */
-    void nestedMayThrow(boolean doThrow) {
-        synchronized (this) {
-            synchronized (Main.class) {
-                synchronized (new Object()) {
-                    synchronized(Class.class) {
-                        if (doThrow) {
-                            throw new MyException();
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Exercises bug 3215458.
-     */
-    void constantLock() {
-        Class thing = Thread.class;
-        synchronized (Thread.class) {}
-    }
-
-    /**
-     * Confirms that we can have 32 nested monitors on one method.
-     */
-    void notExcessiveNesting() {
-        synchronized (this) {   // 1
-        synchronized (this) {   // 2
-        synchronized (this) {   // 3
-        synchronized (this) {   // 4
-        synchronized (this) {   // 5
-        synchronized (this) {   // 6
-        synchronized (this) {   // 7
-        synchronized (this) {   // 8
-        synchronized (this) {   // 9
-        synchronized (this) {   // 10
-        synchronized (this) {   // 11
-        synchronized (this) {   // 12
-        synchronized (this) {   // 13
-        synchronized (this) {   // 14
-        synchronized (this) {   // 15
-        synchronized (this) {   // 16
-        synchronized (this) {   // 17
-        synchronized (this) {   // 18
-        synchronized (this) {   // 19
-        synchronized (this) {   // 20
-        synchronized (this) {   // 21
-        synchronized (this) {   // 22
-        synchronized (this) {   // 23
-        synchronized (this) {   // 24
-        synchronized (this) {   // 25
-        synchronized (this) {   // 26
-        synchronized (this) {   // 27
-        synchronized (this) {   // 28
-        synchronized (this) {   // 29
-        synchronized (this) {   // 30
-        synchronized (this) {   // 31
-        synchronized (this) {   // 32
-        }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-    }
-
-    /**
-     * Confirms that we can have more than 32 non-nested monitors in one
-     * method.
-     */
-    void notNested() {
-        synchronized (this) {}  // 1
-        synchronized (this) {}  // 2
-        synchronized (this) {}  // 3
-        synchronized (this) {}  // 4
-        synchronized (this) {}  // 5
-        synchronized (this) {}  // 6
-        synchronized (this) {}  // 7
-        synchronized (this) {}  // 8
-        synchronized (this) {}  // 9
-        synchronized (this) {}  // 10
-        synchronized (this) {}  // 11
-        synchronized (this) {}  // 12
-        synchronized (this) {}  // 13
-        synchronized (this) {}  // 14
-        synchronized (this) {}  // 15
-        synchronized (this) {}  // 16
-        synchronized (this) {}  // 17
-        synchronized (this) {}  // 18
-        synchronized (this) {}  // 19
-        synchronized (this) {}  // 20
-        synchronized (this) {}  // 21
-        synchronized (this) {}  // 22
-        synchronized (this) {}  // 23
-        synchronized (this) {}  // 24
-        synchronized (this) {}  // 25
-        synchronized (this) {}  // 26
-        synchronized (this) {}  // 27
-        synchronized (this) {}  // 28
-        synchronized (this) {}  // 29
-        synchronized (this) {}  // 30
-        synchronized (this) {}  // 31
-        synchronized (this) {}  // 32
-        synchronized (this) {}  // 33
-        synchronized (this) {}  // 34
-    }
-
-    /* does nothing but ensure that the compiler doesn't discard an object */
-    private void doNothing(Object obj) {}
-
-    /**
-     * Conditionally uses one of the synchronized objects.
-     */
-    public void twoPath(Object obj1, Object obj2, int x) {
-        Object localObj;
-
-        synchronized (obj1) {
-            synchronized(obj2) {
-                if (x == 0) {
-                    localObj = obj2;
-                } else {
-                    localObj = obj1;
-                }
-            }
-        }
-
-        doNothing(localObj);
-    }
-
-    /**
-     * Lock the monitor two or three times, and make use of the locked or
-     * unlocked object.
-     */
-    public void triplet(Object obj1, Object obj2, int x) {
-        Object localObj;
-
-        synchronized (obj1) {
-            synchronized(obj1) {
-                if (x == 0) {
-                    synchronized(obj1) {
-                        localObj = obj2;
-                    }
-                } else {
-                    localObj = obj1;
-                }
-            }
-        }
-
-        doNothing(localObj);
-    }
-}
diff --git a/tests/088-monitor-verification/src/MyException.java b/tests/088-monitor-verification/src/MyException.java
deleted file mode 100644
index cf65d6d..0000000
--- a/tests/088-monitor-verification/src/MyException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class MyException extends RuntimeException {
-    public MyException() {
-        super();
-    }
-    public MyException(String msg) {
-        super(msg);
-    }
-}
diff --git a/tests/088-monitor-verification/src/TooDeep.java b/tests/088-monitor-verification/src/TooDeep.java
deleted file mode 100644
index 76192e5..0000000
--- a/tests/088-monitor-verification/src/TooDeep.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-/**
- * The class has a method with too many levels of nested "synchronized"
- * blocks.  The verifier will reject it.
- *
- * (It would be perfectly okay if the verifier *didn't* reject this.
- * The goal here is just to exercise the failure path.  It also serves
- * as a check to see if the monitor checks are enabled.)
- */
-public class TooDeep {
-
-    public static void excessiveNesting() {
-        synchronized (TooDeep.class) {   // 1
-        synchronized (TooDeep.class) {   // 2
-        synchronized (TooDeep.class) {   // 3
-        synchronized (TooDeep.class) {   // 4
-        synchronized (TooDeep.class) {   // 5
-        synchronized (TooDeep.class) {   // 6
-        synchronized (TooDeep.class) {   // 7
-        synchronized (TooDeep.class) {   // 8
-        synchronized (TooDeep.class) {   // 9
-        synchronized (TooDeep.class) {   // 10
-        synchronized (TooDeep.class) {   // 11
-        synchronized (TooDeep.class) {   // 12
-        synchronized (TooDeep.class) {   // 13
-        synchronized (TooDeep.class) {   // 14
-        synchronized (TooDeep.class) {   // 15
-        synchronized (TooDeep.class) {   // 16
-        synchronized (TooDeep.class) {   // 17
-        synchronized (TooDeep.class) {   // 18
-        synchronized (TooDeep.class) {   // 19
-        synchronized (TooDeep.class) {   // 20
-        synchronized (TooDeep.class) {   // 21
-        synchronized (TooDeep.class) {   // 22
-        synchronized (TooDeep.class) {   // 23
-        synchronized (TooDeep.class) {   // 24
-        synchronized (TooDeep.class) {   // 25
-        synchronized (TooDeep.class) {   // 26
-        synchronized (TooDeep.class) {   // 27
-        synchronized (TooDeep.class) {   // 28
-        synchronized (TooDeep.class) {   // 29
-        synchronized (TooDeep.class) {   // 30
-        synchronized (TooDeep.class) {   // 31
-        synchronized (TooDeep.class) {   // 32
-        synchronized (TooDeep.class) {   // 33
-        }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-    }
-}
diff --git a/tests/089-many-methods/build b/tests/089-many-methods/build
deleted file mode 100644
index 0bd90c2..0000000
--- a/tests/089-many-methods/build
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2008 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Stop if something fails.
-set -e
-
-# Write out files with 65500 total static fields, instance fields, and methods
-# to exceed the dex format's limits.
-mkdir src
-awk '
-BEGIN {
-    writeFileField("FillerStatic", "static public int staticInt");
-    writeFileField("FillerField", "public int fieldInt");
-    writeFileMethod("FillerMethod");
-}
-function writeFileField(name, type) {
-    fileName = "src/" name ".java";
-    printf("public class %s {\n", name) > fileName;
-    for (i = 1; i <= 65500; i++) {
-        printf("    %s%d;\n", type, i) > fileName;
-    }
-    printf("}\n") > fileName;
-}
-function writeFileMethod(name) {
-    fileName = "src/" name ".java";
-    printf("public class %s {\n", name) > fileName;
-    for (i = 1; i <= 65500; i++) {
-      printf("    public void meth%d() { }\n", i) > fileName;
-    }
-    printf("}\n") > fileName;
-}'
-
-mkdir classes
-${JAVAC} -d classes `find src -name '*.java'`
-dx -JXmx1024m --dex --no-optimize classes
-
diff --git a/tests/089-many-methods/expected.txt b/tests/089-many-methods/expected.txt
deleted file mode 100644
index b74e0ee..0000000
--- a/tests/089-many-methods/expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-
-trouble writing output: Too many field references: 131000; max is 65536.
-You may try using --multi-dex option.
-References by package:
-131000 default
-build exit status: 2
diff --git a/tests/089-many-methods/info.txt b/tests/089-many-methods/info.txt
deleted file mode 100644
index 4f73bd6..0000000
--- a/tests/089-many-methods/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Test that we print a reasonable message when the application exceeds more
-than 65536 methods.
diff --git a/tests/090-loop-formation/expected.txt b/tests/090-loop-formation/expected.txt
deleted file mode 100644
index b7e0bb3..0000000
--- a/tests/090-loop-formation/expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-counter1 is 0
-counter2 is 32767
-counter3 is 32767
-counter4 is 0
-counter5 is 65534
diff --git a/tests/090-loop-formation/info.txt b/tests/090-loop-formation/info.txt
deleted file mode 100644
index 98d1d4b..0000000
--- a/tests/090-loop-formation/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Test loop formation heuristics and code generation. Basically the problem to
-catch here is to make sure that some never-exercised code blocks are included
-in the loop region, and the JIT compiler won't choke on unresolved fields.
diff --git a/tests/090-loop-formation/src/Main.java b/tests/090-loop-formation/src/Main.java
deleted file mode 100644
index 7c16667..0000000
--- a/tests/090-loop-formation/src/Main.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Create two versions of loops where the unresolved field is on either the
- * taken or the non-taken path to make sure that the loop detection code bails
- * on unresolved fields.
- */
-public class Main {
-    static int counter1;
-    static int counter2;
-    static int counter3;
-    static int counter4;
-    static int counter5;
-
-    public static void main(String[] args) {
-        /* counter1 is not resolved */
-        for (int i = 0; i < 32767; i++) {
-            if (i < 0) {
-                counter1++;
-            } else {
-                counter2++;
-            }
-            counter5++;
-        }
-
-        /* counter4 is not resolved */
-        for (int i = 0; i < 32767; i++) {
-            if (i >= 0) {
-                counter3++;
-            } else {
-                counter4++;
-            }
-            counter5++;
-        }
-
-        System.out.println("counter1 is " + counter1);
-        System.out.println("counter2 is " + counter2);
-        System.out.println("counter3 is " + counter3);
-        System.out.println("counter4 is " + counter4);
-        System.out.println("counter5 is " + counter5);
-    }
-}
diff --git a/tests/091-deep-interface-hierarchy/expected.txt b/tests/091-deep-interface-hierarchy/expected.txt
deleted file mode 100644
index 33bcb02..0000000
--- a/tests/091-deep-interface-hierarchy/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-A new instance of Z was created successfully
diff --git a/tests/091-deep-interface-hierarchy/info.txt b/tests/091-deep-interface-hierarchy/info.txt
deleted file mode 100644
index b62cec6..0000000
--- a/tests/091-deep-interface-hierarchy/info.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Test class loading for deep interface hierarchies. The problem was that in a deep interface
-hierarchy super-interfaces were recursively concatenated without looking for duplicates.
-In cases like this can quickly lead to excessive LinearAlloc consumption due to more than linear
-duplication of iftables.
diff --git a/tests/091-deep-interface-hierarchy/src/Main.java b/tests/091-deep-interface-hierarchy/src/Main.java
deleted file mode 100644
index 8ab47f3..0000000
--- a/tests/091-deep-interface-hierarchy/src/Main.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Create a hierarchy of interfaces to check if that overflows the LinearAlloc
- * with iftable entries.
- */
-public class Main {
-    interface A1 {}
-    interface A2 {}
-    interface A3 {}
-    interface A4 {}
-    interface A5 {}
-
-    interface B1 extends A1, A2, A3, A4, A5 {}
-    interface B2 extends A1, A2, A3, A4, A5 {}
-    interface B3 extends A1, A2, A3, A4, A5 {}
-    interface B4 extends A1, A2, A3, A4, A5 {}
-    interface B5 extends A1, A2, A3, A4, A5 {}
-
-    interface C1 extends B1, B2, B3, B4, B5 {}
-    interface C2 extends B1, B2, B3, B4, B5 {}
-    interface C3 extends B1, B2, B3, B4, B5 {}
-    interface C4 extends B1, B2, B3, B4, B5 {}
-    interface C5 extends B1, B2, B3, B4, B5 {}
-
-    interface D1 extends C1, C2, C3, C4, C5 {}
-    interface D2 extends C1, C2, C3, C4, C5 {}
-    interface D3 extends C1, C2, C3, C4, C5 {}
-    interface D4 extends C1, C2, C3, C4, C5 {}
-    interface D5 extends C1, C2, C3, C4, C5 {}
-
-    interface E1 extends D1, D2, D3, D4, D5 {}
-    interface E2 extends D1, D2, D3, D4, D5 {}
-    interface E3 extends D1, D2, D3, D4, D5 {}
-    interface E4 extends D1, D2, D3, D4, D5 {}
-    interface E5 extends D1, D2, D3, D4, D5 {}
-
-    interface F1 extends E1, E2, E3, E4, E5 {}
-    interface F2 extends E1, E2, E3, E4, E5 {}
-    interface F3 extends E1, E2, E3, E4, E5 {}
-    interface F4 extends E1, E2, E3, E4, E5 {}
-    interface F5 extends E1, E2, E3, E4, E5 {}
-
-    interface G1 extends F1, F2, F3, F4, F5 {}
-    interface G2 extends F1, F2, F3, F4, F5 {}
-    interface G3 extends F1, F2, F3, F4, F5 {}
-    interface G4 extends F1, F2, F3, F4, F5 {}
-    interface G5 extends F1, F2, F3, F4, F5 {}
-
-    interface H1 extends G1, G2, G3, G4, G5 {}
-    interface H2 extends G1, G2, G3, G4, G5 {}
-    interface H3 extends G1, G2, G3, G4, G5 {}
-    interface H4 extends G1, G2, G3, G4, G5 {}
-    interface H5 extends G1, G2, G3, G4, G5 {}
-
-    interface Z extends H1, H2, H3, H4, H5 {}
-
-    public static void main(String[] args) {
-        Z instance = new Z() {};
-        System.out.println("A new instance of Z was created successfully");
-    }
-}
diff --git a/tests/092-locale/expected.txt b/tests/092-locale/expected.txt
deleted file mode 100644
index 0a955e7..0000000
--- a/tests/092-locale/expected.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-USA(GMT): Sunday, January 1, 2012
-USA: first=1, name=Sunday
-France(GMT): Monday, January 2, 2012
-France: first=2, name=lundi
-USA dfs: [AM, PM]
-en_US: USD $2
-jp_JP: JPY ¥0
-Normalizer passed
-loc: en_US
- iso3=eng
-loc: eng_USA
- iso3=eng
diff --git a/tests/092-locale/info.txt b/tests/092-locale/info.txt
deleted file mode 100644
index e3c3a98..0000000
--- a/tests/092-locale/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Exercise some locale-specific classes.
diff --git a/tests/092-locale/src/Main.java b/tests/092-locale/src/Main.java
deleted file mode 100644
index 8916a29..0000000
--- a/tests/092-locale/src/Main.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.text.DateFormat;
-import java.text.DateFormatSymbols;
-import java.text.Normalizer;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Currency;
-import java.util.Date;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.TimeZone;
-
-/**
- * Exercise some locale-table-driven stuff.
- */
-public class Main {
-
-    public static void main(String[] args) {
-        try {
-            testCalendar();
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-
-        try {
-            testDateFormatSymbols();
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-
-        try {
-            testCurrency();
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-
-        try {
-            testNormalizer();
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-
-        try {
-            testIso3();
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-    }
-
-    static void testCalendar() {
-        TimeZone tz = TimeZone.getTimeZone("GMT");
-
-        Locale usa = new Locale("en", "US");
-        Calendar usaCal = Calendar.getInstance(tz, usa);
-        usaCal.clear();     // don't want current date/time
-        usaCal.set(2012, Calendar.JANUARY, 1);
-
-        Date when = usaCal.getTime();
-        DateFormat fmt = DateFormat.getDateInstance(DateFormat.FULL, usa);
-        fmt.setTimeZone(tz);    // defaults to local TZ; force GMT
-        System.out.println("USA(" + fmt.getTimeZone().getID() + "): "
-            + fmt.format(when));
-
-        System.out.println("USA: first="
-            + usaCal.getFirstDayOfWeek() + ", name="
-            + usaCal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, usa));
-
-
-        Locale france = new Locale("fr", "FR");
-        Calendar franceCal = Calendar.getInstance(tz, france);
-        franceCal.clear();
-        franceCal.set(2012, Calendar.JANUARY, 2);
-
-        when = franceCal.getTime();
-        fmt = DateFormat.getDateInstance(DateFormat.FULL, usa);
-        fmt.setTimeZone(tz);    // defaults to local TZ; force GMT
-        System.out.println("France(" + fmt.getTimeZone().getID() + "): "
-            + fmt.format(when));
-
-        System.out.println("France: first="
-            + franceCal.getFirstDayOfWeek() + ", name="
-            + franceCal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, france));
-    }
-
-    static void testDateFormatSymbols() {
-        Locale usa = new Locale("en", "US");
-        DateFormatSymbols syms = DateFormatSymbols.getInstance(usa);
-        String[] list = syms.getAmPmStrings();
-        System.out.println("USA dfs: " + Arrays.deepToString(list));
-    }
-
-    static void testCurrency() {
-        Locale usa = new Locale("en", "US");
-        Currency dollars = Currency.getInstance(usa);
-
-        System.out.println(usa.toString() + ": " + dollars.toString()
-            + " " + dollars.getSymbol() + dollars.getDefaultFractionDigits());
-
-        Locale japan = new Locale("jp", "JP");
-        Currency yen = Currency.getInstance(japan);
-
-        System.out.println(japan.toString() + ": " + yen.toString()
-            + " " + yen.getSymbol() + yen.getDefaultFractionDigits());
-    }
-
-    static void testNormalizer() {
-        String composed = "Bl\u00c1ah";
-        String decomposed = "Bl\u0041\u0301ah";
-        String res;
-
-        res = Normalizer.normalize(composed, Normalizer.Form.NFD);
-        if (!decomposed.equals(res)) {
-            System.err.println("Bad decompose: '" + composed + "' --> '"
-                + res + "'");
-        }
-
-        res = Normalizer.normalize(decomposed, Normalizer.Form.NFC);
-        if (!composed.equals(res)) {
-            System.err.println("Bad compose: '" + decomposed + "' --> '"
-                + res + "'");
-        }
-
-        System.out.println("Normalizer passed");
-    }
-
-    /*
-     * Test that we can set and get an ISO3 language code.  Support for this
-     * is expected by the Android framework.
-     */
-    static void testIso3() {
-        Locale loc;
-        loc = new Locale("en", "US");
-        System.out.println("loc: " + loc);
-        System.out.println(" iso3=" + loc.getISO3Language());
-
-        loc = new Locale("eng", "USA");
-        System.out.println("loc: " + loc);
-        try {
-            System.out.println(" iso3=" + loc.getISO3Language());
-        } catch (MissingResourceException mre) {
-            System.err.println("couldn't get iso3 language");
-        }
-    }
-}
diff --git a/tests/093-serialization/expected.txt b/tests/093-serialization/expected.txt
deleted file mode 100644
index 60c64f8..0000000
--- a/tests/093-serialization/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-one=true two=2 three=three four=4.0 five=5.0 six=6 seven=7 eight=8 nine=9 thing=X
diff --git a/tests/093-serialization/info.txt b/tests/093-serialization/info.txt
deleted file mode 100644
index effe3d8..0000000
--- a/tests/093-serialization/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Tests object serialization.
diff --git a/tests/093-serialization/src/Main.java b/tests/093-serialization/src/Main.java
deleted file mode 100644
index ca3dc9f..0000000
--- a/tests/093-serialization/src/Main.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-
-/**
- * Exercise serialization.
- */
-public class Main {
-
-    public static void main(String[] args) {
-        testObjectSerialization();
-    }
-
-    static void testObjectSerialization() {
-        byte[] serialData;
-
-        try {
-            serialData = createStream();
-            checkStream(serialData);
-        } catch (IOException ioe) {
-            throw new RuntimeException(ioe);
-        }
-    }
-
-    static byte[] createStream() throws IOException {
-        ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
-        ObjectOutputStream objStream = new ObjectOutputStream(byteStream);
-
-        Sub sub = new Sub('X');
-        objStream.writeObject(sub);
-        byte[] bytes = byteStream.toByteArray();
-
-        objStream.close();
-        byteStream.close();
-        return bytes;
-    }
-
-    static void checkStream(byte[] input) throws IOException {
-        ByteArrayInputStream byteStream = new ByteArrayInputStream(input);
-        ObjectInputStream objStream = new ObjectInputStream(byteStream);
-
-        Sub sub;
-        try {
-            sub = (Sub) objStream.readObject();
-        } catch (ClassNotFoundException cnfe) {
-            throw new RuntimeException(cnfe);
-        }
-
-        objStream.close();
-        byteStream.close();
-
-        sub.check();
-    }
-}
-
-class Base implements Serializable {
-    private static final long serialVersionUID = 12345;
-
-    Boolean one;
-    Integer two;
-    String three;
-
-    public Base() {
-        one = true;
-        two = Integer.valueOf(2);
-        three = "three";
-    }
-}
-
-class Sub extends Base {
-    private static final long serialVersionUID = 54321;
-
-    Double four;
-    Float five;
-    private Byte six = 26;
-    Character seven = '7';
-    Short eight;
-    long nine;
-    public Character thing;
-
-    public Sub(char thing) {
-        four = 4.0;
-        five = 5.0f;
-        six = 6;
-        eight = 8;
-        nine = 9;
-        this.thing = thing;
-    }
-
-    public void check() {
-        System.out.println("one=" + one + " two=" + two + " three=" + three
-            + " four=" + four + " five=" + five + " six=" + six
-            + " seven=" + seven + " eight=" + eight + " nine=" + nine
-            + " thing=" + thing);
-    }
-}
-
diff --git a/tests/094-pattern/expected.txt b/tests/094-pattern/expected.txt
deleted file mode 100644
index 4af0c66..0000000
--- a/tests/094-pattern/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-str1 matches: true
-str2 matches: false
-str3 matches: true
diff --git a/tests/094-pattern/info.txt b/tests/094-pattern/info.txt
deleted file mode 100644
index c1ade33..0000000
--- a/tests/094-pattern/info.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A simple test to exercise pattern matching.
-
-The test may throw a StackOverflowError if the stack size is too small.  With
-some regex libs, -Xss65k is the minimum allowable size.
diff --git a/tests/094-pattern/src/Main.java b/tests/094-pattern/src/Main.java
deleted file mode 100644
index 4d7e1a3..0000000
--- a/tests/094-pattern/src/Main.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class Main {
-    // from android.util.Patterns
-    public static final String GOOD_IRI_CHAR =
-        "a-zA-Z0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF";
-
-    public static final String TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL =
-        "(?:"
-        + "(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])"
-        + "|(?:biz|b[abdefghijmnorstvwyz])"
-        + "|(?:cat|com|coop|c[acdfghiklmnoruvxyz])"
-        + "|d[ejkmoz]"
-        + "|(?:edu|e[cegrstu])"
-        + "|f[ijkmor]"
-        + "|(?:gov|g[abdefghilmnpqrstuwy])"
-        + "|h[kmnrtu]"
-        + "|(?:info|int|i[delmnoqrst])"
-        + "|(?:jobs|j[emop])"
-        + "|k[eghimnprwyz]"
-        + "|l[abcikrstuvy]"
-        + "|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])"
-        + "|(?:name|net|n[acefgilopruz])"
-        + "|(?:org|om)"
-        + "|(?:pro|p[aefghklmnrstwy])"
-        + "|qa"
-        + "|r[eosuw]"
-        + "|s[abcdeghijklmnortuvyz]"
-        + "|(?:tel|travel|t[cdfghjklmnoprtvwz])"
-        + "|u[agksyz]"
-        + "|v[aceginu]"
-        + "|w[fs]"
-        + "|(?:\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)"
-        + "|y[et]"
-        + "|z[amw]))";
-
-    public static final String WEB_URL_STR =
-        "((?:(http|https|Http|Https|rtsp|Rtsp):\\/\\/(?:(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)"
-        + "\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_"
-        + "\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@)?)?"
-        + "((?:(?:[" + GOOD_IRI_CHAR + "][" + GOOD_IRI_CHAR + "\\-]{0,64}\\.)+"   // named host
-        + TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL
-        + "|(?:(?:25[0-5]|2[0-4]" // or ip address
-        + "[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(?:25[0-5]|2[0-4][0-9]"
-        + "|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1]"
-        + "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}"
-        + "|[1-9][0-9]|[0-9])))"
-        + "(?:\\:\\d{1,5})?)" // plus option port number
-        + "(\\/(?:(?:[" + GOOD_IRI_CHAR + "\\;\\/\\?\\:\\@\\&\\=\\#\\~"  // plus option query params
-        + "\\-\\.\\+\\!\\*\\'\\(\\)\\,\\_])|(?:\\%[a-fA-F0-9]{2}))*)?"
-        + "(?:\\b|$)"; // and finally, a word boundary or end of
-                        // input.  This is to stop foo.sure from
-                        // matching as foo.su
-
-    public static final Pattern WEB_URL = Pattern.compile(WEB_URL_STR);
-
-    public static final String testStr1 =
-        "http://www.google.com/blah?client=tablet-android&source=android-home";
-    public static final String testStr2 = "http:///www.google.com/";
-    public static final String testStr3 =
-        "http://www.google.com/search?hl=en&redir_esc=&client=tablet-android-verizon&source=android-browser-type&v=141000000&qsubts=1327020479959&action=devloc&q=cnn";
-
-    public static void main(String[] args) {
-        System.out.println("str1 matches: " + WEB_URL.matcher(testStr1).matches());
-        System.out.println("str2 matches: " + WEB_URL.matcher(testStr2).matches());
-        System.out.println("str3 matches: " + WEB_URL.matcher(testStr3).matches());
-    }
-
-    static String getStringAsHex(String text) {
-        StringBuilder sb = new StringBuilder(text.length() * 4);
-
-        for (int i = 0; i < text.length(); i++) {
-            sb.append(Integer.toHexString((int) text.charAt(i)));
-        }
-
-        return sb.toString();
-    }
-}
diff --git a/tests/095-switch-MAX_INT/expected.txt b/tests/095-switch-MAX_INT/expected.txt
deleted file mode 100644
index 12799cc..0000000
--- a/tests/095-switch-MAX_INT/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-good
diff --git a/tests/095-switch-MAX_INT/info.txt b/tests/095-switch-MAX_INT/info.txt
deleted file mode 100644
index bb901db..0000000
--- a/tests/095-switch-MAX_INT/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Bug: http://code.google.com/p/android/issues/detail?id=22344
diff --git a/tests/095-switch-MAX_INT/src/Main.java b/tests/095-switch-MAX_INT/src/Main.java
deleted file mode 100644
index d1171ea..0000000
--- a/tests/095-switch-MAX_INT/src/Main.java
+++ /dev/null
@@ -1,11 +0,0 @@
-public class Main {
-  static public void main(String[] args) throws Exception {
-    switch (0x7fffffff) {
-    case 0x7fffffff:
-      System.err.println("good");
-      break;
-    default:
-      throw new AssertionError();
-    }
-  }
-}
diff --git a/tests/096-array-copy-concurrent-gc/expected.txt b/tests/096-array-copy-concurrent-gc/expected.txt
deleted file mode 100644
index 23b9dab..0000000
--- a/tests/096-array-copy-concurrent-gc/expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Initializing...
-Starting the test
-Test OK
diff --git a/tests/096-array-copy-concurrent-gc/info.txt b/tests/096-array-copy-concurrent-gc/info.txt
deleted file mode 100644
index 37dd8be..0000000
--- a/tests/096-array-copy-concurrent-gc/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a test to verify that System.arraycopy works nice together with
-the concurrent gc.
diff --git a/tests/096-array-copy-concurrent-gc/src/Main.java b/tests/096-array-copy-concurrent-gc/src/Main.java
deleted file mode 100644
index c8e538b..0000000
--- a/tests/096-array-copy-concurrent-gc/src/Main.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Running concurrent gc and doing some System.arraycopy
- * Several threads is created in order to increase the probability
- * of thread switches at critical points. Without creating several
- * threads the test case usually passed even when there were bugs.
- * Size of array and amount of garbage created is based on experimental
- * numbers and is a tradeoff between time that the test takes when
- * it succeeds and the probability that the test discovers a problem.
- */
-public class Main {
-    public static void main(String args[]) {
-        new ObjectCreatorThread(true).start();
-        new ObjectCreatorThread(false).start();
-        new ObjectCreatorThread(false).start();
-    }
-
-    static class ObjectCreatorThread extends Thread {
-        boolean mDoLog;
-        public ObjectCreatorThread(boolean doLog) {
-            mDoLog = doLog;
-        }
-
-        @Override
-        public void run() {
-            new Main().stressArray(mDoLog);
-        }
-    }
-
-    Object [] array = new Object[10000];
-
-    void stressArray(boolean doLog) {
-        // We want many references in the array
-        // We also want elements close to each other to have large
-        // diff in address so lets skip every 2:nd address so it is null
-        if (doLog) {
-            System.out.println("Initializing...");
-        }
-        for (int i = 0; i < array.length; i+=2) {
-            array[i] = new String("Creating some garbage" + i);
-        }
-
-        if (doLog) {
-            System.out.println("Starting the test");
-        }
-
-        for (int j = 0; j < array.length; j++) {
-            Object obj = array[array.length - 1];
-            System.arraycopy(array, 0, array, 1, array.length - 1);
-            array[0] = obj;
-            new String("Creating some garbage" + Math.random());
-            new String("Creating some garbage" + Math.random());
-            new String("Creating some garbage" + Math.random());
-            new String("Creating some garbage" + Math.random());
-        }
-
-        for (int j = 0; j < array.length; j++) {
-            Object obj = array[0];
-            System.arraycopy(array, 1, array, 0, array.length - 1);
-            array[array.length - 1] = obj;
-            new String("Creating some garbage" + Math.random());
-            new String("Creating some garbage" + Math.random());
-            new String("Creating some garbage" + Math.random());
-            new String("Creating some garbage" + Math.random());
-        }
-
-        if (doLog) {
-            System.out.println("Test OK");
-        }
-    }
-}
diff --git a/tests/097-suspend-check/expected.txt b/tests/097-suspend-check/expected.txt
deleted file mode 100644
index 07cc825..0000000
--- a/tests/097-suspend-check/expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Running (5 seconds) ...
-.
-.
-.
-.
-.
-Done.
diff --git a/tests/097-suspend-check/info.txt b/tests/097-suspend-check/info.txt
deleted file mode 100644
index d89d66a..0000000
--- a/tests/097-suspend-check/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-To support garbage collection, debugging and profiling the VM must be able to send all threads
-to a safepoint.  This tests the ability of the VM to do this for a tight loop.
diff --git a/tests/097-suspend-check/src/Main.java b/tests/097-suspend-check/src/Main.java
deleted file mode 100644
index d92b9e5..0000000
--- a/tests/097-suspend-check/src/Main.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    private static final int TEST_TIME = 5;
-
-    public static void main(String[] args) {
-        System.out.println("Running (" + TEST_TIME + " seconds) ...");
-        InfiniteForLoop forLoop = new InfiniteForLoop();
-        InfiniteWhileLoop whileLoop = new InfiniteWhileLoop();
-        InfiniteDoWhileLoop doWhileLoop = new InfiniteDoWhileLoop();
-        MakeGarbage garbage = new MakeGarbage();
-        forLoop.start();
-        whileLoop.start();
-        doWhileLoop.start();
-        garbage.start();
-        for (int i = 0; i < TEST_TIME; i++) {
-          System.gc();
-          System.out.println(".");
-          sleep(1000);
-        }
-        forLoop.stopNow();
-        whileLoop.stopNow();
-        doWhileLoop.stopNow();
-        garbage.stopNow();
-        System.out.println("Done.");
-    }
-
-    public static void sleep(int ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException ie) {
-            System.err.println("sleep was interrupted");
-        }
-    }
-}
-
-class InfiniteWhileLoop extends Thread {
-  volatile private boolean keepGoing = true;
-  public void run() {
-    int i = 0;
-    while (keepGoing) {
-      i++;
-    }
-  }
-  public void stopNow() {
-    keepGoing = false;
-  }
-}
-
-class InfiniteDoWhileLoop extends Thread {
-  volatile private boolean keepGoing = true;
-  public void run() {
-    int i = 0;
-    do {
-      i++;
-    } while (keepGoing);
-  }
-  public void stopNow() {
-    keepGoing = false;
-  }
-}
-
-class InfiniteForLoop extends Thread {
-  int count = 100000;
-  volatile private boolean keepGoing = true;
-  public void run() {
-    int i = 0;
-    for (int j = 0; keepGoing; j++) {
-      i += j;
-    }
-  }
-  public void stopNow() {
-    keepGoing = false;
-  }
-}
-
-
-class MakeGarbage extends Thread {
-  volatile private boolean keepGoing = true;
-  public void run() {
-    while (keepGoing) {
-      byte[] garbage = new byte[100000];
-    }
-  }
-  public void stopNow() {
-    keepGoing = false;
-  }
-}
diff --git a/tests/098-native-allocations/expected.txt b/tests/098-native-allocations/expected.txt
deleted file mode 100644
index f75da10..0000000
--- a/tests/098-native-allocations/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Test complete
diff --git a/tests/098-native-allocations/info.txt b/tests/098-native-allocations/info.txt
deleted file mode 100644
index 2e5b88a..0000000
--- a/tests/098-native-allocations/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a test to verify that native allocation successfully runs
-finalizers and prevents OOM.
diff --git a/tests/098-native-allocations/src/Main.java b/tests/098-native-allocations/src/Main.java
deleted file mode 100644
index 87179b5..0000000
--- a/tests/098-native-allocations/src/Main.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.lang.reflect.*;
-
-class Main {
-    static Object nativeLock = new Object();
-    static int nativeBytes = 0;
-    static Object runtime;
-    static Method register_native_allocation;
-    static Method register_native_free;
-    static int maxMem = 64 * 1024 * 1024;
-
-    static class NativeAllocation {
-        private int bytes;
-
-        NativeAllocation(int bytes) throws Exception {
-            this.bytes = bytes;
-            register_native_allocation.invoke(runtime, bytes);
-            synchronized (nativeLock) {
-                nativeBytes += bytes;
-                if (nativeBytes > maxMem) {
-                    throw new OutOfMemoryError();
-                }
-            }
-        }
-
-        protected void finalize() throws Exception {
-            synchronized (nativeLock) {
-                nativeBytes -= bytes;
-            }
-            register_native_free.invoke(runtime, bytes);
-        }
-    }
-
-    public static void main(String[] args) throws Exception {
-        Class<?> vm_runtime = Class.forName("dalvik.system.VMRuntime");
-        Method get_runtime = vm_runtime.getDeclaredMethod("getRuntime");
-        runtime = get_runtime.invoke(null);
-        register_native_allocation = vm_runtime.getDeclaredMethod("registerNativeAllocation", Integer.TYPE);
-        register_native_free = vm_runtime.getDeclaredMethod("registerNativeFree", Integer.TYPE);
-        int count = 16;
-        int size = 512 * 0x400;
-        int allocation_count = 256;
-        NativeAllocation[] allocations = new NativeAllocation[count];
-        for (int i = 0; i < allocation_count; ++i) {
-            allocations[i % count] = new NativeAllocation(size);
-        }
-        System.out.println("Test complete");
-    }
-}
-
diff --git a/tests/300-package-override/expected.txt b/tests/300-package-override/expected.txt
deleted file mode 100644
index b0aad4d..0000000
--- a/tests/300-package-override/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-passed
diff --git a/tests/300-package-override/info.txt b/tests/300-package-override/info.txt
deleted file mode 100644
index 0ed59eb..0000000
--- a/tests/300-package-override/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Tests a dalvik bug where we'd allow subclasses to override package-protected
-methods.
\ No newline at end of file
diff --git a/tests/300-package-override/src/Main.java b/tests/300-package-override/src/Main.java
deleted file mode 100644
index ad7eaaf..0000000
--- a/tests/300-package-override/src/Main.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-  public static void main(String args[]) throws Exception {
-    p1.BaseClass c = new p2.DerivedClass();
-    c.run();
-  }
-}
diff --git a/tests/300-package-override/src/p1/BaseClass.java b/tests/300-package-override/src/p1/BaseClass.java
deleted file mode 100644
index 1c048ac..0000000
--- a/tests/300-package-override/src/p1/BaseClass.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package p1;
-
-public class BaseClass {
-  public void run() { foo(); }
-  void foo() { System.out.println("passed"); } // It should not be possible to override this.
-}
diff --git a/tests/300-package-override/src/p2/DerivedClass.java b/tests/300-package-override/src/p2/DerivedClass.java
deleted file mode 100644
index 860f50c..0000000
--- a/tests/300-package-override/src/p2/DerivedClass.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package p2;
-
-public class DerivedClass extends p1.BaseClass {
-  void foo() { System.out.println("DerivedClass overrode package-private method!"); } // This should not override BaseClass.foo.
-}
diff --git a/tests/301-abstract-protected/expected.txt b/tests/301-abstract-protected/expected.txt
deleted file mode 100644
index b0aad4d..0000000
--- a/tests/301-abstract-protected/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-passed
diff --git a/tests/301-abstract-protected/info.txt b/tests/301-abstract-protected/info.txt
deleted file mode 100644
index 0751eff..0000000
--- a/tests/301-abstract-protected/info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Tests a dalvik bug where we'd treat an abstract method as an implementation
-of an interface method; the RI only cares about the visibility of the actual
-implementation in non-abstract subclasses.
diff --git a/tests/301-abstract-protected/src/Main.java b/tests/301-abstract-protected/src/Main.java
deleted file mode 100644
index 9b19a9d..0000000
--- a/tests/301-abstract-protected/src/Main.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-  public static void main(String args[]) throws Exception {
-    System.err.println(new C().m());
-  }
-}
-
-// An arbitrary interface.
-interface I { public String m(); }
-
-// This is I-like, but doesn't actually claim to implement I.
-abstract class Abstract { protected abstract String m(); }
-
-// This claims to implement I, but the inherited m isn't sufficiently visible.
-abstract class AbstractI extends Abstract implements I { }
-
-// This has a concrete m that's sufficiently visible, so all should be good.
-class C extends AbstractI { public String m() { return "passed"; }; }
diff --git a/tests/302-float-conversion/expected.txt b/tests/302-float-conversion/expected.txt
deleted file mode 100644
index 6939a5c..0000000
--- a/tests/302-float-conversion/expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Result is as expected
diff --git a/tests/302-float-conversion/info.txt b/tests/302-float-conversion/info.txt
deleted file mode 100644
index 2b8bc21..0000000
--- a/tests/302-float-conversion/info.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Tests whether constant conversions of double values to long values are
-properly handled by the VM. For example, x86 systems using the x87 stack
- should not overflow under constant conversions.
-
diff --git a/tests/302-float-conversion/src/Main.java b/tests/302-float-conversion/src/Main.java
deleted file mode 100644
index dc512c5..0000000
--- a/tests/302-float-conversion/src/Main.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class Main {
-    static final long NUM_ITERATIONS = 50000;
-    static volatile double negInfinity = Double.NEGATIVE_INFINITY;
-
-    public static void main(String args[]) {
-
-        long sumInf = 0;
-        long sumRes = 0;
-
-        for (long i = 0 ; i < NUM_ITERATIONS ; i++) {
-            //Every second iteration, sumInf becomes 0
-            sumInf += (long) negInfinity;
-
-            //Some extra work for compilers to make this
-            //loop seem important
-            if (sumInf == Long.MIN_VALUE) {
-                sumRes++;
-            }
-        }
-
-        if (sumRes == NUM_ITERATIONS / 2) {
-            System.out.println("Result is as expected");
-        } else {
-            System.out.println("Conversions failed over " + NUM_ITERATIONS + " iterations");
-        }
-    }
-}
diff --git a/tests/README.txt b/tests/README.txt
deleted file mode 100644
index eb1ce36..0000000
--- a/tests/README.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-VM test harness.
-
-Use "./run-all-tests" to run all tests, or "./run-test <number>" to run a
-single test.  Run "./run-test" with no arguments to see command flags;
-in particular, the tests can be run on the desktop, on a USB-attached
-device, or using the desktop "reference implementation".
-
-
-For most tests, the sources are in the "src" subdirectory.  Sources found
-in the "src2" directory are compiled separately but to the same output
-directory; this can be used to exercise "API mismatch" situations by
-replacing class files created in the first pass.  The "src-ex" directory
-is built separately, and is intended for exercising class loaders.
diff --git a/tests/etc/default-build b/tests/etc/default-build
deleted file mode 100755
index b8df442..0000000
--- a/tests/etc/default-build
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2008 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Stop if something fails.
-set -e
-
-mkdir classes
-${JAVAC} -d classes `find src -name '*.java'`
-
-if [ -r src2 ]; then
-    ${JAVAC} -d classes `find src2 -name '*.java'`
-fi
-
-dx -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex \
-    --dump-width=1000 classes
-zip test.jar classes.dex
-
-if [ -r src-ex ]; then
-    mkdir classes-ex
-    ${JAVAC} -d classes-ex -cp classes `find src-ex -name '*.java'`
-    dx -JXmx256m --debug --dex --dump-to=classes-ex.lst \
-        --output=classes-ex.dex --dump-width=1000 classes-ex
-
-    # quick shuffle so that the stored name is "classes.dex"
-    mv classes.dex classes-1.dex
-    mv classes-ex.dex classes.dex
-    zip test-ex.jar classes.dex
-    mv classes.dex classes-ex.dex
-    mv classes-1.dex classes.dex
-fi
diff --git a/tests/etc/default-run b/tests/etc/default-run
deleted file mode 100755
index ecbbbc7..0000000
--- a/tests/etc/default-run
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2008 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-exec ${RUN} "$@"
diff --git a/tests/etc/host-run-test-jar b/tests/etc/host-run-test-jar
deleted file mode 100755
index addac31..0000000
--- a/tests/etc/host-run-test-jar
+++ /dev/null
@@ -1,159 +0,0 @@
-#!/bin/sh
-#
-# Run the code in test.jar using the host-mode virtual machine. The jar should
-# contain a top-level class named Main to run.
-#
-# Options:
-#   --quiet       -- don't chatter
-#   --fast        -- use the fast interpreter (the default)
-#   --jit         -- use the jit
-#   --portable    -- use the portable interpreter
-#   --debug       -- wait for debugger to attach
-#   --valgrind    -- use valgrind
-#   --no-verify   -- turn off verification (on by default)
-#   --no-optimize -- turn off optimization (on by default)
-
-msg() {
-    if [ "$QUIET" = "n" ]; then
-        echo "$@"
-    fi
-}
-
-INTERP=""
-DEBUG="n"
-GDB="n"
-VERIFY="y"
-OPTIMIZE="y"
-VALGRIND="n"
-DEV_MODE="n"
-QUIET="n"
-PRECISE="y"
-
-while true; do
-    if [ "x$1" = "x--quiet" ]; then
-        QUIET="y"
-        shift
-    elif [ "x$1" = "x--jit" ]; then
-        INTERP="jit"
-        msg "Using jit"
-        shift
-    elif [ "x$1" = "x--fast" ]; then
-        INTERP="fast"
-        msg "Using fast interpreter"
-        shift
-    elif [ "x$1" = "x--portable" ]; then
-        INTERP="portable"
-        msg "Using portable interpreter"
-        shift
-    elif [ "x$1" = "x--debug" ]; then
-        DEBUG="y"
-        shift
-    elif [ "x$1" = "x--gdb" ]; then
-        GDB="y"
-        shift
-    elif [ "x$1" = "x--valgrind" ]; then
-        VALGRIND="y"
-        shift
-    elif [ "x$1" = "x--dev" ]; then
-        DEV_MODE="y"
-        shift
-    elif [ "x$1" = "x--no-verify" ]; then
-        VERIFY="n"
-        shift
-    elif [ "x$1" = "x--no-optimize" ]; then
-        OPTIMIZE="n"
-        shift
-    elif [ "x$1" = "x--no-precise" ]; then
-        PRECISE="n"
-        shift
-    elif [ "x$1" = "x--" ]; then
-        shift
-        break
-    elif expr "x$1" : "x--" >/dev/null 2>&1; then
-        echo "unknown option: $1" 1>&2
-        exit 1
-    else
-        break
-    fi
-done
-
-if [ "x$INTERP" = "x" ]; then
-    INTERP="jit"
-    msg "Using jit by default"
-fi
-
-if [ "$OPTIMIZE" = "y" ]; then
-    if [ "$VERIFY" = "y" ]; then
-        DEX_OPTIMIZE="-Xdexopt:verified"
-    else
-        DEX_OPTIMIZE="-Xdexopt:all"
-    fi
-    msg "Performing optimizations"
-else
-    DEX_OPTIMIZE="-Xdexopt:none"
-    msg "Skipping optimizations"
-fi
-
-if [ "$VERIFY" = "y" ]; then
-    DEX_VERIFY=""
-    msg "Performing verification"
-else
-    DEX_VERIFY="-Xverify:none"
-    msg "Skipping verification"
-fi
-
-if [ "$VALGRIND" = "y" ]; then
-    msg "Running with valgrind"
-    valgrind_cmd="valgrind"
-    #valgrind_cmd="valgrind --leak-check=full"
-else
-    valgrind_cmd=""
-fi
-
-if [ "$PRECISE" = "y" ]; then
-    GC_OPTS="-Xgc:precise -Xgenregmap"
-else
-    GC_OPTS="-Xgc:noprecise"
-fi
-
-msg "------------------------------"
-
-HOSTBASE="${ANDROID_BUILD_TOP}/out/host"
-BASE="$OUT" # from build environment
-DATA_DIR=/tmp
-DEBUG_OPTS="-Xcheck:jni -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
-
-if [ ! -d $DATA_DIR/dalvik-cache ]; then
-    mkdir -p $DATA_DIR/dalvik-cache
-    [[ $? -ne 0 ]] && exit
-fi
-
-export ANDROID_PRINTF_LOG=brief
-if [ "$DEV_MODE" = "y" ]; then
-    export ANDROID_LOG_TAGS='*:d'
-else
-    export ANDROID_LOG_TAGS='*:s'
-fi
-export ANDROID_DATA="$DATA_DIR"
-export ANDROID_ROOT="${HOSTBASE}/linux-x86"
-export LD_LIBRARY_PATH="${ANDROID_ROOT}/lib"
-export DYLD_LIBRARY_PATH="${ANDROID_ROOT}/lib"
-
-exe="${ANDROID_ROOT}/bin/dalvikvm"
-framework="${BASE}/system/framework"
-bpath="${framework}/core.jar:${framework}/conscrypt.jar:${framework}/ext.jar:${framework}/framework.jar"
-
-if [ "$DEBUG" = "y" ]; then
-    PORT=8000
-    msg "Waiting for debugger to connect on localhost:$PORT"
-    DEX_DEBUG="-agentlib:jdwp=transport=dt_socket,addres=$PORT,server=y,suspend=y"
-fi
-
-if [ "$GDB" = "y" ]; then
-    gdb=gdb
-    gdbargs="--args $exe"
-fi
-
-$valgrind_cmd $gdb $exe $gdbargs "-Xbootclasspath:${bpath}" \
-    $DEX_VERIFY $DEX_OPTIMIZE $DEX_DEBUG $GC_OPTS "-Xint:${INTERP}" -ea \
-    -cp test.jar Main "$@"
diff --git a/tests/etc/push-and-run-test-jar b/tests/etc/push-and-run-test-jar
deleted file mode 100755
index 2028217..0000000
--- a/tests/etc/push-and-run-test-jar
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/bin/sh
-#
-# Run the code in test.jar on the device. The jar should contain a top-level
-# class named Main to run.
-#
-# Options:
-#   --quiet       -- don't chatter
-#   --fast        -- use the fast interpreter (the default)
-#   --jit         -- use the jit
-#   --portable    -- use the portable interpreter
-#   --debug       -- wait for debugger to attach
-#   --dev         -- development mode (print the vm invocation cmdline)
-#   --no-verify   -- turn off verification (on by default)
-#   --no-optimize -- turn off optimization (on by default)
-#   --no-precise  -- turn off precise GC (on by default)
-
-msg() {
-    if [ "$QUIET" = "n" ]; then
-        echo "$@"
-    fi
-}
-
-INTERP=""
-DEBUG="n"
-VERIFY="y"
-OPTIMIZE="y"
-QUIET="n"
-PRECISE="y"
-DEV_MODE="n"
-
-while true; do
-    if [ "x$1" = "x--quiet" ]; then
-        QUIET="y"
-        shift
-    elif [ "x$1" = "x--fast" ]; then
-        INTERP="fast"
-        msg "Using fast interpreter"
-        shift
-    elif [ "x$1" = "x--jit" ]; then
-        INTERP="jit"
-        msg "Using jit"
-        shift
-    elif [ "x$1" = "x--portable" ]; then
-        INTERP="portable"
-        msg "Using portable interpreter"
-        shift
-    elif [ "x$1" = "x--debug" ]; then
-        DEBUG="y"
-        shift
-    elif [ "x$1" = "x--dev" ]; then
-        DEV_MODE="y"
-        shift
-    elif [ "x$1" = "x--no-verify" ]; then
-        VERIFY="n"
-        shift
-    elif [ "x$1" = "x--no-optimize" ]; then
-        OPTIMIZE="n"
-        shift
-    elif [ "x$1" = "x--no-precise" ]; then
-        PRECISE="n"
-        shift
-    elif [ "x$1" = "x--" ]; then
-        shift
-        break
-    elif expr "x$1" : "x--" >/dev/null 2>&1; then
-        echo "unknown option: $1" 1>&2
-        exit 1
-    else
-        break
-    fi
-done
-
-if [ "x$INTERP" = "x" ]; then
-    INTERP="jit"
-    msg "Using jit by default"
-fi
-
-if [ "$OPTIMIZE" = "y" ]; then
-    if [ "$VERIFY" = "y" ]; then
-        DEX_OPTIMIZE="-Xdexopt:verified"
-    else
-        DEX_OPTIMIZE="-Xdexopt:all"
-    fi
-    msg "Performing optimizations"
-else
-    DEX_OPTIMIZE="-Xdexopt:none"
-    msg "Skipping optimizations"
-fi
-
-if [ "$VERIFY" = "y" ]; then
-    DEX_VERIFY=""
-    msg "Performing verification"
-else
-    DEX_VERIFY="-Xverify:none"
-    msg "Skipping verification"
-fi
-
-msg "------------------------------"
-
-if [ "$QUIET" = "n" ]; then
-    adb push test.jar /data
-    adb push test-ex.jar /data
-else
-    adb push test.jar /data >/dev/null 2>&1
-    adb push test-ex.jar /data >/dev/null 2>&1
-fi
-
-if [ "$DEBUG" = "y" ]; then
-    DEX_DEBUG="-agentlib:jdwp=transport=dt_android_adb,server=y,suspend=y"
-fi
-
-if [ "$PRECISE" = "y" ]; then
-    GC_OPTS="-Xgc:precise -Xgenregmap"
-else
-    GC_OPTS="-Xgc:noprecise"
-fi
-
-cmdline="cd /data; dalvikvm $DEX_VERIFY $DEX_OPTIMIZE $DEX_DEBUG \
-    $GC_OPTS -cp test.jar -Xint:${INTERP} -ea Main"
-if [ "$DEV_MODE" = "y" ]; then
-    echo $cmdline "$@"
-fi
-adb shell $cmdline "$@"
diff --git a/tests/etc/reference-run-test-classes b/tests/etc/reference-run-test-classes
deleted file mode 100755
index 94c8050..0000000
--- a/tests/etc/reference-run-test-classes
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-#
-# Run the code in a classes directory on a host-local reference virtual
-# machine. The jar should contain a top-level class named Main to run.
-#
-# Options:
-#   --quiet       -- don't chatter
-#   --debug       -- wait for debugger to attach
-#   --no-verify   -- turn off verification (on by default)
-#   --dev         -- development mode
-
-msg() {
-    if [ "$QUIET" = "n" ]; then
-        echo "$@"
-    fi
-}
-
-DEBUG="n"
-QUIET="n"
-VERIFY="y"
-
-while true; do
-    if [ "x$1" = "x--quiet" ]; then
-        QUIET="y"
-        shift
-    elif [ "x$1" = "x--debug" ]; then
-        DEBUG="y"
-        shift
-    elif [ "x$1" = "x--no-verify" ]; then
-        VERIFY="n"
-        shift
-    elif [ "x$1" = "x--dev" ]; then
-        # not used; ignore
-        shift
-    elif [ "x$1" = "x--" ]; then
-        shift
-        break
-    elif expr "x$1" : "x--" >/dev/null 2>&1; then
-        echo "unknown option: $1" 1>&2
-        exit 1
-    else
-        break
-    fi
-done
-
-if [ "$VERIFY" = "y" ]; then
-    VERIFY_ARG="-Xverify:all"
-    msg "Performing verification"
-else
-    VERIFY_ARG="-Xverify:none"
-    msg "Skipping verification"
-fi
-
-if [ "$DEBUG" = "y" ]; then
-    PORT=8000
-    msg "Waiting for debugger to connect on localhost:$PORT"
-    DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,address=$PORT,server=y,suspend=y"
-fi
-
-${JAVA} ${DEBUG_OPTS} -ea ${VERIFY_ARG} -classpath classes Main "$@"
diff --git a/tests/run-all-tests b/tests/run-all-tests
deleted file mode 100755
index f66cd76..0000000
--- a/tests/run-all-tests
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2007 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Set up prog to be the path of this script, including following symlinks,
-# and set up progdir to be the fully-qualified pathname of its directory.
-prog="$0"
-while [ -h "${prog}" ]; do
-    newProg=`/bin/ls -ld "${prog}"`
-    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
-    if expr "x${newProg}" : 'x/' >/dev/null; then
-        prog="${newProg}"
-    else
-        progdir=`dirname "${prog}"`
-        prog="${progdir}/${newProg}"
-    fi
-done
-oldwd=`pwd`
-progdir=`dirname "${prog}"`
-cd "${progdir}"
-progdir=`pwd`
-prog="${progdir}"/`basename "${prog}"`
-
-run_args=""
-usage="no"
-
-while true; do
-    if [ "x$1" = "x--host" ]; then
-        run_args="${run_args} --host"
-        shift
-    elif [ "x$1" = "x--reference" ]; then
-        run_args="${run_args} --reference"
-        shift
-    elif [ "x$1" = "x--jit" ]; then
-        run_args="${run_args} --jit"
-        shift
-    elif [ "x$1" = "x--fast" ]; then
-        run_args="${run_args} --fast"
-        shift
-    elif [ "x$1" = "x--portable" ]; then
-        run_args="${run_args} --portable"
-        shift
-    elif [ "x$1" = "x--debug" ]; then
-        run_args="${run_args} --debug"
-        shift
-    elif [ "x$1" = "x--zygote" ]; then
-        run_args="${run_args} --zygote"
-        shift
-    elif [ "x$1" = "x--no-verify" ]; then
-        run_args="${run_args} --no-verify"
-        shift
-    elif [ "x$1" = "x--no-optimize" ]; then
-        run_args="${run_args} --no-optimize"
-        shift
-    elif [ "x$1" = "x--valgrind" ]; then
-        run_args="${run_args} --valgrind"
-        shift
-    elif [ "x$1" = "x--dev" ]; then
-        run_args="${run_args} --dev"
-        shift
-    elif [ "x$1" = "x--update" ]; then
-        run_args="${run_args} --update"
-        shift
-    elif [ "x$1" = "x--help" ]; then
-        usage="yes"
-        shift
-    elif expr "x$1" : "x--" >/dev/null 2>&1; then
-        echo "unknown option: $1" 1>&2
-        usage="yes"
-        break
-    else
-        break
-    fi
-done
-
-if [ "$usage" = "yes" ]; then
-    prog=`basename $prog`
-    (
-        echo "usage:"
-        echo "  $prog --help     Print this message."
-        echo "  $prog [options]  Run all tests with the given options."
-        echo "  Options are all passed to run-test; refer to that for " \
-             "further documentation:"
-        echo "    --debug --dev --fast --host --no-optimize --no-verify" \
-             "--portable"
-        echo "    --reference --update --valgrind --zygote"
-    ) 1>&2
-    exit 1
-fi
-
-passed=0
-failed=0
-failNames=""
-
-for i in *; do
-    if [ -d "$i" -a -r "$i" -a -r "${i}/info.txt" ]; then
-        ./run-test ${run_args} "$i"
-        if [ "$?" = "0" ]; then
-            ((passed += 1))
-        else
-            ((failed += 1))
-            failNames="$failNames $i"
-        fi
-    fi
-done
-
-echo "passed: $passed test(s)"
-echo "failed: $failed test(s)"
-
-for i in $failNames; do
-    echo "failed: $i"
-done
diff --git a/tests/run-test b/tests/run-test
deleted file mode 100755
index 6c8c457..0000000
--- a/tests/run-test
+++ /dev/null
@@ -1,254 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2007 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Set up prog to be the path of this script, including following symlinks,
-# and set up progdir to be the fully-qualified pathname of its directory.
-prog="$0"
-while [ -h "${prog}" ]; do
-    newProg=`/bin/ls -ld "${prog}"`
-    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
-    if expr "x${newProg}" : 'x/' >/dev/null; then
-        prog="${newProg}"
-    else
-        progdir=`dirname "${prog}"`
-        prog="${progdir}/${newProg}"
-    fi
-done
-oldwd=`pwd`
-progdir=`dirname "${prog}"`
-cd "${progdir}"
-progdir=`pwd`
-prog="${progdir}"/`basename "${prog}"`
-
-export JAVA="java"
-export JAVAC="javac -source 1.5 -target 1.5"
-export RUN="${progdir}/etc/push-and-run-test-jar"
-
-info="info.txt"
-build="build"
-run="run"
-expected="expected.txt"
-output="output.txt"
-build_output="build-output.txt"
-run_args="--quiet"
-
-dev_mode="no"
-update_mode="no"
-debug_mode="no"
-usage="no"
-
-while true; do
-    if [ "x$1" = "x--host" ]; then
-        RUN="${progdir}/etc/host-run-test-jar"
-        shift
-    elif [ "x$1" = "x--reference" ]; then
-        RUN="${progdir}/etc/reference-run-test-classes"
-        shift
-    elif [ "x$1" = "x--jit" ]; then
-        run_args="${run_args} --jit"
-        shift
-    elif [ "x$1" = "x--fast" ]; then
-        run_args="${run_args} --fast"
-        shift
-    elif [ "x$1" = "x--portable" ]; then
-        run_args="${run_args} --portable"
-        shift
-    elif [ "x$1" = "x--debug" ]; then
-        run_args="${run_args} --debug"
-        shift
-    elif [ "x$1" = "x--gdb" ]; then
-        run_args="${run_args} --gdb"
-        dev_mode="yes"
-        shift
-    elif [ "x$1" = "x--zygote" ]; then
-        run_args="${run_args} --zygote"
-        shift
-    elif [ "x$1" = "x--no-verify" ]; then
-        run_args="${run_args} --no-verify"
-        shift
-    elif [ "x$1" = "x--no-optimize" ]; then
-        run_args="${run_args} --no-optimize"
-        shift
-    elif [ "x$1" = "x--no-precise" ]; then
-        run_args="${run_args} --no-precise"
-        shift
-    elif [ "x$1" = "x--valgrind" ]; then
-        run_args="${run_args} --valgrind"
-        shift
-    elif [ "x$1" = "x--dev" ]; then
-        run_args="${run_args} --dev"
-        dev_mode="yes"
-        shift
-    elif [ "x$1" = "x--update" ]; then
-        update_mode="yes"
-        shift
-    elif [ "x$1" = "x--help" ]; then
-        usage="yes"
-        shift
-    elif expr "x$1" : "x--" >/dev/null 2>&1; then
-        echo "unknown option: $1" 1>&2
-        usage="yes"
-        break
-    else
-        break
-    fi
-done
-
-if [ "$dev_mode" = "yes" -a "$update_mode" = "yes" ]; then
-    echo "--dev and --update are mutually exclusive" 1>&2
-    usage="yes"
-fi
-
-if [ "$usage" = "no" ]; then
-    if [ "x$1" = "x" -o "x$1" = "x-" ]; then
-        test_dir=`basename "$oldwd"`
-    else
-        test_dir="$1"
-    fi
-
-    if [ '!' -d "$test_dir" ]; then
-        td2=`echo ${test_dir}-*`
-        if [ '!' -d "$td2" ]; then
-            echo "${test_dir}: no such test directory" 1>&2
-            usage="yes"
-        fi
-        test_dir="$td2"
-    fi
-
-    # Shift to get rid of the test name argument. The rest of the arguments
-    # will get passed to the test run.
-    shift
-fi
-
-if [ "$usage" = "yes" ]; then
-    prog=`basename $prog`
-    (
-        echo "usage:"
-        echo "  $prog --help                          Print this message."
-        echo "  $prog [options] [test-name]           Run test normally."
-        echo "  $prog --dev [options] [test-name]     Development mode" \
-             "(dumps to stdout)."
-        echo "  $prog --update [options] [test-name]  Update mode" \
-             "(replaces expected.txt)."
-        echo '  Omitting the test name or specifying "-" will use the' \
-             "current directory."
-        echo "  Runtime Options:"
-        echo "    --fast         Use the fast interpreter."
-        echo "    --jit          Use the jit (the default)."
-        echo "    --portable     Use the portable interpreter."
-        echo "    --debug        Wait for a debugger to attach."
-        #echo "    --gdb          Run under gdb; incompatible with some tests."
-        echo "    --no-verify    Turn off verification (on by default)."
-        echo "    --no-optimize  Turn off optimization (on by default)."
-        echo "    --no-precise   Turn off precise GC (on by default)."
-        echo "    --zygote       Spawn the process from the Zygote." \
-             "If used, then the"
-        echo "                   other runtime options are ignored."
-        echo "    --host         Use the host-mode virtual machine."
-        echo "    --valgrind     Use valgrind when running locally."
-        echo "    --reference    Use a host-local reference virtual machine."
-    ) 1>&2
-    exit 1
-fi
-
-cd "$test_dir"
-test_dir=`pwd`
-
-td_info="${test_dir}/${info}"
-td_expected="${test_dir}/${expected}"
-
-tmp_dir="/tmp/test-$$"
-
-if [ '!' '(' -r "$td_info" -a -r "$td_expected" ')' ]; then
-    echo "${test_dir}: missing files" 1>&2
-    exit 1
-fi
-
-# copy the test to a temp dir and run it
-
-echo "${test_dir}: running..." 1>&2
-
-rm -rf "$tmp_dir"
-cp -Rp "$test_dir" "$tmp_dir"
-cd "$tmp_dir"
-
-if [ '!' -r "$build" ]; then
-    cp "${progdir}/etc/default-build" build
-fi
-
-if [ '!' -r "$run" ]; then
-    cp "${progdir}/etc/default-run" run
-fi
-
-chmod 755 "$build"
-chmod 755 "$run"
-
-good="no"
-if [ "$dev_mode" = "yes" ]; then
-    "./${build}" 2>&1
-    echo "build exit status: $?" 1>&2
-    "./${run}" $run_args "$@" 2>&1
-    echo "run exit status: $?" 1>&2
-    good="yes"
-elif [ "$update_mode" = "yes" ]; then
-    "./${build}" >"$build_output" 2>&1
-    build_exit="$?"
-    if [ "$build_exit" = '0' ]; then
-        "./${run}" $run_args "$@" >"$output" 2>&1
-        sed -e 's/[[:cntrl:]]$//g' < "$output" >"${td_expected}"
-        good="yes"
-    else
-        cat "$build_output" 1>&2
-        echo "build exit status: $build_exit" 1>&2
-    fi
-else
-    "./${build}" >"$build_output" 2>&1
-    build_exit="$?"
-    if [ "$build_exit" = '0' ]; then
-        "./${run}" $run_args "$@" >"$output" 2>&1
-    else
-        cp "$build_output" "$output"
-        echo "build exit status: $build_exit" >>"$output"
-    fi
-    diff --strip-trailing-cr -q "$expected" "$output" >/dev/null
-    if [ "$?" = "0" ]; then
-        # output == expected
-        good="yes"
-        echo "${test_dir}: succeeded!" 1>&2
-    fi
-fi
-
-if [ "$good" = "yes" ]; then
-    cd "$oldwd"
-    rm -rf "$tmp_dir"
-    exit 0
-fi
-
-(
-    if [ "$update_mode" '!=' "yes" ]; then
-        echo "${test_dir}: FAILED!"
-        echo ' '
-        echo '#################### info'
-        cat "${td_info}" | sed 's/^/# /g'
-        echo '#################### diffs'
-        diff --strip-trailing-cr -u "$expected" "$output"
-        echo '####################'
-        echo ' '
-    fi
-    echo "files left in ${tmp_dir}"
-) 1>&2
-
-exit 1
diff --git a/vm/native/java_lang_Class.cpp b/vm/native/java_lang_Class.cpp
index 52c8c3e..f8a3a92 100644
--- a/vm/native/java_lang_Class.cpp
+++ b/vm/native/java_lang_Class.cpp
@@ -562,21 +562,6 @@
 }
 
 /*
- * private Object[] getSignatureAnnotation()
- *
- * Returns the signature annotation array.
- */
-static void Dalvik_java_lang_Class_getSignatureAnnotation(const u4* args,
-    JValue* pResult)
-{
-    ClassObject* clazz = (ClassObject*) args[0];
-    ArrayObject* arr = dvmGetClassSignatureAnnotation(clazz);
-
-    dvmReleaseTrackedAlloc((Object*) arr, NULL);
-    RETURN_PTR(arr);
-}
-
-/*
  * public Class getEnclosingClass()
  *
  * Get the class that encloses this class (if any).
@@ -633,32 +618,6 @@
     RETURN_PTR(NULL);
 }
 
-#if 0
-static void Dalvik_java_lang_Class_getGenericInterfaces(const u4* args,
-    JValue* pResult)
-{
-    dvmThrowUnsupportedOperationException("native method not implemented");
-
-    RETURN_PTR(NULL);
-}
-
-static void Dalvik_java_lang_Class_getGenericSuperclass(const u4* args,
-    JValue* pResult)
-{
-    dvmThrowUnsupportedOperationException("native method not implemented");
-
-    RETURN_PTR(NULL);
-}
-
-static void Dalvik_java_lang_Class_getTypeParameters(const u4* args,
-    JValue* pResult)
-{
-    dvmThrowUnsupportedOperationException("native method not implemented");
-
-    RETURN_PTR(NULL);
-}
-#endif
-
 /*
  * public boolean isAnonymousClass()
  *
@@ -819,8 +778,6 @@
         Dalvik_java_lang_Class_getClassLoader },
     { "getComponentType",       "()Ljava/lang/Class;",
         Dalvik_java_lang_Class_getComponentType },
-    { "getSignatureAnnotation",  "()[Ljava/lang/Object;",
-        Dalvik_java_lang_Class_getSignatureAnnotation },
     { "getDeclaredClasses",     "(Ljava/lang/Class;Z)[Ljava/lang/Class;",
         Dalvik_java_lang_Class_getDeclaredClasses },
     { "getDeclaredConstructors", "(Ljava/lang/Class;Z)[Ljava/lang/reflect/Constructor;",
diff --git a/vm/native/java_lang_System.cpp b/vm/native/java_lang_System.cpp
index 1b07f85..d4aecac 100644
--- a/vm/native/java_lang_System.cpp
+++ b/vm/native/java_lang_System.cpp
@@ -360,6 +360,41 @@
 }
 
 /*
+ * public static void arraycopyCharUnchecked(char[] src, int srcPos, char[] dest,
+ *      int destPos, int length)
+ *
+ * This is a char[] specialized, native, unchecked version of
+ * arraycopy(). This assumes error checking has been done.
+ */
+static void Dalvik_java_lang_System_arraycopyCharUnchecked(const u4* args, JValue* pResult)
+{
+    ArrayObject* srcArray = (ArrayObject*) args[0];
+    int srcPos = args[1];
+    ArrayObject* dstArray = (ArrayObject*) args[2];
+    int dstPos = args[3];
+    int length = args[4];
+    assert(srcArray != NULL);
+    assert(dstArray != NULL);
+    assert(dvmIsArray(srcArray));
+    assert(dvmIsArray(dstArray));
+    assert(srcPos >= 0 && dstPos >= 0 && length >= 0 &&
+           srcPos + length <= (int) srcArray->length &&
+           dstPos + length <= (int) dstArray->length);
+#ifndef NDEBUG
+    ClassObject* srcClass = srcArray->clazz;
+    ClassObject* dstClass = dstArray->clazz;
+    char srcType = srcClass->descriptor[1];
+    char dstType = dstClass->descriptor[1];
+    assert(srcType == 'C' && dstType == 'C');
+#endif
+    /* 2 bytes per element */
+    move16((u1*) dstArray->contents + dstPos * 2,
+           (const u1*) srcArray->contents + srcPos * 2,
+           length * 2);
+    RETURN_VOID();
+}
+
+/*
  * static int identityHashCode(Object x)
  *
  * Returns that hash code that the default hashCode()
@@ -376,6 +411,8 @@
 const DalvikNativeMethod dvm_java_lang_System[] = {
     { "arraycopy",          "(Ljava/lang/Object;ILjava/lang/Object;II)V",
         Dalvik_java_lang_System_arraycopy },
+    { "arraycopyCharUnchecked", "([CI[CII)V",
+        Dalvik_java_lang_System_arraycopyCharUnchecked },
     { "identityHashCode",  "(Ljava/lang/Object;)I",
         Dalvik_java_lang_System_identityHashCode },
     { NULL, NULL, NULL },