corda/test
Joel Dice 866c057f0d fix Class.getDeclaredMethods
getDeclaredMethods was returning methods which were inherited from
interfaces but not (re)declared in the class itself, due to the VM's
internal use of VMClass.methodTable differing from its role in
reflection.  For reflection, we must only include the declared
methods, not the inherited but un-redeclared ones.

Previously, we saved the original method table in
ClassAddendum.methodTable before creating a new one which contains
both declared and inherited methods.  That wasted space, so this patch
replaces ClassAddendum.methodTable with
ClassAddendum.declaredMethodCount, which specifies how many of the
methods in VMClass.methodTable were declared in that class.

Alternatively, we could ensure that undeclared methods always have
their VMMethod.class_ field set to the declaring class instead of the
inheriting class.  I tried this, but it led to subtle crashes in
interface method lookup.  The rest of the VM relies not only on
VMClass.methodTable containing all inherited interface methods but
also that those methods point to the inheriting class, not the
declaring class.  Changing those assumptions would be a much bigger
(and more dangerous in terms of regression potential) effort than I
care to take on right now.  The solution I chose is a bit ugly, but
it's safe.
2014-03-10 08:51:00 -06:00
..
avian match Java's schizophrenic concept of inner class access modifiers 2014-03-06 16:17:43 -07:00
extra make Sockets test Java6-compilable, make it more generic, and move it to 'extra' 2013-11-08 10:05:53 -07:00
AllFloats.java refactor code responsible for moving data in the compiler 2009-11-27 21:15:12 -07:00
Annotations.java Test complicated annotation constructs 2013-11-27 10:39:28 -06:00
ArraysTest.java implement Arrays.deepEquals and Objects.deepEquals 2014-01-30 17:12:34 -07:00
AtomicTests.java Reduced code duplication by combining these three very similar tests into a single file. 2014-01-03 16:24:11 -07:00
BitsetTest.java Fixed issue where BitSet didn't handle a range of 64 bits correctly on bulk operations - now just return the predefined MASK which has all the bits set when requesting that all the bits be set. 2012-07-06 23:33:05 -06:00
Buffers.java add Buffers test 2012-08-11 08:01:44 -06:00
Busy.java make sure a busy-waiting loop can't block the GC (and hence the whole VM) 2013-12-13 10:39:36 -07:00
ci.sh build arm and powerpc targets in the ci build 2014-02-25 21:38:29 -07:00
Collections.java Implement Collections#sort 2013-11-04 12:08:22 -06:00
Datagrams.java implement DatagramChannel.receive and fix Datagrams to be Java 6 compatible 2012-07-10 14:09:14 -06:00
Dates.java fix Dates test for openjdk and stub out java.util.TimeZone 2013-11-07 20:44:02 -07:00
DefineClass.java uncomment testStatic call in DefineClass 2011-03-15 17:33:09 -06:00
DivideByZero.java throw ArithmeticException on divide-by-zero 2010-12-19 17:47:21 -07:00
Enums.java Implemented proper enum toString() behavior and an enum test. it should 2007-09-26 12:59:18 -06:00
EnumSetTest.java Adding EnumSet, which is backed by a speedy BitSet. 2012-07-02 14:28:51 -06:00
Exceptions.java implement primitive testing framework and provide for GC stress testing 2007-07-15 19:03:02 -06:00
FileOutput.java close FileInputStream before deleting file in FileOutput test 2011-01-17 10:33:43 -07:00
Files.java Delete temporary test file afterwards 2013-11-26 16:05:14 -06:00
Finalizers.java run java finalizers in a separate thread to guarantee no application locks are held when doing so 2009-08-24 17:51:31 -06:00
Floats.java fix NaN handling in floating point comparisons 2013-04-03 16:19:33 -06:00
GC.java fix custom-classloader-related concurrency problems and other bugs 2010-09-16 20:49:02 -06:00
Hello.java revert accidentally-committed change to Hello.java 2008-10-21 17:42:05 -06:00
Initializers.java fix ARM stack unwinding (part 2) 2011-02-20 13:49:40 -07:00
Integers.java Test the newly-introduced Integer#decode method 2013-10-25 15:32:33 -05:00
jni.cpp implement JNIEnv::NewLocalRef 2012-12-20 09:05:30 -07:00
JNI.java implement JNIEnv::NewLocalRef 2012-12-20 09:05:30 -07:00
LazyLoading.java fix jdk-test failures 2013-12-06 19:30:04 -07:00
List.java Fix an off-by-1 error in the remove method. 2012-07-06 14:03:56 -06:00
Logging.java Support Logger#log(Level,String,Object) 2013-11-06 09:07:58 -06:00
Longs.java fix 64-bit shifts on x86_32 (part 2) 2012-09-03 08:44:13 -06:00
MessageFormatTest.java Implement single quotes in MessageFormat 2014-01-28 09:56:25 -07:00
Misc.java do not omit calls to empty methods which may trigger class initialization 2014-02-10 08:40:14 -07:00
NullPointer.java add a couple of test cases to NullPointer.java 2011-02-01 08:40:56 -07:00
Observe.java implement java/util/Observ* 2014-01-20 10:17:22 -07:00
OutOfMemory.java rework VM exception handling; throw OOMEs when appropriate 2010-12-27 15:55:23 -07:00
Processes.java implement Process.destroy 2011-11-03 12:30:51 -06:00
Proxies.java support runtime-visible annotations and java.lang.reflect.Proxy 2009-09-18 18:01:54 -06:00
References.java fix handling of reachable, moved weak references in postVisit 2009-09-01 17:23:30 -06:00
Reflection.java fix Class.getDeclaredMethods 2014-03-10 08:51:00 -06:00
Regex.java Fix the look-behind test for OpenJDK 2013-12-06 10:50:34 -06:00
Serialize.java Do not test java.util.TreeMap's serialization in the Serialize test 2013-12-06 19:24:41 -06:00
Simple.java fix Exceptions test for amd64 2008-11-02 15:25:51 -07:00
StackOverflow.java make StackOverflow test useful in tails=true build 2011-01-25 17:13:59 -07:00
Strings.java Verify that String#lastIndexOf handles large fromIndex correctly 2013-10-25 15:32:33 -05:00
Subroutine.java fix stack mapping bug for try blocks containing jsr/ret instructions 2012-12-12 15:54:15 -07:00
Switch.java implement tableswitch and lookupswitch instructions plus run loop bugfixes and tweaks 2007-08-12 20:52:12 -06:00
test.sh use portable conditional expression in test.sh 2013-12-06 20:57:26 -07:00
Threads.java fix Thread.join when using Android class library 2014-02-25 14:58:32 -07:00
TimeUnitConversions.java Fix for spelling error joel pointed out, as well as a simple unit test around the TimeUnit conversions 2013-12-24 11:30:50 -07:00
Trace.java use wait/notifyAll too avoid starvation in Trace test 2011-02-26 12:40:54 -07:00
Tree.java modify TreeSet.MyIterator to support both ascending and descending iteration 2013-12-04 17:52:27 -07:00
UnsafeTest.java implement sun.misc.Unsafe.throwException 2013-12-05 20:28:08 -07:00
UrlTest.java include leading slash in path when parsing URLs in URLStreamHandler 2012-02-18 15:14:16 -07:00
Zip.java fix access violation introduced in last commit 2011-09-14 13:27:17 -06:00
ZipOutputStreamTest.java Add tests for creating zip files using both write methods 2013-07-08 14:50:17 -06:00