summaryrefslogtreecommitdiffstats
path: root/net/tools/testserver/testserver.py
Commit message (Collapse)AuthorAgeFilesLines
* Revert 64070 - Revert 64065 - testserver.py listens on ephemeral ports by ↵cbentzel@chromium.org2010-10-271-9/+17
| | | | | | | | | | | | | | | | | | | | | default. If --port is specified on the command line, testserver.py will listen on that port, otherwise it will listen on an ephemeral port. If --startup_pipe is specified, the port number is written to the pipe as a 2 byte unsigned int in host order. TestServer by default spawns testserver.py to listen on an ephemeral port and reads the port value from the pipe. If necessary, the port can still be fixed using TestServer::ForcePort, but that will hopefully get deprecated quickly. BUG=56814 TEST=try bots pass Review URL: http://codereview.chromium.org/3549003 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/4165004 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/4146008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64118 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 64065 - testserver.py listens on ephemeral ports by default.cbentzel@chromium.org2010-10-271-17/+9
| | | | | | | | | | | | | | | | | | I'm not convinced that this caused some of the test failures, but I needed to leave unexpectedly and didn't have time to investigate. If --port is specified on the command line, testserver.py will listen on that port, otherwise it will listen on an ephemeral port. If --startup_pipe is specified, the port number is written to the pipe as a 2 byte unsigned int in host order. TestServer by default spawns testserver.py to listen on an ephemeral port and reads the port value from the pipe. If necessary, the port can still be fixed using TestServer::ForcePort, but that will hopefully get deprecated quickly. BUG=56814 TEST=try bots pass Review URL: http://codereview.chromium.org/3549003 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/4165004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64070 0039d316-1c4b-4281-b951-d872f2087c98
* testserver.py listens on ephemeral ports by default.cbentzel@chromium.org2010-10-271-9/+17
| | | | | | | | | | | | | If --port is specified on the command line, testserver.py will listen on that port, otherwise it will listen on an ephemeral port. If --startup_pipe is specified, the port number is written to the pipe as a 2 byte unsigned int in host order. TestServer by default spawns testserver.py to listen on an ephemeral port and reads the port value from the pipe. If necessary, the port can still be fixed using TestServer::ForcePort, but that will hopefully get deprecated quickly. BUG=56814 TEST=try bots pass Review URL: http://codereview.chromium.org/3549003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64065 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Get rid of the test server's /kill switchphajdan.jr@chromium.org2010-10-041-33/+0
| | | | | | | | | | | | | This also allows us to remove a quite complicated test. The lifetime of the test server is now fully controlled by its c++ launcher. BUG=49680 TEST=none Review URL: http://codereview.chromium.org/3479018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61358 0039d316-1c4b-4281-b951-d872f2087c98
* Implement changes_remaining GetUpdates response; this will reducenick@chromium.org2010-09-221-1/+1
| | | | | | | | | | | | | | the number of GetUpdates that the client actually does, since "changes_remaining == 0" is treated as a termination condition. Also, add an indication of client identity to the logger. BUG=55809 TEST=sync_integration_tests, chromiumsync_test.py Review URL: http://codereview.chromium.org/3462006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60229 0039d316-1c4b-4281-b951-d872f2087c98
* Wait on a pipe for the test server to start updavidben@chromium.org2010-09-221-0/+17
| | | | | | | | | | | | | This should speed up testserver-based unit tests considerably and make them less flakey. R=agl,cpu,phajdan,wtc BUG=49680 TEST=net_unittests Review URL: http://codereview.chromium.org/3368012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60199 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "net: add test for False Start corking."agl@chromium.org2010-09-211-24/+0
| | | | | | This reverts commit r60056. The test failed on Windows. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60059 0039d316-1c4b-4281-b951-d872f2087c98
* net: add test for False Start corking.agl@chromium.org2010-09-211-0/+24
| | | | | | | | | | | See r58838 for details of why we do False Start corking. BUG=none TEST=net_unittests http://codereview.chromium.org/3427014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60056 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Make the parallel launcher use different ports for test https servers ↵phajdan.jr@chromium.org2010-09-151-39/+0
| | | | | | | | | | | for different shards. BUG=54098 TEST=none Review URL: http://codereview.chromium.org/3452001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59547 0039d316-1c4b-4281-b951-d872f2087c98
* Stabilize sync integration testsrsimha@chromium.org2010-09-151-24/+0
| | | | | | | | | | | This patch contains more updates to the ProfileSyncServiceTestHarness class, in light of recent changes to the sync startup sequence, and new tests that require support for offline scenarios. BUG=53858,54743,52007 TEST=sync_integration_tests Review URL: http://codereview.chromium.org/3399002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59463 0039d316-1c4b-4281-b951-d872f2087c98
* Implement gallery install APIrafaelw@chromium.org2010-09-091-1/+2
| | | | | | | | | | This patch implements chrome.experimental.management.install() which is only available for use by the web store. Calling with an extensionId, causes the download url to be constructed internally and downloaded and then cause the installation to bypass the normal permissions dialog. BUG=27431,54148 Review URL: http://codereview.chromium.org/3353015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58956 0039d316-1c4b-4281-b951-d872f2087c98
* Disable request logging in test HTTP server to declutter log output.phajdan.jr@chromium.org2010-08-261-0/+4
| | | | | | | | | TEST=none BUG=52645 Review URL: http://codereview.chromium.org/3163041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57530 0039d316-1c4b-4281-b951-d872f2087c98
* Improve support for requesting client certs in tlslitersleevi@chromium.org2010-08-211-4/+21
| | | | | | | | | | | Currently, tlslite only supports the caller passing in a list of CAs pre-encoded for the TLS CertificateRequest message. This CL improves that, by providing a means of extracting the DER-encoded subject name from an X509 certificate, supplying a list of such names to tlslite's server routines, and having tlslite encode the list of CAs as part of the CertificateRequest. BUG=47656, 47658 TEST=net_unittests Review URL: http://codereview.chromium.org/3177015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56982 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Remove TryKillingOldServer from testserver.py, it's broken.phajdan.jr@chromium.org2010-08-191-14/+0
| | | | | | | | | | | | | | | Sometimes TryKillingOldServer fails with an exception we don't catch, which is even worse because then the new server fails to start. We should rely on the C++ code to kill the server in a reliable way, rather than this Python hack. TEST=net_unittests, unit_tests, ui_tests, ... BUG=52644 Review URL: http://codereview.chromium.org/3110025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56736 0039d316-1c4b-4281-b951-d872f2087c98
* Test server cleanup patch of death:phajdan.jr@chromium.org2010-08-171-2/+28
| | | | | | | | | | | | | | - reduce the number of different classes - clean up the internal code - modify the interface to expose less internal details (this will allow more flexibility with port numbers) TEST=many BUG=49680 Review URL: http://codereview.chromium.org/3080029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56405 0039d316-1c4b-4281-b951-d872f2087c98
* Simple offline startup integration test.skrul@chromium.org2010-08-131-0/+24
| | | | | | | | | | This is a simple offline startup integration test. This change also includes the groundwork for more complex offline startup test cases, including the ability to enable and disable network connectivity as well as configure the mock sync server with a username. BUG=47918 Review URL: http://codereview.chromium.org/3078031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56087 0039d316-1c4b-4281-b951-d872f2087c98
* Add rudimentary support for client auth in testserver.py and unit testsdavidben@chromium.org2010-08-071-3/+9
| | | | | | | | | | | | | Nothing fancy for now. Just some tests that ERR_SSL_CLIENT_AUTH_CERT_NEEDED is returned from the socket layer, and that URLRequest requests a certificate. R=wtc BUG=51132,51127 TEST=SSLClientSocketTest.ConnectClientAuthNoCert,HTTPRequestTest.ClientAuthTest Review URL: http://codereview.chromium.org/3014055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55318 0039d316-1c4b-4281-b951-d872f2087c98
* Allow testserver to run without chromiumsync.pathorn@chromium.org2010-07-271-5/+7
| | | | | | | | | BUG=43624 TEST=Able to run 'PYTHONPATH=third_party/tlslite:third_party/pyftpdlib python net/tools/testserver/testserver.py --data-dir=chrome/test/data/' Review URL: http://codereview.chromium.org/3014036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53812 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: test server cleanup:phajdan.jr@chromium.org2010-07-231-23/+2
| | | | | | | | | | | | | - simplify the public interface - remove unneeded methods - make it easier to understand TEST=none BUG=49680 Review URL: http://codereview.chromium.org/2881028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53509 0039d316-1c4b-4281-b951-d872f2087c98
* Re-apply http://codereview.chromium.org/1622012timurrrr@chromium.org2010-04-301-3/+58
| | | | | | | | | It was reverted as http://codereview.chromium.org/1822001 the fix in Valgrind scripts has been commited as http://codereview.chromium.org/1736026 TEST=trybots Review URL: http://codereview.chromium.org/1763023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46070 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "[Third time landing] Python implementation of sync server, for testing."phajdan.jr@chromium.org2010-04-301-58/+3
| | | | | | | | | | This broke the memory waterfall, failed to import protobuf. TBR=nick Review URL: http://codereview.chromium.org/1822001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46048 0039d316-1c4b-4281-b951-d872f2087c98
* [Third time landing] Python implementation of sync server, for testing.nick@chromium.org2010-04-301-3/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | Implement the server side of chromium sync inside of testserver.py. The implementation supports at most one account (and ignores authentication credentials), but is otherwise reasonably full featured. Make the sync_integration_tests run by default against the test server. An externally-provided --sync-url will give the old behavior. Protocol buffers stuff: The test sync server requires Python generated code for .proto files. I've put generated code, as well as the python protocol buffers runtime library, in the output directory + "/python" (e.g, on windows, src/chrome/Debug/python/google/protobuf). Flakiness fix: In the InProcessBrowserTest framework, improve the mechanism for tests that want to manually set up a user data directory. The new way ensures that the user data directory is always wiped; tests can't accidentally forget to do this anymore. Flakiness fix: Make testserver try to /kill any old instance that might be hogging the port. Very useful if a test failure leaves a server running. Tested this against all combos of protocols, and it seems to work. Flakiness fix: Port sync_integration_tests to the out-of-process test runner. Flakiness fix: For IN_PROC_BROWSER_TESTS, don't run the test body if the setup triggered a fatal (ASSERT_) failure. BUG=20905,40980 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=44708 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=45916 Review URL: http://codereview.chromium.org/1622012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46040 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 45916 - Python implementation of sync server, for testing.nick@chromium.org2010-04-291-58/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Implement the server side of chromium sync inside of testserver.py. The implementation supports at most one account (and ignores authentication credentials), but is otherwise reasonably full featured. Make the sync_integration_tests run by default against the test server. An externallyprovided syncurl will give the old behavior. Protocol buffers stuff: The test sync server requires Python generated code for .proto files. I've put generated code, as well as the python protocol buffers runtime library, in the output directory + "/python" (e.g, on windows, src/chrome/Debug/python/google/protobuf). This might be a bad place, or a bad name open to suggestions. The main thing is that there will be runtime dependencies on it, so it didn't seem right to put it in obj/. Flakiness fix: In the InProcessBrowserTest framework, improve the mechanism for tests that want to manually set up a user data directory. The new way ensures that the user data directory is always wiped; tests can't accidentally forget to do this anymore. Flakiness fix: Make testserver try to /kill any old instance that might be hogging the port. Very useful if a test failure leaves a server running. Tested this against all combos of protocols, and it seems to work. Flakiness fix: Port sync_integration_tests to the outofprocess test runner. Flakiness fix: For IN_PROC_BROWSER_TESTS, don't run the test body if the setup triggered a fatal (ASSERT_) failure. BUG=20905,40980 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=44708 Review URL: http://codereview.chromium.org/1622012 TBR=nick@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45918 0039d316-1c4b-4281-b951-d872f2087c98
* Python implementation of sync server, for testing.nick@chromium.org2010-04-291-3/+58
| | | | | | | | | | | | | | | | | | | | | | | | Implement the server side of chromium sync inside of testserver.py. The implementation supports at most one account (and ignores authentication credentials), but is otherwise reasonably full featured. Make the sync_integration_tests run by default against the test server. An externally-provided --sync-url will give the old behavior. Protocol buffers stuff: The test sync server requires Python generated code for .proto files. I've put generated code, as well as the python protocol buffers runtime library, in the output directory + "/python" (e.g, on windows, src/chrome/Debug/python/google/protobuf). This might be a bad place, or a bad name -- open to suggestions. The main thing is that there will be run-time dependencies on it, so it didn't seem right to put it in obj/. Flakiness fix: In the InProcessBrowserTest framework, improve the mechanism for tests that want to manually set up a user data directory. The new way ensures that the user data directory is always wiped; tests can't accidentally forget to do this anymore. Flakiness fix: Make testserver try to /kill any old instance that might be hogging the port. Very useful if a test failure leaves a server running. Tested this against all combos of protocols, and it seems to work. Flakiness fix: Port sync_integration_tests to the out-of-process test runner. Flakiness fix: For IN_PROC_BROWSER_TESTS, don't run the test body if the setup triggered a fatal (ASSERT_) failure. BUG=20905,40980 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=44708 Review URL: http://codereview.chromium.org/1622012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45916 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 44708 - Python implementation of sync server, for testing.nick@chromium.org2010-04-151-58/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Implement the server side of chromium sync inside of testserver.py. The implementation supports at most one account (and ignores authentication credentials), but is otherwise reasonably full featured. Make the sync_integration_tests run by default against the test server. An externallyprovided syncurl will give the old behavior. Protocol buffers stuff: The test sync server requires Python generated code for .proto files. I've put generated code, as well as the python protocol buffers runtime library, in the output directory + "/python" (e.g, on windows, src/chrome/Debug/python/google/protobuf). This might be a bad place, or a bad name open to suggestions. The main thing is that there will be runtime dependencies on it, so it didn't seem right to put it in obj/. Flakiness fix: In the InProcessBrowserTest framework, improve the mechanism for tests that want to manually set up a user data directory. The new way ensures that the user data directory is always wiped; tests can't accidentally forget to do this anymore. Flakiness fix: Make testserver try to /kill any old instance that might be hogging the port. Very useful if a test failure leaves a server running. Tested this against all combos of protocols, and it seems to work. Flakiness fix: Port sync_integration_tests to the outofprocess test runner. Flakiness fix: For IN_PROC_BROWSER_TESTS, don't run the test body if the setup triggered a fatal (ASSERT_) failure. BUG=20905,40980 Review URL: http://codereview.chromium.org/1622012 TBR=nick@chromium.org Review URL: http://codereview.chromium.org/1633015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44714 0039d316-1c4b-4281-b951-d872f2087c98
* Python implementation of sync server, for testing.nick@chromium.org2010-04-151-3/+58
| | | | | | | | | | | | | | | | | | | | | | Implement the server side of chromium sync inside of testserver.py. The implementation supports at most one account (and ignores authentication credentials), but is otherwise reasonably full featured. Make the sync_integration_tests run by default against the test server. An externally-provided --sync-url will give the old behavior. Protocol buffers stuff: The test sync server requires Python generated code for .proto files. I've put generated code, as well as the python protocol buffers runtime library, in the output directory + "/python" (e.g, on windows, src/chrome/Debug/python/google/protobuf). This might be a bad place, or a bad name -- open to suggestions. The main thing is that there will be run-time dependencies on it, so it didn't seem right to put it in obj/. Flakiness fix: In the InProcessBrowserTest framework, improve the mechanism for tests that want to manually set up a user data directory. The new way ensures that the user data directory is always wiped; tests can't accidentally forget to do this anymore. Flakiness fix: Make testserver try to /kill any old instance that might be hogging the port. Very useful if a test failure leaves a server running. Tested this against all combos of protocols, and it seems to work. Flakiness fix: Port sync_integration_tests to the out-of-process test runner. Flakiness fix: For IN_PROC_BROWSER_TESTS, don't run the test body if the setup triggered a fatal (ASSERT_) failure. BUG=20905,40980 Review URL: http://codereview.chromium.org/1622012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44708 0039d316-1c4b-4281-b951-d872f2087c98
* Removing a clock dependent behavior in testserver which causedtonyg@chromium.org2010-03-311-17/+24
| | | | | | | | | | | | | | | | | | | TestTwoAuths and TestDigestAuth to fail when they take more than 10 seconds to send auth (which happens sometimes under valgrind). Now the unittest can control whether it wants to receive a stale nonce reply by requesting /auth-digest/stale. I plan to add a test for the stale flow in a subsequent patch. Also, this patch cleans up NavigateToURL calls in LoginPromptTest so that they are all in-place ASSERTs. This makes the messages more useful. BUG=36163,25794,38580 TEST=sh tools/valgrind/chrome_tests.sh -t ui --gtest_filter=LoginPromptTest.* Review URL: http://codereview.chromium.org/1508001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43266 0039d316-1c4b-4281-b951-d872f2087c98
* Add a UI test to make sure that each frame of a multiparttony@chromium.org2010-03-051-0/+23
| | | | | | | | | | | request does not generate a separate row in the history database. BUG=34350 Review URL: http://codereview.chromium.org/668051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40709 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent python http server used in unit tests from crashing in a hard to ↵robertshield@chromium.org2010-01-201-10/+20
| | | | | | | | | | diagnose way when a .mock-http-headers file is not perfectly formatted. Add a --never-die option that makes it more convenient to manually run some tests by preventing the server from dying when a /kill url is visited. Review URL: http://codereview.chromium.org/549110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36642 0039d316-1c4b-4281-b951-d872f2087c98
* Support the PUT HTTP verb in ChromeFrame in the IE host network stack ↵ananta@chromium.org2010-01-111-7/+17
| | | | | | | | | | | | | | | | | | implementation. This verb is supported in the Chrome network stack. Added a urlrequest test for the HTTP PUT verb and corresponding support in the HTTP test server. Fixes bug http://code.google.com/p/chromium/issues/detail?id=31629 Bug=31629 Test=Covered by net tests. Review URL: http://codereview.chromium.org/538012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35922 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes ChromeFrame net tests which run the URLRequest unit tests by launching ↵ananta@chromium.org2009-10-231-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | IE and having it issue the corresponding HTTP requests via automation. Fixes as below:- 1. The DefaultAcceptCharset and DefaultAcceptLanguage tests were failing because the URL request automation job would only read the extra headers from the request. These tests set these headers in the URLRequestContext. We needed to mimic the functionality in the URLRequestHttpJob to add in these headers if they were not already present. As part of this I moved the AppendHeaderIfMissing function from url_request_http_job.cc to HttpUtil as it is needed by the automation job as well. 2. The OverrideAcceptLanguage and OverrideAcceptCharset tests started failing in chrome frame net tests after the fixes to get the default versions of these tests to pass. These tests basically pass in the Accept-Language and Accept-Charset headers and expect the same values to be echoed back. IE ends up caching the responses from the default versions of these tests and thus echoes back the old response which causes these tests to fail. I tried passing in the no-cache header from our HTTP server for the EchoHeader tests but this did not work. To fix this we now pass in the echoheaderoverride parameter for the OverrideAcceptLanguage and OverrideAcceptCharset tests. The HTTP server has been updated to support this. 3. NotifyDone can be called on the job if the original request was redirected. Added a check for whether NotifyDone was already called on the job in URLRequestAutomationJob Review URL: http://codereview.chromium.org/322004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29895 0039d316-1c4b-4281-b951-d872f2087c98
* The Python test server now ignores querystrings params when serving local files.finnur@chromium.org2009-10-021-2/+8
| | | | | | | | | | | | | | | | I'm having no luck getting the try bots to recognize this change to the python file, so I am separating my already LG'ed changelist (http://codereview.chromium.org/246066) into two (this part and a followup patch) in the hopes that my tests (next CL) will succeed. I fixed our python test server to serve files even though there is a querystring in the url (the server basically just ignores the querystring). This is needed in my next cl because the html we serve has js that acts on data in the querystring. Also made it have the right content-header when serving xml files (text/html). TBR=aa BUG=None TEST=None Review URL: http://codereview.chromium.org/242120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27862 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability to not send cookies or send user name/password.levin@chromium.org2009-08-261-0/+21
| | | | | | | | | | | Added unit tests for the above functionality plus the do not save cookies functionality. BUG=http://crbug.com/10961 TEST=Added unit tests for this. Also, this isn't yet called from the rest of the code. Review URL: http://codereview.chromium.org/173206 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24412 0039d316-1c4b-4281-b951-d872f2087c98
* Speed up net_unittests a bit by re-using launched test server.phajdan.jr@chromium.org2009-08-141-2/+23
| | | | | | | | | | | | | | On POSIX it makes the server fork a separate process for each request for better test isolation. Starting with just few tests to limit impact of an eventual breakage. The results are promising. TEST=none BUG=none Review URL: http://codereview.chromium.org/164522 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23481 0039d316-1c4b-4281-b951-d872f2087c98
* Add support to URLRequest for deferring redirects.darin@chromium.org2009-07-231-0/+4
| | | | | | | | | | | | | | | | | | | | I chose to add an out parameter to OnReceivedRedirect because it allows for the default behavior to remain the same. I considered adding a ContinueAfterRedirect method that all OnReceivedRedirect implementations would need to call, but this caused one annoying problem: In the case of a ChromePlugin, it is possible for the URLRequest to get deleted inside the handler for the redirect. This would make it hard to subsequently call a method on the URLRequest since I would need to have a way to determine if the URLRequest had been deleted. TEST=covered by unit tests BUG=16413,6442 R=eroman,wtc Review URL: http://codereview.chromium.org/155897 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21417 0039d316-1c4b-4281-b951-d872f2087c98
* Change timeout settings in CacheTest tohuanr@chromium.org2009-05-231-2/+2
| | | | | | | | make it run faster. Review URL: http://codereview.chromium.org/115678 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16833 0039d316-1c4b-4281-b951-d872f2087c98
* Fix testserver to return a correct MIME-type header.ericroman@google.com2009-05-071-1/+2
| | | | | | | | | | | | Originally, testserver was sending "Content-type: text/html" header regardless of a file extension, due to a bug in TestPageHandler.GetMIMETypeFromName. Patch by Yuta Kitamura <yutak@google.com>. Original code review: <http://codereview.chromium.org/100357> Review URL: http://codereview.chromium.org/115058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15510 0039d316-1c4b-4281-b951-d872f2087c98
* Scrape search definitions from forms that have onsubmit handlers. The ↵ben@chromium.org2009-04-101-1/+6
| | | | | | | | | | | | | | | | scraping is done after submit events are handled by the page DOM so doing this is safe. Adds test infrastructure for determining that scraping occurs on submit: - allow testserver to be configured to serve pages from / on the server - provide a ui test util that navigates and waits for N subsequent redirections/navigations before returning control to the test to handle automated submission Eric, please review the test server changes. Scott, please look over everything else. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=13444 Review URL: http://codereview.chromium.org/62145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13491 0039d316-1c4b-4281-b951-d872f2087c98
* revert until I can figure out why the tests are hangingben@chromium.org2009-04-091-6/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13448 0039d316-1c4b-4281-b951-d872f2087c98
* Scrape search definitions from forms that have onsubmit handlers. The ↵ben@chromium.org2009-04-091-1/+6
| | | | | | | | | | | | | | scraping is done after submit events are handled by the page DOM so doing this is safe. Adds test infrastructure for determining that scraping occurs on submit: - allow testserver to be configured to serve pages from / on the server - provide a ui test util that navigates and waits for N subsequent redirections/navigations before returning control to the test to handle automated submission Eric, please review the test server changes. Scott, please look over everything else. Review URL: http://codereview.chromium.org/62145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13444 0039d316-1c4b-4281-b951-d872f2087c98
* Respect cookies set in a 401 responses when restarting the http transaction.ericroman@google.com2009-03-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two parts to this change: (1) rebuild the request cookies before each transaction restart for authentication (2) notify the URLRequestHttpJob of header completion before *each* transaction restart for authentication By "each transaction" I mean the automatic restarts that don't require user input, such as: - replying to the first step of NTLM - selecting identity embedded in URL - selecting identity in auth-cache Needing to notify URLRequestHttpJob for these intermediate restarts is a consequence of cookie store management being done outside of HttpNetworkTransaction. After updating the cookie store, URLRequestHttpJob now tests |HttpTransaction::IsReadyToRestartForAuth()| to check whether the notification was informational or an identity is actually needed. R=wtc BUG=6450 Review URL: http://codereview.chromium.org/51004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12635 0039d316-1c4b-4281-b951-d872f2087c98
* Slight code change to make some global variables const.maruel@google.com2009-03-101-22/+46
| | | | | | | Fix >80 cols lines. Review URL: http://codereview.chromium.org/42013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11342 0039d316-1c4b-4281-b951-d872f2087c98
* fixes for python 2.6 warnings in the testserver.thomasvl@chromium.org2009-03-061-7/+13
| | | | | | | BUG=8300 Review URL: http://codereview.chromium.org/40235 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11142 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-7/+7
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Add a unit test for ERR_UNEXPECTED_SERVER_AUTH.wtc@chromium.org2009-02-141-0/+16
| | | | | | | | | | | | Remove the obsolete change to URLRequestHttpJob::IsRedirectResponse, which was accidentally checked in. R=eroman BUG=7338 Review URL: http://codereview.chromium.org/20279 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9816 0039d316-1c4b-4281-b951-d872f2087c98
* Sanitize proxy response codes to CONNECT requests. Forwtc@chromium.org2009-02-111-2/+40
| | | | | | | | | | | | | | | | | | anything other than 200 (success) or 400-599 (error), we rewrite the response code as 500 (internal server error) to prevent any special handling of the proxy's response to CONNECT by mistake. Add a new error code ERR_UNEXPECTED_SERVER_AUTH for a 401 response to a CONNECT request. Fix nits reported by cpplint.py. R=darin,eroman BUG=7338 Review URL: http://codereview.chromium.org/21158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9549 0039d316-1c4b-4281-b951-d872f2087c98
* Make test server to store files by sending POST /writefile/<filename> HTTP ↵stoyan@chromium.org2009-01-301-1/+39
| | | | | | | | request. Review URL: http://codereview.chromium.org/19476 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8965 0039d316-1c4b-4281-b951-d872f2087c98
* Add FTP unit test in preparation for portable FTP implementation.erikkay@google.com2009-01-081-24/+73
| | | | | | | | | | | | Clean up test server code. Originally from issue 12939, written by Ibrar Ahmed (ibrar.ahmed@gmail.com) (take 2) Review URL: http://codereview.chromium.org/17040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7755 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the test server to be smarter about when tonsylvain@chromium.org2008-12-301-98/+58
| | | | | | | | | | | | | | handle a command or not. This is to fix this problem: Adding a new command called "slowread" will not work if added after "slow", because the handler for "slow" handles all the commands that STARTS with slow, instead of slow[/?$] Review URL: http://codereview.chromium.org/17009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7515 0039d316-1c4b-4281-b951-d872f2087c98
* Add FTP unit test in preparation for portable FTP implementation.erikkay@google.com2008-12-301-24/+73
| | | | | | | | | | | Clean up test server code. Originally from issue 12939, written by Ibrar Ahmed (ibrar.ahmed@gmail.com) Review URL: http://codereview.chromium.org/16490 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7508 0039d316-1c4b-4281-b951-d872f2087c98