commit - 190212ab3579321481115e04bb40758ae2c5ab5d
commit + 73014509f73228fdc6dac21e5c61f8ba22dc3bad
blob - fb64aade47c83a687018537cc29308373dd4a6a5
blob + 43b609cb83913e677b99670e482b6190ea541828
--- rules/python/flakiness/missed_retries.py
+++ rules/python/flakiness/missed_retries.py
from requests.adapters import HTTPAdapter
+import requests
+
+url = "https://bronevichok.ru/"
+
s = requests.Session()
# rule-id: missed_retries
-s.mount('https://bronevichok.ru/', requests.adapters.HTTPAdapter(x))
+s.mount(url, HTTPAdapter())
+# ok: missed_retries
+s.mount(url, HTTPAdapter(max_retries=3))
+
from urllib3 import PoolManager, Retry
+http = PoolManager()
# rule-id: missed_retries
+response = http.request('GET', url)
+
+retries = Retry(connect=5, read=2, redirect=5)
+http = PoolManager(retries=retries)
+# ok: missed_retries
+response = http.request('GET', url)
+
http = PoolManager()
-response = http.request('GET', 'https://bronevichok.ru/')
+# ok: missed_retries
+response = http.request('GET', url, retries=Retry(10))
blob - 4dd44f3b1c144a4e41dbc6396dd5b934998d3454
blob + e7721f87bb1202f7cb44899b8cf8436c21094cfe
--- rules/python/flakiness/missed_retries.yaml
+++ rules/python/flakiness/missed_retries.yaml
rules:
-- id: missed_retries
- patterns:
- - pattern-either:
- - pattern: |
- requests.adapters.HTTPAdapter()
- - pattern: |
- requests.adapters.HTTPAdapter(max_retries=$X)
- - pattern: |
- urllib3.PoolManager(..., retries=$X)
- - pattern: |
- urllib3.PoolManager()
- message: |
- No retries on access to resources. Some functions doesn't have retry
- options (like "psycopg2.connect()") so you need to implement youself.
- languages:
- - python
- severity: WARNING
+ - id: missed_retries
+ patterns:
+ - pattern-either:
+ - pattern: |
+ requests.adapters.HTTPAdapter()
+ - pattern: |
+ requests.adapters.HTTPAdapter(max_retries=$X)
+ - pattern: |
+ urllib3.PoolManager(..., retries=$X)
+ - pattern: |
+ urllib3.PoolManager()
+ message: |
+ No retries on access to resources. Some functions doesn't have retry
+ options (like "psycopg2.connect()") so you need to implement youself.
+ languages:
+ - python
+ severity: WARNING