Bug 1705227
| Summary: | asv FTBFS with Python 3.8 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> | ||||
| Component: | asv | Assignee: | Elliott Sales de Andrade <quantum.analyst> | ||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | rawhide | CC: | python-sig, quantum.analyst, zbyszek | ||||
| Target Milestone: | --- | Keywords: | Reopened | ||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | asv-0.4-1.fc31 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2019-07-24 13:27:52 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | 1606315 | ||||||
| Bug Blocks: | 1686977 | ||||||
| Attachments: |
|
||||||
|
Description
Miro Hrončok
2019-05-01 19:03:41 UTC
This is fixed upstream, though the PR is pretty big, so I'm hoping there'll be a release I can build soon instead of backporting. Should be fixed in the latest release. Thanks! I cannot test this yet, as it is blocked by scipy. I will close this BZ once I can verify the fix. _____________________________ test_web_regressions _____________________________
browser = <selenium.webdriver.chrome.webdriver.WebDriver (session="8d7999ad0827d8a9741999e4bdbd2bf9")>
basic_html = ('/builddir/build/BUILD/asv-0.4.1/.pytest_cache/d/asv-test_web-basic_html/cache/cached/html', <test.tools.Git object at 0x7f1f79027070>)
@pytest.mark.flaky(reruns=1, reruns_delay=5)
def test_web_regressions(browser, basic_html):
html_dir, dvcs = basic_html
bad_commit_hash = dvcs.get_hash('master~9')
browser.set_window_size(1200, 900)
with tools.preview(html_dir) as base_url:
get_with_retry(browser, base_url)
regressions_btn = browser.find_element_by_link_text('Regressions')
regressions_btn.click()
# Wait for element to appear in the table
WebDriverWait(browser, WAIT_TIME).until(EC.text_to_be_present_in_element(
('xpath', '//table[1]/tbody/tr[2]/td[1]'), 'params_examples.track_find_test'
))
# Check that the expected links appear in the table
regression_1 = browser.find_element_by_link_text('params_examples.track_find_test(1)')
regression_2 = browser.find_element_by_link_text('params_examples.track_find_test(2)')
bad_hash_link = browser.find_element_by_link_text(bad_commit_hash[:8])
href = regression_1.get_attribute('href')
assert '/#params_examples.track_find_test?' in href
assert 'commits=' in href
# Sort the tables vs. benchmark name (PhantomJS doesn't allow doing it via actionchains)
browser.execute_script("$('thead th').eq(0).stupidsort('asc')")
WebDriverWait(browser, WAIT_TIME).until(EC.text_to_be_present_in_element(
('xpath', '//table[1]/tbody/tr[1]/td[1]'), 'params_examples.track_find_test(1)'
))
# Check the contents of the table
table_rows = browser.find_elements_by_xpath('//table[1]/tbody/tr')
assert len(table_rows) == 2
cols1 = [td.text for td in table_rows[0].find_elements_by_xpath('td')]
cols2 = [td.text for td in table_rows[1].find_elements_by_xpath('td')]
assert cols1[0] == 'params_examples.track_find_test(1)'
assert cols2[0] == 'params_examples.track_find_test(2)'
assert re.match(r'^\d\d\d\d-\d\d-\d\d \d\d:\d\d$', cols1[1])
assert re.match(r'^\d\d\d\d-\d\d-\d\d \d\d:\d\d$', cols2[1])
assert cols1[2:] == [bad_commit_hash[:8], '2.00x', '1.00', '2.00', 'Ignore']
assert cols2[2:] == [bad_commit_hash[:8], '2.00x', '1.00', '2.00', 'Ignore']
# Check that the ignore buttons work as expected
buttons = [button for button in browser.find_elements_by_xpath('//button')
if button.text == 'Ignore']
buttons[0].click()
# The button should disappear, together with the link
> WebDriverWait(browser, WAIT_TIME).until_not(EC.visibility_of(buttons[0]))
/builddir/build/BUILD/asv-0.4.1/test/test_web.py:220:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/selenium/webdriver/support/wait.py:88: in until_not
value = method(self._driver)
/usr/lib/python3.8/site-packages/selenium/webdriver/support/expected_conditions.py:143: in __call__
return _element_if_visible(self.element)
/usr/lib/python3.8/site-packages/selenium/webdriver/support/expected_conditions.py:147: in _element_if_visible
return element if element.is_displayed() == visibility else False
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:490: in is_displayed
return self._execute(Command.IS_ELEMENT_DISPLAYED)['value']
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:628: in _execute
return self._parent.execute(command, params)
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py:314: in execute
self.error_handler.check_response(response)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f1f78fd6be0>
response = {'status': 404, 'value': '{"value":{"error":"unknown command","message":"unknown command: Cannot call non W3C standard...4 base::(anonymous namespace)::ThreadFunc()\\n#13 0x7fc33b1c74e2 start_thread\\n#14 0x7fc33ac48623 __GI___clone\\n"}}'}
def check_response(self, response):
"""
Checks that a JSON response from the WebDriver does not have an error.
:Args:
- response - The JSON response from the WebDriver server as a dictionary
object.
:Raises: If the response contains an error message.
"""
status = response.get('status', None)
if status is None or status == ErrorCode.SUCCESS:
return
value = None
message = response.get("message", "")
screen = response.get("screen", "")
stacktrace = None
if isinstance(status, int):
value_json = response.get('value', None)
if value_json and isinstance(value_json, basestring):
import json
try:
value = json.loads(value_json)
if len(value.keys()) == 1:
value = value['value']
status = value.get('error', None)
if status is None:
status = value["status"]
message = value["value"]
if not isinstance(message, basestring):
value = message
message = message.get('message')
else:
message = value.get('message', None)
except ValueError:
pass
exception_class = ErrorInResponseException
if status in ErrorCode.NO_SUCH_ELEMENT:
exception_class = NoSuchElementException
elif status in ErrorCode.NO_SUCH_FRAME:
exception_class = NoSuchFrameException
elif status in ErrorCode.NO_SUCH_WINDOW:
exception_class = NoSuchWindowException
elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
exception_class = StaleElementReferenceException
elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
exception_class = ElementNotVisibleException
elif status in ErrorCode.INVALID_ELEMENT_STATE:
exception_class = InvalidElementStateException
elif status in ErrorCode.INVALID_SELECTOR \
or status in ErrorCode.INVALID_XPATH_SELECTOR \
or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
exception_class = InvalidSelectorException
elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
exception_class = ElementNotSelectableException
elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
exception_class = ElementNotInteractableException
elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
exception_class = InvalidCookieDomainException
elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
exception_class = UnableToSetCookieException
elif status in ErrorCode.TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.SCRIPT_TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.UNKNOWN_ERROR:
exception_class = WebDriverException
elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
exception_class = UnexpectedAlertPresentException
elif status in ErrorCode.NO_ALERT_OPEN:
exception_class = NoAlertPresentException
elif status in ErrorCode.IME_NOT_AVAILABLE:
exception_class = ImeNotAvailableException
elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
exception_class = ImeActivationFailedException
elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
exception_class = MoveTargetOutOfBoundsException
elif status in ErrorCode.JAVASCRIPT_ERROR:
exception_class = JavascriptException
elif status in ErrorCode.SESSION_NOT_CREATED:
exception_class = SessionNotCreatedException
elif status in ErrorCode.INVALID_ARGUMENT:
exception_class = InvalidArgumentException
elif status in ErrorCode.NO_SUCH_COOKIE:
exception_class = NoSuchCookieException
elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
exception_class = ScreenshotException
elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
exception_class = ElementClickInterceptedException
elif status in ErrorCode.INSECURE_CERTIFICATE:
exception_class = InsecureCertificateException
elif status in ErrorCode.INVALID_COORDINATES:
exception_class = InvalidCoordinatesException
elif status in ErrorCode.INVALID_SESSION_ID:
exception_class = InvalidSessionIdException
elif status in ErrorCode.UNKNOWN_METHOD:
exception_class = UnknownMethodException
else:
exception_class = WebDriverException
if value == '' or value is None:
value = response['value']
if isinstance(value, basestring):
if exception_class == ErrorInResponseException:
raise exception_class(response, value)
raise exception_class(value)
if message == "" and 'message' in value:
message = value['message']
screen = None
if 'screen' in value:
screen = value['screen']
stacktrace = None
if 'stackTrace' in value and value['stackTrace']:
stacktrace = []
try:
for frame in value['stackTrace']:
line = self._value_or_default(frame, 'lineNumber', '')
file = self._value_or_default(frame, 'fileName', '<anonymous>')
if line:
file = "%s:%s" % (file, line)
meth = self._value_or_default(frame, 'methodName', '<anonymous>')
if 'className' in frame:
meth = "%s.%s" % (frame['className'], meth)
msg = " at %s (%s)"
msg = msg % (meth, file)
stacktrace.append(msg)
except TypeError:
pass
if exception_class == ErrorInResponseException:
raise exception_class(response, message)
elif exception_class == UnexpectedAlertPresentException:
alert_text = None
if 'data' in value:
alert_text = value['data'].get('text')
elif 'alert' in value:
alert_text = value['alert'].get('text')
raise exception_class(message, screen, stacktrace, alert_text)
> raise exception_class(message, screen, stacktrace)
E selenium.common.exceptions.WebDriverException: Message: unknown command: Cannot call non W3C standard command while in W3C mode
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException
----------------------------- Captured stderr call -----------------------------
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /info.json?_=1562600298768 HTTP/1.1" 200 -
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /index.json?timestamp=1562600294840 HTTP/1.1" 304 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeout.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeoutSuccess.track_success.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example2.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.ClassLevelSetupFail.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.time_fail_second_run.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.track_cache_bar.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.track_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/cache_examples.track_my_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/code_extraction.MyClass.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/code_extraction.track_pretty_source_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/code_extraction.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/custom.time_function.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:18] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:18] "GET /graphs/summary/custom.track_method.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:19] "GET /regressions.json?timestamp=1562600294840 HTTP/1.1" 200 -
_____________________________ test_web_summarylist _____________________________
browser = <selenium.webdriver.chrome.webdriver.WebDriver (session="8d7999ad0827d8a9741999e4bdbd2bf9")>
basic_html = ('/builddir/build/BUILD/asv-0.4.1/.pytest_cache/d/asv-test_web-basic_html/cache/cached/html', <test.tools.Git object at 0x7f1f79027070>)
@pytest.mark.flaky(reruns=1, reruns_delay=5)
def test_web_summarylist(browser, basic_html):
ignore_exc = (NoSuchElementException, StaleElementReferenceException)
html_dir, dvcs = basic_html
last_change_hash = dvcs.get_hash('master~4')
browser.set_window_size(1200, 900)
with tools.preview(html_dir) as base_url:
get_with_retry(browser, base_url)
summarylist_btn = browser.find_element_by_link_text('Benchmark list')
summarylist_btn.click()
# Check text content in the table
base_link = browser.find_element_by_link_text('params_examples.track_find_test')
cur_row = base_link.find_element_by_xpath('../..')
m = re.match('params_examples.track_find_test \\([12]\\) 2.00 \u221233.3% \\(-1.00\\).*'
+ last_change_hash[:8],
cur_row.text)
assert m, cur_row.text
# Check units in row
base_link2 = browser.find_element_by_link_text('params_examples.track_bytes')
cur_row2 = base_link2.find_element_by_xpath('../..')
m = re.match(r'params_examples.track_bytes\s*1.000M', cur_row2.text)
assert m, cur_row2.text
# Check link
base_href, qs = splitquery(base_link.get_attribute('href'))
base_url, tag = splittag(base_href)
assert parse_qs(qs) == {'ram': ['128GB'], 'cpu': ['Blazingly fast'],
'NUL': ['[none]']}
assert tag == 'params_examples.track_find_test'
# Change table sort (sorting is async, so needs waits)
sort_th = browser.find_element_by_xpath('//th[text()="Recent change"]')
sort_th.click()
WebDriverWait(browser, WAIT_TIME).until(
EC.text_to_be_present_in_element(('xpath', '//tbody/tr[1]'),
'params_examples.track_find_test'))
# Try to click cpu selector link in the panel
cpu_select = browser.find_element_by_link_text('Not /really/ <fast>')
cpu_select.click()
# For the other CPU, there is no recent change recorded, only
# the latest result is available
def check(*args):
links = browser.find_elements_by_link_text('params_examples.track_find_test')
visible_links = [item for item in links if item.is_displayed()]
row_texts = [link.find_element_by_xpath('../..').text
for link in visible_links]
row_texts.sort()
if len(row_texts) != 2:
return False
ok = (re.match(r'^params_examples\.track_find_test \(1\) 2\.00 .*\(-1\.00\).*$', row_texts[0]) and
re.match(r'^params_examples\.track_find_test \(2\) 2\.00 .*\(-1\.00\).*$', row_texts[1]))
return ok
> WebDriverWait(browser, WAIT_TIME, ignored_exceptions=ignore_exc).until(check)
/builddir/build/BUILD/asv-0.4.1/test/test_web.py:333:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/selenium/webdriver/support/wait.py:71: in until
value = method(self._driver)
/builddir/build/BUILD/asv-0.4.1/test/test_web.py:320: in check
visible_links = [item for item in links if item.is_displayed()]
/builddir/build/BUILD/asv-0.4.1/test/test_web.py:320: in <listcomp>
visible_links = [item for item in links if item.is_displayed()]
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:490: in is_displayed
return self._execute(Command.IS_ELEMENT_DISPLAYED)['value']
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py:628: in _execute
return self._parent.execute(command, params)
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py:314: in execute
self.error_handler.check_response(response)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f1f78fd6be0>
response = {'status': 404, 'value': '{"value":{"error":"unknown command","message":"unknown command: Cannot call non W3C standard...4 base::(anonymous namespace)::ThreadFunc()\\n#13 0x7fc33b1c74e2 start_thread\\n#14 0x7fc33ac48623 __GI___clone\\n"}}'}
def check_response(self, response):
"""
Checks that a JSON response from the WebDriver does not have an error.
:Args:
- response - The JSON response from the WebDriver server as a dictionary
object.
:Raises: If the response contains an error message.
"""
status = response.get('status', None)
if status is None or status == ErrorCode.SUCCESS:
return
value = None
message = response.get("message", "")
screen = response.get("screen", "")
stacktrace = None
if isinstance(status, int):
value_json = response.get('value', None)
if value_json and isinstance(value_json, basestring):
import json
try:
value = json.loads(value_json)
if len(value.keys()) == 1:
value = value['value']
status = value.get('error', None)
if status is None:
status = value["status"]
message = value["value"]
if not isinstance(message, basestring):
value = message
message = message.get('message')
else:
message = value.get('message', None)
except ValueError:
pass
exception_class = ErrorInResponseException
if status in ErrorCode.NO_SUCH_ELEMENT:
exception_class = NoSuchElementException
elif status in ErrorCode.NO_SUCH_FRAME:
exception_class = NoSuchFrameException
elif status in ErrorCode.NO_SUCH_WINDOW:
exception_class = NoSuchWindowException
elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
exception_class = StaleElementReferenceException
elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
exception_class = ElementNotVisibleException
elif status in ErrorCode.INVALID_ELEMENT_STATE:
exception_class = InvalidElementStateException
elif status in ErrorCode.INVALID_SELECTOR \
or status in ErrorCode.INVALID_XPATH_SELECTOR \
or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
exception_class = InvalidSelectorException
elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
exception_class = ElementNotSelectableException
elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
exception_class = ElementNotInteractableException
elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
exception_class = InvalidCookieDomainException
elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
exception_class = UnableToSetCookieException
elif status in ErrorCode.TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.SCRIPT_TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.UNKNOWN_ERROR:
exception_class = WebDriverException
elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
exception_class = UnexpectedAlertPresentException
elif status in ErrorCode.NO_ALERT_OPEN:
exception_class = NoAlertPresentException
elif status in ErrorCode.IME_NOT_AVAILABLE:
exception_class = ImeNotAvailableException
elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
exception_class = ImeActivationFailedException
elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
exception_class = MoveTargetOutOfBoundsException
elif status in ErrorCode.JAVASCRIPT_ERROR:
exception_class = JavascriptException
elif status in ErrorCode.SESSION_NOT_CREATED:
exception_class = SessionNotCreatedException
elif status in ErrorCode.INVALID_ARGUMENT:
exception_class = InvalidArgumentException
elif status in ErrorCode.NO_SUCH_COOKIE:
exception_class = NoSuchCookieException
elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
exception_class = ScreenshotException
elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
exception_class = ElementClickInterceptedException
elif status in ErrorCode.INSECURE_CERTIFICATE:
exception_class = InsecureCertificateException
elif status in ErrorCode.INVALID_COORDINATES:
exception_class = InvalidCoordinatesException
elif status in ErrorCode.INVALID_SESSION_ID:
exception_class = InvalidSessionIdException
elif status in ErrorCode.UNKNOWN_METHOD:
exception_class = UnknownMethodException
else:
exception_class = WebDriverException
if value == '' or value is None:
value = response['value']
if isinstance(value, basestring):
if exception_class == ErrorInResponseException:
raise exception_class(response, value)
raise exception_class(value)
if message == "" and 'message' in value:
message = value['message']
screen = None
if 'screen' in value:
screen = value['screen']
stacktrace = None
if 'stackTrace' in value and value['stackTrace']:
stacktrace = []
try:
for frame in value['stackTrace']:
line = self._value_or_default(frame, 'lineNumber', '')
file = self._value_or_default(frame, 'fileName', '<anonymous>')
if line:
file = "%s:%s" % (file, line)
meth = self._value_or_default(frame, 'methodName', '<anonymous>')
if 'className' in frame:
meth = "%s.%s" % (frame['className'], meth)
msg = " at %s (%s)"
msg = msg % (meth, file)
stacktrace.append(msg)
except TypeError:
pass
if exception_class == ErrorInResponseException:
raise exception_class(response, message)
elif exception_class == UnexpectedAlertPresentException:
alert_text = None
if 'data' in value:
alert_text = value['data'].get('text')
elif 'alert' in value:
alert_text = value['alert'].get('text')
raise exception_class(message, screen, stacktrace, alert_text)
> raise exception_class(message, screen, stacktrace)
E selenium.common.exceptions.WebDriverException: Message: unknown command: Cannot call non W3C standard command while in W3C mode
/usr/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException
----------------------------- Captured stderr call -----------------------------
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /info.json?_=1562600301307 HTTP/1.1" 200 -
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /index.json?timestamp=1562600294840 HTTP/1.1" 304 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeout.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelCacheTimeoutSuccess.track_success.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelSetup.track_example2.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.ClassLevelSetupFail.track_fail.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.time_fail_second_run.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/error: Bad exit status from /var/tmp/rpm-tmp.gvGUJu (%check)
Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.track_cache_bar.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.track_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/cache_examples.track_my_cache_foo.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/code_extraction.MyClass.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/code_extraction.track_pretty_source_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/code_extraction.track_test.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/custom.time_function.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] code 404, message File not found
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/summary/custom.track_method.json?timestamp=1562600294840 HTTP/1.1" 404 -
127.0.0.1 - - [08/Jul/2019 15:38:21] "GET /graphs/NUL-null/arch-x86_64/branch-master/cpu-Blazingly%20fast/machine-orangutan/os-GNU_Linux/python-3.8/ram-128GB/summary.json?timestamp=1562600294840 HTTP/1.1" 200 -
127.0.0.1 - - [08/Jul/2019 15:38:22] "GET /graphs/NUL_/arch-x86_64/branch-master/cpu-Not%20_really_%20_fast_/machine-orangutan/os-GNU_Linux/python-3.8/ram-_/summary.json?timestamp=1562600294840 HTTP/1.1" 200 -
Full logs: https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00964708-asv/
All attempts: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/asv/
This should be fixed now. https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/976636/ failed: DEBUG util.py:585: BUILDSTDERR: Problem: package python3-rpy-3.0.5-1.fc31.noarch requires python(abi) = 3.7, but none of the providers can be installed https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00962450-rpy has python3-rpy-3.0.4-2.fc31.noarch.rpm which has lower version. So rpy needs to be rebuilt in copr, and then asv again. |