• Home
  • History
  • Annotate
  • only in /libcore/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/
History log of /libcore/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
08e9e364940586cb242839c8f0e303b82438f58b 19-Aug-2016 Tobias Thierer <tobiast@google.com> Fix regression in Vector.listIterator.add() introduced in N.

AOSP commit 887ab3fe607c582e10e33b3d631401d7a791aaed touched Vector.Itr
to fix an app compability bug, but did not make a corresponding change
to Vector.ListItr which extends Vector.Itr. Specifically, ListItr.add()
does not account for the extra element in the hasNext() logic that it
inherits from the super class. This causes iteration to terminate
prematurely when an element was added via the ListIterator.

This CL fixes the regression by incrementing limit during ListItr.add().

Bug: 27430229
Bug: 30974375

Test: VectorTest
Test: 842 guava-testlib tests for Vector; coverage for Vector was
contributed to guava-testlib in http://cl/130778873

(cherry picked from commit c13c9eddc3f7eeb760fcd9032b85ef2767cc82ba)

Change-Id: I9a565f11f7b8b7368cf967d66e986d6130e17267
ectorTest.java
e34fbfb66a724284a9722892fa8f51f7c663ed86 13-Jun-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix Preferences regression.

This change fixes reading filesystem-saved
java.util.prefs.Preferences.

Due to a bug in XmlSupport, when reading the
filesystem-saved preferences, the reader was
throwing an exception. The Android
implementation of xml parser adds additional
nodes that were not Elements, this was
causing a cast exception (the old code was expecting
only Elements).

FileSystemPreferences class was swallowing exceptions if
they happen during preferences content reading.
This changes adds additional logging to prevent this.

Bug: 27645233
Change-Id: Ieebd8a6a1002111654005bfcc42009b01c89ea70
(cherry picked from commit 44d29b0a9012a66f5db5a8130017568a55c11668)
refs/PreferencesTest.java
e03b33ae5072a36e38f2d4a02b4ceb92f29d167e 20-May-2016 Narayan Kamath <narayan@google.com> Observable: Call out to hasChanged() to figure out if something changes.

bug: 28797950

(cherry picked from commit fbabe73723c24c38cbfd6429387dae5e6478513f)

Change-Id: I8dd1cccce31d440782a8b7a6210a89576febbdaa
bservableTest.java
c36b57476e89590c04c9c487fd304b0bee2619cf 29-Apr-2016 Sergio Giro <sgiro@google.com> Merge "JarFile: make getManifestFromReference and getManEntry synchronized" into nyc-dev
f71c7ea18fdeae6d70009209653ac8626b419292 13-Apr-2016 Sergio Giro <sgiro@google.com> JarFile: make getManifestFromReference and getManEntry synchronized

So that all modifications to the cached manifest entry and to the
underlying JarVerifier are synchronized.

computedHasClassPathAttribute and hasClassPathAttribute are just cached
booleans that don't change once set, unsynchronized access to them would
cause only for them to be computed twice in the worst case.

Also, removed dead code and corresponding test.

Bug: 27826114
Change-Id: Id3a9b74997cb462c625861c0284196f74dcb8e9a
ar/JarFileTest.java
533805c1b570b1ecaa963eb02bcd2264adbc95ca 26-Apr-2016 Narayan Kamath <narayan@google.com> ResourceBundle : Use UTF-8 for property based resources.

bug: 26879578

(cherry picked from commit d07ed5829b5449874393b365a3393596406edd31)

Change-Id: I29ee5516c4429712f49a2e1c85dc5fc5dba3a225
esourceBundleTest.java
f0d9b8aea94c2a207b7b71faaa7a8a2f78ddf1ea 20-Apr-2016 Shubham Ajmera <shubhamajmera@google.com> Add missed overrides for OpenJDK 8 Map default methods

Both the replace methods in TreeMap were left intentionally in the
commit 0e83756c4295f4df3853047205d94fe845573522 as there were no
behavioral differences and the default implementation was considered
sufficient. However, the upstream version is more efficient so that is
being added here.

As of now, all the overrides for the Map default implementation have
been put from the upstream, except for Hashtable and HashMap. Both
of these classes are quite different from their OpenJDK 8 versions to
accommodate the overrides. HashMap depends on the default implementation
for the following methods:

#getOrDefault
#replace(K, V)
#computeIfAbsent
#computeIfPresent
#compute
#merge

#replace(K, V, V) was reimplemented due to the behavioral differences
with the default implementation.

The following Hashtable methods are also dependent on the map default
implementation, though, they have added synchronization.

#getOrDefault
#putIfAbsent
#remove
#replace(K, V, V)
#replace(K, V)
#computeIfAbsent
#computeIfPresent
#compute

Once the classes get ready with the new changes comes with OpenJDK 8,
the above methods would be put in.

Bug: 27426743
Change-Id: Iee4fb156eddee17187386bbfffc8517415030a94
dentityHashMapTest.java
3819290afba2199d4ddf5da88e5b3717b59863f6 15-Apr-2016 Neil Fuller <nfuller@google.com> Explicitly set locale to en_US for tests that require it

Previously these tests would use the device setting. The follow tests
broke if the device was set to en_UK:

libcore.java.text.SimpleDateFormatTest#testTimeZoneNotChangedByParse
org.apache.harmony.tests.java.util.GregorianCalendarTest#test_getLeastMaximumI
libcore.java.util.GregorianCalendarTest#test_getWeeksInWeekYear

The GregorianCalendar tests broke because the locale influences the
"start of week".
The SimpleDateFormat test broke because HST is not an ICU translation for
en_UK but is for en_US.

Bug: 28212178
Change-Id: Id4c9ca48dcc821e8f7c6af22d7e8a9fbce57d62c
regorianCalendarTest.java
2c5ded18d09c06540892bfee5d20b69038029f8a 04-Apr-2016 Shubham Ajmera <shubhamajmera@google.com> Add Arrays$ArrayList::replaceAll

and corresponding test.

Bug: 27540008
Change-Id: Ib755e5f183fc05d03b1696c3c660d8508fe719f6
rrays2Test.java
def94956afbfc17ea65390d16d032f9b790a5dca 18-Mar-2016 Narayan Kamath <narayan@google.com> Spliterators: pull in additional specializations.

This change also pulls in a few javadoc improvements to Collections
to make our lives easier.

bug: 27605529

(cherry picked from commit c86e0fa98d8274d7ea01213a20e3a14575406dd0)

Change-Id: I97f05ae833034f1e5a7d32329f8e19de6b97e779
rrayListTest.java
887ab3fe607c582e10e33b3d631401d7a791aaed 17-Mar-2016 Narayan Kamath <narayan@google.com> Vector: Rework CME checks in hasNext() and next().

Port over commit b10b2a3ab693cfd6156d06ffe4e00ce69b9c9194
from java.util.ArrayList to java.util.Vector.

Also adds the same set of tests to Vector / ArrayList so
to make sure their iterators behave identically in this regard.

bug: 27430229

(cherry picked from commit 6e5b758a4438d2c154dd11a5c04d14a5d2fc907c)

Change-Id: I04cadc3eac6d591ce8b93d04a999825f65fb867a
rrayListTest.java
ectorTest.java
5c35c7ebda68cc39b6bdee20f678a150336ebd1d 14-Mar-2016 Yi Kong <yikong@google.com> Port java.util.Collection.removeIf from OpenJDK8

Source code is taken from jdk8u60.

Bug: 27538943
Change-Id: I485c024f87871e33d2f455be9807775601af77ee
(cherry picked from commit d41ca4a76ea570f9dd89a7ae56410cc75cc0a856)
rrayListTest.java
ollectionsTest.java
inkedListTest.java
ectorTest.java
471945701ad7895acf0dae73f90a5f18cd9ca23a 02-Mar-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Port of oJdk8 Arrays#parallelSort* & tests

Based on openJdk 8u40 source & iam@ stream change in
ag/872080

Bug: 27426684
Change-Id: I86e5b8a61201c73ab2e8bac069e540c9ca8dc120
(cherry picked from commit c9b5ffc066d5ea92fdbf0cfd7ea7f56a6e96a4ab)
rraysTest.java
3a923d039f9176b87d6ee449e9b263cf5cd902ed 11-Mar-2016 Narayan Kamath <narayan@google.com> Fix cts-v1 build breakage.

We're still using javac for CollectAllTests and javac complains
about referencing a variable that isn't effectively final from a
lambda expression. Jack erroneously doesn't complain (b/27605155).

bug: 27426688

(cherry picked from commit b9050f600e72322f8d86db21ab9b0d41aff860e7)

Change-Id: I2870e18cfb088dd25a660b6a68c4dc23c1d3cc2e
rrayListTest.java
a73ca5822d77cff8b675ead6e5a3ad190183ba1c 04-Mar-2016 Narayan Kamath <narayan@google.com> Add java.lang.Iterable.spliterator() and supporting classes (part 2).

A git snafu meant that the delta between PS9 and PS10 of the aosp
commit this was cherry-picked from did not make it to nyc-dev. This
change commits that delta.

bug: 27426688
Change-Id: I18e9f8ea397ab5463a5ff671167feaa20512afa5
rrayDequeTest.java
rraysTest.java
ashMapTest.java
ectorTest.java
eakHashMapTest.java
4c89023ef86f29fa9add7db2574f2169fe842577 04-Mar-2016 Narayan Kamath <narayan@google.com> Add java.lang.Iterable.spliterator() and supporting classes.

The only android specific changes here are to HashMap - their
spliterators add Spliterator.ORDERED if the HashMap is an instance
of a LinkedHashMap.

There's some degree of duplication between the test code used to
exercise primitive arrays (Arrays / Spliterators provide similar
APIs). These differences are quite hard to consolidate, since the
Arrays version declares that their Spliterators are ORDERED but
the Spliterator version doesn't. The latter also allows us to declare
additional Spliterator characteristics.

(cherry-picked from commit ed21aa3a8dcd34eca6f0317eeb683e7afdc825b9)

bug: 27426688
Change-Id: I191a9319d4af7e22834f2d91f73634a227b36bc2
rrayDequeTest.java
rrayListTest.java
rraysTest.java
ashMapTest.java
ashSetTest.java
dentityHashMapTest.java
inkedHashMapTest.java
inkedHashSetTest.java
inkedListTest.java
riorityQueueTest.java
reeSetTest.java
ectorTest.java
eakHashMapTest.java
a71c780559190439211e731ea8ecf1e0291685d9 04-Mar-2016 Narayan Kamath <narayan@google.com> Fix ArrayDeque forEachRemaining tests.

bug: 27426688

(cherry picked from commit 3de87b847fa94cce9beaf5b225404c1bc7ec475f)

Change-Id: Id5703cf10a673f2bb0caba6ded0fec12a468c674
rrayDequeTest.java
3984cdba314a0f7b0587000dec99ff26fd9bcbb5 02-Mar-2016 Narayan Kamath <narayan@google.com> Add Iterator.forEachRemaining / Iterator.remove.

Also pulls in various specializations from concrete subclasses.

bug: 27426688

(cherry picked from commit e633814ad4dc6c7dc0c34080292c2c9622cbd5a3)

Change-Id: Ic778fb61768ec2495e1ac17029afbdfd97d5e6db
rrayDequeTest.java
rrayListTest.java
inkedListTest.java
ectorTest.java
60796efea3a74e02aea384b8eb56103ea21b880b 29-Feb-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add Iterable#forEach & Map#forEach from openJdk8

Based on openJdk 8u40 source & iam@ stream change in
ag/872080

Bug: 27404545
Change-Id: Ic67e20b35c24e7acce513e010b727510af09a83e
(cherry picked from commit c3a9db83a352d92d5a6e0098f22bde07e34a1d3b)
rrayListTest.java
rrays2Test.java
ollections2Test.java
ashMapTest.java
ashSetTest.java
ashtableTest.java
dentityHashMapTest.java
inkedHashMapTest.java
reeMapTest.java
ectorTest.java
eakHashMapTest.java
119d05942e760b078fd8ac1ea133918ec15b8dbe 03-Feb-2016 Yi Kong <yikong@google.com> Fix JarFileTest#test_getInputStreamLjava_util_jar_JarEntry_subtest0

This failure is due to OpenJDK has different behaviour when dealing
with JarEntry in getInputStream. If argument 'entry' is of type
JarEntry, it reloads it as JarFileEntry using its file name. Therefore
setting size on 'entry' would be ignored.

We initialize entry as JarFileEntry instead, so that getInputStream sees
our change to JarEntry's size.

Bug: 25996922
Change-Id: I4976db19c4b5ddb5802a3e52af7dc9a9df85aaa1
ar/JarFileTest.java
a3005205ba2df01ee13a6ac32bd9423597fbd60d 21-Jan-2016 Narayan Kamath <narayan@google.com> TimerTaskTest: Deflake test_scheduledExecutionTime.

The task should fire approximately 100ms from the current time.

bug: 26154569

Change-Id: I1578643d5bc85abd6578ef5f67e34803d07a3d7d
imerTaskTest.java
2f7224868a7fa789e221d2046a32b767e7564790 12-Jan-2016 Kenny Root <kroot@google.com> Merge "Fix HashMap and HashSet cloning problem"
189d3d5eb6b6ff364889df280f6a1911aae09b91 08-Jan-2016 Narayan Kamath <narayan@google.com> InflaterInputStream : Unconditionally close external inflaters.

bug: 26462400
Change-Id: Iee06e72f6913b67cea13c0c2f818cb12f9985019
ip/InflaterInputStreamTest.java
44973ad1b6b55b8afa2aba3abad8166e31e772d5 12-Jan-2016 Kenny Root <kroot@google.com> Fix HashMap and HashSet cloning problem

If HashMap or HashSet were cloned, it would no longer be equal to
"EMPTY_TABLE" causing the next insertion into the map to be inserted at
an index that was out of bounds.

Bug: 26294011
Change-Id: I374ed126d0d2fa725d6a7f86a6e419cb34ff9ce9
ashSetTest.java
bcdff4f538695b7da58d0a3b931fb2117d73febe 06-Jan-2016 Sergio Giro <sgiro@google.com> TimerTest: invert order of tasks for tests about exception and cancelling

The tests checking for timer cancellation after exception were
scheduling two tasks. First, one to that throws an exception (supposed
to cancel the timer) and another one that shouldn't execute (but
should be scheduled) because of the timer being cancelled.

In some interleavings, the first task would execute before the second
one was even scheduled, and the test would fail when trying to schedule
on a cancelled timer.

Inverting the order so that the one that doesn't cancel the Timer
gets scheduled first.

Also, set two different increment amounts between threads, to make
that the one that executed is the intended one.

Bug: 26147977

(cherry picked from commit e3f79caf396d7a3a27a4a55ece1a65e7603cf0cc)

Change-Id: I31e206367c889cc1753c7f12d8254360be8c5c69
imerTest.java
dda702b5a424ec84623e1a1e285c3ba0d515c131 17-Dec-2015 Paul Duffin <paulduffin@google.com> Fix, expand and move test for GregorianCalendar change date

The part of the test_getLeastMaximumI test that is broken is
checking a fix that was added in
https://issues.apache.org/jira/browse/HARMONY-2947. The fix
aimed to make the method obey its contract and take into
consideration the current values of the getFirstDayOfWeek,
getMinimalDaysInFirstWeek, getGregorianChange and
getTimeZone methods but it didn't.

The test broken because OpenJDK considered TimeZone, and the
test used the default time zone so it varied from run to run
which explains why it worked in some cases but not in others.

There are a number of other fields (apart from WEEK_OF_YEAR that
are affected by the transition between Gregorian and Julian
calendars so the part of the test that was broken was moved to
libcore.java.util.GregorianCalendarTest, fixed to work properly
by setting the TimeZone explicitly and expanded to test the
other fields too.

Bug: 25998114
Change-Id: I4fb6ed6143c682fce6cd2029d09bd59b17b3541d
regorianCalendarTest.java
9820e5b27a8ac4ea426f8e3cddf06445a9e02840 08-Dec-2015 Yi Kong <yikong@google.com> Rewrite util.format for better performance

OpenJDK uses regular expression to parse the format specifier, which
is expensive both to compile and to execute. Rewriting to manually
parse the specifier reduces formatter benchmark execution time by 45%.

=== Angler a57@1.4GHz ===
benchmark Orig Mod
_Formatter_large 69300 37402
_Formatter_medium 70116 39899
_Formatter_small 68791 37501

Bug: 25887112
Change-Id: I71a94d81c8d8228696c4ca02e60d58552886eaae
ormatterTest.java
a6a9deaf2fef181b3b47a1b24b023f3506ad1303 08-Dec-2015 Narayan Kamath <narayan@google.com> Update scanner test.

A couple of corner cases behave slightly differently on enso:
- Searching for "^" in "" will now return null instead of ""
- When findInLine finds a pattern that is at the very end of the
line. It does not skip over to the next line.

bug: 25996036

Change-Id: I606704a1995332f6506e85931a3f5dfccc13c250
cannerTest.java
b10b2a3ab693cfd6156d06ffe4e00ce69b9c9194 26-Nov-2015 Narayan Kamath <narayan@google.com> Fix ConcurrentModificationException in ArrayList iterators.

OpenJdk's hasNext() implementation always checks the current size
of the list so it's possible for this function to return "false"
and then "true" if an element is subsequently added. Attempting to
iterate over that element will throw a ConcurrentModificationException.

The unit-test demonstrates the sequence of operations applications
were performing, usually from a (for : each) loop of listeners where the
last listener would add stuff to the list.

bug: 25867131
bug: 25867396
bug: 25866843
bug: 25866828

Change-Id: I785a3a44aba22e6872b9471551011f0dd28458de
rrayListTest.java
7f70532b0768d3123a23b92e5a8f90c24d84b332 25-Nov-2015 Sergio Giro <sgiro@google.com> Merge "libcore: remove exception errors in Timer" am: 13e1e27582 am: d9f3269c9e
am: 2088160128

* commit '20881601286dad3538d8e1f50914b8426dd328e9':
libcore: remove exception errors in Timer
0492955165a8315129ec68f6a633a4e8c647e6ea 13-Oct-2015 Sergio Giro <sgiro@google.com> libcore: remove exception errors in Timer

Bug: 24889458
Bug: 25753076

Change-Id: I9fc68fd315a5f958afa986cf54cd6929da13b6a5
imerTest.java
70b617fe562806bc3e15452a2792fec4355bd54f 20-Nov-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge mnc-dr-enso-dev into master

OpenJDK adjustments for master.
- Restored removed libcore.icu.* classes (needed
by the openjdk java.text.* classes). This will be
undone in short future.
- Adjusted java.lang.* and java.lang.reflect.* classes
for native reflection and other changes in master.

Bug: 25758743
Change-Id: Ifbbe5b1e8661138fc32ad24127f76f711dd585b7
bf07204bff37fa34dbdb32e0a9d790d97ef46a81 12-Nov-2015 Narayan Kamath <narayan@google.com> Merge lmp changes into mnc.

Change-Id: I8f49c58f39dc5f4268c6b5718cab18ed26ac930a
ae2814bc1277fcfd07af820162807d9db4f76ae0 13-Oct-2015 Sergio Giro <sgiro@google.com> libcore: remove cancelled tasks from the queue in Timer at the time they're scheduled

Currently they are not executed, but kept in the queue

Change-Id: Iddaa84027a70ca28e8db8d84bb40579bc0bb115c
(cherry picked from commit 1df9390efb8ddc0ef92adcfceff544d4b7f33703)
imerTest.java
99ac18dd8b5aa5482fd03cb8c7f9201354c06b1c 25-Sep-2015 Sergio Giro <sgiro@google.com> libcore: rewrite Timer

Change-Id: Ia37426a56b39eae4975535c08de938c9098d55b1
(cherry picked from commit de81552caaae26dd1d2222e3923ce7a738540d5f)
imerTaskTest.java
imerTest.java
afe419d81932d685ed48e3440b51caa1d0881925 27-Nov-2014 Narayan Kamath <narayan@google.com> Track CLDR-26 updates to currency data.

source/data/curr/it.txt : The "Svizzero" for CHF is now lowercase.
source/data/curr/fr_CA.txt : US dollars are now "$ US".
source/data/curr/en_GB.txt : Removed GB specific override ("$") for USD.
We now fall back to en_001 for USD, which is "US$".

(cherry picked from commit 85e839fc507baedf3a7b99c3269ab54208eb6f25)

Change-Id: I05447911a88bd8d9d8afc6acc2fd18c2cb6e4bcc
urrencyTest.java
96b40e87c32023084d7153360b1fa0c44c598095 12-Aug-2015 Narayan Kamath <narayan@google.com> Stop using libcore's java.util.prefs implementation.

Change-Id: If30217f18b124871ff43a39b0fb7a55bd06f095b
refs/AbstractPreferencesTest.java
refs/PreferencesTest.java
f1b353628c8f546de2eebf261b1f3d8c7f499319 07-Aug-2015 Narayan Kamath <narayan@google.com> Remove bogus test of implementation details.

Change-Id: I37d2e5dba97443781c1c46e9ae23bc42f2d994f9
ollectionsTest.java
8b2e919af0d25fc0a05f05cd9d1286fdf5b3b68c 06-Aug-2015 Narayan Kamath <narayan@google.com> Fix several Scanner issues.

- Update the Matcher properly.
- Support \u221E for infinity.
- Support non-decimal starting digits.
- Update test to remove some bogus assertions.

Change-Id: Ie7c57019dea49c441bed35d9a6814ec040a96de0
cannerTest.java
b4105e7f1e3ab24131976f68be4554e694a0e1d4 05-Aug-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> org.apache.harmony.tests.java.util.TreeMapTest fix

- Different exception (NPE instead of CCE) thrown in one error condition
- Fixed (tail|head)Map map edge condition handling.

Change-Id: I341584f162c85b380a0ee6907101f433d306bf84
reeMapTest.java
983b2c6ff9ea6d35adf7ab6398dccf870b7e180a 24-Apr-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk implementation for java.util.*

- Add a target for currency data (currency.data).
- Arrays: Add an android specific debugging method.
- Currency: Use ICU4C data.
- EnumMap / EnumSet : Use JavaLangAccess directly.
- HashMap / Hashtable / LinkedHashMap : Make Entry<K,V> public.
- LinkedHashMap : Add an eldest() method.
- Locale : Fix handling of 3 letter region codes.
- Scanner : Temporarily remove references to the nio file APIs.
- ServiceLoader : Add a method to instantiate a class from a system
property (used in other parts of libcore).
- Hashing : Use JavaLangAccess directly.
- VM : Remove native initialization (doesn't apply here).

Change-Id: I8e870357cf3987cd571c7ebe8bc633a85380a8d5
inkedHashMapTest.java
1ccc81206769598b4ce579dd0c4f131bf37bb1c3 09-Nov-2015 Roland Levillain <rpl@google.com> Fix more race conditions in WeakHashMapTest.

Reuse Mathieu's solution from
https://android-review.googlesource.com/#/c/99045/.

Also, re-wrap some assertion lines.

Bug: 25437292
Change-Id: I7ec5101d6169d978ee8c3782e2f985aa1f0a6d5d
eakHashMapTest.java
1df9390efb8ddc0ef92adcfceff544d4b7f33703 13-Oct-2015 Sergio Giro <sgiro@google.com> libcore: remove cancelled tasks from the queue in Timer at the time they're scheduled

Currently they are not executed, but kept in the queue

Change-Id: Iddaa84027a70ca28e8db8d84bb40579bc0bb115c
imerTest.java
de81552caaae26dd1d2222e3923ce7a738540d5f 25-Sep-2015 Sergio Giro <sgiro@google.com> libcore: rewrite Timer

Change-Id: Ia37426a56b39eae4975535c08de938c9098d55b1
imerTaskTest.java
imerTest.java
d2f1d51a3f4fc3f936b10a052e5b3e1366dc3a9e 15-Jul-2015 Narayan Kamath <narayan@google.com> JarEntry: test that certs/signers are null until the entry is read.

bug: 1864326
Change-Id: I8c263c29cf794b6996f8dd5bdfcfd9deac665fc6
ar/JarEntryTest.java
cff384fb32d139d2bda7c3dc872108fe9d86d6b1 09-Jul-2015 Narayan Kamath <narayan@google.com> Get rid of as much of dalvik.annotation.* as we can.

Some of it is public API (why oh why..) so we're forced to
keep it around.

Change-Id: Ic1e059d7162c442a1a996eb1510d0f7f84add34e
numMapTest.java
fa66b531f3f536e5b9088dbfed81cb91f16dd330 02-Jul-2015 Neil Fuller <nfuller@google.com> Merge "Make some tests independent of default Locale"
41a3d4230837b1987538578a10b365d7f0c9ca13 02-Jul-2015 Neil Fuller <nfuller@google.com> Make some tests independent of default Locale

These tests were sensitive to the default Locale:
org.apache.harmony.tests.java.util.FormatterTest.test_DaylightTime
org.apache.harmony.tests.java.util.GregorianCalendarTest#test_rollIZ

The test now sets the Locale explicitly where it is important.

Bug: 20130892
Change-Id: I1682bc90018bab184010003a35bcac6a36ae30c5
ormatterTest.java
regorianCalendarTest.java
5457b5d6aab795439f3948b4ab3f947508433ed5 01-Jul-2015 Narayan Kamath <narayan@google.com> Clean up RandomTest.

Make the intent of test_setSeed clearer. Also includes
borderline OCD induced cleanups.

bug: 21876569
Change-Id: Ie1f31ac25df742f8b32c43e69e15dd8c925c690a
andomTest.java
2e2e29c3e70abebaf4e56cadffeed37ccf862836 09-Jun-2015 Neil Fuller <nfuller@google.com> Explicitly set DateFormat.is24Hour value needed by tests

Some tests fail under CTS if the device is set to use the 24 hour clock.
The tests that depend on the value of the setting are now being explicit.

Bug: 20899571
Bug: 20937589
Bug: 20939139
Bug: 20378566
Bug: 21585934
Bug: https://code.google.com/p/android/issues/detail?id=162384
(cherry-picked from commit 38a0b85afd4231f46fac59e59ee38729bd5154c4)

Change-Id: I1a369baeeac929ef010e7906e92544b9f483f02c
ateTest.java
ad4a67f05d001ee1a9a1e9c0069db2d637223288 09-Jun-2015 Neil Fuller <nfuller@google.com> Explicitly set DateFormat.is24Hour value needed by tests

Some tests fail under CTS if the device is set to use the 24 hour clock.
The tests that depend on the value of the setting are now being explicit.

Bug: 20899571
Bug: 20937589
Bug: 20939139
Bug: 20378566
Bug: 21585934
Bug: https://code.google.com/p/android/issues/detail?id=162384
(cherry-picked from commit 38a0b85afd4231f46fac59e59ee38729bd5154c4)

Change-Id: Iac9eb15e8bf767bb5f3e96f9ba0486a995eef034
ateTest.java
38a0b85afd4231f46fac59e59ee38729bd5154c4 09-Jun-2015 Neil Fuller <nfuller@google.com> Explicitly set DateFormat.is24Hour value needed by tests

Some tests fail under CTS if the device is set to use the 24 hour clock.
The tests that depend on the value of the setting are now being explicit.

Bug: 20899571
Bug: 20937589
Bug: 20939139
Bug: 20378566
Bug: 21585934
Bug: https://code.google.com/p/android/issues/detail?id=162384
Change-Id: I0f03f54b76dc5d343a2c842434412ff59908b129
ateTest.java
9ee28da751cc43fd62427ced9a220ea744e131d9 18-May-2015 Roland Levillain <rpl@google.com> Fix a cast in org.apache.harmony.tests.java.util.ArraysTest.

Change-Id: Ie960219cb103490edc16c1ffde131ff7eb3191a5
rraysTest.java
a15eb800707e8f0d14d5f8c0e1976c4931f2e2b4 27-Nov-2014 Narayan Kamath <narayan@google.com> am 765a6c4e: Merge "Track CLDR-26 updates to currency data."

* commit '765a6c4ece178f90c3b5c2ddd1693c81700113ff':
Track CLDR-26 updates to currency data.
85e839fc507baedf3a7b99c3269ab54208eb6f25 27-Nov-2014 Narayan Kamath <narayan@google.com> Track CLDR-26 updates to currency data.

source/data/curr/it.txt : The "Svizzero" for CHF is now lowercase.
source/data/curr/fr_CA.txt : US dollars are now "$ US".
source/data/curr/en_GB.txt : Removed GB specific override ("$") for USD.
We now fall back to en_001 for USD, which is "US$".

Change-Id: I985897c67ed9ae831aa6b0eeb6d601a4adeeb2f9
urrencyTest.java
8d4127b6f07ff8b01cef5e29932bd21cf14d9921 14-Nov-2014 Kenny Root <kroot@google.com> am 657afa6c: Merge "JarUtils: stop trying to build chain past candidates length" into lmp-mr1-dev

* commit '657afa6cd8da378f30afe7b491e6d9de6c7c23fd':
JarUtils: stop trying to build chain past candidates length
ef7f5a16547089a7cdba9e48d780720f606ff54a 13-Nov-2014 Kenny Root <kroot@google.com> JarUtils: stop trying to build chain past candidates length

If the certs in the PKCS#7 bag are in a loop, it will go on forever
trying to build a chain. Instead just stop trying to build the chain
when our chain exceeds the length of the candidates.

Bug: 17972577
Change-Id: If4f92e3eeabe893612a618bab0068a0f8cf75ea9
ar/JarFileTest.java
00bf89dd858de6c7eaca555210ba429a89193722 07-Nov-2014 Kenny Root <kroot@google.com> Switch order of digest and digest encryption algorithm

Sometimes "digest encryption algorithm" would be "RSA" which would match
a Signature provider, but its default setup would be whatever the
provider chose. This works fine with newer algorithms that have a
specific OID for their signature format (e.g., ECDSA and SHA256), but
not with algorithms that just have a generic OID for all possible uses
(e.g., RSA). Stock Android never hits this problem, because nothing
registers a "Signature.RSA" provider, but Spongycastle does so using
JarURLClassLoader after inserting Spongycastle causes a problem.

Flip the order of tries to make this work more uniformly with more JAR
and provider combinations.

(cherry picked from commit b1da6d3df5f9cce6e6d77c63599eba62edb465d6)

Bug: 17790692
Bug: https://code.google.com/p/android/issues/detail?id=68562
Change-Id: I3bb07ea25d7bf1d55fa2466b204594179ac38932
ar/JarFileTest.java
b1da6d3df5f9cce6e6d77c63599eba62edb465d6 07-Nov-2014 Kenny Root <kroot@google.com> Switch order of digest and digest encryption algorithm

Sometimes "digest encryption algorithm" would be "RSA" which would match
a Signature provider, but its default setup would be whatever the
provider chose. This works fine with newer algorithms that have a
specific OID for their signature format (e.g., ECDSA and SHA256), but
not with algorithms that just have a generic OID for all possible uses
(e.g., RSA). Stock Android never hits this problem, because nothing
registers a "Signature.RSA" provider, but Spongycastle does so using
JarURLClassLoader after inserting Spongycastle causes a problem.

Flip the order of tries to make this work more uniformly with more JAR
and provider combinations.

Bug: 17790692
Bug: https://code.google.com/p/android/issues/detail?id=68562
Change-Id: I3bb07ea25d7bf1d55fa2466b204594179ac38932
ar/JarFileTest.java
9252ce2bef667745ad23601d5ac25b435e6e77f5 17-Sep-2014 Neil Fuller <nfuller@google.com> Fix FilePreferencesImplTest test initialization errors.

Fix IllegalAccessException from Preferences when this
test is run "stand alone".

The java.util.prefs.Preferences class is normally already
initialized by the time this test runs (and initialized
when there is no system property). However, in
standalone cases the system property is pointing to a
class that cannot be instantiated by ServiceLoader.

The normal fallback process when the system property is
not set would lead to FilePreferencesFactoryImpl being
instantiated directly by java.util.prefs.Preferences,
which is legal.

Removing the system property fixes the issue. The
FilePreferencesFactoryImpl is not intended to be created
by ServiceLoader and so it is reasonable that the class
is declared as package-protected. This test is for
the implementation so it's reasonable just to bypass
Preferences entirely.

Bug: 17515057

(cherry picked from commit 95c68ff724f7cf1afc2970b0d25e108e580307ed)

Change-Id: Ia860e299983b7b87753fe1dc0259b0d4ea2477f3
refs/FilePreferencesImplTest.java
e1252379251b251d11f165471fe286099de8569c 17-Sep-2014 Neil Fuller <nfuller@google.com> am bf5b79fd: Merge "Fix FilePreferencesImplTest test initialization errors."

* commit 'bf5b79fd518a0a769f7fae74d8704bdebc744f03':
Fix FilePreferencesImplTest test initialization errors.
95c68ff724f7cf1afc2970b0d25e108e580307ed 17-Sep-2014 Neil Fuller <nfuller@google.com> Fix FilePreferencesImplTest test initialization errors.

Fix IllegalAccessException from Preferences when this
test is run "stand alone".

The java.util.prefs.Preferences class is normally already
initialized by the time this test runs (and initialized
when there is no system property). However, in
standalone cases the system property is pointing to a
class that cannot be instantiated by ServiceLoader.

The normal fallback process when the system property is
not set would lead to FilePreferencesFactoryImpl being
instantiated directly by java.util.prefs.Preferences,
which is legal.

Removing the system property fixes the issue. The
FilePreferencesFactoryImpl is not intended to be created
by ServiceLoader and so it is reasonable that the class
is declared as package-protected. This test is for
the implementation so it's reasonable just to bypass
Preferences entirely.

Bug: 17515057
Change-Id: I02ea38b4a50fc3b7299a35d0a1050455cb9ca970
refs/FilePreferencesImplTest.java
4cc1c67c065453aba33ddeb5b1910544a7f895f0 16-Sep-2014 Neil Fuller <nfuller@google.com> am 64bbdb2e: Merge "Removing some compiler-warning suppressions from EnumMap"

* commit '64bbdb2e53712e7acc77fbb8b61a8888767610e0':
Removing some compiler-warning suppressions from EnumMap
a9f1fb9100f9f84f55c0572940a214a106e93f14 15-Sep-2014 Neil Fuller <nfuller@google.com> Removing some compiler-warning suppressions from EnumMap

The original motivation was to fix a report that
line 162 does not compile with newer compilers:
https://code.google.com/p/android/issues/detail?id=73244

There are a lot of compiler warning suppressions which made
the problem less obvious than it should have been.
The fact it compiled before was possibly a compiler bug.
This change removes a lot of the suppression, and where it
cannot be removed it narrows the scope to just local-variable
declarations. One method-level suppression remains.

This commit also adds a bug fix for situations where the raw
type is being used and an EnumMap is being created from an
existing Map. Previously a NullPointerException would have been
thrown if the first key found was not actually an enum, now a
ClassCastException will be thrown.

Some additional comments have been added and some loops made
into foreach.

Bug: https://code.google.com/p/android/issues/detail?id=73244
Change-Id: I7f23744dc55237a94e5906e77720a9595caa64e8
numMapTest.java
b0b81dfb681cf401b3fc108b9abe432ee6736164 22-Aug-2014 Narayan Kamath <narayan@google.com> Move preference tests over from external/apache-harmony.

Also fixes all remaining failures. Most of them were
due to us not setting "user.dir" and "user.home" correctly.
Android has traditionally left those values blank. To fix
these tests, we need to change the default prefs factory
to one rooted at a temporary directory.

Note that this change attempts the minimal possible cleanup
(mainly style, commented code formatting etc.) to these files.

bug: 13881847

(cherry picked from commit a152f62d4d81ef6500b3e02dbc381e2414f9a11f)

Change-Id: Ie32a61e1b911dcd317c688f86e487f9ea778b31f
refs/AbstractPreferencesTest.java
refs/BackingStoreExceptionTest.java
refs/FilePreferencesImplTest.java
refs/InvalidPreferencesFormatExceptionTest.java
refs/MockAbstractPreferences.java
refs/MockPreferencesFactory.java
refs/NodeChangeEventTest.java
refs/NodeChangeListenerTest.java
refs/PreferenceChangeEventTest.java
refs/PreferenceChangeListenerTest.java
refs/PreferencesFactoryTest.java
refs/PreferencesTest.java
48e59bcca274461141fe44919163d8c1ebca2b81 22-Aug-2014 Narayan Kamath <narayan@google.com> am 691fa383: Merge "Move preference tests over from external/apache-harmony."

* commit '691fa3832499ecfb6c1666daf5fe0da1e13db991':
Move preference tests over from external/apache-harmony.
a152f62d4d81ef6500b3e02dbc381e2414f9a11f 22-Aug-2014 Narayan Kamath <narayan@google.com> Move preference tests over from external/apache-harmony.

Also fixes all remaining failures. Most of them were
due to us not setting "user.dir" and "user.home" correctly.
Android has traditionally left those values blank. To fix
these tests, we need to change the default prefs factory
to one rooted at a temporary directory.

Note that this change attempts the minimal possible cleanup
(mainly style, commented code formatting etc.) to these files.

bug: 13881847
Change-Id: I1918ee9af07be9612a7da142b3e584aabc860085
refs/AbstractPreferencesTest.java
refs/BackingStoreExceptionTest.java
refs/FilePreferencesImplTest.java
refs/InvalidPreferencesFormatExceptionTest.java
refs/MockAbstractPreferences.java
refs/MockPreferencesFactory.java
refs/NodeChangeEventTest.java
refs/NodeChangeListenerTest.java
refs/PreferenceChangeEventTest.java
refs/PreferenceChangeListenerTest.java
refs/PreferencesFactoryTest.java
refs/PreferencesTest.java
065d7764ac1dfe74ee94d17ca6c810de37b57d3e 11-Aug-2014 Elliott Hughes <enh@google.com> Fix TimeZone.getAvailableIDs(int).

This was broken by the removal of the pre-computed raw offsets from
the tzdata file. I think that's still the direction we want to go (with
us hopefully using more of icu4j at some point, and eventually relying
solely on the icu time zone data), so this patch adds code to lazily
evaluate all the offsets by instantiating all the time zones.

Bug: 16947622
Change-Id: I6d1dfe5ee6c99338f9807c3af5b6f04539c256c3
imeZoneTest.java
249a29f9e33e742c101ff5138ba56034ab2e5bf9 11-Aug-2014 Elliott Hughes <enh@google.com> Fix TimeZone.getAvailableIDs(int).

This was broken by the removal of the pre-computed raw offsets from
the tzdata file. I think that's still the direction we want to go (with
us hopefully using more of icu4j at some point, and eventually relying
solely on the icu time zone data), so this patch adds code to lazily
evaluate all the offsets by instantiating all the time zones.

(cherry-pick of 065d7764ac1dfe74ee94d17ca6c810de37b57d3e.)

Bug: 16947622
Change-Id: I6d1dfe5ee6c99338f9807c3af5b6f04539c256c3
imeZoneTest.java
3b8f0286509a116326dc5d65fcbed1c93f85d2a4 31-Jul-2014 Neil Fuller <nfuller@google.com> am f814c4f5: Merge "Fix the OOME in ScannerParseLargeFileBenchmarkTest"

* commit 'f814c4f5445887275d9d58d21843e6d80fbdae27':
Fix the OOME in ScannerParseLargeFileBenchmarkTest
f814c4f5445887275d9d58d21843e6d80fbdae27 31-Jul-2014 Neil Fuller <nfuller@google.com> Merge "Fix the OOME in ScannerParseLargeFileBenchmarkTest"
4b116a2f5d3c6e2a0a7fe39d5eb956563138d542 20-Jun-2014 Neil Fuller <nfuller@google.com> Fix the OOME in ScannerParseLargeFileBenchmarkTest

Scanner had no mechanism for recovering buffer space it didn't
need.

Now, if the buffer is more than 50% full of ignorable characters
the remaining characters are shuffled to the beginning to recover
space. For most expected usecases this means that the buffer will
stay 1k and contain up to 512 characters of useful data. A
growable, circular character buffer could have been introduced
to avoid the copy but is not worth the effort.

Previously the buffer would double in size until the data or memory
was exhausted, and each read would also double in size to fill the
empty half of the buffer. This was fine providing the input
could fit in memory.

On top of that the 1k, 2k, 4k, etc. buffer was repeatedly turned
into a String and passed to the (native) matcher, and then the
matcher was told to ignore more than half of it.

As a consequence of keeping the buffer a fixed size (and only
filling 50% of it at a time), this change may cause a performance
regression: for most usecases where delimiters are closer together
than 512 bytes, reads after the first will now usually be 512 bytes
and not the 1k, 2k, 4k, etc. it was previously.

Having fixed the test so it doesn't OOM, the test now
takes 6 minutes to pass on host and so is unsuitable for inclusion
in CTS tests and so is being suppressed.

This change also includes so tidy up changes to the test and the
Scanner class.

The implementation could no doubt be improved but the API makes
it inherently slow. It would be surprising if anybody uses the
Scanner class on Android with so many better alternatives.

Bug: 14865710
Change-Id: I40a7fc0c2bfaf6db4e42108efe417303e76bde24
cannerParseLargeFileBenchmarkTest.java
46a39d63e91717c20acdccc5efc48cd13ff189e5 17-Jul-2014 Neil Fuller <nfuller@google.com> am 9a497b6d: Merge "Fix UnmodifiableEntrySet.toArray() ordering"

* commit '9a497b6d3b95d774f28f0203409ce6ebf6cb1241':
Fix UnmodifiableEntrySet.toArray() ordering
9a497b6d3b95d774f28f0203409ce6ebf6cb1241 17-Jul-2014 Neil Fuller <nfuller@google.com> Merge "Fix UnmodifiableEntrySet.toArray() ordering"
fdf7f349f5744b442e7c45d54c45342d0301c961 24-Jun-2014 Mathieu Chartier <mathieuc@google.com> am 47c61891: am 31e8ef04: Merge "Fix race condition in WeakHashMapTest."

* commit '47c61891491acce74675622abf3132ff03464ae5':
Fix race condition in WeakHashMapTest.
47c61891491acce74675622abf3132ff03464ae5 24-Jun-2014 Mathieu Chartier <mathieuc@google.com> am 31e8ef04: Merge "Fix race condition in WeakHashMapTest."

* commit '31e8ef04eb3bc2029eb94393c3ce87245dd75da2':
Fix race condition in WeakHashMapTest.
97afbd7972a43345ea12eb442b2a4e473b03d881 23-Jun-2014 Mathieu Chartier <mathieuc@google.com> Fix race condition in WeakHashMapTest.

There was a race condition where the reference queue daemon wouldn't
necessarily have processed the cleared references by the time we
called WeakHashMap.size(). The race is fixed by doing a busy wait
with a 5 second timeout. This should't increase the test time in the
average case since the cleared weak references should be processed
shortly after induceFinalization finishes.

Bug: 15775475

Change-Id: I66350b6c87252e98bfbd945fe1f96bef58ec24a9
eakHashMapTest.java
244e90adfe67264364de88df0fd741db0eb12b7f 23-Jun-2014 Neil Fuller <nfuller@google.com> Fix UnmodifiableEntrySet.toArray() ordering

toArray() was returning entries in reverse order.
toArray(T[]) was correct.

Thanks to Chris Povirk for discovering.

The fix is simple.

Change includes additional tests to avoid regressions.
Test & support code has been cleaned up a little to
improve coverage and make it (slightly) less horrible.

Bug: https://code.google.com/p/android/issues/detail?id=72073
Change-Id: I42ff90e0f592482289cd0cd9fdbdaabf0c17ad93
ollectionsTest.java
b465afc2e95cf8d18b4925854923a41322322d2e 19-Jun-2014 Neil Fuller <nfuller@google.com> am 8c83d2aa: am 2eb56b69: Merge "Fix CurrencyTest.test_getSymbol for unknown variants"

* commit '8c83d2aa1fd7b7e3f9ca7415f9dfdf94de1314ec':
Fix CurrencyTest.test_getSymbol for unknown variants
8c83d2aa1fd7b7e3f9ca7415f9dfdf94de1314ec 19-Jun-2014 Neil Fuller <nfuller@google.com> am 2eb56b69: Merge "Fix CurrencyTest.test_getSymbol for unknown variants"

* commit '2eb56b69de339978a29d94531759b465742f027f':
Fix CurrencyTest.test_getSymbol for unknown variants
1d3d40749170e945b778e74786543520fbe9d14c 17-Jun-2014 Neil Fuller <nfuller@google.com> Fix CurrencyTest.test_getSymbol for unknown variants

The behavior of CurrencyTest.getSymbol has changed since
K for unrecoginzed locales.

Commit de0eb683370d789e7bb25673b350b8dbf2ba5d69 now means
the ICU default locale is set when the Java default locale
is changed. Previously it would have been left unset and
would have fallen back to using the system settings (most
likely US or UK English during tests).

The test is setting the Java default locale to "kr-KR"
(a locale unrecognized by ICU) and requesting the currency
symbol for USD for locale "kr-KR" (still unrecognized by
ICU).

Before the commit: Because the kr-KR argument is unrecognized
ICU tries the ICU default (which was unset and so picked
system setting of en). It returned "$".

After the commit: As above, but now the ICU default is set to
kr-KR. Since there is no entry for USD in the default it falls
back to "root", and returns the value found there: "US$".

Behavior when the default locale is unrecognized is edge-case
and arguably it is no more / less correct before or after
this commit. The test has been updated to reflect
the new value + some tidy up of the test generally.

This change also contains a more focused test that demonstrates
the behavior in ICU and adds documentation to make ICU
slightly clearer.

Arguably neither the new ICUTest nor the existing
CurrencyTest code should exist because they assert edge-case behavior
that Android may wish to change in future.

Bug: 14821275
Change-Id: I8beb6004b0c37d2fe59855d13d2c8e2e6fe1c530
urrencyTest.java
7ca4240c7ade63a7f34f49ab306a8d79eab04726 12-May-2014 Neil Fuller <nfuller@google.com> am a053112a: am c1fa5983: am 52fb2230: Merge "Fix Hashtable CTS test"

* commit 'a053112a228fa8df4e3692cdf2553ef96ae43602':
Fix Hashtable CTS test
a053112a228fa8df4e3692cdf2553ef96ae43602 12-May-2014 Neil Fuller <nfuller@google.com> am c1fa5983: am 52fb2230: Merge "Fix Hashtable CTS test"

* commit 'c1fa59836cb9699e22b90eba7fa443e41ac9530e':
Fix Hashtable CTS test
52fb2230feb2726ab48704a0fd8d8c9c138db4d5 12-May-2014 Neil Fuller <nfuller@google.com> Merge "Fix Hashtable CTS test"
4df29e1e1cf169ff6c77b8dd247de8c79b81d552 12-May-2014 Neil Fuller <nfuller@google.com> Fix Hashtable CTS test

The test assumed that the Enumeration returned from
element() and keys() could be cast to Iterator. Even if it was
previously ok, it isn't now and it is not part of the public
API.

Bug: 13747624
Change-Id: I552a886711178708cbe7b6d87a976b6c1a839467
ashtableTest.java
007945d23d8df43aa89d3a30177cae6e82c73d8e 12-May-2014 Narayan Kamath <narayan@google.com> am ee998bd7: am 3ba6fc84: am 0a2ddb63: Merge "Remove test for unsupported GregorianCalendar functionality."

* commit 'ee998bd77e0367865b524cdbd4a0659a0b5d8bd5':
Remove test for unsupported GregorianCalendar functionality.
9a000495e89271419ab9dff9b581745e3581be5d 12-May-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 2b6c9f55 to master

Change-Id: I7bd8df2f8679fe85bb95a371fc9cc564581fa29b
ee998bd77e0367865b524cdbd4a0659a0b5d8bd5 12-May-2014 Narayan Kamath <narayan@google.com> am 3ba6fc84: am 0a2ddb63: Merge "Remove test for unsupported GregorianCalendar functionality."

* commit '3ba6fc848a3080c09326399793231323188dca91':
Remove test for unsupported GregorianCalendar functionality.
2b6c9f5506aaa53cf7003585077a9b9b57bd685b 12-May-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of e111e5a4 to klp-modular-dev-plus-aosp

Change-Id: Iaf9c22378a35a0bd2d9e20c6afeb208c468234ab
5eea675931db0bf976c2347f4e3b7e4703d337a4 08-May-2014 Narayan Kamath <narayan@google.com> Remove test for unsupported GregorianCalendar functionality.

Also adds an explanatory comment and makes the
intent of the implementation clearer without changing
any of the functionality.

TL;DR - there doesn't appear to be any sensible way
to provide any sort of consisent semantics if we plan
on supporting these fields.

bug: 12778197

Change-Id: Iadaaaa5d4bdddec4aceca498ffc870edf2cbefed
regorianCalendarTest.java
3f2128b3408255e317f66c10c6dd5edbff53b3ee 09-May-2014 Narayan Kamath <narayan@google.com> Blacklist a known failure in GregorianCalendarTest.

The issues here relate to how we deal with ambiguous wall
clock times, i.e, wall clock values that we "skip" when we
move the clock forward when transitioning into daylight
savings, and wall clock times that occur twice when we
move the clock backward

This isn't a regression. We've never handled this correctly.

bug: 12778197
Change-Id: Ida79583c02c6895096a8afdd8f59b1002b282d32
regorianCalendarTest.java
33aeb892a68274a5ec67f374f86c7b5cb06d1890 01-May-2014 Kenny Root <kroot@google.com> resolved conflicts for merge of 9687e46b to master

Change-Id: Iaeaea9b44423257e8ccbcf631f40720d3035cecd
9687e46bcb2299492a55a97e0ddc1eb4db3517f8 30-Apr-2014 Kenny Root <kroot@google.com> am 42db8377: am 15e6f173: am d353b8e2: am ddc91700: am 0a0379d4: am 297a7de2: am 183efbb4: am 4629f94a: am e0350a80: am afd7d947: Merge "JarFile: make test chain 3 long" into jb-dev

* commit '42db8377fdd20cdff6cac1994b25382551270a26':
JarFile: make test chain 3 long
42db8377fdd20cdff6cac1994b25382551270a26 30-Apr-2014 Kenny Root <kroot@google.com> am 15e6f173: am d353b8e2: am ddc91700: am 0a0379d4: am 297a7de2: am 183efbb4: am 4629f94a: am e0350a80: am afd7d947: Merge "JarFile: make test chain 3 long" into jb-dev

* commit '15e6f173de11133e1a61090635e350303ac0481a':
JarFile: make test chain 3 long
cdd4aae90277f2182420526c14b9d77a9e7f1203 29-Apr-2014 Kenny Root <kroot@google.com> JarFile: remove tests for chainCheck hidden API, part 2

The hidden API was reverted since the fix is now in
PackageManagerService.

This was PS#2 of the original change, but didn't get uploaded.

Bug: 13678484
Change-Id: Ic488ec5cd7c0d1bf6fb2d7aba16deaee8b6f98a5
ar/JarFileTest.java
fe821d0a3d96518107489e22b37f664632472c41 29-Apr-2014 Kenny Root <kroot@google.com> JarFile: remove tests for chainCheck hidden API

The hidden API was reverted since the fix is now in
PackageManagerService.

Bug: 13678484
Change-Id: I9b5478af9145df82eea01e768d02945f14524bf7
ar/JarFileTest.java
a3d40b4064c0f4de77122eff9253da242877c938 23-Apr-2014 Kenny Root <kroot@google.com> JarFile: Add tests for ambiguous chains

Some chains using the old code will have incorrect splits between
CodeSigner paths.

Bug: 13678484
Change-Id: Ia77b7cbcde9394e0d48a6f082bbd1cdfd880d74b
ar/JarFileTest.java
d32a5c2f44587946ad9d4de26117e45b610b0a6d 23-Apr-2014 Kenny Root <kroot@google.com> Add tests for getCodeSigners

Change-Id: I2bf7449eb72319a547abfd439cabfcc41982d668
ar/JarFileTest.java
5978b69274677753bc3049b4dc89625291a66912 22-Apr-2014 Kenny Root <kroot@google.com> am 0779dcac: am 008fbfd0: am a317f758: am ced71a50: am 99a25a47: am 5321ebb7: am 6d949cbf: am 951aa4f4: am 531968cf: am cb11b9ff: Tests for API to check certificate chain signatures

* commit '0779dcac1bdc0d6d02ef6e4843a312aa03081f03':
Tests for API to check certificate chain signatures
0779dcac1bdc0d6d02ef6e4843a312aa03081f03 22-Apr-2014 Kenny Root <kroot@google.com> am 008fbfd0: am a317f758: am ced71a50: am 99a25a47: am 5321ebb7: am 6d949cbf: am 951aa4f4: am 531968cf: am cb11b9ff: Tests for API to check certificate chain signatures

* commit '008fbfd0ff37cb88047825d56d2116d0f62b69a5':
Tests for API to check certificate chain signatures
19745ce89add193c0e13c18979a3c9fb25bee475 18-Feb-2014 Narayan Kamath <narayan@google.com> DO NOT MERGE Fix another set of file related tests.

- Get rid of Support_PlatformFile, use File.createTempFile
instead.
- Replace numerous uses of "user.dir" / "user.home" etc. with
File.createTempFile
- Replace calls to Process / chmod with Libcore.os.chmod. The
calls wouldn't have worked anyway, since chmod on android
doesn't understand the incremental (+w, -x) syntax.

(cherry picked from commit 2b7c83942a5e28c53698232182193d5118028e6c)

Bug: 13763685
Bug: 13763900

Change-Id: Ic6944568bbee6a548da6dcb4364b882636f2959f
ar/JarFileTest.java
ip/ZipFileTest.java
85e8e4c142e5299fccbe2b9b6f844290ff39c4d2 17-Feb-2014 Narayan Kamath <narayan@google.com> DO NOT MERGE Fix PropertiesTest.

A test case was using HashTable.get instead of
Properties.getProperty.

The problem is that Properties.propertyNames will
enumerate all properties from the object as well as
from the "default" Properties object it was constructed
with. The get method derived from HashTable isn't
aware of default properties though, so it will fail.

Using composition instead of inheritance would've
resulted in a cleaner design.

(cherry picked from commit 79395265fdd07388849b16695c437583415b7a6b)

Bug: 13763685
Bug: 13763900

Change-Id: I58323767e6872ed1722167d2a4a6d89a98d26ec7
ropertiesTest.java
60a27a2be820124baa3bac417ac6828ede3d1bd8 20-Mar-2014 Narayan Kamath <narayan@google.com> Fix test failures due to the ICU-52 update.

Some of the failures were due to the fact that we stopped
parsing numbers like "36-" for RTL locales, and others were
due to the fact that we were using reference equality for
comparing minusSign.

Change-Id: I239e6b8b77165a4665c554e46e6fb652beec2ec2
ocaleTest.java
cannerTest.java
ef164bf196538c04f499dcbb49a389c70ff5601a 26-Feb-2014 Paul Duffin <paulduffin@google.com> Improve error message when attempting to open an empty zip

The bug report states that the behaviour of ZipFile has changed between 4.3 and
4.4 when opening an empty zip file. I did some investigation and it appears as
though the reference implementation also throws an exception in that case so I
decided that 4.4 is working as designed. However, to make it clearer I made a
minor change to explicitly check for an empty zip file so that we can report a
slightly improved message explaining that they are not supported. I added a
test for various forms of empty streams and zip files and removed part of an
older test from harmony tests as it is no longer necessary.

Bug: https://code.google.com/p/android/issues/detail?id=65380
Change-Id: I1f2fcbf6bbaedb7dbccf8dd4f1cec4e330274524
ip/ZipOutputStreamTest.java
e10c61bb13373b95ba857cc3af60f94b9941ab9e 19-Feb-2014 Narayan Kamath <narayan@google.com> Fix remaining file related CTS Test failures.

Most failures were because tests were trying to
open files relative to the current working directory,
instead of in a temp directory.

FileTest was failing because it didn't construct
paths correctly. It would add an additional separator
char even if the path already ended with one.

Change-Id: Ie90aed84f81275924558e9dba43d71748dbb4076
ip/CheckedInputStreamTest.java
ip/CheckedOutputStreamTest.java
ip/DeflaterOutputStreamTest.java
ip/GZIPOutputStreamTest.java
ip/ZipEntryTest.java
ip/ZipFileTest.java
5a95445260e22dcca730b582c881cc67b8de640e 19-Feb-2014 Narayan Kamath <narayan@google.com> Merge "Fix another set of file related tests."
2b7c83942a5e28c53698232182193d5118028e6c 18-Feb-2014 Narayan Kamath <narayan@google.com> Fix another set of file related tests.

- Get rid of Support_PlatformFile, use File.createTempFile
instead.
- Replace numerous uses of "user.dir" / "user.home" etc. with
File.createTempFile
- Replace calls to Process / chmod with Libcore.os.chmod. The
calls wouldn't have worked anyway, since chmod on android
doesn't understand the incremental (+w, -x) syntax.

Change-Id: Ic6944568bbee6a548da6dcb4364b882636f2959f
ar/JarFileTest.java
ip/ZipFileTest.java
79395265fdd07388849b16695c437583415b7a6b 17-Feb-2014 Narayan Kamath <narayan@google.com> Fix PropertiesTest.

A test case was using HashTable.get instead of
Properties.getProperty.

The problem is that Properties.propertyNames will
enumerate all properties from the object as well as
from the "default" Properties object it was constructed
with. The get method derived from HashTable isn't
aware of default properties though, so it will fail.

Using composition instead of inheritance would've
resulted in a cleaner design.

Change-Id: I58323767e6872ed1722167d2a4a6d89a98d26ec7
ropertiesTest.java
d035213a8ddc7bff77a76a0bd6437305e2887f09 14-Feb-2014 Narayan Kamath <narayan@google.com> Merge "Fix GregorianCalendarTest#test_addII."
1326a80ee854ad7df3ac183874734e418194572c 13-Feb-2014 Narayan Kamath <narayan@google.com> Fix GregorianCalendarTest#test_addII.

We're going through the trouble of accounting for
DST changes in GregorianCalendar.add(int, int) (as per
the spec), so adjust our tests to agree.

bug: 12778197
Change-Id: Ie98cc11c2a2f7f6d9c7be8d725960552309f4f5d
regorianCalendarTest.java
ce54057889055ab8c4cb45c51df0ca9ee09ebb43 13-Feb-2014 Narayan Kamath <narayan@google.com> Partially fix GregorianCalendarTest.

ICU4C data (see icu4c/data/misc/supplementalData.txt)
as well as the RI agree that the minimum number of days
in the first week of the year should be 1 in canada.

(I'm not a 100% convinced that this is correct, the
canadian standards board claims to have implemented
ISO 8601, which requires a 4 day minimum. However, that
site links to several documents such as CSA Z234.5 that
are not publicly accessible).

Change-Id: I1d62c7f94d5f059b6ba2ad60bcf8434cdea0d9ce
regorianCalendarTest.java
108a6c5cbecfea0bb2ea15e522b4e5474c4f81bd 19-Dec-2013 Narayan Kamath <narayan@google.com> Fix broken test cases in DeflaterTest & InflaterTest

We explicitly disallow setLevel or setStrategy after
setInput. (It's clearly documented in the method docs).
Presumably, this is to prevent users from shooting
themselves in the foot & causing issues by changing
the strategy / level after we've started deflating.

Change-Id: Ifd65728ff0ec7e47aeec716aeb6f44242573c491
ip/DeflaterTest.java
ip/InflaterTest.java
99b471492b5e0910653f115094d77d633bd340ec 19-Dec-2013 Narayan Kamath <narayan@google.com> Fix broken assumption in a unit test.

Change-Id: I15c25ff373b1ca4acb5e530f75d028b971779549
ip/GZIPOutputStreamTest.java
ab646c8866f5bf4bfaeb811c7dce434e130eb44e 19-Dec-2013 Narayan Kamath <narayan@google.com> Fix a brain dead mistake in DeflaterInputStreamTest.

Removal of debug code gone bad.

Change-Id: I93d9decbd9d733cbeccd7832fef6857cf1b41b25
ip/DeflaterInputStreamTest.java
14dade3dfbf9933fd179af0d5f1f87ae6f608418 17-Dec-2013 Narayan Kamath <narayan@google.com> Make DeflaterInputStream#available more consistent.

- We now guarantee that available() returns 0 iff.
deflater.finished() == true. Note that this is still
inconsistent with the specification of InputStream#available.

- Remove an unnecessary array copy in DeflaterInputStream#read.

- Remove tests that expect an IllegalArgumentException for
negative skip count values. The InputStream spec doesn't mandate
that we must throw here, and it's better to be consistent with
every othem InputStream specialization in the code.

- Remove obsolete failures from brokentests.txt.

bug: 12189307

Change-Id: Ie9b1ad5d7c050b005b5f6f44a5a283bfdaeb1e81
ip/DeflaterInputStreamTest.java
939d2d74a21edd7f6ffa06645d8a50dde16463ca 17-Dec-2013 Narayan Kamath <narayan@google.com> Throw an NPE in a more obvious manner.

Also remove tests with broken expectations that were never
implemented.

Change-Id: I5eb60d3e6dfb8ead6e23941fca1bc19f79c4a158
ar/AttributesTest.java
d567f9025c4b94fc5e9b47f5702c1b48c2a45c96 17-Dec-2013 Narayan Kamath <narayan@google.com> Move tests from harmony/archive to libcore.

Also moves a couple of tests from luni/src/test to
harmony-tests/ where they belong.

Change-Id: I0b441b1fcbd355bd3c66551d16732a671fb64f54
ar/AttributesNameTest.java
ar/AttributesTest.java
ar/JarEntryTest.java
ar/JarExceptionTest.java
ar/JarFileTest.java
ar/JarInputStreamTest.java
ar/JarOutputStreamTest.java
ar/ManifestTest.java
ip/Adler32Test.java
ip/CRC32Test.java
ip/CheckedInputStreamTest.java
ip/CheckedOutputStreamTest.java
ip/DeflaterInputStreamTest.java
ip/DeflaterOutputStreamTest.java
ip/DeflaterTest.java
ip/GZIPInputStreamTest.java
ip/GZIPOutputStreamTest.java
ip/InflaterInputStreamTest.java
ip/InflaterOutputStreamTest.java
ip/InflaterTest.java
ip/ZipEntryTest.java
ip/ZipErrorTest.java
ip/ZipFileTest.java
ip/ZipInputStreamTest.java
ip/ZipOutputStreamTest.java
04f6c3363275a69f7b9020dad710e76b20dfcc20 18-Nov-2013 Narayan Kamath <narayan@google.com> Remove bogus test case in TreeSetTest.

Adding a non-comparable key to the set will
throw an exception.

Change-Id: Ie3474f657c45891671b8fd1e10cea5a75c9179dc
reeSetTest.java
ab762bb740405d0fefcccf4a0899a234f995be13 15-Nov-2013 Narayan Kamath <narayan@google.com> Move tests from tests/api to harmony-tests. (Take 2)

This reverts commit d5e281743e55e1daa297fd8043b2d9b6e8e1bed2.

The makefile issue that caused the original build break
has been resolved.
bstractCollectionTest.java
bstractListTest.java
bstractMapTest.java
bstractQueueTest.java
bstractSequentialListTest.java
rrayDequeTest.java
rrayListTest.java
rrays2Test.java
rraysTest.java
itSetTest.java
alendarTest.java
ollections2Test.java
ollectionsTest.java
oncurrentModTest.java
oncurrentModificationExceptionTest.java
ontrolTest.java
urrencyTest.java
ateTest.java
uplicateFormatFlagsExceptionTest.java
mptyStackExceptionTest.java
numMapTest.java
numSetTest.java
ventObjectTest.java
ormatFlagsConversionMismatchExceptionTest.java
ormattableFlagsTest.java
ormatterClosedExceptionTest.java
ormatterTest.java
regorianCalendarTest.java
ashMapTest.java
ashSetTest.java
ashtableTest.java
dentityHashMap2Test.java
dentityHashMapTest.java
llegalFormatCodePointExceptionTest.java
llegalFormatConversionExceptionTest.java
llegalFormatFlagsExceptionTest.java
llegalFormatPrecisionExceptionTest.java
llegalFormatWidthExceptionTest.java
nputMismatchExceptionTest.java
nvalidPropertiesFormatExceptionTest.java
inkedHashMapTest.java
inkedHashSetTest.java
inkedListTest.java
istResourceBundleTest.java
ocaleTest.java
issingFormatArgumentExceptionTest.java
issingFormatWidthExceptionTest.java
issingResourceExceptionTest.java
oSuchElementExceptionTest.java
bservableTest.java
riorityQueueTest.java
ropertiesTest.java
ropertyResourceBundleTest.java
andomTest.java
efSortedMap.java
esourceBundleTest.java
ampleBundleClass.java
cannerParseLargeFileBenchmarkTest.java
cannerTest.java
erviceConfigurationErrorTest.java
impleEntryTest.java
impleImmutableEntryTest.java
impleTimeZoneTest.java
ortedMapTestBase.java
tackTest.java
tringTokenizerTest.java
imeZoneTest.java
imerTaskTest.java
imerTest.java
ooManyListenersExceptionTest.java
reeMapExtendTest.java
reeMapRndTest.java
reeMapTest.java
reeSetTest.java
UIDTest.java
nknownFormatConversionExceptionTest.java
nknownFormatFlagsExceptionTest.java
ectorTest.java
eakHashMapTest.java
upport/A.java
upport/B.java
upport/I.java
upport/P.java
d5e281743e55e1daa297fd8043b2d9b6e8e1bed2 15-Nov-2013 Narayan Kamath <narayan@google.com> Revert "Move tests from tests/api to harmony-tests."

This reverts commit 81bf28ad31131815d0a36a43a0eca3c29aefdfcd.

Breaks build

Change-Id: I3f1562921ffe8fdbec36971dd65db398c27c92db
bstractCollectionTest.java
bstractListTest.java
bstractMapTest.java
bstractQueueTest.java
bstractSequentialListTest.java
rrayDequeTest.java
rrayListTest.java
rrays2Test.java
rraysTest.java
itSetTest.java
alendarTest.java
ollections2Test.java
ollectionsTest.java
oncurrentModTest.java
oncurrentModificationExceptionTest.java
ontrolTest.java
urrencyTest.java
ateTest.java
uplicateFormatFlagsExceptionTest.java
mptyStackExceptionTest.java
numMapTest.java
numSetTest.java
ventObjectTest.java
ormatFlagsConversionMismatchExceptionTest.java
ormattableFlagsTest.java
ormatterClosedExceptionTest.java
ormatterTest.java
regorianCalendarTest.java
ashMapTest.java
ashSetTest.java
ashtableTest.java
dentityHashMap2Test.java
dentityHashMapTest.java
llegalFormatCodePointExceptionTest.java
llegalFormatConversionExceptionTest.java
llegalFormatFlagsExceptionTest.java
llegalFormatPrecisionExceptionTest.java
llegalFormatWidthExceptionTest.java
nputMismatchExceptionTest.java
nvalidPropertiesFormatExceptionTest.java
inkedHashMapTest.java
inkedHashSetTest.java
inkedListTest.java
istResourceBundleTest.java
ocaleTest.java
issingFormatArgumentExceptionTest.java
issingFormatWidthExceptionTest.java
issingResourceExceptionTest.java
oSuchElementExceptionTest.java
bservableTest.java
riorityQueueTest.java
ropertiesTest.java
ropertyResourceBundleTest.java
andomTest.java
efSortedMap.java
esourceBundleTest.java
ampleBundleClass.java
cannerParseLargeFileBenchmarkTest.java
cannerTest.java
erviceConfigurationErrorTest.java
impleEntryTest.java
impleImmutableEntryTest.java
impleTimeZoneTest.java
ortedMapTestBase.java
tackTest.java
tringTokenizerTest.java
imeZoneTest.java
imerTaskTest.java
imerTest.java
ooManyListenersExceptionTest.java
reeMapExtendTest.java
reeMapRndTest.java
reeMapTest.java
reeSetTest.java
UIDTest.java
nknownFormatConversionExceptionTest.java
nknownFormatFlagsExceptionTest.java
ectorTest.java
eakHashMapTest.java
upport/A.java
upport/B.java
upport/I.java
upport/P.java
81bf28ad31131815d0a36a43a0eca3c29aefdfcd 15-Nov-2013 Narayan Kamath <narayan@google.com> Move tests from tests/api to harmony-tests.

The vast majority of cleaned up harmony tests
are now in harmony-tests/src/test/org/apache/harmony/tests/

Change-Id: I56c2e484ff434b5618cf6751d602ae9f0db96b30
bstractCollectionTest.java
bstractListTest.java
bstractMapTest.java
bstractQueueTest.java
bstractSequentialListTest.java
rrayDequeTest.java
rrayListTest.java
rrays2Test.java
rraysTest.java
itSetTest.java
alendarTest.java
ollections2Test.java
ollectionsTest.java
oncurrentModTest.java
oncurrentModificationExceptionTest.java
ontrolTest.java
urrencyTest.java
ateTest.java
uplicateFormatFlagsExceptionTest.java
mptyStackExceptionTest.java
numMapTest.java
numSetTest.java
ventObjectTest.java
ormatFlagsConversionMismatchExceptionTest.java
ormattableFlagsTest.java
ormatterClosedExceptionTest.java
ormatterTest.java
regorianCalendarTest.java
ashMapTest.java
ashSetTest.java
ashtableTest.java
dentityHashMap2Test.java
dentityHashMapTest.java
llegalFormatCodePointExceptionTest.java
llegalFormatConversionExceptionTest.java
llegalFormatFlagsExceptionTest.java
llegalFormatPrecisionExceptionTest.java
llegalFormatWidthExceptionTest.java
nputMismatchExceptionTest.java
nvalidPropertiesFormatExceptionTest.java
inkedHashMapTest.java
inkedHashSetTest.java
inkedListTest.java
istResourceBundleTest.java
ocaleTest.java
issingFormatArgumentExceptionTest.java
issingFormatWidthExceptionTest.java
issingResourceExceptionTest.java
oSuchElementExceptionTest.java
bservableTest.java
riorityQueueTest.java
ropertiesTest.java
ropertyResourceBundleTest.java
andomTest.java
efSortedMap.java
esourceBundleTest.java
ampleBundleClass.java
cannerParseLargeFileBenchmarkTest.java
cannerTest.java
erviceConfigurationErrorTest.java
impleEntryTest.java
impleImmutableEntryTest.java
impleTimeZoneTest.java
ortedMapTestBase.java
tackTest.java
tringTokenizerTest.java
imeZoneTest.java
imerTaskTest.java
imerTest.java
ooManyListenersExceptionTest.java
reeMapExtendTest.java
reeMapRndTest.java
reeMapTest.java
reeSetTest.java
UIDTest.java
nknownFormatConversionExceptionTest.java
nknownFormatFlagsExceptionTest.java
ectorTest.java
eakHashMapTest.java
upport/A.java
upport/B.java
upport/I.java
upport/P.java
3c51cabb4225fd090e7d559c1c991cacbeffd5c5 09-Sep-2013 Elliott Hughes <enh@google.com> Clean up useless comments in MatcherTest.

Change-Id: I921a8e1edb1d2aa596325cf03c04196328b3930b
egex/MatcherTest.java
a117015b63e8f85115febb99afea5f8da09af301 02-Aug-2013 Elliott Hughes <enh@google.com> Fix PatternTest failures.

Bug: 10127357
Change-Id: I202e77d0ea0c8b407aca364ad81c8ae1f9c617ad
egex/PatternTest.java
195c30902fd54c9e822183a19d570e15f0f8d007 02-Aug-2013 Elliott Hughes <enh@google.com> Fix PatternSyntaxExceptionTest.

The now-deleted copy had the serialization test code, but the other copy had
the serialization test data. Fixed by merging.

Bug: 10127357
Change-Id: Ie3b81b6cd00621965ab2a6a94dc3566df9751649
egex/PatternSyntaxExceptionTest.java
5700a9718eef20f4228ed97d54a59cc70bf40753 04-May-2013 Elliott Hughes <enh@google.com> Various regex test fixes.

Mostly test changes and some duplication removal, but I did turn up a couple of
small bugs.

Change-Id: I46f99cdf0cdb8a67d358c0acc03079360fe5c333
egex/MatcherTest.java
egex/Pattern2Test.java
egex/PatternErrorTest.java
egex/PatternTest.java
bfd68b1dd4409f61fbc6800ba61f4605ad57945b 04-May-2013 Elliott Hughes <enh@google.com> Add the harmony regex tests.

Change-Id: Ia98563f4485ee13210f7fb02a08806e2ffd553e0
egex/Matcher2Test.java
egex/MatcherTest.java
egex/ModeTest.java
egex/Pattern2Test.java
egex/PatternErrorTest.java
egex/PatternSyntaxExceptionTest.java
egex/PatternTest.java
egex/ReplaceTest.java
egex/SplitTest.java