summaryrefslogtreecommitdiffstats
path: root/support/src/test
Commit message (Collapse)AuthorAgeFilesLines
...
* | New MockWebServer for HTTP testing.Jesse Wilson2010-05-103-0/+476
| | | | | | | | | | | | | | | | Unlike the Support_TestWebServer, this server is dumb but scriptable. It's intended to make it easier to test uncommon HTTP behavior, such as an intermediate HTTP proxy. Change-Id: Iac07e0b4788eeaa172d5c55d8ed9e034d98aa8e6
* | Addressing post-submit comments regarding OpenSSL handhake changesBrian Carlstrom2010-05-041-39/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following up on feedback from earlier change https://android-git.corp.google.com/g/50435 Added new test_SSLSocket_startHandshake_noClientCertificate to make sure handshaking works when no client certificates are present after issues raised by hwu during code review. luni/src/test/java/javax/net/ssl/SSLSocketTest.java Improve TestSSLContext.create* options - added javadoc comments to help distinguish different versions - fixed bug of not passing in keyStorePassword in create() - added new createClient(server) method to create a TestSSLContext that trusts the provided server TestSSLContext's certificate for use by test_SSLSocket_startHandshake_noClientCertificate - made createKeyStore optionally create a more minimal keystore if aliases are not present support/src/test/java/javax/net/ssl/TestSSLContext.java Fixed argument names in SSL_*_mode methods names as pointed out by hwu luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java Added comment to explain purpose of OpenSSLSessionImpl.resetId. luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java Two changes to OpenSocketImpl - Added logging on runtime exception catch around HandshakeCompletedListener execution to closely mirror RI behavior. - Cleaned up peerCertificate check to not just be on the client path. luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java Addressed enh's comments about using clearEnv and when to delete AppData luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp Change-Id: I34f54e3e41a5d53d81fdc22aa34ca4de4ee9826f
* | Remove workarounds from JSSE tests now that SSLServerSocket.accept no longer ↵Brian Carlstrom2010-05-042-13/+11
| | | | | | | | | | | | tries to handshake Change-Id: I1188c34901b4c2c42d6b88e798e2eda24b0bfc4c
* | OpenSSLSocket handshake overhaulBrian Carlstrom2010-05-044-0/+490
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - SSLSocket.startHandshake now generalized to handle both client and server handshaking as well as client/server role reversal - handshake_cutthrough.patch is properly integrated with support delayed handshake completion now integrated with delayed updates to session cache and callbacks to HandshakeCompletedListeners - Many fixes to SSLSession, which is the end product of the handshake - Generally more RI and SSLEngine compliant behavior. - More native code deletion through unification of client/server handshake, unification of client/server certificate chain verification, etc. More native code moved from various OpenSSL classes to cleaner NativeCrypto interfaces that more directly mirror the OpenSSL interfaces. Details: Delay SSL_new call until handshake time when we know for sure whether the OpenSSLSocket will be used in client or server mode and we can allocate the SSL_new from the apppriate client or server SSL_CTX used for session caching. Now that no SSL is allocated for an OpenSSLServerSocketImpl, store enabledProtocols and enabledCipherSuites in instance String arrays. Use new NativeCrypto.checkEnabled* methdods for argument validation. OpenSSLServerSocketImpl passes these enabled arrays to a new OpenSSLSocket constructor during accept(). Removed finalizer from OpenSSLServerSocketImpl since it no longer has any native storage and socket is already closed by PlainSocketImpl finalizer. X-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java OpenSSLSocket major overhaul to properly implement handshaking including switching client and server roles and session ID caching with handshake_cutthrough.patch. - now implements NativeCrypto.HandshakeCompletedListeners for properly timed callback when handshake_cutthrough.patch delays handshake completion until first SSLSocket.getInputStream() read. - similar enabledProtocols/enabledCipherSuites changes as OpenSSLServerSocketImpl since we need to store the state somewhere other than an openssl SSL struct until we are sure if we are doing a client or server handshake. - added handshake completed field so that startHandshake can tell if handshake was completed during SSL_do_handshake or will be completed later by a call to HandshakeCompletedCallback.handshakeCompleted. - removed nativegetsession as the equivalent value is now returned by SSL_do_handshake - removed nativecipherauthenticationmethod as the value is now passed to verifyCertificateChain - startHandshake is now a wrapper that forces a fully synchronous handshake - startHandshake(boolean) is the the most changed method in this changelist, combinding both the old startHandshake logic, but also the OpenSSLSocketImpl.accept code as well. Notable differences from the old code: * now responsible for SSL_new * single code path for client/server handshaking dealing with SSLSession caching * now handles server certificate requests previously in OpenSSLServerSocketImpl, since a client can request to act like a server and therefore need to be able to make suck demands on its peer. * supports turning off handshake_cutthrough at a callers request via explicit call to startHandshake() * certificate verification happens during an upcall from openssl during SSL_do_handshake to verifyCertificateChain for both client and server cases. previously there was not quite right upcall support on the server side and post-handshake checking on the client, which did not allow for a proper alert to be sent to the peer informing them of the issue, which the RI and SSLEngine code do. * Similarly, setEnableSessionCreation(false) did not send an alert to the peer as the RI and SSLEngine code in the client case. In the server case, nothing was previously done. * The use of local certificates was not determined from introspecting the SSL struct post-handshake. This is now partially implemented and will be completed in a later change. - SSLSocket.{shutdownInput,shutdownOutput} are now restored to the proper behavior of throwing UnsupportedOperationException. - Gutted OpenSSLSocketImpl finalizer. The comment explains in detail the trouble of having the finalizer do anything more than touch its the instances own state due to unpredictable order of finalization and the future possability of parallel finalization. x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java SSLSession fixes - Made OpenSSLSessionImpl.sessionContext non-final so it could be nulled by SSLSession.invalidate to match RI behavior. - As noted in AbstractSessionContext discussion, removed OpenSSLSessionImpl constructor that took SSLParameters, instead we take the possibly null localCertificates directly. OpenSSLSessionImpl.getLocalCertificates now simply returns the localCertificates member variable instead of incorrectly trying to query the KeyManager for certificates that may not have been used. - OpenSSLSessionImpl now caches its native ID to avoid numerious native calls but also now provides as resetId which will update the cache when a delayed handshake happens due to the handshake_cutthrough.patch - Fixed bug in getPeerPrincipal that it wasn't calling getPeerCertificates to initialize peerCertificates field. - freeImpl is now 'public static' in preparation for move to NativeCrypto. x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java The old SSLSessionImpl class that is still used for representing the invalid session now returns isValid => false and getProtocol => "NONE" to match the RI. x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java NativeCrypto improvements - Adding NativeCrypto.SSL_{get,set,clear}_mode similar to NativeCrypto.SSL_{get,set,clear}_options along with SSL_MODE_HANDSHAKE_CUTTHROUGH constant which is used to explicitly disable/enable the Android handshake_cutthrough.patch behavior. - Added missing NativeCrypto.SSL_clear_options and used to properly implement NativeCrypto.setEnabledProtocols. - Added NativeCrypto.checkEnabledProtocols and NativeCrypto.checkEnabledCipherSuites helpers to implement exception compatability with the RI. While some of this code is refactored from existing NativeCrypto code, it is now also used by OpenSSLServerSocketImpl and OpenSSLSocketImpl which maintain their own String[]s of what is enabled until startHandshake time. (see below) - Changed NativeCrypto.findSuite to use foreach style loop for clarity. - Moved OpenSSLServerSocketImpl nativesetclientauth and SSL_VERIFY_* constants to NativeCrypto.SSL_set_verify - Added NativeCrypto.SSL_set_session based on part of old OpenSSLSocketImpl.nativeconnect - Added NativeCrypto.SSL_set_session_creation_enabled to properly implement SSLSocket.setEnableSessionCreation(false) which uses new external/openssl/patches/jsse.patch functionality. - New NativeCrypto.SSL_do_handshake consolidates OpenSSLSocketImpl.{nativeconnect, nativeaccept} while properly implementing SSLSocket.setUseClientMode(false) for clients and SSLSocket.setUseClientMode(true) for servers. - New NativeCrypto.SSL_get_certificate is determine if local certificate requested by peer. While functional, currently NativeCrypto.SSL_new always sets a value via SSL_use_certificate instead of relying on a callback set via SSL_CTX_set_client_cert_cb. - Changed NativeCrypto.CertificateChainVerifier.verifyCertificateChain to throw a checked CertificateException to match TrustManager.{checkServerTrusted, checkClientTrusted}. It also takes an authMethod so avoid the need to call the old OpenSSLSocketImpl.nativecipherauthenticationmethod. - Added NativeCrypto.HandshakeCompletedCallback which has its handshakeCompleted method called from OpenSSL when the now delayed handshake_cutthrough.patch handshake is completed so SSLSession caching can be delayed until a session ID is available and to provide a better time for HandshakeCompletedListeners to be notified. x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp Some other changes specific to the naitve side of the code - Added JNITRACE calls (enabled at compile time with JNI_TRACE) for future debugging. - throw SSLException subclass of IOException instead IOException itself for better RI compatability x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp - changed from old struct app_data to new class AppData at enh's request Remove dubious usage of SSLParameters within AbstractSessionContext to pass through to OpenSSLSessionImpl constructor for use in calling getLocalCertificates for sessions created from a byte array with AbstractSessionContext.toSession. Our AbstractSessionContext.toBytes doesn't currently include the local certificates in its output, so it cannot be expected to have in toSession. x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java Test maintenance openssl 1.0.0 adds support for RFC 4507 session tickets which remove the need for server side session state. These tests needed to be updated for this new behavior. If IS_RI is true, they still follow the old behavior. luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java luni/src/test/java/javax/net/ssl/SSLSessionTest.java luni/src/test/java/javax/net/ssl/SSLSocketTest.java Update KnownFailures and add specific comments at point of failure about what remains to be fixed. luni/src/test/java/javax/net/ssl/SSLSessionTest.java Added tests to cover the use of standard cipher suite names. Historically Android has used OpenSSL string constants for cipher suite names, but JSSE actually specifies supported and expected names. luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java luni/src/test/java/javax/net/ssl/SSLSocketTest.java Create new support/src/test/java/javax/net/ssl with old Helper support code pulled from javax.net.ssl tests: SSLContextTest.Helper -> TestSSLContext SSLSocketTest.Helper -> TestSSLSocketPair SSLSessionTest.Helper -> TestSSLSessions Also added new StandardNames here, which contains a collection of expected constants for test validation. luni/src/test/java/javax/net/ssl/SSLContextTest.java luni/src/test/java/javax/net/ssl/SSLSocketTest.java luni/src/test/java/javax/net/ssl/SSLSessionTest.java support/src/test/java/javax/net/ssl/TestSSLContext.java support/src/test/java/javax/net/ssl/TestSSLSocketPair.java support/src/test/java/javax/net/ssl/TestSSLSessions.java support/src/test/java/javax/net/ssl/StandardNames.java Removed some now fixed KnownFailures and unneeded !IS_RI code. Marked some [Un]KnownFailures where exceptions are thrown and visible in the output but aren't correctly causing the test to fail. Fixed assertNonNull to assertTrue in test_SSLSocketTest_Test_create. Added stress_test_SSLSocketTest_Test_create to track down test flakiness, leading to rewrite of SSLSocket finalization. luni/src/test/java/javax/net/ssl/SSLSocketTest.java Reenable javax.net.ssl.AllTests now that it is does not hang luni/src/test/java/tests/AllTests.java Improve error messages while debugging overflow problem. Added new assert when debugging new RFC 4507 behavior. Removed KnownFailure annotation for now working test case. x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionTest.java Client code changes Now that startHandshake implies synchronous vs Android's default async handshake, remove unneeded explict calls to SSLSocket.startHandshake luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java Removed IBM 1.4.x codepath that involved startHandshake x-net/src/main/java/javax/net/ssl/DefaultHostnameVerifier.java Unrelated Remove unneed SSLSocket.setUseClientMode while removing unneeded SSLSocket.startHandshake luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java Removed warnings due to now missing modules in classpath run-core-tests Change-Id: I6e149ae259b3feccdfb0673209c85cfeb60befc8
* | Rewrite the HTTP connection pool used by HttpURLConnection.Jesse Wilson2010-04-201-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This started off as incremental changes, but it ended up going far enough that it earned the "rewrite" badge. System.getProperty() is not called for every HTTP connection. This is slightly controversial, but the old code had to bend over backwards to support dynamic pool changes, and it didn't even support the case when the pool shrank but not to 0. The new code doesn't do I/O within static synchronized blocks. This should reduce contention described here: http://b/issue?id=2606547 Also: simpify implementation, prettier names, more focused doc.
* | Merge commit '8812fdd7' into manualmergeJesse Wilson2010-03-291-1/+6
|\ \ | |/ | | | | | | Conflicts: libcore/xml/src/test/java/tests/api/javax/xml/parsers/SAXParserFactoryTest.java
| * Fixing tests to handle changes in our behaviour since DOM 3.Jesse Wilson2010-03-261-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our exception priority has changed for DOM attributes. We previously used to throw DOMExceptions with namespace error codes and now throw DOMExceptions with character error codes when the attribute name is malformed. This caused changes to many tests. Another notable behaviour change is that we now supply the qname (like the RI) where previously we did not. It is optional, but we now include it for RI-consistency. Yet another behaviour change is that we don't look at System properties when choosing a SAX implementation. This simplifies our internals significantly. End users who want an alternative SAX implementation should construct it manually. Also adding @KnownFailure tags for new tests that we have never yet passed. Change-Id: I6f81bedd7c2a0867086dc507b3220c2b07c4d3d3
* | Merge remote branch 'goog/master' into mmElliott Hughes2010-02-221-0/+16
|\ \ | |/ | | | | | | Conflicts: libcore/JavaLibrary.mk
| * Filling in some gaps in our XML DOM v3 API.Jesse Wilson2010-02-191-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifically, these methods on Node: - setTextContent() - isSameNode() - lookupPrefix() - lookupNamespaceURI() In order to implement the last 2 I needed to fix our KXml parser to include namespace attributes (ie. xmlns) in the pulled document. Previously these were being elided. Added a new testcase to verify our behaviour. It passes the RI. On Dalvik we have a small issue with entity declarations. Added a new testcase to verify Node.getBaseURI(). This test fails because the method isn't implemented. Part of this test required moving a method out to Support_Resources.java; in order to verify the BaseURI the XML must be read from a file and not a stream (so that path information exists). Also... - Style cleanup: changing static calls to look like static calls. - Efficiency: avoiding concatenating with "" when unnecessary - Duplication: sharing prefix validation between attributes and elements - Renaming NodeTests to NodeTest for vogar-friendliness Outstanding: - I need to write a test for setTextContent().
* | Remove some potential test flakiness.Elliott Hughes2010-02-121-37/+24
|/ | | | Bug: 2441548
* Fix all the harmony java.util.Formatter tests.Elliott Hughes2010-01-291-6/+15
| | | | | | | | | | | ICU thinks that German short weekday names should be "So." et seq rather than "So". This brings us into line with frameworks/base, which I'm depressed to find has its own copy of the CLDR data in XML form (and its own date/time formatters). Also fix TestEnvironment to not clobber "user.name", which we need in order to set our expectations in cases where being root affects what we can/can't do. (This also fixes a few other harmony tests.)
* am ff3a96c9: am c4f93305: Fix for ↵Brett Chabot2010-01-272-41/+46
|\ | | | | | | | | | | | | | | | | DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object Merge commit 'ff3a96c9055888140893158fff8b33831b949e49' * commit 'ff3a96c9055888140893158fff8b33831b949e49': Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object
| * Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_ObjectBrett Chabot2010-01-212-41/+46
| | | | | | | | | | | | | | | | Add additional logic to skip checks that require specific locales. Bug 2386416 Change-Id: Icc30e04d393a22b272966555e617598323aefa0b
* | Fix Date.toString.Elliott Hughes2010-01-141-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Date.toString was using the TimeZone id ("America/Los_Angeles") rather than the time zone short name ("PDT" or "PST", depending on time of year). The naive fix made things 5x slower, so I improved Resources.getDisplayTimeZone so the fixed Date.toString is only 2x slower. This could be improved further with a faster getDisplayTimeZone. I hoped to replace the body of Date.toString with a call to SimpleDateFormat, but that turns out to be 40x slower. This patch also optimizes SimpleDateFormat to bring the gap down to 8x by using Resources.getDisplayTimeZone instead of asking for all the strings. (Note that these improvements refer to the hopefully common case of localized strings for the default locale. If you have the misfortune to need strings for other locales, the new code will be more like 600x faster. At 0.5s a call on the fastest current hardware, I hope no-one's actually doing that. Dalvik Explorer -- available on the Market -- needs to do it when generating summary reports, and it is indeed ridiculously slow. It uses two SimpleDateFormat objects per locale, so it takes 1s per locale, for about 60 locales. I've tested Dalvik Explorer with this patch, and it does fix that pathological behavior.) Also fix a bug I introduced in https://android-git.corp.google.com/g/36242 that meant that our zone names String[][] contained incorrect values (accidentally concatenating each successive value in a row), found by existing tests now we use more of those values. Also replace a couple of "new Integer" calls with Integer.valueOf for a modest speedup. Also factor out some duplication. Bug: http://code.google.com/p/android/issues/detail?id=6013
* | Fixing our default HTTP Accept header to be spec-compliant.Jesse Wilson2010-01-081-1/+1
| | | | | | | | | | | | | | | | | | See bug http://code.google.com/p/android/issues/detail?id=5843 Also fixing a bug in the test webserver, where we weren't formatting the headers properly. I'm dumbfounded how the tests passed previously; although I fear that omitting the @TestTargetNew annotation might mean that they weren't being run. I'll investigate that in a follow up.
* | am d3b06457: am 6cdbef55: Merge change I1d9b205f into eclairBrett Chabot2009-12-221-0/+49
|\ \ | |/ | | | | | | | | | | Merge commit 'd3b0645772fd3364575b93c74428ae19f88c4238' * commit 'd3b0645772fd3364575b93c74428ae19f88c4238': Skip locale dependent libcore tests if required locales are not present.
| * Skip locale dependent libcore tests if required locales are not present.Brett Chabot2009-12-221-0/+49
| | | | | | | | | | | | | | | | | | Previously these tests were marked as KnownFailures - which is undesirable since they can pass if the right Locale's are present on target. Bug 2335906 Change-Id: I1d9b205f740b71880c57b48f069c302c5cec8792
* | Android ICU4.2.1 upgrade.Claire Ho2009-12-021-47/+50
| | | | | | | | | | | | | | | | | | | | For detail of dalvik changes, please see: https://docs.google.com/a/google.com/View?docid=0AfZlO7RuiBh5Y2NmMjdndmJfNDVmNWM2cGY0NQ&hl=en Bug: 1823720 Reviewed-by: jessewilson@google.com,enh@google.com CC: Signed-off-by:
* | Fix KXmlSerializer so it won't generate invalid XML.Elliott Hughes2009-11-181-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | We were allowing arbitrary characters to be output (which, surprisingly, XML does not), and we weren't correctly escaping CDATA sections that contained "]]>". Pull out some of my test helpers from DocumentBuilderTest into Support_Xml, because they're more generally useful when writing tests involving XML. Also correct a bunch of spelling mistakes in XmlSerializer's javadoc, since I happened to be reading through.
* | Fix HttpURLConnection's chunked encoding behavior.Elliott Hughes2009-11-122-78/+52
| | | | | | | | | | | | | | | | | | | | | | | | A third-party developer who wasn't reading to the end of the stream found that their next connection would return junk, which turned out to be the tail of the first response (thanks to connection recycling). Make sure we clean up a chunked-encoding stream before allowing the connection to be reused. Enhance our test web server to implement chunked encoding properly, with configurable chunk sizes, rather than just responding with a single chunk. Bug: http://code.google.com/p/android/issues/detail?id=2939
* | Remove deadlock-prone thread pool.Elliott Hughes2009-11-041-91/+7
| | | | | | | | | | | | | | | | This is only test code, so let's not make it any more complicated than it needs to be. (The code sometimes locked the Vector before the individual Worker, and sometimes the other way round.)
* | Fixing 1 of the 4 BufferedReader test failures in bug 2224903.Jesse Wilson2009-10-301-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL includes the following functional changes: - changing read to not clear the mark upon reading EOF - changing read(char[], int, int) to use the 'read directly from the source stream' shortcut when the mark has exceeded its limit. Previously we took the shortcut only when the mark was unset. And these nonfunctional changes - rewrote read(char[], int, int) dramatically. The new revision contains only one call to 'System.arrayCopy' and the related bookkeeping. Previously there was one call before the loop, and another call in the loop. - renamed markpos to mark - renamed marklimit to markLimit - renamed count to end (it isn't a count, it's a position) - simplifying conditions that used >= when > was impossible - reducing the number of field reads where convenient
* | Implement ProcessBuilder.redirectErrorStream.Elliott Hughes2009-10-281-2/+23
| | | | | | | | | | | | | | Also simplify and correct the security to ensure that the user can't modify the command to be executed after the SecurityManager has approved it. Bug: 2180063
* | A new hygenic way for tests to clean up before or after execution.Jesse Wilson2009-10-252-73/+159
| | | | | | | | This replaces PrefsTester and is more general purpose.
* | Respond to impossible CloneNotSupportedExceptions with AssertionErrors.Jesse Wilson2009-10-161-1/+1
| | | | | | | | See bug 2183132.
* | Adding a timeout for standard out as well as standard error.Jesse Wilson2009-10-091-24/+27
| |
* | Rewrite Support_Exec to support timeouts on waiting processes.Jesse Wilson2009-10-091-171/+79
|/ | | | | | Also rewriting SupportExec to use ProcessBuilder rather than Runtime.exec(). Changed callers to use the ProcessBuilder directly rather than calling-through chained methods.
* Merge change 24110 into eclairAndroid (Google) Code Review2009-09-151-0/+0
|\ | | | | | | | | * changes: JarFile was not able to verify signed files with size 0.
| * JarFile was not able to verify signed files with size 0.Urs Grob2009-09-071-0/+0
| | | | | | | | | | | | This regressen was introduced by harmony optimizations done in HARMONY-4569. This fix allows for jar entries of size 0 to also get successfully validated. A regression test has been added to JarFileTest.
* | Fixing the delimiter for the HTTP "Accept" header to be well-formed.Jesse Wilson2009-09-111-8/+45
|/ | | | See bug 2107897.
* Update prefs to Harmony r772995.Jesse Wilson2009-08-311-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable changes: - exception handling has changed to cleanup more reliably - calls to Collection.toArray() size the array properly - lots of style tweaks (rewrapping Javadoc, reintending wrapped code, whitespace) - new PrefsTester class ensures tests store prefs in the tmp directory Squashed commit of the following: commit 2157269d8ed39ccb8a71d735c12bbabcfd548243 Merge: d287282 97818bf Author: Jesse Wilson <jessewilson@google.com> Date: Wed Aug 5 11:14:26 2009 -0700 Merge branch 'prefs_772995' into prefs_dalvik Conflicts: libcore/prefs/.classpath libcore/prefs/.settings/org.eclipse.jdt.core.prefs libcore/prefs/build.xml libcore/prefs/make/exclude.linux.x86_64.drl libcore/prefs/make/exclude.windows.x86.drl libcore/prefs/make/exclude.windows.x86_64.drl libcore/prefs/src/main/java/java/util/prefs/AbstractPreferences.java libcore/prefs/src/main/java/java/util/prefs/BackingStoreException.java libcore/prefs/src/main/java/java/util/prefs/FilePreferencesFactoryImpl.java libcore/prefs/src/main/java/java/util/prefs/FilePreferencesImpl.java libcore/prefs/src/main/java/java/util/prefs/InvalidPreferencesFormatException.java libcore/prefs/src/main/java/java/util/prefs/NodeChangeEvent.java libcore/prefs/src/main/java/java/util/prefs/NodeChangeListener.java libcore/prefs/src/main/java/java/util/prefs/PreferenceChangeEvent.java libcore/prefs/src/main/java/java/util/prefs/PreferenceChangeListener.java libcore/prefs/src/main/java/java/util/prefs/Preferences.java libcore/prefs/src/main/java/java/util/prefs/PreferencesFactory.java libcore/prefs/src/main/java/java/util/prefs/RegistryPreferencesFactoryImpl.java libcore/prefs/src/main/java/java/util/prefs/RegistryPreferencesImpl.java libcore/prefs/src/main/java/java/util/prefs/XMLParser.java libcore/prefs/src/main/java/org/apache/harmony/prefs/internal/nls/Messages.java libcore/prefs/src/main/native/prefs/windows/PreferencesImpl.c libcore/prefs/src/main/native/prefs/windows/hyprefs.rc libcore/prefs/src/main/native/prefs/windows/makefile libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/AbstractPreferencesTest.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/AllTests.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/FilePreferencesImplTest.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockAbstractPreferences.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockPreferencesFactory.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockSecurityManager.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/NodeChangeListenerTest.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferenceChangeListenerTest.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferencesFactoryTest.java libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferencesTest.java libcore/prefs/src/test/java/tests/prefs/AllTests.java commit d287282b550d4a5d262f1d1703344ed61bdc6d15 Author: Jesse Wilson <jessewilson@google.com> Date: Tue Aug 4 14:36:36 2009 -0700 Dalvik Prefs commit 97818bf21cfde744eeb5fbf1f9c31d9bd66f5a2e Author: Jesse Wilson <jessewilson@google.com> Date: Tue Aug 4 14:35:52 2009 -0700 Prefs 772995 commit 9a506f93947938dad3b41e1393f53b766ba0319f Author: Jesse Wilson <jessewilson@google.com> Date: Tue Aug 4 14:22:40 2009 -0700 Prefs 527399
* IPv6 fixes to java.net.InetAddress.Lorenzo Colitti2009-08-261-14/+0
| | | | | | | | | | | | | 1. Make hashCode() do something that makes sense for IPv6 addresses. 2. Expand coverage of hashCode unit test. 3. Fix failing regression test for getAllByName(). 4. Document that the getByName test is broken. I will fix it in a future change. 5. Expand test coverage of the isMulticastAddress test to include IPv6 and non-multicast addresses. All tests now pass. Change-Id: I6f52c7c3213dd01bf773228b1ed5d44df813f877
* Removing MD2Urs Grob2009-07-292-2/+7
|
* Reactivating tests disabled because of ClassLoader loopUrs Grob2009-05-281-8/+2
| | | | | | | Since ClassLoader.isAncestorOf has been fixed these tests now succeed. So they can be reactivated. BUG=1732214
* AI 147896: Some more fixes for tests that failed inJorg Pleumann2009-04-281-3/+26
| | | | | | | | | | | | | | | | the CTS, but worked fine in run-core-tests: - One cert test needs isolation, because it destroys the security provider. - The Thread.sleep() tests were too flaky. - Tests that tried to open a temporary DEX file failed in the CTS because we do not have access to the system DEX cache. We are now simply creating our own. The Java plan in the CTS should now pass fully. Yippie! BUG=1285921 Automated import of CL 147896
* AI 147121: Fixes for tests in the luni module.Urs Grob2009-04-213-0/+1296
| | | | | | | There are still some tests that are failing in the cts host. This CL will fix most of them in the luni module. BUG=1285921 Automated import of CL 147121
* AI 143070: Two small fixes for the support module. TheJorg Pleumann2009-03-272-11/+4
| | | | | | | | | | classloader factory didn't work, since the innerhalb classes had to be static. Plus we don't want to see System.out stuff in the tests. BUG=1285921 Automated import of CL 143070
* Automated import from //branches/cupcake/...@141706,141706Urs Grob2009-03-244-233/+44
|
* auto import from //branches/cupcake_rel/...@141571The Android Open Source Project2009-03-191-0/+61
|
* auto import from //branches/cupcake_rel/...@138607The Android Open Source Project2009-03-131-5/+10
|
* auto import from //branches/cupcake/...@137873The Android Open Source Project2009-03-113-12/+16
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-03223-0/+15698
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-03223-15698/+0
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-1016-12/+219
|
* auto import from //branches/cupcake/...@125939The Android Open Source Project2009-01-0984-700/+4487
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-1715-10/+999
|
* Initial ContributionThe Android Open Source Project2008-10-21137-0/+10715