Title: [229630] trunk/Tools
- Revision
- 229630
- Author
- [email protected]
- Date
- 2018-03-15 11:39:43 -0700 (Thu, 15 Mar 2018)
Log Message
Add unit-test for NetworkTransaction URLError handling
https://bugs.webkit.org/show_bug.cgi?id=183664
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/networktransaction_unittest.py:
(NetworkTransactionTest._raise_URLError): Method to raise URLError.
(NetworkTransactionTest.test_retry_on_HTTPError): Renamed from test_retry.
(NetworkTransactionTest.test_retry_on_URLError): unit-test for testing URLError handling.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (229629 => 229630)
--- trunk/Tools/ChangeLog 2018-03-15 18:30:19 UTC (rev 229629)
+++ trunk/Tools/ChangeLog 2018-03-15 18:39:43 UTC (rev 229630)
@@ -1,5 +1,17 @@
2018-03-15 Aakash Jain <[email protected]>
+ Add unit-test for NetworkTransaction URLError handling
+ https://bugs.webkit.org/show_bug.cgi?id=183664
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Scripts/webkitpy/common/net/networktransaction_unittest.py:
+ (NetworkTransactionTest._raise_URLError): Method to raise URLError.
+ (NetworkTransactionTest.test_retry_on_HTTPError): Renamed from test_retry.
+ (NetworkTransactionTest.test_retry_on_URLError): unit-test for testing URLError handling.
+
+2018-03-15 Aakash Jain <[email protected]>
+
EWS should print the URL in logs on URLError
https://bugs.webkit.org/show_bug.cgi?id=183651
Modified: trunk/Tools/Scripts/webkitpy/common/net/networktransaction_unittest.py (229629 => 229630)
--- trunk/Tools/Scripts/webkitpy/common/net/networktransaction_unittest.py 2018-03-15 18:30:19 UTC (rev 229629)
+++ trunk/Tools/Scripts/webkitpy/common/net/networktransaction_unittest.py 2018-03-15 18:39:43 UTC (rev 229630)
@@ -62,11 +62,18 @@
raise HTTPError("http://example.com/", 500, "internal server error", None, None)
return 42
+ def _raise_URLError(self):
+ self._run_count += 1
+ if self._run_count < 3:
+ from webkitpy.thirdparty.autoinstalled.mechanize import URLError
+ raise URLError("[Errno 60] Operation timed out")
+ return 43
+
def _raise_404_error(self):
from webkitpy.thirdparty.autoinstalled.mechanize import HTTPError
raise HTTPError("http://foo.com/", 404, "not found", None, None)
- def test_retry(self):
+ def test_retry_on_HTTPError(self):
self._run_count = 0
transaction = NetworkTransaction(initial_backoff_seconds=0)
self.assertEqual(transaction.run(lambda: self._raise_500_error()), 42)
@@ -76,6 +83,17 @@
'WARNING: Received HTTP status 500 loading "http://example.com/". '
'Retrying in 0.0 seconds...\n'])
+ def test_retry_on_URLError(self):
+ self._run_count = 0
+ url = ""
+ transaction = NetworkTransaction(initial_backoff_seconds=0)
+ self.assertEqual(transaction.run(lambda: self._raise_URLError(), url), 43)
+ self.assertEqual(self._run_count, 3)
+ self.assertLog(['WARNING: Received URLError: "[Errno 60] Operation timed out" while loading http://example.com/. '
+ 'Retrying in 0 seconds...\n',
+ 'WARNING: Received URLError: "[Errno 60] Operation timed out" while loading http://example.com/. '
+ 'Retrying in 0.0 seconds...\n'])
+
def test_convert_404_to_None(self):
transaction = NetworkTransaction(convert_404_to_None=True)
self.assertEqual(transaction.run(lambda: self._raise_404_error()), None)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes