History log of /libcore/expectations/knownfailures.txt
Revision Date Author Comments
89dc31cb1be5b75540573b0d80d9f0f770d9bfc4 01-Mar-2018 Adam Vartanian <flooey@google.com> Reenable EcdhTest#testModifiedPublic

This test passes now, though testModifiedPublicSpec still doesn't due
to a bug fixed upstream in BoringSSL.

Bug: 36636626
Test: cts -m CtsLibcoreWycheproofConscryptTestCases
Change-Id: Ie7dd7c8a00a9fceffb6da09fac3b895acbfd5a69
f261cb20f553b068dbb16cb8fbb902005a53180c 19-Jan-2018 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove DeflateRegressionTest from known failures

Test: libcore.java.util.zip.DeflateRegressionTest
Bug: 72090715
Change-Id: Ie5e3ac0a260fec3cb57fccee6f78e7c93d1bfd31
2259a71ba68c8b2d0d74396277fd25cdc0692350 22-Dec-2017 Victor Chang <vichang@google.com> Make the Android fast-path UTF-8 decoder follow the Unicode Standard and the W3C Encoding standard.

The behavior of UTF-8 decoder in the RI has been made to strictly
follow the Unicode standard since OpenJDK 8. JDK-7096080
Essentially, it rejects
1. 3-byte surrogate/6-byte surrogate pair (CESU-8 sequence)
2. treats an ill-formed sequence, e.g. a surrogate, as individual ill-formed bytes.

This change updates Android's fast-path UTF-8 decoder to
- follow the Unicode standard
- have a behavior closer to RI OpenJDK 8
- have consistent behavior between java.nio.charset.CharsetDecoder and fast-path code

It implements the W3C recommended UTF-8 decoder.
https://www.w3.org/TR/encoding/#utf-8-decoder

Behavior change of the fast-path UTF-8 decoder
- No longer behaves like a decoder for Modified UTF-8 and CESU-8 sequence
-- If an app needs to decode a Modified UTF-8 / CESU-8 sequence,
the app can use public API DataInputStream.readUTF or JNI function NewStringUTF
See example at StringTest.decodeModifiedUTF8
- Treat overlong sequence as ill-formed.
For example, byte sequence "c0 b1" is over-long form of character '1' U+0031.
- Treat surrogate (U+D800..U+DFFF) as ill-formed
- Maximal subpart should be replaced by a single U+FFFD.
For example, in byte sequence "41 C0 AF 41 F4 80 80 41", the maximal subparts are
"C0", "AF", and "F4 80 80". "F4 80 80" can be the initial subsequence of "F4 80 80 80",
but "C0 AF" can't be the initial subsequence of any well-formed code unit sequence.
Thus, the output should be "A\ufffd\ufffdA\ufffdA".

Test change:
- CharsetEncoder2Test.testUtf8Encoding: UTF-8 encoded Surrogate is treated as invalid
- X500PrincipalTest.testValidDN: Overlong sequence is now treated as invalid.
According to my test, Android Conscrypt (and BoringSSL) has rejected a certificate with
such overlong sequence in CN since OC MR1. Thus, it has little use case to create
X500Principal with overlong UTF-8 sequence.
Also, RI doesn't pass this test either.
Context: From my understanding, certificate and X500 principal are stored
in ASN.1 format. The RFC standards quoted in X500Principal don't
prohibit overlong UTF-8 sequences. But the new standards RFC5280 for X.509
and RFC3629 for UTF-8 explicitly prohibits any overlong UTF-8 sequences.

Performance change:
The performance of the fast-path decoder is similar before and after the change.

=== Before the change ===
CharsetBenchmark
Experiment {instrument=runtime, benchmarkMethod=time_new_String_BString, vm=default, parameters={length=10000, name=UTF-8}}
Results:
runtime(ns): min=574795.84, 1st qu.=574795.84, median=574795.84, mean=574795.84, 3rd qu.=574795.84, max=574795.84
Trial Report (1 of 4):

CharsetUtf8Benchmark
Experiment {instrument=runtime, benchmarkMethod=time_ascii, vm=default, parameters={}}
Results:
runtime(ns): min=58290943.00, 1st qu.=58290943.00, median=58290943.00, mean=58290943.00, 3rd qu.=58290943.00, max=58290943.00
Trial Report (2 of 4):
Experiment {instrument=runtime, benchmarkMethod=time_bmp2, vm=default, parameters={}}
Results:
runtime(ns): min=77581414.00, 1st qu.=77581414.00, median=77581414.00, mean=77581414.00, 3rd qu.=77581414.00, max=77581414.00
Trial Report (3 of 4):
Experiment {instrument=runtime, benchmarkMethod=time_bmp3, vm=default, parameters={}}
Results:
runtime(ns): min=57457297.00, 1st qu.=57457297.00, median=57457297.00, mean=57457297.00, 3rd qu.=57457297.00, max=57457297.00
Trial Report (4 of 4):
Experiment {instrument=runtime, benchmarkMethod=time_supplementary, vm=default, parameters={}}
Results:
runtime(ns): min=60723183.00, 1st qu.=60723183.00, median=60723183.00, mean=60723183.00, 3rd qu.=60723183.00, max=60723183.00

=== After the change ===
CharsetBenchmark
Experiment {instrument=runtime, benchmarkMethod=time_new_String_BString, vm=default, parameters={length=10000, name=UTF-8}}
Results:
runtime(ns): min=523638.25, 1st qu.=523638.25, median=523638.25, mean=523638.25, 3rd qu.=523638.25, max=523638.25
CharsetUtf8Benchmark
Trial Report (1 of 4):
Experiment {instrument=runtime, benchmarkMethod=time_ascii, vm=default, parameters={}}
Results:
runtime(ns): min=57101725.00, 1st qu.=57101725.00, median=57101725.00, mean=57101725.00, 3rd qu.=57101725.00, max=57101725.00
Trial Report (2 of 4):
Experiment {instrument=runtime, benchmarkMethod=time_bmp2, vm=default, parameters={}}
Results:
runtime(ns): min=76573080.00, 1st qu.=76573080.00, median=76573080.00, mean=76573080.00, 3rd qu.=76573080.00, max=76573080.00
Trial Report (3 of 4):
Experiment {instrument=runtime, benchmarkMethod=time_bmp3, vm=default, parameters={}}
Results:
runtime(ns): min=59655214.00, 1st qu.=59655214.00, median=59655214.00, mean=59655214.00, 3rd qu.=59655214.00, max=59655214.00
Trial Report (4 of 4):
Experiment {instrument=runtime, benchmarkMethod=time_supplementary, vm=default, parameters={}}
Results:
runtime(ns): min=67283548.00, 1st qu.=67283548.00, median=67283548.00, mean=67283548.00, 3rd qu.=67283548.00, max=67283548.00

Test: cts-tradefed run cts-dev -m CtsLibcoreTestCases
Test: cts-tradefed run cts-dev -m CtsLibcoreOjTestCases
Bug: 69599767
Bug: 70511691
Change-Id: I2c3e84808b19c969905813f6654ba552b6745354
a16ae3a1369a735490fa9330ba68dc206cd01ec9 19-Oct-2017 Fredrik Roubert <roubert@google.com> Updated test expectations for ICU 60.

- Blacklist StringTest.test_23831 test until b/69599767 is fixed
- Other tests are changed due to changes in CLDR data (version 31 -> 32)

Bug: 68208236
Test: CtsLibcoreOjTestCases
Test: CtsLibcoreTestCases
Change-Id: Ic295f81c6140441876a3cf53b88affcc0001b9cd
a5a851ef18cf45152fc0901a07e2f6aa303ef702 24-Oct-2017 Joachim Sauer <jsauer@google.com> Use DecimalFormat_ICU58_Android in DecimalFormat.

java.text.DecimalFormat delegates most behaviour to
android.icu.text.DecimalFormat.

ICU 59 introduced a variety of behaviour changes many of which are not
desireable to inherit for java.text.DecimalFormat.

This changes java.text.DecimalFormat to delegate to
android.icu.text.DecimalFormat_ICU58_Android instead. This class is the
ICU 58 implementation of DecimalFormat that ICU ships for testing
purposes only.

This is a stop-gap measure until we can get the new implementation
configured in a way to be close enough to the old behaviour to use in
java.text.DecimalFormat.

This commit also partially reverts the test that were changed to
accomodate the switch to ICU 59 in commit
51f8d749d3100694d695fa0cd32d2fb99c02ba74.

The reason the revert is only partial is that not all test changes were
caused by code changes. A significant portion was caused by CLDR changes
which still affect us, even if we use DecimalFormat_ICU58.

Bug: 68143370
Test: CtsLibcoreTestCases
Change-Id: If50d927265136e8de964b54ae879291c7be85cfc
d430cc782689a7f6a256ef6b0ebfc7210b0c31d9 01-Nov-2017 Tobias Thierer <tobiast@google.com> Move libcore tests to non-libcore packages.

The integration of OpenJDK 9 javac into the Android build system
requires non-libcore code to live in non-libcore packages, as
long as that code isn't considered part of the same module as
libcore at javac time.

This CL moves libcore test related classes out of such
packages; since libcore tests could already only test
public (as opposed to package private APIs), no change
other than the package name and imports is necessary.

Because many libcore tests already live below a top-level
package "libcore" (eg., the tests for java.util are in
libcore.java.util), this CL likewise prepends "libcore."
to the package names of affected classes. For classes
relating to libcore.* packages, this results in a package
name of the form "libcore.libcore.*".

Alternative considered but not pursued:
To compile the test classes without moving the out of a libcore
package, javac would need to consider them to be in the same
module as libcore. This would likely be possible via
javac --patch-module, but this has not been explored in detail
because:

- Most luni tests are already in a toplevel package libcore.*,
so this CL makes the test structure more consistent.
- Use of --patch-module would likely cause problems when running
tests under a runtime that implements the OpenJDK 9 module
system; for example, --patch-module cannot add exported
packages to the module, so any new packages added in tests
(such as the libcore.* packages of most existing luni tests)
would not be visible at test runtime.
- Having tests in different packages from code under tests makes
it more obvious (including to IDEs in which the code might be
edited as a single project) that these tests cannot access
package-private identifiers in the code under test.

Test: Treehugger
Test: "make cts" with EXPERIMENTAL_USE_OPENJDK9=true
passes with additional changes present locally
that have not yet been exported as CLs.
Test: CtsLibcoreTestCases
Bug: 68224249
Bug: 68932217 (tracks potential follow-up work)

Change-Id: Ib6b8e6f3bc87093bc219d2108e601163c6e334cd
10d4ef1ec0cdaacf07f87eda9c3ae0c5ffdd470d 07-Nov-2017 Neil Fuller <nfuller@google.com> Suppress broken annotation test

We know
libcore.java.lang.reflect.annotations.AnnotatedElementParameterTest#testImplicitConstructorParameters_singleAnnotation
is broken and we have a plan to fix. Silence it.

Bug: 62408076
Bug: 68033708
Test: make cts
Change-Id: I79841cb420eb0f32f1d475fc97ec6673d16ad09c
3a2c85538fa8764907504d332df728aa7da9606a 04-Oct-2017 Orion Hodson <oth@google.com> Suppress test failing after zlib update

Bug: 67395816
Test: art/tools/run-libcore-tests --host --mode=host --variant=X32
Change-Id: I8ab01412c6fe1515114d223ea895c548e5f12217
51f8d749d3100694d695fa0cd32d2fb99c02ba74 29-Apr-2017 Fredrik Roubert <roubert@google.com> Updated test expectations for ICU 59.

Bug: 62410016
Test: CtsLibcoreOjTestCases
Test: CtsLibcoreTestCases
Change-Id: I49de49cd356f6e28429e4fc22d493f77b5efe4c5
5758347e0948ab15fe93ca899377aa522f2c4eb6 21-Jul-2017 Pete Gillin <peteg@google.com> Re-enable the harmony tests for java.beans.PropertyChangeSupport.

These tests are fixed by the other change in this topic.

Bug: 17433734
Fixes: 17433734
Test: make cts && cts-tradefed run cts -m CtsLibcoreTestCases --primary-abi-only -t com.android.org.apache.harmony.beans.tests.java.beans.PropertyChangeSupportTest
Change-Id: I3f375121e7383aba283d7b78e2de242fa1cc4145
c04007c41f7363f5f4cde7e19a582ac13adbc153 17-Jul-2017 Pete Gillin <peteg@google.com> Fix the byte ordering behaviour of the UTF-16 Charset.

The behavioural change here is that the UTF-16 Charset (obtained via
java.nio.charset.Charset.forName("UTF-16") or
java.nio.charset.StandardCharsets.UTF_16) now encodes Strings into
big-endian UTF-16 bytes with a byte-order marker, as the javadoc says
it does. Previously, it encoded as little-endian with a byte-order
marker. (Users wanting to encode as little-endian with a byte-order
marker can use x-UTF-16LE-BOM.)

The test changes are as follows.

CharsetTest#test_UTF_16: This was suppressed. It now passes thanks to
the above change, and we un-suppress it.

CharsetTest#test_UTF_16BE and _UTF_16LE: These were suppressed. We remove the
assertions about how it handles a reverse-BOM (i.e. a BOM with the
wrong byte order), and un-suppress them. The javadoc doesn't specify
how reverse-BOMs should be handled, so this change means we go from
not testing anything to testing the specified behaviour.

CharsetTest#test_x-UTF_16LE_BOM, _UTF_32, _UTF_32BE, UTF_32LE: These
were suppressed. The javadoc doesn't mention these, but developers
might reasonably expect them to exist and have sensible behaviour, and
they do, so we make some tweaks to the assertions and remove the
assertions about reverse-BOM-handling and un-suppress the tests. We
also remove the 'hack' which prevented it testing that UTF-32 exists,
since that doesn't seem to be needed any more.

CharsetTest#test_X_UTF_32BE_BOM, _X_UTF_32LE_BOM: These were
suppressed. We don't support these and don't expect to do so in the
foreseeable future, so we just remove the tests.

UTF16CharsetEncoderTest: Previously, this class overrode the
assertByteArray method in its superclass so that, instead of asserting
byte array equality, it just asserted that the byte arrays decoded to
the same strings. This made this test almost
endian-agnostic... although, presumably thanks to an oversight,
testDefaultValue was actually asserting that UTF-16 encodes as LE. We
remove the override and change the byte arrays so that the test now
asserts that UTF-16 encodes as BE as required.

OldCharset_MultiByte_UTF_16: This test asserts that UTF-16 encodes as
BE, and was suppressed. We un-suppress it.

OldCharset_MultiByte_UTF_16_Android: This test was a variant of the
previous one what asserted that UTF-16 encodes as LE. We remove it.

String2Test: Previously asserted that UTF-16 encodes as LE, now
correctly asserts that it encodes as BE. Also slightly strengthened
assertion.

Bug: 2702411
Fixes: 2702411
Bug: 37074504
Fixes: 37074504
Test: cts-tradefed run cts -m CtsLibcoreTestCases -a arm64-v8a
Change-Id: If174cd9ff0105008bd18a63e58ab3fa9a90c7475
a5676377cf3ae09c9fbec65d77bf3216647c1b52 28-Jun-2017 Adam Vartanian <flooey@google.com> Update tests for fixes in Bouncy Castle 1.57.

Bug: 31801320
Test: cts -m CtsLibcoreTestCases
Change-Id: I4641abeb86384db788b57eac35e194ad51ff059f
c3f202a6b3500862a9b3960093b10ca1c63fdecc 05-May-2017 Adam Vartanian <flooey@google.com> Consolidate test expectations into one file

The other files aren't being removed in this change because they're
referred to in various other projects. Once those are cleaned up,
the empty files can be removed.

Bug: 38024703
Test: cts -m CtsLibcoreTestCases
Change-Id: I21771c467a0f2d0860cd576cb796bb2626e6d4b9
482dc45d1bc8a38ee6de74e18b25872f014d904b 04-Apr-2017 Yi Kong <yikong@google.com> Add SocketTimeoutTest#testSocketWriteNeverTimeouts to known failures

Bullhead kernel does not block sends when buffer is supposed to have
saturated, causing this test to fail. Since this is not a regression
from N, temporarily suppress this test while the root cause is being
investigated.

Test: Build
Bug: 36691333
Merged-In: I3eac79623e652e769448137c8d8ba062174971d2
Change-Id: I3eac79623e652e769448137c8d8ba062174971d2
(cherry picked from commit d66ba745df432095a1f528b2864b1f82df31fc79)
d66ba745df432095a1f528b2864b1f82df31fc79 04-Apr-2017 Yi Kong <yikong@google.com> Add SocketTimeoutTest#testSocketWriteNeverTimeouts to known failures

Bullhead kernel does not block sends when buffer is supposed to have
saturated, causing this test to fail. Since this is not a regression
from N, temporarily suppress this test while the root cause is being
investigated.

Test: Build
Bug: 36691333
Change-Id: I3eac79623e652e769448137c8d8ba062174971d2
2ee39b85eadf210d25e0bad1524f5fcbb8647137 30-Mar-2017 Adam Vartanian <flooey@google.com> Add known Wycheproof failures

These tests are Wycheproof test cases that our providers currently
fail. Adding them to the known set of failing test cases in
advance of adding CTS tests that include the Wycheproof tests.

Bug: 31182886
Test: cts -m CtsLibcoreWycheproofTestCases
Change-Id: I5e0b90703255a07fe3c388db4eb285be00725632
cad0ab32c26c57d230c42c852b2d8ff57ae3a196 31-Mar-2017 Joachim Sauer <jsauer@google.com> Reenable Unicode 9 Bidi test.

Since ICU 58 has been merged, this test now passes.

Bug: 31516121
Test: vogar libcore.java.text.OldBidiTest
Change-Id: Ie8cfbac0e2b17669477d158076e29f6fc1aeb7a6
1f1d6c2a79062a8387ee8db78eb1f5935971698a 24-Feb-2017 Adam Vartanian <flooey@google.com> Conscrypt: Fix renegotiation-based tests

BoringSSL no longer supports on-demand renegotiation, so tests that
are based on that cannot pass. Change one test to confirm that,
and remove the other.

Bug: 21876068
Bug: 21875889
Test: cts -m CtsLibcoreTestCases -t com.android.org.conscrypt.NativeCryptoTest
Change-Id: I8b80a0567b6cae11b58b11c78581498d216d92fa
10b6c39cb254ef637ac65bf7dbb7ad5a94c42f42 16-Feb-2017 Adam Vartanian <flooey@google.com> Unsuppress tests that are currently passing.

Most of these inclusions date from 2013/2014, so presumably they were fixed
by one of the many library changes over the years.

Bug: 12189307
Bug: 11686302
Test: vogar on applicable classes
Test: cts on applicable classes
Change-Id: I6dcbea71d45d57e3fc3e6d9348dde13028b4af4c
ab22958b647b5e06711539bf3bf1082bc3b007da 16-Feb-2017 Adam Vartanian <flooey@google.com> Fix and reenable DecimalFormatTest

The problems underlying the suppressed DecimalFormatTest test cases have
been fixed, but the test had a separate bug where it appropriately
truncated the output for formatting a very large number but didn't scale
it properly, so the test was still failing.

Also fix the bug reference for a different text-formatting suppression.

Bug: 17656132
Test: vogar ... org.apache.harmony.tests.java.text.DecimalFormatTest
Test: cts run -m CtsLibcoreTestCases -t org.apache.harmony.tests.java.text.DecimalFormatTest
Change-Id: I85266515e6645627f5aa9200c0d1de41f9ac9cc0
963c6c4395d5f6c2a9446ed236a7714253253a79 07-Feb-2017 Joachim Sauer <jsauer@google.com> Reenable Unicode 9 Bidi test.

Since ICU 58 has been merged, this test now passes.

Bug: 31516121
Test: vogar libcore.java.text.OldBidiTest
Change-Id: I38643ecdbb1a904ce174f2d5326c3198aabb3864
8aeb919f6154e74f872cee9f3c87bac4cdcd2cca 06-Jan-2017 Joachim Sauer <jsauer@google.com> Revert "Temporarily disable java.time tests."

This reverts commit fca5887a2de5b0d8ddd295da714472768458d6d0.

With this commit, the java.time tests are re-enabled and are part of
the CTS module CtsLibcoreOjTestCases.

Bug: 28832222
Test: CtsLibcoreTestCases and CtsLibcoreOjTestCases
Change-Id: Idfe2012169b623b94f99e73312117f72506a7c3e
69de0c1658cc5e4367c93cc2989d5bbbd48ad675 06-Jan-2017 Joachim Sauer <jsauer@google.com> Temporarily disable java.time tests.

The new tests don't pass yet, but that doesn't negatively affect any
other systems. To allow a partial merge of the java.time work, disable
those tests for now.

Also added failures in CalendarTest to knownfailures that are caused by
new Calendar code. These will be fixed/modified in a later commit.

Bug: 28832222
Test: run cts -m CtsLibcoreTestCases
Test: run cts -m CtsLibcoreOjTestCases
Change-Id: I630293959ba365f1ddcc972fe1233d6632d8c86c
9b576d3f8644c08e7534eecf2e5ef356dd53ab4c 03-Nov-2016 Shubham Ajmera <shubhamajmera@google.com> Enable ProcessManagerTest#testCloseNonStandardFds

Instead of using the /proc/version which is no longer accessible for CTS
testing, to create a new file descriptor for the test, a temporary file
is used.

Bug: 29495646
Test: cts-tradefed run cts -m CtsLibcoreTestCases -t \
org.apache.harmony.tests.java.lang.ProcessManagerTest#testCloseNonStandardFds

Change-Id: Ib45ee6ab7b0c8972dae6386a0b41ac9da5f6086f
11cab25b8f275f865f4e92f39e1e3d4ae40ca7f7 02-Nov-2016 Shubham Ajmera <shubhamajmera@google.com> Enable dalvik.system.BlockGuardTest#testFileInputStream test

As /proc/version is no longer accessible to CTS tests, the test now
creates and uses a temporary file instead.

Bug: 29495646
Test: cts-tradefed run cts -m CtsLibcoreTestCases -t \
dalvik.system.BlockGuardTest#testFileInputStream

Change-Id: I1cc4b89f885e906218f5a706cd8cbbeedde70393
27889fe5c781f35a9b47bc5e13646ac2ad88aebb 02-Nov-2016 Shubham Ajmera <shubhamajmera@google.com> Enable libcore.java.io.FileInputStream#testReadProcVersion

The test was written for b/26117827 to check if available works
correctly for files which are not supported by ioctl. As /proc/version
is no longer accessible by CTS tests, the test now uses /dev/zero
instead. The name of the test has also changed to better reflect its
purpose.

Bug: 29495646
Test: cts-tradefed run cts -m CtsLibcoreTestCases -t \
libcore.java.io.FileInputStreamTest#test_available_on_nonIOCTL_supported_file

Change-Id: Iad827eb2377168029a7333b0db279042bd2cdaa0
44c55c5b639d6c1eea6eeae8414ef9df95b67bb7 31-Oct-2016 Yi Kong <yikong@google.com> Fix URLConnectionTest.test_setReadTimeoutI on host test

This was failing because the test assumes that read will not complete
within 1ms, while it is still possible, especially on host tests.

This patch introduces a minimum time delay before the TestWebServer
sends data.

Bug: 32363029
Test: org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_setReadTimeoutI under host tests
Change-Id: Ibb4e2125f99b0544d0f09331b4ab9b0448b14035
4c042c634b0e0bb0effff28462d2376991c7a716 24-Oct-2016 Nicolas Geoffray <ngeoffray@google.com> Blacklist test timing out.

bug:32363029
Change-Id: Ic2ae5607ab11b6e7bcf8edabd3d53c74029df946
27604018f783bf6354a13870b3e7785edca69b5f 28-Sep-2016 Paul Duffin <paulduffin@google.com> Detect and fix resource leakages in tests

Tests that test those classes that use CloseGuard to detect
reosurce leakages are switched to use TestCaseWithRules and
ResourceLeakageDetector.getRule() to detect any resource
leakages and the leaks fixed.

A number of tests could not be fixed due to bugs in the core
classes so a new DisableResourceLeakageDetection annotation was
added as part of this change. A method annotated with that does
not perform resource leakage detection. The affected tests were
annotated with a description and a reference to an associated
bug.

This uses try-with-resources to aid in closing resources. While
that does provide some benefits it is all too easy to change the
behavior of the test unless care is taken. To avoid that it is
important not to merge it with an existing try block such as
those which follow the following pattern:
try {... fail()} catch(..) {}
Merging them could result in the test catching and ignoring
exceptions thrown during the creation of the resource which is
almost certainly not what the test was intending.

Test: Tested with vogar and CTS
Bug: 31542223
Change-Id: Id32bb40fe04eb9719d7e6cd367abb53118b21832
e4559431775afc13d11baa56be9097bc1e68a955 22-Sep-2016 Narayan Kamath <narayan@google.com> Revert "Temporarily blacklist MethodHandles tests."

This reverts commit 7b019aa7d7b9ef6ec4733347d8966378c45b81bf.

Test: make checkbuild
Test: art/tools/run-libcore-tests.sh --mode=host --variant=X64
bug: 31675876
Change-Id: Ib61b90cd041214bbafa818de251301d44f262b10
fbb8ec78f9f5651b27a28492626380d91686522a 16-Sep-2016 Joachim Sauer <jsauer@google.com> Add Unicode 9 Bidi test to known failures.

OldBidiTest#testUnicode9EmojisAreLtrNeutral verifies that we treat
Unicode 9 Emojis correctly with regards to Bidi text. This test will
pass once Unicode 9 data is merged with the ICU 58 release. In the
meantime, tolerate its failure.

Bug: 31516121
Test: ran OldBidiTest with vogar

(cherry picked from commit ebbf2ff4d71a179f20a7a542116bfcd5dca99296)

Change-Id: Ia125ade1f17b4ea6195d5ba0571443e1cec951b3
7b019aa7d7b9ef6ec4733347d8966378c45b81bf 22-Sep-2016 Narayan Kamath <narayan@google.com> Temporarily blacklist MethodHandles tests.

Tests and tested code are correct, but the buildbots fail due
to a bad compilation rule for core-tests.

Test: art/tools/run-libcore-tests.sh --mode=host --variant=X64
bug: 31675876
Change-Id: Iad054013e22d8151b69042fbafb291e52bc2764f
ebbf2ff4d71a179f20a7a542116bfcd5dca99296 16-Sep-2016 Joachim Sauer <jsauer@google.com> Add Unicode 9 Bidi test to known failures.

OldBidiTest#testUnicode9EmojisAreLtrNeutral verifies that we treat
Unicode 9 Emojis correctly with regards to Bidi text. This test will
pass once Unicode 9 data is merged with the ICU 58 release. In the
meantime, tolerate its failure.

Bug: 31516121
Test: ran OldBidiTest with vogar
Change-Id: I1453994625cd15293c92c14ad4513814d85e457c
a2302d1135d5bacd314cac5d47ff87be23e607a4 18-Aug-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add /proc/version dependent tests to known failures

Test: Run listed test through vogar
Bug: 29495646
Bug: 29496407
Change-Id: I3893af73332cf3c073c13ec46dad771df948bacd
4ed2574e11ac31a61a7a8dbf1bdf6f26b4203a62 09-Aug-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix OldRuntime#test_traceMethodCalls

Runtime.getRuntime().traceMethodCalls(boolean) with "True"
argument is deprecated and unsupported (throws UnsupportedOperationException)
since Android Lollipop (API level 21).

Test: libcore.java.lang.OldRuntime.test_traceMethodCalls on both host and device
Bug: 3447964
Change-Id: I159b2e1a66fb28e1deeaf99683611fe2267b1803
bde715787de15559bd2b11b45c37c0fba6fa1d54 16-Jun-2016 Tobias Thierer <tobiast@google.com> Reenable SocksProxyTest

ojluni SocksSocketImpl supports SOCKS v5 sufficiently for these tests to pass.

I will close https://code.google.com/p/android/issues/detail?id=96926 as
FutureRelease once this change is merged.

Tested:

cts-tradefed run cts -c com.squareup.okhttp.SocksProxyTest

Change-Id: I19c458bf6713b1cd23d6d2fea7187e2faf6a6664
466488f0d4d8e4df30a55a43fce5df3dd943d8e3 10-May-2016 Nicholas Sauer <nicksauer@google.com> Add URLClassLoaderImplTest to knownfailures

bug: 28535349
Change-Id: I6b4b6e67f74199d14f8a92a525014a502854417b
(cherry picked from commit 1238646160be1579ba6e6c58b265c05d80f6f93c)
d4ce3bd385a2ed452f822b8fdd18fceb460a84a7 04-May-2016 Nicholas Sauer <nicksauer@google.com> Add UnixNetworkInterfaceTest to knownfailures.txt

bug: 28536847
Change-Id: I18d510bf43e9d09cb0eacc515a444e44470c7a35
(cherry picked from commit bad3af1cf1bf8ca1b95b1a65f9884660994766f0)
dd9985e405a201706c8204a75d52a942e75d0779 02-May-2016 Nicholas Sauer <nicksauer@google.com> Fix package names in icebox.txt and knownfailures.txt

bug: 28529041
Change-Id: I350cdd2b32e5133ef98f0c2c1448cd29796483e9
(cherry picked from commit cac88314fce02846168db6e333f247e5fce2cd4d)
1238646160be1579ba6e6c58b265c05d80f6f93c 10-May-2016 Nicholas Sauer <nicksauer@google.com> Add URLClassLoaderImplTest to knownfailures

bug: 28535349
Change-Id: I6b4b6e67f74199d14f8a92a525014a502854417b
bad3af1cf1bf8ca1b95b1a65f9884660994766f0 04-May-2016 Nicholas Sauer <nicksauer@google.com> Add UnixNetworkInterfaceTest to knownfailures.txt

bug: 28536847
Change-Id: I18d510bf43e9d09cb0eacc515a444e44470c7a35
8124a7c0df1fba5e09f90ea7a126a1e8f265a8ee 03-May-2016 Nicholas Sauer <nicksauer@google.com> Add CollectionTest and Collection8Test to knownfailures

bug: 28503384
Change-Id: I1660054b102840aa6b089629422948ae6b3ecb73
cac88314fce02846168db6e333f247e5fce2cd4d 02-May-2016 Nicholas Sauer <nicksauer@google.com> Fix package names in icebox.txt and knownfailures.txt

bug: 28529041
Change-Id: I350cdd2b32e5133ef98f0c2c1448cd29796483e9
0fc042a36990a06200dcb64ffca819febda3d5a0 15-Mar-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Disable CopyOnWriteArrayListTest#testSubListAtomicAdds

Because of recent JSR-166 update, we switched CopyOnWriteArrayList
implementation from the android rewrite to the original version.
original version fails the
libcore.java.util.concurrent.CopyOnWriteArrayListTest#testSubListAtomicAdds
test. We can either:
- Revert to rewrite of CopyOnWriteArrayList and reimplement missing methods
- Accept that it fails ATM and Fix the issue in the upstream jsr-166

In a meantime, I'm adding the test to knownfailures.txt

Bug: 27673247
Change-Id: Id167ee59dec94c6524fed1f20f754aafc9180670
(cherry picked from commit 3dbe8f55f4409c113cc313e0f0ed413b84a1830c)
3dbe8f55f4409c113cc313e0f0ed413b84a1830c 15-Mar-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Disable CopyOnWriteArrayListTest#testSubListAtomicAdds

Because of recent JSR-166 update, we switched CopyOnWriteArrayList
implementation from the android rewrite to the original version.
original version fails the
libcore.java.util.concurrent.CopyOnWriteArrayListTest#testSubListAtomicAdds
test. We can either:
- Revert to rewrite of CopyOnWriteArrayList and reimplement missing methods
- Accept that it fails ATM and Fix the issue in the upstream jsr-166

In a meantime, I'm adding the test to knownfailures.txt

Bug: 27673247
Change-Id: Id167ee59dec94c6524fed1f20f754aafc9180670
f0019e32954eac09bbf42d7b6fbe40b3005b7869 15-Mar-2016 Grigory Dzhavadyan <grigoryj@google.com> Revert "Temporarily disable com.android.cts.cpptools.RunAsHostTest#testRunAs"

This reverts commit b0153676727646ef7d126a47632625122335ed5f.

Change-Id: I9777bd90be7b92e4e06c12acc80b40a8612362fb
b0153676727646ef7d126a47632625122335ed5f 15-Mar-2016 Grigory Dzhavadyan <grigoryj@google.com> Temporarily disable com.android.cts.cpptools.RunAsHostTest#testRunAs

Change-Id: I66cfea3286bd7123c41c7e69e406a1940a16dd57
b3e6f1d09989fc925601ce231453d3e83b154a58 11-Mar-2016 Narayan Kamath <narayan@google.com> Remove expectations for spliterator tests.

The underlying jack bug has been fixed.

bug: 27539473
Change-Id: I116005eaabbc9570835c23c5dbd35878135c5aae
8b056f0b15bc1e45da8d4c504353b05e681ac013 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.

bug: 27426688
Change-Id: I191a9319d4af7e22834f2d91f73634a227b36bc2
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
968793c5dbf50fe85babbae54624e92761e3a364 01-Feb-2016 Neil Fuller <nfuller@google.com> Update expectation to reflect class name change

The name of the Http2 test changed with commit
a2cab72aa5ff730ba2ae987b45398faafffeb505 but the
expectation was not updated.

Bug: 20055487
Change-Id: Ieceae07d2ae355fdc2357a993263c3ae5118fc1e
ddacaa4bce0651a8c78f59537fea075aca1acd57 01-Feb-2016 Neil Fuller <nfuller@google.com> Update expectation to reflect class name change

The name of the Http2 test changed with commit
a2cab72aa5ff730ba2ae987b45398faafffeb505 but the
expectation was not updated. The package for
Spdy3Test and Http2Test changed
with commit
71b9f47b26fb57ac3e436a19519c6e3ec70e86eb.

Bug: 20055487
Change-Id: I09eadef7ad42e3159eb0af2f459434e7a092da89
4dcb96a32e1d4ce3c0d36d6f0ad47390ab679f31 13-Jan-2016 Shubham Ajmera <shubhamajmera@google.com> Fix serialization in DecimalFormat / DecimalFormatSymbols.

Adapted from changes f2d5062,bdc285fc5 and 3b128c4585.

Also fix OldDecimalFormatSymbolsTest.

Bug: 26104359
Change-Id: Iae234c1403f67e988a533c7e0406dbc24ed3fcdf
01494d589b882e6229a27e569ccc60bfb55129df 12-Jan-2016 Kenny Root <kroot@google.com> Track fixes in nist-pkits tests

Changes in external/nist-pkits fixed several tests. This tracks those
changes to make sure we are running those tests again:

I4edd999d94a05d80a0a2e03e49d9a4025bd9bbfe
I97a8f820825d5cae4b3cc5768fe76f27582845ba

Change-Id: Ia0d4cd3de84077b865933f189afe8be04c4e1424
31e1b68b8cc2d9d5c913af6a2bffe9a502be7372 05-Aug-2015 Narayan Kamath <narayan@google.com> Suppress ProperyChangeSupport failure.

The test appears to be bogus and surrounding tests have already
been suppressed.

Change-Id: I4ad546ae03f872fe06d927364d6eac691cedf0a2
8e07541a726afc6ad7acbdbdb4f9c83bf02b1ab5 16-Jul-2015 Narayan Kamath <narayan@google.com> Repurpose SHA1PRNG_SecureRandomTest.

It's currently a test of harmony's SHA1PRNG implementation but
might be generally useful as a SecureRandomTest. A couple of test
cases fail with the stock Android provider. They will have to be
investigated.

(cherry picked from commit a0f58d519eb1efbf182963d5e3b1274bba6d43bb)

Change-Id: I9a6930ae3f8a065f51c457b15f6e669ea2c38982
a0f58d519eb1efbf182963d5e3b1274bba6d43bb 16-Jul-2015 Narayan Kamath <narayan@google.com> Repurpose SHA1PRNG_SecureRandomTest.

It's currently a test of harmony's SHA1PRNG implementation but
might be generally useful as a SecureRandomTest. A couple of test
cases fail with the stock Android provider. They will have to be
investigated.

Change-Id: I417ea8452747f4473881ead3c32165a6b013b36b
4b36d0477802baf54876a6e8488cfb1f6bbf2a02 23-Jun-2015 Sergio Giro <sgiro@google.com> expectations: add SSL_renegotiate tests to known failures

SSL_renegotiate was deprecated and is currently a no-op. We need
to rewrite tests for the client response to renegotiation.

Bug: 21876068
Bug: 21875889
Change-Id: I8c228cc4d6a388ca740316aa970fd54755b22bb1
(cherry picked from commit 7f3c9cd05a61da205137195e115135a66eb8f6a6)
7f3c9cd05a61da205137195e115135a66eb8f6a6 23-Jun-2015 Sergio Giro <sgiro@google.com> expectations: add SSL_renegotiate tests to known failures

SSL_renegotiate was deprecated and is currently a no-op. We need
to rewrite tests for the client response to renegotiation.

Bug: 21876068
Bug: 21875889
Change-Id: I8c228cc4d6a388ca740316aa970fd54755b22bb1
9a7451167b7a8c154784ebc57ea3c644e8067275 18-May-2015 Narayan Kamath <narayan@google.com> Add test_PacketSocketAddress to the list of known failures.

Needs CAP_NET_RAW which means it can only ever run successfully
as root.

bug: 19764047

(cherry picked from commit 676fbcf150d23bb81da6dccd40bcd085a2eeee8a)

Change-Id: I6c24cb9a781340d4c92fb53aa2670ddb99031c73
f8ea554860fa12cd0ed8bd1ad8af869c2dba959f 29-Apr-2015 Neil Fuller <nfuller@google.com> Suppress a couple of tests that need quite a lot of memory

These tests fail on some Android Watch devices. Suppressing them until
we have a mechanism to detect low memory devices that would allow
them to be suppressed more selectively.

Bug: 20055487
(cherry-picked from commit fcee6ab5383ee0ad68fcc74ced7581a24d2521de)

Change-Id: I53792de9081774b36d03f2de718e73a1c6ff32d5
676fbcf150d23bb81da6dccd40bcd085a2eeee8a 18-May-2015 Narayan Kamath <narayan@google.com> Add test_PacketSocketAddress to the list of known failures.

Needs CAP_NET_RAW which means it can only ever run successfully
as root.

bug: 19764047
Change-Id: Ia515bad0e46246a913eda7b12b9c4c70cb87f6a4
13faecd3105c23f8a60ce3a5847056489fd2d037 12-May-2015 Travis Keep <rocketman@google.com> Fix bug in formatting intervals at month boundaries.

In formatting date intervals, we subtract one day from the end time
if it falls on midnight the next day so that both times are in the
same day, thereby avoiding the date appearing in the formatted
interval. We did this by calling endCalendar.roll(Calendar.DAY_OF_MONTH, false).
However, if endCalendar was 1 May 2015 (say), the date rolls over
to 31 May 2015 (this is the documented behaviour of roll).

We now use endCalendar.add(Calendar.DAY_OF_MONTH, -1) which always
subtracts a day so that 1 May 2015 becomes 30 April 2015, this is
the desired behavior.

bug: 20708022

Change-Id: Id222582b26170a91a4ce2f4b5ebef3c15bce7c92
c04b1cc4b94914259e3c92cd605cba7f889a453d 06-May-2015 Narayan Kamath <narayan@google.com> Add known DateIntervalFormatTest failure to knownfailures.

bug: 20708022
Change-Id: Ide1e063e4156d43125f5bfc180cee62c0c9d59f3
fcee6ab5383ee0ad68fcc74ced7581a24d2521de 29-Apr-2015 Neil Fuller <nfuller@google.com> Suppress a couple of tests that need quite a lot of memory

These tests fail on some wear devices. Suppressing them until we
have a mechanism to detect low memory devices that would allow
them to be suppressed more selectively.

Bug: 20055487
Change-Id: I6b382b4ed8079193bdb14908e7c9648c22b93da6
49c0bf1f52cb73f458fdc5122bea561ec90a4788 05-Nov-2014 Takayuki Hoshi <hoshi@google.com> Suppress okhttp's ResponseCacheAdapterTest.

This avoids a known SPDY issue that sometimes makes the
related CTS tests fail.

Bug: 18066923
Change-Id: I9540dc3ad6b6a3d7ab37eb77d46dba39b7bbbb7b
(cherry picked from commit 65d0f0bec95f576da6214dabff8c41a20f608b80)
3814e7c484ff04b0cbbdaffaf1907c0f3db426f1 03-Apr-2015 Narayan Kamath <narayan@google.com> Update test expectations after rename.

Zip64 tests were moved to Zip64FileTest.

Change-Id: I653e63268e174d4f70e8eecd2d5535fbf6556588
12f5c69e074d6ef012706068416f0a61b70b4e52 27-Jan-2015 Narayan Kamath <narayan@google.com> Implement zip64 support for ZipFile/ZipInputStream/ZipOutputStream.

There are several open questions that I hope to resolve in future
changes :

- Our heuristics for detecting whether a zip outputstream should
switch over to zip64 or not are imprecise.

- Also, given that we now officially support zip64, we have to assume
new entries whose size is unknown need the zip64 header / footer.
This will make output files slightly larger and less compatible with
older tools. If we don't do this, we'll have to go back and rewrite &
compact parts of the stream we'd already flushed, which isn't always
possible. The other option is to assume zip32 for streams of unknown
length and throw if more than 4G of data is written to them.

Change-Id: Ibb4a97b5f83fd3ab850d7c407ecfda663968a6b9
8b24781abd1d49963e5a52a48b85ab5191991ff3 19-Jan-2015 Jingwei Zhang <jingwei.zhang@intel.com> Fix the infinite loop issue of the conversion from string to double

This patch provide the additional check for “z”.
The “if” statement checks whether the double precision value z, is at the end of a binade
(a term used to describe the set of numbers in a binary IEEE 754 floating-point format that
all have the same exponent, i.e., a binade is the interval [2n, 2n+1) for some value of n.)
If so, it needs to adjust for the change of ulp (unit of least precision is the spacing
between two consecutive floating-point numbers, i.e., the value the least significant digit
represents if it is 1). The adjustment is done by the “simpleShiftLeftHighPrecision” routine.
This is all necessary, except when z is close to denormal (i.e. DOUBLE_TO_LONGBITS(z)==DOUBLE_NORMAL_MASK)
where no adjustment is needed since the ulp should remain the same once z becomes denormal.

This means we can remove the old hack that counted how many times we'd
incremented or decremented, so this patch removes the DECREMENT_DOUBLE
and INCREMENT_DOUBLE macros.

This patch also contains the float equivalent of everything mentioned above,
plus some new tests.

Finally, this patch removes the USE_LL conditional compilation because it
was always true.

Bug: 18087920
Change-Id: I4a9112f012dfd9eeb8db89f0652528b6c02e8f1e
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
1895955344b23f4d8a01596906a62f521c5463ef 12-Jan-2015 Narayan Kamath <narayan@google.com> Add a unit test to demonstrate ICU CharsetProvider problems

Also add a single FakeCharsetProvider for unit tests that
does nothing by default, so that we can stub it in for tests
that do care about it and none of our other tests are affected.

Change-Id: I03abb8f1aff53c160935b4cdbeaef764d30f240a
764ea3d867b544de457aac2d02327d7b796d4a5c 02-Dec-2014 Neil Fuller <nfuller@google.com> Changes needed to support OkHttp upgrade

Change-Id: Ifd6ed8ab22e7fd5d8cb8c9eb28976291d125c0e4
226886e54157b771f254bafaeaa27438ccaa008e 03-Dec-2014 Nicolas Geoffray <ngeoffray@google.com> Update expectations of cbrt test.

Change-Id: Ic89252d1379ba25f46b8dc06833ab9bbe769c846
2c303a254f4b0a7cd28fad9180a2b99f089d8b70 25-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Update expectations for host.

Change-Id: Idd63b469726a1b6529d3aed931f02024ba04b903
82055a89a0f9e2eca61e91b4732933dd9d2a4a36 24-Nov-2014 Narayan Kamath <narayan@google.com> Revert "Suppress zip & spdy tests that are OOMing with a 48MB max heap."

This reverts commit 15e853493f013a5397288088c20354e2bd436a5a.

bug: 18256012
15e853493f013a5397288088c20354e2bd436a5a 21-Nov-2014 Narayan Kamath <narayan@google.com> Suppress zip & spdy tests that are OOMing with a 48MB max heap.

Some of these tests allocate only about 2mb of ram, so we need to
analyze the state of the heap to figure out where this memory is
going.

bug: 18256012
Change-Id: I11ed892d9798bb24d7e5cedc7e93e9c8e7afe80d
65d0f0bec95f576da6214dabff8c41a20f608b80 05-Nov-2014 Takayuki Hoshi <hoshi@google.com> Suppress okhttp's ResponseCacheAdapterTest.

This avoids a known SPDY issue that sometimes makes the
related CTS tests fail.

Bug: 18066923
Change-Id: I9540dc3ad6b6a3d7ab37eb77d46dba39b7bbbb7b
bc1ea6573c76663718d441f7b0b849a91f3eefbd 13-Oct-2014 Neil Fuller <nfuller@google.com> Suppress failing OkHttp CTS tests

Added an additional regression test for SSLSocketTest.

Bug: 17962997
Bug: 17750026
Change-Id: Ic1171a916a8dbfe4f0ae486d650583de2547175b
5e46bd928832dc638f41f9959427bef088d2184e 26-Sep-2014 Neil Fuller <nfuller@google.com> Rewrite tests and add tests that demonstrate a bug

The bug:
DecimalFormat.format() behavior is slightly
lossy around 15 decimal digits even without any
digit constraints.

This change isolates the test failures that result from
this bug to 2 test cases:

test_formatDouble_bug17656132
test_formatDouble_roundingProblemCases

Example of the bug:

Double: 999999999999999.9 is represented as an IEEE 754
value which is exactly decimal 999999999999999.875

When format(999999999999999.9) is called on a DecimalFormat
with large MaxIntegerDigit and MaxFractionDigit....

Correct answer: "999999999999999.9"
Actual answer: "1000000000000000"

By contrast Double.toString() prints 9.999999999999999E14
for Android and the RI (correctly).

The DecimalFormat is printing to 16 decimal digits: The
inclusion of the 16th digit implies slightly more precision
than IEEE 754 provides (~15.9 decimal digits for most of the
representable range).
However, the use of 16 decimal digits for outputting IEEE 754
appears consistent with Double.toString() and elsewhere.

Before printing, DecimalFormat appears to be rounding to
15 decimal digits internally (or something similar).

Parsing "1000000000000000" produces a different double
representation than the original double
(one that is closer to 1000000000000000 than
999999999999999.9). This is the bug - we just lost information.
We should be able to round-trip a double if there is no rounding
since every double is representable with decimal and we have
sufficient digits available to represent it (close enough) in
decimal.

Additional tests have been added to demonstrate the bug
and also demonstrate the (correct) formatting behavior when the
formatter is rounding.

test_formatDouble_maxFractionDigits: rounding at 1, 10, 14 digits
after the dp.
test_formatDouble_roundingTo15Digits: rounding at 15 total digits
overall
test_formatDouble_bug17656132: Demonstrates the bug concisely.

The test changes:

test_formatDouble_wideRange():
implicitly assumed that the any loss of accuracy
when a decimal string was turned into a double
would be undone when format() was called, and it would
always arrive back at the original string. The test
has been re-written here to use BigDecimal rather than
Double.parseDouble(), and to compare two doubles rather
than original string with the output from format().

The test was previously failing with the RI for 1E23:
the closest representable double to 1E23 is exactly
99999999999999991611392.
The value produces "99999999999999990000000" when formatted
with the RI and not "100000000000000000000000". On Android
it was passing for 1E23 because of bug 17656132 rounding
back to the original decimal value.

This test was previously failing on Android with 1E-309 because
below 1E-308 IEEE 754 starts losing precision and the closest
representable value is not close to the original string. The
test now isn't affected if the double being tested is not close
to the original decimal; it passes providing the can be round
tripped.

test_formatDouble_roundingProblemCases: Re-written like the
_wideRange test but continues to demonstrate the bug due to
the test values (intentionally) chosen.

Bug: 17656132

(cherry picked from commit 4e92b6265acb1d12109e311819dd64b27ec85df5)

Change-Id: I0b3245d8984999b2731508bb90de785492bb211b
4e92b6265acb1d12109e311819dd64b27ec85df5 26-Sep-2014 Neil Fuller <nfuller@google.com> Rewrite tests and add tests that demonstrate a bug

The bug:
DecimalFormat.format() behavior is slightly
lossy around 15 decimal digits even without any
digit constraints.

This change isolates the test failures that result from
this bug to 2 test cases:

test_formatDouble_bug17656132
test_formatDouble_roundingProblemCases

Example of the bug:

Double: 999999999999999.9 is represented as an IEEE 754
value which is exactly decimal 999999999999999.875

When format(999999999999999.9) is called on a DecimalFormat
with large MaxIntegerDigit and MaxFractionDigit....

Correct answer: "999999999999999.9"
Actual answer: "1000000000000000"

By contrast Double.toString() prints 9.999999999999999E14
for Android and the RI (correctly).

The DecimalFormat is printing to 16 decimal digits: The
inclusion of the 16th digit implies slightly more precision
than IEEE 754 provides (~15.9 decimal digits for most of the
representable range).
However, the use of 16 decimal digits for outputting IEEE 754
appears consistent with Double.toString() and elsewhere.

Before printing, DecimalFormat appears to be rounding to
15 decimal digits internally (or something similar).

Parsing "1000000000000000" produces a different double
representation than the original double
(one that is closer to 1000000000000000 than
999999999999999.9). This is the bug - we just lost information.
We should be able to round-trip a double if there is no rounding
since every double is representable with decimal and we have
sufficient digits available to represent it (close enough) in
decimal.

Additional tests have been added to demonstrate the bug
and also demonstrate the (correct) formatting behavior when the
formatter is rounding.

test_formatDouble_maxFractionDigits: rounding at 1, 10, 14 digits
after the dp.
test_formatDouble_roundingTo15Digits: rounding at 15 total digits
overall
test_formatDouble_bug17656132: Demonstrates the bug concisely.

The test changes:

test_formatDouble_wideRange():
implicitly assumed that the any loss of accuracy
when a decimal string was turned into a double
would be undone when format() was called, and it would
always arrive back at the original string. The test
has been re-written here to use BigDecimal rather than
Double.parseDouble(), and to compare two doubles rather
than original string with the output from format().

The test was previously failing with the RI for 1E23:
the closest representable double to 1E23 is exactly
99999999999999991611392.
The value produces "99999999999999990000000" when formatted
with the RI and not "100000000000000000000000". On Android
it was passing for 1E23 because of bug 17656132 rounding
back to the original decimal value.

This test was previously failing on Android with 1E-309 because
below 1E-308 IEEE 754 starts losing precision and the closest
representable value is not close to the original string. The
test now isn't affected if the double being tested is not close
to the original decimal; it passes providing the can be round
tripped.

test_formatDouble_roundingProblemCases: Re-written like the
_wideRange test but continues to demonstrate the bug due to
the test values (intentionally) chosen.

Bug: 17656132
Change-Id: I7d81e38bd1f9dbfd1e1b2caa60a6bb16b871b925
19dcdd94310c9a6aedb80e8b9570334fc7d24f6a 05-Sep-2014 Elliott Hughes <enh@google.com> Mark libcore.java.text.DecimalFormatSymbolsTest#test_getInstance_unknown_or_invalid_locale a known failure.

The good news is that for the first time we understand why this is failing.
Too big to fix for L though, and not a regression.

Bug: 17374604

(cherry-picked from commit f887ab7ef74d3ca821aca63ccee2c86cc6a42489)

Change-Id: I589fe2eae0643e07e8db8cbcc7df52563aa24604
f35ab5d8fac2c4424a361824e62f8ffa5ead4032 11-Sep-2014 Neil Fuller <nfuller@google.com> Suppress ConnectionTest: It uses SPDY, which can cause IllegalStateException

Bug: 17313155
Bug: 14462336
Change-Id: I4b2f09e197f6ccb7fc6bd0a901095919d011d3e8
2f17acea4e5dba2fcee3035db376082162632fbc 09-Sep-2014 Neil Fuller <nfuller@google.com> Remove an erroneous double-merge in the knownfailures.txt file

The original change in AOSP/master and the patch of the same
change in lmp-dev created a monster.

Change-Id: Ib6644022384e03b0dc9a268bb3926505adfccfd6
34698b120ffe698a2c9aee7d6aef2fc93d6e04bc 05-Sep-2014 Neil Fuller <nfuller@google.com> Suppress broken apache-harmony beans CTS tests

One of the apache-harmony serialization tests is
package-sensitive.

The other tests suppressed probably broke due to a
fix in the Android fork of harmony (commit
19a270e90b1e992c1f6639f355ae13564c2f3a6a).

The code may be incorrect but if so it has
been broken subtly since Dec 2010. Bug 17433734
has been created to investigate.

Bug: 17394106

(cherry picked from commit e9121d6ce39668597349e818135214adc92285e5)

Change-Id: Ia53e9390c153f8fc7110c360ac635b4ef8fd783c
611f08695d105f609ff3e94b41ea1f67de6d7ee2 08-Sep-2014 Neil Fuller <nfuller@google.com> Suppress one more apache-harmony sql test

The test is broken and is being suppressed:
com.android.org.apache.harmony.sql.tests.java.sql.DataTruncationTest

Bug: 17342415

(cherry picked from commit 51ff72e84d7f862fc4193dbc747de07cd30e5226)

Change-Id: I811a6c032d7c73e77c67d94d47639a6d806b7238
51ff72e84d7f862fc4193dbc747de07cd30e5226 08-Sep-2014 Neil Fuller <nfuller@google.com> Suppress one more apache-harmony sql test

The test is broken and is being suppressed:
com.android.org.apache.harmony.sql.tests.java.sql.DataTruncationTest

Bug: 17342415
Change-Id: I5dd2f506400fff7c290e27adf4d3bd34f0624044
e9121d6ce39668597349e818135214adc92285e5 05-Sep-2014 Neil Fuller <nfuller@google.com> Suppress broken apache-harmony beans CTS tests

One of the apache-harmony serialization tests is
package-sensitive.

The other tests suppressed probably broke due to a
fix in the Android fork of harmony (commit
19a270e90b1e992c1f6639f355ae13564c2f3a6a).

The code may be incorrect but if so it has
been broken subtly since Dec 2010. Bug 17433734
has been created to investigate.

Bug: 17394106
Change-Id: I654d82b607e5487e0e6614ec4bcc5be98a9394e9
f887ab7ef74d3ca821aca63ccee2c86cc6a42489 05-Sep-2014 Elliott Hughes <enh@google.com> Mark libcore.java.text.DecimalFormatSymbolsTest#test_getInstance_unknown_or_invalid_locale a known failure.

The good news is that for the first time we understand why this is failing.
Too big to fix for L though, and not a regression.

Bug: 17374604
Change-Id: If9c221ec9e3a401c4ce9a3de4ff8b7c0e747e814
c46b8c831e3c77c83aeaab54c83f914b6b471b0a 01-Sep-2014 Neil Fuller <nfuller@google.com> Fix apache-harmony logging tests

Changed SocketHandler to re-introduce a "socket != 0"
check unintentionally removed by commit
232c91dce1760b180155256d1896d0d80375ff6d.

Some failures are the result of the test code being newer
than the libcore code. Android took its last libcore update
from apache-harmony some time after r820767 but before r929953
and its test-code update at r1097236. This explains a few
things.

Updated FileHandler to deal with null system properties.
This is an equivalent change to
http://svn.apache.org/viewvc?view=revision&revision=935099

Updated XMLFormatter to handle basic XML escaping. This is
an equivalent change to
http://svn.apache.org/viewvc?view=revision&revision=929953

Unsuppress tests that are fixed by this.

Bug: 13882147
Change-Id: I36321b488da6d4e08fbb0d28d0e366f9b06e6371
ae45925d3a59ae3eb72d70e305d2c1dab5ef6d17 01-Sep-2014 Neil Fuller <nfuller@google.com> Suppress broken apache-harmony logging CTS tests

Add test suppression entries for differences known to be
caused by Android changes and failures that involve
java code fixes.

Some failures are the result of the test code being newer
than the libcore code. Android took its last libcore update
from apache-harmony some time after r820767 but before r929953
and its test-code update at r1097236. This explains a few
things.

java package fixes will be applied via a separate commit.

Bug: 13882147
(cherry picked from commit 3b24d91a6c079234f36ca5cbf862eb975cd5fb4a)

Change-Id: I45fc103f20ab430b8924174a690c49bee4083f0f
c3fd2886f28fc945e3675b5ed9867f9a3c30c5b5 01-Sep-2014 Neil Fuller <nfuller@google.com> Suppressing broken java.sql apache harmony tests.

These are long-standing failures that we don't intend to
fix in the foreseeable future.

Developers have been encouraged to use android classes
for database access.

Bug: 17342415
Bug: 17321262
Bug: 17320961
Bug: 17093235

(cherry picked from commit 4459407dbfc74376668c7ff3c94c741ce3447d45)

Change-Id: If34ab5218e692ea237de12dafa5cda9b65da0b3c
3b24d91a6c079234f36ca5cbf862eb975cd5fb4a 01-Sep-2014 Neil Fuller <nfuller@google.com> Suppress broken apache-harmony logging CTS tests

Add test suppression entries for differences known to be
caused by Android changes and failures that involve
java code fixes.

Some failures are the result of the test code being newer
than the libcore code. Android took its last libcore update
from apache-harmony some time after r820767 but before r929953
and its test-code update at r1097236. This explains a few
things.

java package fixes will be applied via a separate commit.

Bug: 13882147
Change-Id: Ie5f3d1e5bb80a6aa8e3341a3bceacc65a58b2ca3
4459407dbfc74376668c7ff3c94c741ce3447d45 01-Sep-2014 Neil Fuller <nfuller@google.com> Suppressing broken java.sql apache harmony tests.

These are long-standing failures that we don't intend to
fix in the foreseeable future.

Developers have been encouraged to use android classes
for database access.

Bug: 17342415
Bug: 17321262
Bug: 17320961
Bug: 17093235
Change-Id: I30ed5576471253f58a63162347966dc11056cb31
18fdb719205bb5ebe3290b267d7e1f495d8d09a9 06-Aug-2014 Neil Fuller <nfuller@google.com> Remove suppression for a test

This test was fixed in AOSP by commit
5093c4f8bd7be79d7c7cd3e00945190105ed9aab

Change-Id: I921a0969059472ab152ef26edca751a74f25e54d
85f552a382ba9837d981fd39a98b63806c8bc136 01-Aug-2014 Neil Fuller <nfuller@google.com> Remove knownfailures for "host"

These all appear to work on host now given the correct classpath.

Bug: 3041920
Bug: 2931959
Bug: 3032875
Change-Id: Id1687652803df925d529ee4f3250b54d023c3f8f
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
ce6eb73c6fd260b19ae32f813ffa8c257707416e 17-Jun-2014 Neil Fuller <nfuller@google.com> Removing tests that test the SqlLite API directly.

Many of the tests were testing that the SqlLite Java API works.
Android does not ship with the SQLLite code as a public API
so these have been removed.

Some of the tests were testing JDBC APIs associated with Connection,
Driver and DriverManager behavior so these have been retained and
moved to libcore/java/sql/DriverTest.java / ConnectionTest.java

Change-Id: I97ec05591019505f527ee134177c5637bbd08538
c8a1d57d51722c8eb97de9b066d8408d84dc25ae 16-Jun-2014 Neil Fuller <nfuller@google.com> Updating information for OkHttp suppressions

Bug: 14462336
Change-Id: I2d8b35836bd0eeff70e46126496222560904fe35
12f4cda33bc34b0817dcf2e166fe6c6a0f8baafe 13-Jun-2014 Neil Fuller <nfuller@google.com> DO NOT MERGE : Suppress getInstance_provider? tests

Changing KeyPairGeneratorTest to handle different number of
providers.

Suppressing the getInstance_provider tests on klp-modular-dev
because they take too long on clockwork devices.

Bug: 5513723
Change-Id: Icf5adc54075d2d9f11372ebb38015ceb69ef6e0f
7408f7d9a38c16d2b93731f4c8d32256c80131a5 06-Jun-2014 Neil Fuller <nfuller@google.com> Shard the _getInstance test and skip the DH tests.

The _getInstance test was suppressed previously because it took
too long to complete. This re-enables parts of the test but
temporarily skips the DH algorithm until it can be investigated
further.

Bug: 5513723
Change-Id: Ia211de51f8def5b710c1d2a164f1ec70e474fc7a
6739aca1cb8aad23e9ea1c40aa5937c97a972dc1 06-Jun-2014 Neil Fuller <nfuller@google.com> DO NOT MERGE : Suppress further multicast network tests.

Bug: 14674275
Change-Id: I4f034e56b2cb406c9a666f262b959e1136e7a1f2
e9346f40d66472dd2609cb30d95a9d6fa3ce6bdc 29-May-2014 Neil Fuller <nfuller@google.com> Suppress okhttp tests that do not work right now

These need to be investigated.

Bug: 14462336
Change-Id: Ic09674ae64112ab440f27fbc37779d1ecac09e60
81981b75e279d6fd09dca2b182b8565b23cfed9f 27-May-2014 Neil Fuller <nfuller@google.com> Suppress large test that always times-out

Bug: 5513723
Change-Id: Ied74f464faa88eef5d3c4d852a26bbdb60e415d4
3ca393b70fc5259f86c87a4f5f5a3c65b73ae285 19-May-2014 Neil Fuller <nfuller@google.com> Unsuppress X509CertificateNistPkitsTest tests in master

Change Ie9bc0b3ac89cc5be2733b677a1bfe20253bf101f should have
merged some lines associated with X509CertificateNistPkitsTest
in expectations/knownfailures.txt. There were differences
between AOSP and internal master associated with that test
and which caused a merge conflict.

The conflict resolution removed all changes associated with
X509CertificateNistPkitsTest so that they could be investigated
separately.

After a local investigation it appears as though various tests in
X509CertificateNistPkitsTest pass and so some of the suppressions
can be removed.

One previously unsuppressed test was found to be failing currently
(testDeltaCRLs_ValiddeltaCRLTest5), so this has been suppressed
here.

This has made the AOSP master and the internal master
suppressions identical.

Change-Id: I1ce16678996a87e40081b4972b8f0fa2fb801863
c9040d821f5e3f98c6b10ad93626616093e86914 21-May-2014 Neil Fuller <nfuller@google.com> Suppress OldResultSetTest#testAfterLast

It was re-enabled by
If829a83cfcf82cac9a0301733b724716087fea05
but does appear to fail still.

Change-Id: If4c4c595856de111be228baaabe0598d102330c3
6ede7982fb4592fb620520523de49bf0490b07ec 15-May-2014 Neil Fuller <nfuller@google.com> Reenable tests that currently pass in CTS

The reasons I can do this are:
1) Fixes for other bugs / updates, etc. have made tests pass.
2) Bugs were fixed without removing suppressions.
3) Tests may have been suppressed by accident.

Tested on a local device running a master build.

Bug: 14808340
Change-Id: I7c6600c89ff1cc4ca5337ee952c972bdbf5467e8
d61559005fe4e8a503b14dc1a128906a1fda1ddc 15-May-2014 Neil Fuller <nfuller@google.com> Remove unnecessary test suppression entries

Most removals fit into these categories:
1) Test classes or methods that no longer exist / have been renamed
2) Various odd entries that are not for Junit
tests. Some appear to correspond with some Open-JDK tests so
may share a common heritage.

Bug: 14808340
Change-Id: If829a83cfcf82cac9a0301733b724716087fea05
28673a21344fc791f876ccca1a29a1e1f28a854b 15-May-2014 Neil Fuller <nfuller@google.com> Removing suppression of tests that obviously no longer exist.

This is a removal of tests from org.apache.harmony.luni.tests
that no longer exist (under that package name).

Bug: 14808340
Change-Id: I99e87fc43018596e4be0f4b352cc9a7cc33da4cc
fe04159eabf6070f92320e70cff1b300798e1778 14-May-2014 Neil Fuller <nfuller@google.com> DO NOT MERGE : Suppress further CTS tests on klp-modular-dev

See the bug for justification / explanation.

Bug: 14674275
Change-Id: I696128e7561d60badc681bf0eb8d5428c8f35f66
6af7a264e5bfb24ff9d0681c0a5b09cae741672c 14-May-2014 Neil Fuller <nfuller@google.com> DO NOT MERGE : Suppress a known failure on klp-modular-dev

This suppressed test is to prove there is no memory issue with
Scanner when used on large files. Actually this test is testing
the underlying Matcher class. Unfortunately, Matcher does have
memory issues. Typically this test times-out or runs out of
memory.

A fix will have to be made on master at some point.

Bug: 14865710
Change-Id: I66c0a482d87b2c989de807c84a2b16f7ed509a5c
31b937ba8fcda6a34d7d587e251405b8e9252b6d 12-May-2014 Paul Duffin <paulduffin@google.com> DO NOT MERGE : Suppress environment specific Console test in klp-modular-test

The test behaves differently in different environments. It works on a Nexus 7
device, breaks on host and molly so suppressing until we can fix it or have
a better way of handling environment specific tests.

Bug: 12491103
Change-Id: Id24e95e6f952b29bc56886ee7e6f6b4cb8d0477d
da3e83465c390f12ad7b7e89a914ae7bccbf4f0a 12-May-2014 Neil Fuller <nfuller@google.com> DO NOT MERGE : Suppress test on klp-modular-dev

Original bug: 13751920. The code under test is broken and will
be fixed in aosp/master. In the meantime this looks like it has
been broken for a long time. It is being suppressed on
klp-modular-dev.

Bug: 14674275
Change-Id: Ic6f1f448aa44a9a359a1c8bd8ab4d3f47ca1a546
50eab42c88ac570e2175d1da37202330dedae76f 12-May-2014 Neil Fuller <nfuller@google.com> More test suppression on klp-modular-dev. DO NOT MERGE

See bug for details.

Bug: 14674275
Change-Id: Icf09ae470b9dfeb7239c6c1d4c717c0b555b4bd3
8c9cac59be4e42f3f263ba0fbf5e01ae768a3cf2 12-May-2014 Narayan Kamath <narayan@google.com> DO NOT MERGE : Blacklist failing FileURLConnection testcases on k-mod-dev.

These tests have been fixed on aosp-master but the fixes
change the implementation (not just the test) so they're too
risky for this release.

Also note that someone has tried to blacklist these tests already
but those rules have no effect since the package name is wrong.
I'll delete those rules in a separate change on aosp-master.

bug: 14674275
Change-Id: I716c615c91d2da727f59576bc0f8e05ec4c48515
21181a03aaf07b3fdb2b7d8e941fe1deb452c6c4 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

(cherry picked from commit 3f2128b3408255e317f66c10c6dd5edbff53b3ee)

Change-Id: If0fd5b5e0cb79363ffd3759c7cb6b2c63aabee82
98030ff2ef27617d1482f6d32347773c58ef487d 09-May-2014 Neil Fuller <nfuller@google.com> Suppress tests in klp-module-dev only. DO NOT MERGE

See the bug for details.

Bug: 14674275
Change-Id: I0a7f135d55f9fb93ddd029ba71028381c905171a
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
d94e746976d2906b89197448db15e4a0e355d98a 08-May-2014 Narayan Kamath <narayan@google.com> Fix various errors in FileURLConnectionTest.

- First, the test was broken pretty badly. It would pass a
Jar style URL to a FileURLConnection and expect it to
work, this is out of spec and seems wrong in general
(file:///foo.apk!resources/foo.txt).

- The RI supports various "headers" on file URL connections
(sigh). As if the getHeaderField(int) and getHeaderFieldKey(int)
APIs weren't bad enough. This has now been implemented with
a naive implementation.

- Fixes FileURLConnection to populate a header map for
information it provides (content length, content type
etc.)

bug: 11664881

Change-Id: I7a3e9aaa79bf125abbcfe8367574115ce54718e3
f134e2867c4ab7338d3dd994ecace7ea47851a25 08-May-2014 Kenny Root <kroot@google.com> DO NOT MERGE NIST-PKITS: add testDeltaCRLs_ValiddeltaCRLTest5

This fails on the RI and Android now. Add it to the known failures since
we don't deal with CRLs anyway.

(cherry picked from commit f80fe010b1fdd038693a1f7207de4d06254e8f35)

Bug: 12905370
Change-Id: I5ae3a2be4fa632ecb065bb6bccb526b2551ba8d2
f80fe010b1fdd038693a1f7207de4d06254e8f35 08-May-2014 Kenny Root <kroot@google.com> NIST-PKITS: add testDeltaCRLs_ValiddeltaCRLTest5

This fails on the RI and Android now. Add it to the known failures since
we don't deal with CRLs anyway.

Bug: 12905370
Change-Id: Id21af237aaa2709d71ffd3268a730fc4cf102d92
c96651d01dc87a20aa718d60feaff6611451852e 09-Apr-2014 Neil Fuller <nfuller@google.com> Change DecimalFormat.setRoundingMode() behavior to stay in spec

The serialization tests revealed that some DecimalFormat instances
could not be round-tripped. The reason is that the setRoundingMode()
method was setting a non-zero rounding increment, which cannot
be persisted, and also creates patterns that are outside of the
DecimalFormat spec.

Addressed the fact that ICU4C appears to support
RoundingMode.UNNECESSARY now by deleting special-case code.

Changed SerializationStressTest to use canonical DecimalFormat
patterns:

The ones chosen had a couple things that were not ideal:
1) Putting '-' in quotes causes ICU (for non-obvious reasons)
treat the negative pattern prefix as not being default. Default
in this case means "the positive prefix with a preceding '-'.
Removing the quotes meant it would recognize the pattern as
not needing everything after ;., so the pattern would be shrunk.
2) The positive pattern was also not one ICU could deal with
fully. ICU changed "#.#" to "#0.#" at parse time (which can be
corrected with a setMinimumIntegerDigits(0)). It's not clear why
ICU cannot deal with parsing "#.#" when it can produce it, but
there is a long comment in decimfmt.cc suggesting it is
intentional and to avoid format producing empty strings.

The pattern has been changed to one that ICU can handle and would
choose when the various serialized fields are read back. This is
necessary because NativeDecimalFormat compares the patterns and
not just the serialized fields. Leaving the pattern check part of
equals() means that two non-spec patterns will not be considered
equal(), which is important while Android allows non-spec patterns.
Restricting support in DecimalFormat to the documented subset of
characters is not worth the effort and may cause problems
elsewhere.

Change-Id: I2de588458b86619733c0dc1692d526f179059910
Bug: 11668227
727df1258e3b8386afea4778626c9ab16ef467d6 09-Apr-2014 Kenny Root <kroot@google.com> Update SSLEngineTest for OpenSSL

Our new OpenSSL-based SSLEngine supports all the new stuff and no longer
fails tests.

Change-Id: I7db8e5134ca36ebd963c7081cd7ba79d91b3e5e2
4fea514ce0a4ed4cfd73457e46e144f9bda408c9 04-Apr-2014 Neil Fuller <nfuller@google.com> DO NOT MERGE Fix for ClassLoaderTest under CTS

The tests could not work given the arrangement of classloaders
in Android apps. This also fixes a known failure case in
ClassLoaderTest which was due to missing resources. Also updated
ClassTest.

(cherry picked from commit 63291dd98b3df687d87c7a95b8813e1cd75f3715)

Change-Id: I114aa9b1a177911aed0aef87819d93a260f0b8d1
Bug: 12491655
63291dd98b3df687d87c7a95b8813e1cd75f3715 04-Apr-2014 Neil Fuller <nfuller@google.com> Fix for ClassLoaderTest under CTS

The tests could not work given the arrangement of classloaders
in Android apps. This also fixes a known failure case in
ClassLoaderTest which was due to missing resources. Also updated
ClassTest.

Change-Id: I114aa9b1a177911aed0aef87819d93a260f0b8d1
Bug: 12491655
7a4e0ffed0618a8d23d6ebd8ccabce03235d10b4 17-Dec-2013 Narayan Kamath <narayan@google.com> Curate known failures list.

Several failures have already been fixed.

Change-Id: I2f372ec27c8b283ac5afaf3dcdcdc23ade07b4c7
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.
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
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
e5fea3d504609d22337a5311d3ce0e72314bceee 15-Nov-2013 Narayan Kamath <narayan@google.com> Use a consistent package path for harmony tests.

Harmony was never consistent about where they put their
tests. There's no reason we have to be the same.

Also, there's no need to have separate subtrees for nio,
nio_char etc. etc.

This change makes all existing apache harmony tests
subpackages of "org.apache.harmony.tests" and put them under
libcore/harmony-tests.

We somehow managed to end up with two vastly different
copies of CharsetDecoderTest & CharsetEncoderTest. I've
renamed the copies CharsetDecoder2Test & CharsetEncoder2Test
to avoid having to go in and resolve the complicated
diffs or speculate about the reasons for their
divergence.

Change-Id: Ic34e69c2faab8893edd54e05eccd7091f4a09abd
bf44cb0db5ab782649105175da0044faebb40d9d 13-Nov-2013 Narayan Kamath <narayan@google.com> Add remaining harmony failures to the known failures list.

I've erred on the side of caution and treated possibly
broken tests as failures.

Change-Id: Iebb49e5cee11f6e514da70e6c6bc7ac97964b0aa
bd084a2c122ffc8b745abd4835960f1c284c24c4 12-Nov-2013 Narayan Kamath <narayan@google.com> Add a harmony test case to known failures list.

bug: 11650799

Change-Id: If1df4f8de4cdbf827d6159aa9ba29fe19d207f66
10718d7d4df4a7b58b6901d29eb0b1b9ca3d6ad3 29-Sep-2011 Jesse Wilson <jessewilson@google.com> Move throws annotations to managed code. Part 2.

(cherry picked from commit 1aab8425f2c1eafbbdb2ead2632177d7ddee658b)

Change-Id: I676705ab19fffa526473f3546583b0c4e1c5a9e0
0424d12f9b8a19c4a451282bc8ae974f6109424d 16-Oct-2013 Narayan Kamath <narayan@google.com> Get stricter about DOCTYPEs.

Allow them only before we've started parsing any
XML elements.

bug: 3452274
Change-Id: I7b146e4dae8c7aa23a0a227538ec02604f828400
9366a6b82f4951ea293ca898aa98405910b80c56 19-Sep-2013 Elliott Hughes <enh@google.com> Add a missing expectation for ASCIICharsetEncoderTest.

Bug: 10837242
Bug: 10729779

(cherry picked from commit 189df91cdff73cf78862df947c8d23b9b9c91b82)

Change-Id: I121f60070f9e79c105a029fd18310fa514046d03
47974153b37227fd362f7be3013d2439a42ea00f 19-Sep-2013 Elliott Hughes <enh@google.com> Fix libcore.java.nio.charset.OldCharset_MultiByte_UTF_16#test_Encode expectation.

Bug: 10837475
Change-Id: Ic9de8cda2a8cf3ea11b1ca21e6c1485c1c5b76d6
12f0b0057dc5fc8a157b45c79cf75e54eafa8f40 19-Sep-2013 Elliott Hughes <enh@google.com> Add a missing expectation for ASCIICharsetEncoderTest.

Bug: 10837242
Bug: 10729779

(cherry picked from commit 189df91cdff73cf78862df947c8d23b9b9c91b82)

Change-Id: I121f60070f9e79c105a029fd18310fa514046d03
189df91cdff73cf78862df947c8d23b9b9c91b82 19-Sep-2013 Elliott Hughes <enh@google.com> Add a missing expectation for ASCIICharsetEncoderTest.

Bug: 10837242
Bug: 10729779
Change-Id: I014f8646b8782973c13a3a327b4fba8b90e8d0cb
f08f1687a0a6424c1fc6a5988006c0a1163365ff 19-Sep-2013 Elliott Hughes <enh@google.com> Fix libcore.java.nio.charset.OldCharset_MultiByte_UTF_16#test_Encode expectation.

Bug: 10837475
Change-Id: Ic9de8cda2a8cf3ea11b1ca21e6c1485c1c5b76d6
11a22c9d71f0d55a3a3b0d13c493d546fd272a8a 12-Sep-2013 Elliott Hughes <enh@google.com> Add expectations for three known CharsetDecoder-/CharsetEncoder-related failures.

Bug: 10666742

(cherry picked from commit e1a6c9cd4d1d7709c33596a531c5f4c91ad67e45)

Change-Id: Ia1cd5cde3c54a64be886aaba67588cb6c8bf9648
e1a6c9cd4d1d7709c33596a531c5f4c91ad67e45 12-Sep-2013 Elliott Hughes <enh@google.com> Add expectations for three known CharsetDecoder-/CharsetEncoder-related failures.

Bug: 10666742
Change-Id: I3f93546f814c5b493ad3738eebf8e792f661970c
ba7130d0d92e8f62fb08f317b34ecf35a73993ed 05-Sep-2013 Elliott Hughes <enh@google.com> Track a package name change in the test expectations file.

Change-Id: If84518b504d8360aa181c6794862316425f50dd3
74473971cc9d960376295fbcc430320c9ed62991 29-Aug-2013 Elliott Hughes <enh@google.com> Fix harmony java.text test failures.

There were plenty of bad tests here, but there were some real bugs too.

* DecimalFormat was only handling RoundingMode.UNNECESSARY for double
formatting.

* DecimalFormat was not ensuring that it's superclass' fields were
being correctly updated.

* NumberFormat was throwing NPE for a null object because of an
improved detail message, despite being specified to throw IAE.

* We weren't mapping NumberFormat.Field instances to the corresponding icu4c
UNUM_x_FIELD constant, so we weren't actually setting FieldPosition
objects correctly.

* SimpleDateFormat was not formatting milliseconds correctly with 'S'.

* NativeDecimalFormat wasn't handling JNI NewString OOME correctly.

Bug: 2528220
Bug: 3056865
Bug: 3057080
Bug: 3057090
Change-Id: Iac11f902f2e9649e596e7e7b7bc501b13e956fca
0161781217ea2c91179c15555f6023a5cb72f036 21-Aug-2013 Elliott Hughes <enh@google.com> Fix expectations to track Charset test package changes.

Change-Id: Ia9129ccf417ccef18cae468cf5e497fbe003fd66
a117015b63e8f85115febb99afea5f8da09af301 02-Aug-2013 Elliott Hughes <enh@google.com> Fix PatternTest failures.

Bug: 10127357
Change-Id: I202e77d0ea0c8b407aca364ad81c8ae1f9c617ad
db835d50d863a4df1770a589581082be896cda4c 02-Aug-2013 Elliott Hughes <enh@google.com> Add a known failure for org.apache.harmony.luni.tests.java.util.ScannerParseLargeFileBenchmarkTest#testParseLargeFile.

Bug: 10127357
Change-Id: I559a69457f92e159f8779dfc50fd3a45381281f5
817b74b58acb99b2e161228e329a6e6ae2d9d62b 23-Jul-2013 Elliott Hughes <enh@google.com> Remove HistoricalCharsetNames.

Bug: 3032697
Change-Id: Idbf92cded4a7c55b97ee558b0fa844237d262206
70b79a2cc89dd2845582001cd3f2a8cf8301ce6c 03-May-2013 Kenny Root <kroot@google.com> Replace mentions of old JSSE package name

Change-Id: I7c90b08ee2b43c73e02512d0c6caaec098967e93
ee41931d976501d0fb4516bd43919b9564558619 30-Apr-2013 Kenny Root <kroot@google.com> Fix mentions of JSSE

Change-Id: I248f6010b363922366b665153f9844b219bfde81
a812f61dc1102c8089c1acd48c24b36829ce2482 06-Feb-2013 Kenny Root <kroot@google.com> NativeCrypto: fix more DSA/ECDSA key generation

* Add hidden API to pass along the EC curve name in ECParameterSpec.
The lack of name passing made KeyFactory2Test fail because the
reconstructed ECDSA key had explicit curve parameters instead of an
OID naming the curve.

* Fix some mixing of PKCS8/X509EncodedKeySpec in DSA/ECDSA KeyFactory
implementations.

* Fix the KeyFactory2Test to output more useful error messages.

* Remove known failure which is no longer happening.

* Change EC_GROUP_get_curve_name to return the "shortName" string
which matches the EC_GROUP_new_by_curve_name

Bug: 3483365
Change-Id: I0a80be88bef728b2177f3593cc3421fa47b79470
c8b51de08a025cc5ed90e4c9135b99f67d08ba91 06-Feb-2013 Kenny Root <kroot@google.com> Remove fixed CipherTest "known failure"

Bug: 3387688
Change-Id: I620ae46fcf3681120c958dc847eabc6138144735
06f5660dd5748f6a8a23e55af493ea173f1f6981 31-Jan-2013 Brian Carlstrom <bdc@google.com> Remove passing test from known failures

Change-Id: I469766e0f8b9aecefa72a558afa9f5c226a99d33
a96f0f8f2a20d6776fdcaf420fe654c4f9f06ae0 18-Jan-2013 Kenny Root <kroot@google.com> Add NIST PKIX tests to core-tests and knownfailures

Bug: 8030138
Change-Id: Ib29438238a21e20c4f039660d76ded2b96bed492
0e1afa1091f74a6228c01d8c7a8eebf001efdc57 13-Oct-2012 Elliott Hughes <enh@google.com> Fix ConcurrentCloseTest flakiness.

We can't rely on consuming all the listen(2) backlog. For the tests we've
seen fail because they sometimes connect rather than time out, switch to
an unroutable address.

(cherry-pick of babccbf9e429c4c78aca24c205825ceaaf7d3f37.)

Bug: 6971145
Change-Id: Ibfa412ff1ad7da7e63842d0162cc67a706e2b27e
babccbf9e429c4c78aca24c205825ceaaf7d3f37 13-Oct-2012 Elliott Hughes <enh@google.com> Fix ConcurrentCloseTest flakiness.

We can't rely on consuming all the listen(2) backlog. For the tests we've
seen fail because they sometimes connect rather than time out, switch to
an unroutable address.

Bug: 6971145
Change-Id: I259d31b1a15123bcd78c36849d5ed863d392ac20
ba31b4af9c31035fb53b9ca8e1948ae645b469a9 11-Oct-2012 Elliott Hughes <enh@google.com> Fix StringTest#testCaseMapping_en_US.

I checked the Unicode SpecialCasing rules, and this behavior is correct.

Bug: 3325799
Change-Id: If9a565cd6e25edc60bb4334ad5ce5b0b014df545
0a156e0126e8015f2791e9a7dd48bbdaeae0c335 12-Sep-2012 Brian Carlstrom <bdc@google.com> Add OpenSSLProvider support for Cipher.RSA/None/PKCS1Padding

Summary:
- Add OpenSSLProvider support for Cipher.RSA/None/PKCS1Padding
Added NativeCrypto.RSA_private_decrypt and NativeCrypto.RSA_public_encrypt
- Changed OpenSSLSignatureRawRSA to use new Cipher.RSA/None/PKCS1Padding
Removed now obsoleted NativeCrypto APIs for
RSA_padding_add_PKCS1_type_1 and RSA_padding_check_PKCS1_type_1
- added wrap/unwrap support OpenSSLCipherRSA
Needed for SSLEngine (and fallback SSLSocket implementation)
which are now picking up the new Cipher.RSA/None/PKCS1Padding
- expanded CipherTest to sanity test all algorithms and PKCS1 padding

Change-Id: I03566cc86ffce07d44d5e0094fa82c9c24587c26
459a8ccbcc3dfde730780244e2122a734858acee 19-Jul-2012 Brian Carlstrom <bdc@google.com> Address flakiness of doFinal and unwrap CipherTests

The tests occasionally did not throw BadPaddingException when
expected. This seems to be because in those cases the random generated
keys were creating cipher text that appeared to be correctly PKCS#5
padded. In reproducing this in the doFinal case, this happened within
a few hundred runs.

Bug: 6301793
Change-Id: Ibd2d9bdd2fe88bccb20089ef653763849f45ff4c
2ac3f4de596bdeea397e25692b4a4f5a6c15426f 19-Jul-2012 Brian Carlstrom <bdc@google.com> Address flakiness of doFinal and unwrap CipherTests

The tests occasionally did not throw BadPaddingException when
expected. This seems to be because in those cases the random generated
keys were creating cipher text that appeared to be correctly PKCS#5
padded. In reproducing this in the doFinal case, this happened within
a few hundred runs.

Bug: 6301793
Change-Id: Ibd2d9bdd2fe88bccb20089ef653763849f45ff4c
a66a69110380b569a02e46bba9a7703a2fad896d 23-Mar-2012 Brian Carlstrom <bdc@google.com> Updating test failures

Change-Id: I2daff9fbb29f64366b24927824867ec40551ed83
001630e375421f078a2b1f45b03a10c9f6b7bd1f 03-Jan-2012 Jesse Wilson <jessewilson@google.com> Remove run-core-tests from known failures.

The @KnownFailure annotations are unnecessary and the
expectations are all obsolete.

Bug: http://b/3087671
Change-Id: I5dd834323770da09090b4e76c3f6793f1ccc629d
6dedda9b3d1b7fd96214568a2c96b8a0ed448458 16-Aug-2011 Jesse Wilson <jessewilson@google.com> Fix the PackageTest to not rely on a Class.getPackage() side effect.

Bug: http://b/5171136
Change-Id: I58259863157df1301183d851d43bcfc6fcdb72c9
29e0638aca737dd1093dac55216982b5af7d59a7 12-Aug-2011 Jesse Wilson <jessewilson@google.com> Scrub some CTS test failures.

Change-Id: Icc35a44bac6481b549a96d0533770d11aff507da
32a250f00af557b98787d3ab8bc084adbb91bc71 25-Jul-2011 Jesse Wilson <jessewilson@google.com> Expect our missing IO interrupted exception.

Bug: http://b/4181738
Change-Id: I6311789044e8b6b573b00aa6ca6fca31f004dc2f
25e769d476ae139ed576f20fe27fd7e38ab034bb 17-Jun-2011 Jesse Wilson <jessewilson@google.com> Add tests for Calendar/SimpleDateFormat bugs

Change-Id: Ib9142a6926c9eb30b021977db9eec7b4f47dae38
http://b/4723412
28b429ad56d2c595141e66a69c66e83f6739f143 17-May-2011 Jesse Wilson <jessewilson@google.com> Fix some failing XML tests.

Change-Id: I7504e849b9fe67900248a2e223d189c8fcef224d
7f432cfdd92017541bb6d2d7fca187a8708660d2 31-Mar-2011 Jesse Wilson <jessewilson@google.com> Acknowledge 25 XPath test failures.

Change-Id: I407463cfc4982320fcd3c812e0c110bf3b719c5d
http://b/3270761
309855672f79ef45e227343238d3630ab3cf3a5a 31-Mar-2011 Jesse Wilson <jessewilson@google.com> Acknowledge our 524 XSLT test failures.

Change-Id: If2dda17e256f5f39d7bf2412a576d772ef22e9ec
http://b/4193599
8bc378b1cec65bc06766a14a9cc575fec931b418 24-Feb-2011 Jesse Wilson <jessewilson@google.com> Don't generate large DH keys when small ones will do.

This dramatically improves the runtime of these tests from a few
minutes to a few seconds.

Also update known failures to cover the new reasons why these
tests are failing.

Change-Id: I82b738f3f1fb24a08d334fa960153692a0c9144f
http://b/3474446
2bfd651f0dba5762009fcd8680fda28b365d4d02 21-Feb-2011 Jesse Wilson <jessewilson@google.com> Set expectations for tests timing out on BN_generate_prime_ex

Change-Id: Ib2f39e255af37db088d019498e5a3864c5d28b33
http://b/3474446
a9664e78d206176772bf0dbaa9124f1857462409 21-Feb-2011 Jesse Wilson <jessewilson@google.com> Set expectations for failing PKIXCertPathValidatorSpiTest

Change-Id: I6dfaa5613ade84667da314165a2795d1f92fa6a1
http://b/3474648
66fdc40c1ae73e146d172ee002dd2b926656da14 21-Feb-2011 Jesse Wilson <jessewilson@google.com> Set expectation for DHPrivateKeyTest timeouts.

Change-Id: I05c76de211cb2a743670df190f6dfb2b5de1b060
http://b/3474446
8605af23f7de910c893e07bc250eb8349c7f2853 21-Feb-2011 Jesse Wilson <jessewilson@google.com> Set expectation for KeyAgreementFunctionalTest which always times out.

Change-Id: I1b44c51db3872698fad984d512786ab11c96b6f8
http://b/3473300
821431f9ffdb2e33c13fcad60d8be04e1e4aacf5 18-Feb-2011 Jesse Wilson <jessewilson@google.com> Update expectations from recent continuous build failures.

Change-Id: I451a1ba9321f09ffe935f855d682b0477728fe9d
http://b/3469872
995a384234fd0ba9233ebcce380628bbe346b911 14-Feb-2011 Jesse Wilson <jessewilson@google.com> Fail parsing if there's text outside the document element.

We have a similar bug for misplaced DTDs. This is tested
but not fixed by this change.

Change-Id: I8e06ec9197cb8c4135212056ab791c254c9dcc3d
http://b/3452274
b22ef1e880d100200fdf7f995f58b8227363c8b6 12-Feb-2011 Jesse Wilson <jessewilson@google.com> Scrub test failures from the dalvik-dev build.

Change-Id: I058daff4670945455385e3b3c7070ae6c6570940
OldStringBufferTest: don't assume a max heap size exists
URLEncoderTest: don't test exception priority
63dfb123c1eb0c3560b2c77b7c9b61dc5f522f45 10-Feb-2011 Jesse Wilson <jessewilson@google.com> Update expectations for charset and URL test failures.

Change-Id: I3ff901d56df34e29830efbcd6e5e2a619629a733
99aa85175f733e896d6cc01e968933a02e997bc2 29-Jan-2011 Jesse Wilson <jessewilson@google.com> Scrub libcore's SQLite and JDBC tests.

I've moved the tests to the libcore package because they're
maintained by Androids, unlike the tests.* classes maintained
by Apache Harmony.

Change-Id: I23b5ca845517129f426addeabc38e43a8fee4299
c5c82acf2ba7579ee7a5db27ca31ec183be253a6 25-Jan-2011 Jesse Wilson <jessewilson@google.com> Associate more test failures with their bugs.

Change-Id: Ide3689f9ce5bca3e3b411301cd49d0bbc0580e71
b7f4d6c3968c372767b2510f38a3d506067aced6 13-Jan-2011 Jesse Wilson <jessewilson@google.com> Move tests from android.core.URLTest to URLConnectionTest.

This includes some changes to MockWebServer to make it stop
accepting connections as soon as its response queue is empty.

Change-Id: I5a6bcdf1c03d0c36b11552ae086d0dece0440f64
http://b/1158780
81f94491896c700abad0a9687c433fb731f2479e 16-Dec-2010 Jesse Wilson <jessewilson@google.com> Address CTS test failures in libcore for gingerbread.

Change-Id: I6c9ec10a8b37170173eb19be928f19119aef997c
a695e8fafadd2591cd148e78f19bc6d7c15121bb 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Just use String for upper case/lower case operations.

Change-Id: If686975f659412c555684ed0032694e854e3aa8c
http://b/2183747
935ede9c3846d11df39435c2f2e4517d90cd61e8 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Remove java.io tests duplicated with Harmony.

Change-Id: I5bb51064a476628349977049a374b45a91cdeecf
http://b/3246523
6767bdbe6bb1d4542c97868d8df1f71d2414fc62 18-Dec-2010 Jesse Wilson <jessewilson@google.com> Optimize DefaultHostnameVerifier.

The only behavior change should be a bug fix. There was a heck
"cn.lastIndexOf('.') >= 0" that was always true. This has been
fixed to match the comment "require two dots".

Don't call getDNSSubjectAlts unless necessary.

Errors were created and then dropped. Now they're not created.

strictWithSubDomains was supported but unused. Now it isn't supported.

IP address parsing is now left up to the experts (InetAddress).

No more unnecessary conversions to arrays.

Before & After performance saves ~40% for google.com, which was the
only host that took more than 150 microseconds to verify:

host run us linear runtime %
www.amazon.com baseline 92.6 = 4%
www.amazon.com optimized 26.7 1%
www.google.com baseline 2,457.0 ============================== 100%
www.google.com optimized 1,421.2 ================= 58%
www.ubs.com baseline 143.2 = 6%
www.ubs.com optimized 24.4 1%

Change-Id: I42782bec6a86b95e8fa089aa6edeca45110c2fc4
http://b/2811070
5fb5634d140a6f82f13c5452f4916734db6d556f 17-Dec-2010 Jesse Wilson <jessewilson@google.com> More math tests that fail on the host only.

Change-Id: Ic952bdad963f92e97fe74af3ba48b928f3109237
http://b/2931959
9821bfdbfecf98358baa698b53c856ae086dbac8 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Set the expectation for a known regression.

Change-Id: Id2bc3d2abc25715b34d00e989d42f55a4f31486e
http://b/3286592
be56d2caef4c508023abaf0a81acbd7f6c29fedd 13-Dec-2010 Jesse Wilson <jessewilson@google.com> Update known failure to match test name.
http://b/3032697

Change-Id: Ibd755c0a350dbd2cbc4ac1f4de216caf826b7d4c
8bc50e8d16e9d630ce236b7ea076f72f9dac0d69 02-Dec-2010 Jesse Wilson <jessewilson@google.com> Deduplicate java.lang tests from Harmony.

This removes all tests duplicated in Harmony's test suite, and
moves the rest into the libcore.java.lang package.

Change-Id: Ic2fe12cc1e10513abb721d98e7b9b3a2e00192f5
http://b/3246523
1cb2bee503f359fa17899b42bfb705fd64b1635f 01-Dec-2010 Jesse Wilson <jessewilson@google.com> Update expectations to match renamed test.

Change-Id: I7a4e38caba2bed0d44782da0e1499d6848a695fb
http://b/2702411
773533775fab54079cebc329d54f6286f5ac16f2 30-Nov-2010 Jesse Wilson <jessewilson@google.com> The last of the Kxml correctness fixes for Expat compatibility.

With this change we should be able to drop the Expat pull parser
and use Kxml exclusively. I'm deferring that change until after
the current release.

Change-Id: I7c6d6dfe6c1e9ae9417c48603068ddd4ade78b76
http://b/3090550
0ad02672a6062a1c511a04ef975276d1803f0c24 07-Oct-2010 Jesse Wilson <jessewilson@google.com> Test what happens to RandomAccessFile when it is leaked.

Change-Id: I6b5044a5c3375c9e9456b9c72d897ecd2ccd7e26
http://b/3015023
a20d5db4cfbe096a20ec1073e4c0b140ae4ceee0 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix a test with broken expectations for localized arabic exponent.

Also tagging the RI as failing this test, and fixing a broken bug number
in another test.

Change-Id: I800e82832050d45df6853fd7d3c5bc14e60842d3
http://b/3060661
52dea0ad773d902ad8402e1354afe0842dd364b5 04-Oct-2010 Brian Carlstrom <bdc@google.com> Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest

Bug: 2322662
Change-Id: I8ad9a91f4095807bd710045eef3a97a86b560f49
c1851da31b639b94420f39183008e2c71f9602a0 02-Oct-2010 Jesse Wilson <jessewilson@google.com> Scrub test failures in java.text.

Change-Id: Icee3cd8bd3b8fa4b3902435c66021cabb7fc322d
60bc39267c2d1ddc85e2845aa6231bbf3882d273 01-Oct-2010 Elliott Hughes <enh@google.com> Remove an out-of-date expectation.

(You have to remove all the SecurityManager cruft from this SecurityManager
test to see that this expectation is bogus.)

Bug: 1677221
Change-Id: I3907e0c105523195669c32d2aad7e8133f2e7f12
bdc4c59aac52fa3b64dff94a9754692007a5e02e 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Add expectations for DecimalFormat test failures.

Change-Id: Iee4dffb4f3dded37866f35f0100d905553b9b3ca
fca556c7b99a7d35716b186b96e2dc48dd4164a8 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix problems where knownfailures has drifted out of date from our suite.

http://b/3045163.

Change-Id: I9c9c6d4429f09d5f5cd92447de9a3c9d67294286
1f8243e3d2b5a3f8e0398c304d1dea0395cbc368 28-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove java.net tests that are redundant with Harmony.

Change-Id: I01d6b3633a6de8a075982975d4cbf6c08e757490
a602f407266c1489fc5ae748ebd3feb6bb168a20 28-Sep-2010 Jesse Wilson <jessewilson@google.com> Update expectations for tests failing only on the host.

Change-Id: Ieb30ef5b4607f7dfed0b873a10e3dcb31139141d
4d105209f79ebdd157a79ba478002ecb0c6ac8a0 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Attach bugs to failures in MathTest and StrictMathTest.

Change-Id: Ifd0cf35e6e3dee4fe512db962db5f44c6e614af4
0e5792e85b0ed0f780f382cc4d6064aa8e0a48b0 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Attach charset tests to their tracking bugs.

Change-Id: I598a6b34a662e528f9b03a41f419bf7e47755ce2
5e8f0b9229ba47a92aa9d4afd6a2a51697c84c67 24-Sep-2010 Jesse Wilson <jessewilson@google.com> Add expectations for some tests failing in Hudson.

Change-Id: Iee064e099a30d4ab6de7a80863df6b1485e23b38
9b3d2abba8161cc70059e23d0b5fb6fc0bb45ac4 23-Sep-2010 Jesse Wilson <jessewilson@google.com> Manually merge 69680: JSON expectations

Change-Id: I983ad951e6445744b39dc763cf425172d2f4da31
220002e575a7416cea23a3efd7d0aa2bcd5a395d 23-Sep-2010 Jesse Wilson <jessewilson@google.com> Use JSON for expectations files.

This allows us to print the expectation description when a test
fails. I'll follow this up by wiring vogar to do very clever things
with the statuses of linked bugs.

Change-Id: Idc3048b5dafff864675e760a3bb0c8fea48bb807
af683e9fb9bb12b4e65dbe904a037920f5fc4116 11-Aug-2010 Jesse Wilson <jessewilson@google.com> Fix an obsolete test suppression

Change-Id: Id7cd798db349db1e25f7788c80a1bb0565d33468
4557728efb66c455a52b7669a8eefef7a9e54854 11-Aug-2010 Jesse Wilson <jessewilson@google.com> Moving tests to be under the libcore.* package.

This is indended to make it easier to run on VMs that restrict the packages
from which application classes can be loaded. For example, on the RI you need
to use the bootclasspath to load these tests.

Change-Id: I52193f35c5fcca18b5a3e1d280505b1e29b388af
6882e31b7ce2d04ebbc91c7a55d7840e8fdce8a5 20-Jul-2010 Brian Carlstrom <bdc@google.com> Bring SSLSocketImpl and SSLEngine in line with OpenSSLSocketImpl's cipher suites

Wrote an interoperability test between our OpenSSL and SSLEngine
based SSLSocket implementations. Used it to flush out problems between
the implementations, which mostly were in the non-native implementation.

Filling out the SSLEngine (and therefore non-native SSLSocket) support
led to the list of supported and default cipher suites now being the
same as out OpenSSL SSLSocket. Most of the work was making the the
NULL, RC4, and AES ciphers work with SSLEngine as well as some minor
bug fixes in related code.

Summary:
- changing test_SSLSocket_getSupportedCipherSuites_connect to try all
combinations of our two SSLContext/SSLSocket implementations
- fixed SSLEngine with *_WITH_NULL_* CipherSuites to use javax.crypto.NullCipher
- added *_AES_* cipher suites to SSLEngine (and therefore Java SSLSocketImpl)
- remove *_DH_* cipher suites which are not supported by the RI or our OpenSSL implementation
- fixed Java SSLSocket to not handshake on accept so will pass the basic SSLSocketTest
- added new KeyManagerFactoryTest while testing "DH_" cipher suite key types

This change depends on restoring bouncycastle's RC4 implementation (separate CL in external/bouncycastle)

Details:

Fixed SSLEngine with *_WITH_NULL_* CipherSuites by use javax.crypto.NullCipher

expectations/knownfailures.txt
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateSSLv3.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateTLS.java

Previously I had changed the string name of CipherSuites from
"TLS_..." to "SSL_..." where appropriate to match the RI. Since I was
doing maintenance on overall list, I renamed the CODE_TLS_... and
TLS_... static fields as well to match.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java

Removed IDEA and RC2 CipherSuites to make it clear they are not
supported. While technically this happened as a side effect of the
assignment "supported = false" if the CipherSuite failed to load, we
truly intend not to support these. Also removed SSH_DH_* suites which
don't work with DSA keys and aren't supported by the RI or our OpenSSL
implementation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Old connection state code assumed that if a cipher was blocked, the
block size was 8 bytes. This is not true for the 16 byte AES ciphers.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionState.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateSSLv3.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateTLS.java

No wonder our OpenSSL implementation incorrect did a startHandshake
when accepting the socket... it got it from the Java implementation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImpl.java

Test for KeyManagerFactory (and KeyManager). TestKeyStore now creates
KeyManagers and TrustManagers from the keystore as a convenience for
KeyManagerFactoryTest (instead of having the code in the
TestSSLContext where we didn't keep a pointer to the created values).

luni/src/test/java/javax/net/ssl/KeyManagerFactoryTest.java
support/src/test/java/java/security/StandardNames.java
support/src/test/java/java/security/TestKeyStore.java
support/src/test/java/javax/net/ssl/TestSSLContext.java

Remove CIPHER_SUITES_SSLENGINE now that its the same as CIPHER_SUITES

luni/src/test/java/javax/net/ssl/SSLEngineTest.java
support/src/test/java/java/security/StandardNames.java

test_SSLSocket_getSupportedCipherSuites_connect now does
interoperability testing not just between the default SSLContext's
SSLSockets but between the four combinations of our two SSLContext. It
also now sends some test data bi-directionally between the client and
server.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Changed TestSSLContext.create to allow a different Provider for the
client and server SSLContexts.

luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java
support/src/test/java/javax/net/ssl/TestSSLContext.java

RC4 is now available in bouncycastle for the non-OpenSSL SSLContext to
use for parity with the OpenSSL implementation.

support/src/test/java/java/security/StandardNames.java

Changed TestSSLSocketPair to use Futures like NativeCryptoTest so its
easier to choose between client and server errors while debuging.

support/src/test/java/javax/net/ssl/TestSSLSocketPair.java

Removed bogus import

luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

Change-Id: I080c0343a3f86f27b7c191a7b80b585b9ca52d93
b7eec62f6db198a76b67d7915b03e59189c6df4f 02-Jul-2010 Brian Carlstrom <bdc@google.com> TestKeyStore only use RSA by default & fixing SSLEngine client auth with DSA client and RSA server

Summary:

Goal here was to just make most tests faster by only having
TestKeyStore create RSA keys by default. However, when I did that
SSLEngineTest#test_SSLEngine_clientAuth started working, so I ended up
investigating a much deeper issue with DSA client authentication
against an RSA SSLEngine server.

Details:

Changed the TestKeyStore.get singleton to only contain RSA
keys. TestKeyStore.create now requires the caller enumerate what
keys they want if they need more than that or an alternative.

support/src/test/java/javax/net/ssl/TestKeyStore.java

Changed test_SSLSocket_getSupportedCipherSuites_connect to
explicitly request RSA and DSA keys since it needs both to try
connecting all possible cipher suites.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Fixing SSLEngine client authentication when server uses RSA but client uses DSA

Fixed java.net.ssl.SSLEngineTest#test_SSLEngine_clientAuth

expectations/knownfailures.txt

Added CiperSuite.authType field which contains the algorithm name
such as RSA, DSA, DH, that the client will use to authenticate the
server. Like the cipherName, hmacName, and hashName, this is
logically derivable from the the CiperSuite.KEY_EXCHANGE_*, but we
remember it to avoid repeatedly doing large cascading "if" tests to
determine which key algorithm should be used for each
case.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Fixed a number of client certificate authentication bugs in SSLEngine
- Changed ClientHandshakeImpl's in the SSL/Tls Certificate message
code to mirror ServerHandshakeImpl's implementation to properly
use chooseEngineClientAlias in the SSLEngine case.
- Changed to use the client certifcates key algorithm for computing
the signature for the SSL/TLS CertificateVerify
message. Previously we used the cipher suites negoitated key
exchange method, but if the client may select a certificate with
a different algorithm if the server provides a CA for another
algorithm.
- Also changed to use CipherSuite.isAnonymous in two places rather
than the inlined equivalent.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java

Fixed client authentication to use the client's certificate (not
the server's) to do verify the CertificateVerify message signature.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java

Fixed bug in DigitalSignature which did not Signature.update in
verifySignature, so it could never have properly authenticated DSA
signatures.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DigitalSignature.java

Added CertificateMessage getAuthType convenience

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateMessage.java

Made CertificateRequest certificate_authorities final, found we were double allocating it

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java

Cleaning up imports of HandshakeProtocol while working on its subclasses.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java

Cleaned up while looking at X509KeyManager implementations while debugging.

support/src/test/java/org/apache/harmony/xnet/tests/support/X509KeyManagerImpl.java

Change-Id: I74b98754c11000cbfea416f1571c380c9c67abf3
f979bbd1277c77ca945ad981e7864fb4e9f6ae05 25-Jun-2010 Jesse Wilson <jessewilson@google.com> Scrubbing tests marked @BrokenTest.

This rearranges the security test support infrastructure. We no longer
rely on many top-level classes defined in CipherHelper.java to provide
test support. Instead these each have their own top level class in our
test support package: support/src/test/java/tests/security. Similarly
for abstract classes intended to be subclassed by cipher-specific
tests.

Other test methods that were duplicated in Harmony have been removed.
We need to pay closer attention to Harmony failures because they are
now our only source of coverage for some of these tests.

Change-Id: I1a1ca8a046bc9b6a33d5fa3f55fecc0d39f72c16
747f40360f7e98bb9c88f9c945b68c04cd36a8d0 22-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing some test suppressions.

Removing tests duplicated with Harmony. Tests methods in such test classes
are moved to their own test classes in our test tree.

Removing all Pack200 tests; these don't make sense on a dalvik vm.

Change-Id: Ia2f6a542b4e3e3b50962c83dc2700bd4ee07f363
1cf1411402fb99d789f9c8396d8decf347a660df 04-Jun-2010 Jeremy Sharpe <jsharpe@google.com> fix testSetQueryTimeout test by fixing SQLite JDBC driver in a few ways to conform to the spec.

There's some other goofy stuff there, like unlimited timeouts, for instance, don't seem to be
implemented at all.

Also enhance the test to more completely cover the different failure cases.

Change-Id: I4f4f1074c6673011039f3d0f8a07d8c753c825d7
ec6fc9db36d7bed66f96285ab67b621933853278 27-May-2010 Brian Carlstrom <bdc@google.com> Remove duplicate test from knownfailures

Change-Id: I09b93b1ae055a44d736d0fd143684a587f2269cb
0c131a2ca38465b7d1df4eaee63ac73ce4d5986d 21-May-2010 Brian Carlstrom <bdc@google.com> RI 6 support for javax.net.ssl

Summary:
- RI 6 support for javax.net.ssl
- SSLEngine fixes based on new SSLEngineTest
- fix Cipher.checkMode bug recently introduced in dalvik-dev

Details:

Fix Cipher.checkMode that was preventing most javax.net.ssl tests from working

luni/src/main/java/javax/crypto/Cipher.java

RI 6 has introduced the concept of a "Default" SSLContext. This is
accessed via SSLContext.getDefault() and also
SSLContext.getInstance("Default"). Harmony had its own
DefaultSSLContext but it was not created via an SSLContextSpi. It also
was a single shared instance whereas the new RI6 Default SSLContext
shares internal SSLSessionContext instances between different Default
SSLContexts.

Refactored the old code into an SSLContextImpl subclass that
allows it to be created via SSLContext.getInstance. SSLContextImpl
ensures that we only ever create one set of SSLSessionContext
instances for the Default context.

luni/src/main/java/javax/net/ssl/DefaultSSLContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DefaultSSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Added SSLContext.getDefault and SSLContext.setDefault

luni/src/main/java/javax/net/ssl/SSLContext.java

Replace dependencies of old DefaultSSLContext with use of SSLContext.getDefault

luni/src/main/java/javax/net/ssl/SSLServerSocketFactory.java
luni/src/main/java/javax/net/ssl/SSLSocketFactory.java

Register "SSLContext.Default" as DefaultSSLContextImpl class for SSLContext.getInstance()

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java

Added constant for new "Default" standard name and added it to
SSL_CONTEXT_PROTOCOLS. New tests based on SSL_CONTEXT_PROTOCOLS
made it clear that neither Android or RI support SSLv2 so removed
it from SSL_CONTEXT_PROTOCOLS and SSL_SOCKET_PROTOCOLS. Added
constant for TLS as well which was previously scattered all over
tests. Remove SSLv2Hello from SSL_SOCKET_PROTOCOLS for Android
since with OpenSSL disablign SSLv2 means you can not use
SSLv2Hello either.

support/src/test/java/javax/net/ssl/StandardNames.java

Added tests for SSLContext.getDefault and
SSLContext.setDefault. Changed existing tests to work on all
protocols including new "Default".

luni/src/test/java/javax/net/ssl/SSLContextTest.java

RI 6 has introduced the notion of SSLParameters which encapsulate SSL
the handshake parameters of desired cipher suites, protocols, and
client authentication requirements.

The main new class SSLParameters is basically just a bag of fields
with accessors and a couple simple constructors. The only things
of note are that it clones all String arrays on input and output
and the setters for the two boolean fields ensure that only one is
true at a time.

luni/src/main/java/javax/net/ssl/SSLParameters.java

Added SSLContext.getDefaultSSLParameters and
SSLContext.getSupportedSSLParameters which simply delegate to the
SSLContextSpi.

luni/src/main/java/javax/net/ssl/SSLContext.java

Added abstract SSLContextSpi.engineGetDefaultSSLParameters and
SSLContext.engineGetSupportedSSLParameters.

luni/src/main/java/javax/net/ssl/SSLContextSpi.java

Added engineGetDefaultSSLParameters and
engineGetSupportedSSLParameters implementation. The RI documents
in SSLContextSpi that these are implemented by default by creating
a socket via the SSLContext's SocketFactory and asking for the
enabled/supported cipher suites and protocols respectively, so
that is what is done. The doc mentions throwing
UnsupportedOperationException if there is a problem, so we do that
as well.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Added {SSLEngine,SSLSocket}.{getSSLParameters,setSSLParameters}
which are analogous.

luni/src/main/java/javax/net/ssl/SSLEngine.java
luni/src/main/java/javax/net/ssl/SSLSocket.java

Added SSLParametersTest

luni/src/test/java/javax/net/ssl/SSLParametersTest.java
luni/src/test/java/javax/net/ssl/AllTests.java

Added SSLContext.get{Default,Supported}SSLParameters tests

luni/src/test/java/javax/net/ssl/SSLContextTest.java

Added SSLSocket.{getSSLParameters,setSSLParameters} tests and added
some extra asserts to test_SSLSocketPair_create based on experience
with test_SSLEnginePair_create.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Dummy implementation of new SSLContextSpi for test classes.

support/src/test/java/org/apache/harmony/security/tests/support/MySSLContextSpi.java
support/src/test/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java

Other minor RI 6 API changes:

RI 6 removed Serializable from HandshakeCompletedEvent and SSLSessionBindingEvent

luni/src/main/java/javax/net/ssl/HandshakeCompletedEvent.java
luni/src/main/java/javax/net/ssl/SSLSessionBindingEvent.java

RI 6 added generic types to the KeyStoreBuilderParameters List
constructor and accessor as well as to
SSLSessionContext.getIds. Fixed tests to compile with generic types.

luni/src/main/java/javax/net/ssl/KeyStoreBuilderParameters.java
luni/src/main/java/javax/net/ssl/SSLSessionContext.java
luni/src/test/java/tests/api/javax/net/ssl/KeyStoreBuilderParametersTest.java

SSLEngine improvements. Since I was changing SSLEngine, I wrote an
SSLEngineTest based on my SSLSocketTest to do some simply sanity
checking. It expose a number of issues. I've fixed the small ones,
marked the rest as known failures.

Renamed some TLS_ cipher suites to SSL_ to match JSSE standard
names. These were all old suites no longer supported by RI or
OpenSSL which is why they were missed in an earlier cleanup of this
type in this class. Also fixed SSLEngine supported cipher suites
list not to include SSL_NULL_WITH_NULL_NULL which is not a valid
suite to negotiate.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

SSLEngine instances can have null host values, which caused a
NullPointerException in the ClientSessionContext implementation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java

SSLEngine tests were failing because SSLParameters was throwing
NullPointerException instead of IllegalArgument exception on null
element values. Fixed null pointer message style while I was here.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Fixed SSLEngine instances to default to server mode like RI

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Fixed KEY_TYPES based on SSLEngine implementation. Removed dead
code NativeCrypto.getEnabledProtocols which was recently made
obsolete. Cleaned up null exception messages to follow our convention.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java

Added SSLEngineTest which parallels SSLSocketTest in its
coverage. Similarly added TestSSLEnginePair which loosely parallels
TestSSLSocketPair.

luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/AllTests.java
support/src/test/java/javax/net/ssl/TestSSLEnginePair.java

SSLEngineTest betters exposed the differences between SSLSocket and
SSLEngine supported cipher suites. StandardNames now has an
CIPHER_SUITES_SSLENGINE definition which denotes what is missing
and what is extra and why in the SSLEngine implementation.

support/src/test/java/javax/net/ssl/StandardNames.java

Created StandardNames.assert{Valid,Supported}{CipherSuites,Protocols}
to factor out some code test code that is also used by new tests.

support/src/test/java/javax/net/ssl/StandardNames.java
luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Remove SSLSocketTest known failure and add new SSLEngineTest known failures

expectations/knownfailures.txt

SSL_OP_NO_TICKET change was recently merged from master which required some fixes.

For the moment, sslServerSocketSupportsSessionTickets always returns false.

support/src/test/java/javax/net/ssl/TestSSLContext.java

Fixed flakey test_SSLSocket_HandshakeCompletedListener which had a
race because the client thread look in the server session context
for an session by id potentially before the server thread had a
chance to store its session. Made noticable because of
SSL_OP_NO_TICKET recently merged from master (before this code
path was host only, not device)

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Fix checkjni issue where we need to check for pending exception in
OpenSSL callback. Possibly introduced by recent merge of
SSL_OP_NO_TICKET from master.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Expectation updates

Remove SSLSocketTest known failure and add new SSLEngineTest known failures

expectations/knownfailures.txt

Tag test_SSLSocket_getSupportedCipherSuites_connect as large

expectations/taggedtests.txt

Misc changes:

opening brace on wrong line

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Long line cleanup while debugging

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketFactoryImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketFactoryImpl.java
support/src/test/java/javax/net/ssl/TestKeyStore.java

Removed bogus import

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Comment clarify while debugging

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Ctor -> Constructor in comment

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java

Fixed naming of SocketTest_Test_create to TestSocketPair_Create to match renamed classes

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: I99505e97d6047eeabe4a0b93202075a0b2d486ec
ba34c446de7ad7ab49e0dbc3f2229c7b6d56f0db 20-May-2010 Jeremy Sharpe <jsharpe@google.com> Adding a bunch of @KnownFailures to a new expectations file, expectations/knownfailures.txt.

Change-Id: I8182d90730473a2d29d264f46fda573c9337a366