summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authornirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-02 01:49:35 +0000
committernirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-02 01:49:35 +0000
commit1797608235e4f7b7a37a2bd6f37744dff26bd89f (patch)
tree6ddfb6aae672dba7c8d40546c524c687d270bb93 /chrome/test
parent95e030fc385e50fd5e13743cad96c42f280f9b43 (diff)
downloadchromium_src-1797608235e4f7b7a37a2bd6f37744dff26bd89f.zip
chromium_src-1797608235e4f7b7a37a2bd6f37744dff26bd89f.tar.gz
chromium_src-1797608235e4f7b7a37a2bd6f37744dff26bd89f.tar.bz2
Work around download system breakpage by using WaitUntil on pyauto side.
Review URL: http://codereview.chromium.org/3367001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58297 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/functional/downloads.py8
-rw-r--r--chrome/test/pyautolib/pyauto.py13
2 files changed, 17 insertions, 4 deletions
diff --git a/chrome/test/functional/downloads.py b/chrome/test/functional/downloads.py
index 5ec5484..1af21c8 100644
--- a/chrome/test/functional/downloads.py
+++ b/chrome/test/functional/downloads.py
@@ -200,8 +200,12 @@ class DownloadsTest(pyauto.PyUITest):
self.DownloadAndWaitForStart(file_url)
# Waiting for big file to download might exceed automation timeout.
# Temporarily increase the automation timeout.
- self._CallFunctionWithNewTimeout(4 * 60 * 1000, # 4 min.
- self.WaitForAllDownloadsToComplete)
+
+ # Temp workaround for crbug.com/54131
+ # self._CallFunctionWithNewTimeout(4 * 60 * 1000, # 4 min.
+ # self.WaitForAllDownloadsToComplete)
+ self.WaitForAllDownloadsToComplete(timeout=4*60*1000)
+ # -- End workaround
# Verify that the file was correctly downloaded
self.assertTrue(os.path.exists(downloaded_pkg),
'Downloaded file %s missing.' % downloaded_pkg)
diff --git a/chrome/test/pyautolib/pyauto.py b/chrome/test/pyautolib/pyauto.py
index 3677851..2a48f55 100644
--- a/chrome/test/pyautolib/pyauto.py
+++ b/chrome/test/pyautolib/pyauto.py
@@ -489,13 +489,22 @@ class PyUITest(pyautolib.PyUITestBase, unittest.TestCase):
}
self._GetResultFromJSONRequest(cmd_dict)
- def WaitForAllDownloadsToComplete(self):
+ def WaitForAllDownloadsToComplete(self, timeout=-1):
"""Wait for all downloads to complete.
+ Args:
+ timeout: The timeout to use - default is WaitUntil's default timeout.
+
Note: This method does not work for dangerous downloads. Use
WaitForGivenDownloadsToComplete (below) instead.
"""
- self._GetResultFromJSONRequest({'command': 'WaitForAllDownloadsToComplete'})
+ # Downloads implementation is largely broken. Try to get around by using
+ # WaitUntil instead of using notifications. crbug.com/54131
+ # self._GetResultFromJSONRequest(
+ # {'command': 'WaitForAllDownloadsToComplete'})
+ return self.WaitUntil(
+ lambda: len(self.GetDownloadsInfo().DownloadsInProgress()) == 0,
+ timeout=timeout)
def WaitForDownloadToComplete(self, download_path, timeout=-1):
"""Wait for the given downloads to complete.