Build: #10 failed
Job: QoS basic failed
Build log
The build generated 2,019 lines of output. The output is too long and has been truncated to the last 1,000 lines. Download or view full build log.
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | except NoSuchElementException as exc: |
26-Nov-2024 10:11:22 | with suppress(TypeError): |
26-Nov-2024 10:11:22 | err_msg = err_msg() |
26-Nov-2024 10:11:22 | > raise RuntimeError(err_msg) from exc |
26-Nov-2024 10:11:22 | E RuntimeError: no item found in Requirement in QoS tab |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:152: RuntimeError |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------- pytest-selenium -------------------------------- |
26-Nov-2024 10:11:22 | URL: https://dev-onezone.default.svc.cluster.local/ozw/onezone/i#/onedata/spaces/63371535d39b68b5fd547e394b6a01f8ch1c68/data |
26-Nov-2024 10:11:22 | _ test_file_is_replicated_after_eviction_from_one_storage_with_qos_requirement_with_2_replicas_to_another[1oz_2op_deployed] _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="81bd09783db0cea2cf510500f57d924d", element="38AE61EAF66B895581268BB5E8E24E8A_element_595")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:148: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
26-Nov-2024 10:11:22 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
26-Nov-2024 10:11:22 | return self._parent.execute(command, params) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
26-Nov-2024 10:11:22 | self.error_handler.check_response(response) |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7ff04f685130> |
26-Nov-2024 10:11:22 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x5594e2863ee3 \\u003Cunknown>\\n#20 0x7f19b417ba94 \\u003Cunknown>\\n#21 0x7f19b4208a34 __clone\\n"}}'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def check_response(self, response: Dict[str, Any]) -> None: |
26-Nov-2024 10:11:22 | """Checks that a JSON response from the WebDriver does not have an |
26-Nov-2024 10:11:22 | error. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Args: |
26-Nov-2024 10:11:22 | - response - The JSON response from the WebDriver server as a dictionary |
26-Nov-2024 10:11:22 | object. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Raises: If the response contains an error message. |
26-Nov-2024 10:11:22 | """ |
26-Nov-2024 10:11:22 | status = response.get("status", None) |
26-Nov-2024 10:11:22 | if not status or status == ErrorCode.SUCCESS: |
26-Nov-2024 10:11:22 | return |
26-Nov-2024 10:11:22 | value = None |
26-Nov-2024 10:11:22 | message = response.get("message", "") |
26-Nov-2024 10:11:22 | screen: str = response.get("screen", "") |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | if isinstance(status, int): |
26-Nov-2024 10:11:22 | value_json = response.get("value", None) |
26-Nov-2024 10:11:22 | if value_json and isinstance(value_json, str): |
26-Nov-2024 10:11:22 | import json |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | value = json.loads(value_json) |
26-Nov-2024 10:11:22 | if len(value) == 1: |
26-Nov-2024 10:11:22 | value = value["value"] |
26-Nov-2024 10:11:22 | status = value.get("error", None) |
26-Nov-2024 10:11:22 | if not status: |
26-Nov-2024 10:11:22 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
26-Nov-2024 10:11:22 | message = value.get("value") or value.get("message") |
26-Nov-2024 10:11:22 | if not isinstance(message, str): |
26-Nov-2024 10:11:22 | value = message |
26-Nov-2024 10:11:22 | message = message.get("message") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | message = value.get("message", None) |
26-Nov-2024 10:11:22 | except ValueError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | exception_class: Type[WebDriverException] |
26-Nov-2024 10:11:22 | e = ErrorCode() |
26-Nov-2024 10:11:22 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
26-Nov-2024 10:11:22 | for error_code in error_codes: |
26-Nov-2024 10:11:22 | error_info = getattr(ErrorCode, error_code) |
26-Nov-2024 10:11:22 | if isinstance(error_info, list) and status in error_info: |
26-Nov-2024 10:11:22 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
26-Nov-2024 10:11:22 | break |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | exception_class = WebDriverException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | if not value: |
26-Nov-2024 10:11:22 | value = response["value"] |
26-Nov-2024 10:11:22 | if isinstance(value, str): |
26-Nov-2024 10:11:22 | raise exception_class(value) |
26-Nov-2024 10:11:22 | if message == "" and "message" in value: |
26-Nov-2024 10:11:22 | message = value["message"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | screen = None # type: ignore[assignment] |
26-Nov-2024 10:11:22 | if "screen" in value: |
26-Nov-2024 10:11:22 | screen = value["screen"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | st_value = value.get("stackTrace") or value.get("stacktrace") |
26-Nov-2024 10:11:22 | if st_value: |
26-Nov-2024 10:11:22 | if isinstance(st_value, str): |
26-Nov-2024 10:11:22 | stacktrace = st_value.split("\n") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | stacktrace = [] |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | for frame in st_value: |
26-Nov-2024 10:11:22 | line = frame.get("lineNumber", "") |
26-Nov-2024 10:11:22 | file = frame.get("fileName", "<anonymous>") |
26-Nov-2024 10:11:22 | if line: |
26-Nov-2024 10:11:22 | file = f"{file}:{line}" |
26-Nov-2024 10:11:22 | meth = frame.get("methodName", "<anonymous>") |
26-Nov-2024 10:11:22 | if "className" in frame: |
26-Nov-2024 10:11:22 | meth = f"{frame['className']}.{meth}" |
26-Nov-2024 10:11:22 | msg = " at %s (%s)" |
26-Nov-2024 10:11:22 | msg = msg % (meth, file) |
26-Nov-2024 10:11:22 | stacktrace.append(msg) |
26-Nov-2024 10:11:22 | except TypeError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | if exception_class == UnexpectedAlertPresentException: |
26-Nov-2024 10:11:22 | alert_text = None |
26-Nov-2024 10:11:22 | if "data" in value: |
26-Nov-2024 10:11:22 | alert_text = value["data"].get("text") |
26-Nov-2024 10:11:22 | elif "alert" in value: |
26-Nov-2024 10:11:22 | alert_text = value["alert"].get("text") |
26-Nov-2024 10:11:22 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
26-Nov-2024 10:11:22 | > raise exception_class(message, screen, stacktrace) |
26-Nov-2024 10:11:22 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
26-Nov-2024 10:11:22 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
26-Nov-2024 10:11:22 | E Stacktrace: |
26-Nov-2024 10:11:22 | E #0 0x5594e286b2b3 <unknown> |
26-Nov-2024 10:11:22 | E #1 0x5594e259b2d7 <unknown> |
26-Nov-2024 10:11:22 | E #2 0x5594e25d987b <unknown> |
26-Nov-2024 10:11:22 | E #3 0x5594e25d9971 <unknown> |
26-Nov-2024 10:11:22 | E #4 0x5594e25cf816 <unknown> |
26-Nov-2024 10:11:22 | E #5 0x5594e25f8dcd <unknown> |
26-Nov-2024 10:11:22 | E #6 0x5594e25cf6e6 <unknown> |
26-Nov-2024 10:11:22 | E #7 0x5594e25f8f6e <unknown> |
26-Nov-2024 10:11:22 | E #8 0x5594e2610fe9 <unknown> |
26-Nov-2024 10:11:22 | E #9 0x5594e25f8b73 <unknown> |
26-Nov-2024 10:11:22 | E #10 0x5594e25ce1ab <unknown> |
26-Nov-2024 10:11:22 | E #11 0x5594e25cef4e <unknown> |
26-Nov-2024 10:11:22 | E #12 0x5594e282c668 <unknown> |
26-Nov-2024 10:11:22 | E #13 0x5594e2830627 <unknown> |
26-Nov-2024 10:11:22 | E #14 0x5594e283ab8c <unknown> |
26-Nov-2024 10:11:22 | E #15 0x5594e2831253 <unknown> |
26-Nov-2024 10:11:22 | E #16 0x5594e27ff927 <unknown> |
26-Nov-2024 10:11:22 | E #17 0x5594e2855018 <unknown> |
26-Nov-2024 10:11:22 | E #18 0x5594e28551a6 <unknown> |
26-Nov-2024 10:11:22 | E #19 0x5594e2863ee3 <unknown> |
26-Nov-2024 10:11:22 | E #20 0x7f19b417ba94 <unknown> |
26-Nov-2024 10:11:22 | E #21 0x7f19b4208a34 __clone |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | The above exception was the direct cause of the following exception: |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7ff050747380> |
26-Nov-2024 10:11:22 | request = <FixtureRequest for <Function test_file_is_replicated_after_eviction_from_one_storage_with_qos_requirement_with_2_replicas_to_another[1oz_2op_deployed]>> |
26-Nov-2024 10:11:22 | kwargs = {'browser_id': 'browser', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser': <tests.con...r_eviction_from_one_storage_with_qos_requirement_with_2_replicas_to_another[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def call_fixture_func( |
26-Nov-2024 10:11:22 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
26-Nov-2024 10:11:22 | ) -> FixtureValue: |
26-Nov-2024 10:11:22 | if is_generator(fixturefunc): |
26-Nov-2024 10:11:22 | fixturefunc = cast( |
26-Nov-2024 10:11:22 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
26-Nov-2024 10:11:22 | ) |
26-Nov-2024 10:11:22 | generator = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | fixture_result = next(generator) |
26-Nov-2024 10:11:22 | except StopIteration: |
26-Nov-2024 10:11:22 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
26-Nov-2024 10:11:22 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
26-Nov-2024 10:11:22 | request.addfinalizer(finalizer) |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
26-Nov-2024 10:11:22 | > fixture_result = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | tests/utils/bdd_utils.py:78: in wrapper |
26-Nov-2024 10:11:22 | return fun(*ba.args, **ba.kwargs) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
26-Nov-2024 10:11:22 | return caller(func, *(extras + args), **kw) |
26-Nov-2024 10:11:22 | tests/utils/utils.py:93: in wrapper |
26-Nov-2024 10:11:22 | return fun(*args, **kwargs) |
26-Nov-2024 10:11:22 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
26-Nov-2024 10:11:22 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:80: in __get__ |
26-Nov-2024 10:11:22 | item = super().__get__(instance, owner) |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:26: in __get__ |
26-Nov-2024 10:11:22 | return find_web_elem( |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="81bd09783db0cea2cf510500f57d924d", element="38AE61EAF66B895581268BB5E8E24E8A_element_595")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | except NoSuchElementException as exc: |
26-Nov-2024 10:11:22 | with suppress(TypeError): |
26-Nov-2024 10:11:22 | err_msg = err_msg() |
26-Nov-2024 10:11:22 | > raise RuntimeError(err_msg) from exc |
26-Nov-2024 10:11:22 | E RuntimeError: no item found in Requirement in QoS tab |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:152: RuntimeError |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------- pytest-selenium -------------------------------- |
26-Nov-2024 10:11:22 | URL: https://dev-onezone.default.svc.cluster.local/ozw/onezone/i#/onedata/spaces/2374f4743423274850bdeb556204e483chf00a/data |
26-Nov-2024 10:11:22 | _ test_user_successfully_makes_file_inherit_qos_requirement_from_directory[1oz_2op_deployed] _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="ab42ed098f049fb842d74dfff28ec00e", element="370475697CFC821687BE6C0DD8EE9EAD_element_661")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:148: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
26-Nov-2024 10:11:22 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
26-Nov-2024 10:11:22 | return self._parent.execute(command, params) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
26-Nov-2024 10:11:22 | self.error_handler.check_response(response) |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7ff04fbeb1d0> |
26-Nov-2024 10:11:22 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x560e2208bee3 \\u003Cunknown>\\n#20 0x7fca2c334a94 \\u003Cunknown>\\n#21 0x7fca2c3c1a34 __clone\\n"}}'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def check_response(self, response: Dict[str, Any]) -> None: |
26-Nov-2024 10:11:22 | """Checks that a JSON response from the WebDriver does not have an |
26-Nov-2024 10:11:22 | error. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Args: |
26-Nov-2024 10:11:22 | - response - The JSON response from the WebDriver server as a dictionary |
26-Nov-2024 10:11:22 | object. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Raises: If the response contains an error message. |
26-Nov-2024 10:11:22 | """ |
26-Nov-2024 10:11:22 | status = response.get("status", None) |
26-Nov-2024 10:11:22 | if not status or status == ErrorCode.SUCCESS: |
26-Nov-2024 10:11:22 | return |
26-Nov-2024 10:11:22 | value = None |
26-Nov-2024 10:11:22 | message = response.get("message", "") |
26-Nov-2024 10:11:22 | screen: str = response.get("screen", "") |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | if isinstance(status, int): |
26-Nov-2024 10:11:22 | value_json = response.get("value", None) |
26-Nov-2024 10:11:22 | if value_json and isinstance(value_json, str): |
26-Nov-2024 10:11:22 | import json |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | value = json.loads(value_json) |
26-Nov-2024 10:11:22 | if len(value) == 1: |
26-Nov-2024 10:11:22 | value = value["value"] |
26-Nov-2024 10:11:22 | status = value.get("error", None) |
26-Nov-2024 10:11:22 | if not status: |
26-Nov-2024 10:11:22 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
26-Nov-2024 10:11:22 | message = value.get("value") or value.get("message") |
26-Nov-2024 10:11:22 | if not isinstance(message, str): |
26-Nov-2024 10:11:22 | value = message |
26-Nov-2024 10:11:22 | message = message.get("message") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | message = value.get("message", None) |
26-Nov-2024 10:11:22 | except ValueError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | exception_class: Type[WebDriverException] |
26-Nov-2024 10:11:22 | e = ErrorCode() |
26-Nov-2024 10:11:22 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
26-Nov-2024 10:11:22 | for error_code in error_codes: |
26-Nov-2024 10:11:22 | error_info = getattr(ErrorCode, error_code) |
26-Nov-2024 10:11:22 | if isinstance(error_info, list) and status in error_info: |
26-Nov-2024 10:11:22 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
26-Nov-2024 10:11:22 | break |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | exception_class = WebDriverException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | if not value: |
26-Nov-2024 10:11:22 | value = response["value"] |
26-Nov-2024 10:11:22 | if isinstance(value, str): |
26-Nov-2024 10:11:22 | raise exception_class(value) |
26-Nov-2024 10:11:22 | if message == "" and "message" in value: |
26-Nov-2024 10:11:22 | message = value["message"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | screen = None # type: ignore[assignment] |
26-Nov-2024 10:11:22 | if "screen" in value: |
26-Nov-2024 10:11:22 | screen = value["screen"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | st_value = value.get("stackTrace") or value.get("stacktrace") |
26-Nov-2024 10:11:22 | if st_value: |
26-Nov-2024 10:11:22 | if isinstance(st_value, str): |
26-Nov-2024 10:11:22 | stacktrace = st_value.split("\n") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | stacktrace = [] |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | for frame in st_value: |
26-Nov-2024 10:11:22 | line = frame.get("lineNumber", "") |
26-Nov-2024 10:11:22 | file = frame.get("fileName", "<anonymous>") |
26-Nov-2024 10:11:22 | if line: |
26-Nov-2024 10:11:22 | file = f"{file}:{line}" |
26-Nov-2024 10:11:22 | meth = frame.get("methodName", "<anonymous>") |
26-Nov-2024 10:11:22 | if "className" in frame: |
26-Nov-2024 10:11:22 | meth = f"{frame['className']}.{meth}" |
26-Nov-2024 10:11:22 | msg = " at %s (%s)" |
26-Nov-2024 10:11:22 | msg = msg % (meth, file) |
26-Nov-2024 10:11:22 | stacktrace.append(msg) |
26-Nov-2024 10:11:22 | except TypeError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | if exception_class == UnexpectedAlertPresentException: |
26-Nov-2024 10:11:22 | alert_text = None |
26-Nov-2024 10:11:22 | if "data" in value: |
26-Nov-2024 10:11:22 | alert_text = value["data"].get("text") |
26-Nov-2024 10:11:22 | elif "alert" in value: |
26-Nov-2024 10:11:22 | alert_text = value["alert"].get("text") |
26-Nov-2024 10:11:22 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
26-Nov-2024 10:11:22 | > raise exception_class(message, screen, stacktrace) |
26-Nov-2024 10:11:22 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
26-Nov-2024 10:11:22 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
26-Nov-2024 10:11:22 | E Stacktrace: |
26-Nov-2024 10:11:22 | E #0 0x560e220932b3 <unknown> |
26-Nov-2024 10:11:22 | E #1 0x560e21dc32d7 <unknown> |
26-Nov-2024 10:11:22 | E #2 0x560e21e0187b <unknown> |
26-Nov-2024 10:11:22 | E #3 0x560e21e01971 <unknown> |
26-Nov-2024 10:11:22 | E #4 0x560e21df7816 <unknown> |
26-Nov-2024 10:11:22 | E #5 0x560e21e20dcd <unknown> |
26-Nov-2024 10:11:22 | E #6 0x560e21df76e6 <unknown> |
26-Nov-2024 10:11:22 | E #7 0x560e21e20f6e <unknown> |
26-Nov-2024 10:11:22 | E #8 0x560e21e38fe9 <unknown> |
26-Nov-2024 10:11:22 | E #9 0x560e21e20b73 <unknown> |
26-Nov-2024 10:11:22 | E #10 0x560e21df61ab <unknown> |
26-Nov-2024 10:11:22 | E #11 0x560e21df6f4e <unknown> |
26-Nov-2024 10:11:22 | E #12 0x560e22054668 <unknown> |
26-Nov-2024 10:11:22 | E #13 0x560e22058627 <unknown> |
26-Nov-2024 10:11:22 | E #14 0x560e22062b8c <unknown> |
26-Nov-2024 10:11:22 | E #15 0x560e22059253 <unknown> |
26-Nov-2024 10:11:22 | E #16 0x560e22027927 <unknown> |
26-Nov-2024 10:11:22 | E #17 0x560e2207d018 <unknown> |
26-Nov-2024 10:11:22 | E #18 0x560e2207d1a6 <unknown> |
26-Nov-2024 10:11:22 | E #19 0x560e2208bee3 <unknown> |
26-Nov-2024 10:11:22 | E #20 0x7fca2c334a94 <unknown> |
26-Nov-2024 10:11:22 | E #21 0x7fca2c3c1a34 __clone |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | The above exception was the direct cause of the following exception: |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7ff050747380> |
26-Nov-2024 10:11:22 | request = <FixtureRequest for <Function test_user_successfully_makes_file_inherit_qos_requirement_from_directory[1oz_2op_deployed]>> |
26-Nov-2024 10:11:22 | kwargs = {'browser_id': 'browser', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser': <tests.con...on test_user_successfully_makes_file_inherit_qos_requirement_from_directory[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def call_fixture_func( |
26-Nov-2024 10:11:22 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
26-Nov-2024 10:11:22 | ) -> FixtureValue: |
26-Nov-2024 10:11:22 | if is_generator(fixturefunc): |
26-Nov-2024 10:11:22 | fixturefunc = cast( |
26-Nov-2024 10:11:22 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
26-Nov-2024 10:11:22 | ) |
26-Nov-2024 10:11:22 | generator = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | fixture_result = next(generator) |
26-Nov-2024 10:11:22 | except StopIteration: |
26-Nov-2024 10:11:22 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
26-Nov-2024 10:11:22 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
26-Nov-2024 10:11:22 | request.addfinalizer(finalizer) |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
26-Nov-2024 10:11:22 | > fixture_result = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | tests/utils/bdd_utils.py:78: in wrapper |
26-Nov-2024 10:11:22 | return fun(*ba.args, **ba.kwargs) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
26-Nov-2024 10:11:22 | return caller(func, *(extras + args), **kw) |
26-Nov-2024 10:11:22 | tests/utils/utils.py:93: in wrapper |
26-Nov-2024 10:11:22 | return fun(*args, **kwargs) |
26-Nov-2024 10:11:22 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
26-Nov-2024 10:11:22 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:80: in __get__ |
26-Nov-2024 10:11:22 | item = super().__get__(instance, owner) |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:26: in __get__ |
26-Nov-2024 10:11:22 | return find_web_elem( |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="ab42ed098f049fb842d74dfff28ec00e", element="370475697CFC821687BE6C0DD8EE9EAD_element_661")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | except NoSuchElementException as exc: |
26-Nov-2024 10:11:22 | with suppress(TypeError): |
26-Nov-2024 10:11:22 | err_msg = err_msg() |
26-Nov-2024 10:11:22 | > raise RuntimeError(err_msg) from exc |
26-Nov-2024 10:11:22 | E RuntimeError: no item found in Requirement in QoS tab |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:152: RuntimeError |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------- pytest-selenium -------------------------------- |
26-Nov-2024 10:11:22 | URL: https://dev-onezone.default.svc.cluster.local/ozw/onezone/i#/onedata/spaces/266357a22ada00a375443e2639c75a79che606/data?options=dir.Z3VpZCNkMDUzYzEyNGI5NWQ4YThkZmYwNGIxOThmNDJmZmU2ZGNoMjMxZiMyNjYzNTdhMjJhZGEwMGEzNzU0NDNlMjYzOWM3NWE3OWNoZTYwNg |
26-Nov-2024 10:11:22 | _ test_nested_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement_in_parent_dir[1oz_2op_deployed] _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="19621f3605c49974f26ee3f803f416ea", element="831E14F4A5471C9172B5EAA0FAFB267D_element_652")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:148: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
26-Nov-2024 10:11:22 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
26-Nov-2024 10:11:22 | return self._parent.execute(command, params) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
26-Nov-2024 10:11:22 | self.error_handler.check_response(response) |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7ff04e318d40> |
26-Nov-2024 10:11:22 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x55c072bddee3 \\u003Cunknown>\\n#20 0x7f9464a11a94 \\u003Cunknown>\\n#21 0x7f9464a9ea34 __clone\\n"}}'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def check_response(self, response: Dict[str, Any]) -> None: |
26-Nov-2024 10:11:22 | """Checks that a JSON response from the WebDriver does not have an |
26-Nov-2024 10:11:22 | error. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Args: |
26-Nov-2024 10:11:22 | - response - The JSON response from the WebDriver server as a dictionary |
26-Nov-2024 10:11:22 | object. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Raises: If the response contains an error message. |
26-Nov-2024 10:11:22 | """ |
26-Nov-2024 10:11:22 | status = response.get("status", None) |
26-Nov-2024 10:11:22 | if not status or status == ErrorCode.SUCCESS: |
26-Nov-2024 10:11:22 | return |
26-Nov-2024 10:11:22 | value = None |
26-Nov-2024 10:11:22 | message = response.get("message", "") |
26-Nov-2024 10:11:22 | screen: str = response.get("screen", "") |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | if isinstance(status, int): |
26-Nov-2024 10:11:22 | value_json = response.get("value", None) |
26-Nov-2024 10:11:22 | if value_json and isinstance(value_json, str): |
26-Nov-2024 10:11:22 | import json |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | value = json.loads(value_json) |
26-Nov-2024 10:11:22 | if len(value) == 1: |
26-Nov-2024 10:11:22 | value = value["value"] |
26-Nov-2024 10:11:22 | status = value.get("error", None) |
26-Nov-2024 10:11:22 | if not status: |
26-Nov-2024 10:11:22 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
26-Nov-2024 10:11:22 | message = value.get("value") or value.get("message") |
26-Nov-2024 10:11:22 | if not isinstance(message, str): |
26-Nov-2024 10:11:22 | value = message |
26-Nov-2024 10:11:22 | message = message.get("message") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | message = value.get("message", None) |
26-Nov-2024 10:11:22 | except ValueError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | exception_class: Type[WebDriverException] |
26-Nov-2024 10:11:22 | e = ErrorCode() |
26-Nov-2024 10:11:22 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
26-Nov-2024 10:11:22 | for error_code in error_codes: |
26-Nov-2024 10:11:22 | error_info = getattr(ErrorCode, error_code) |
26-Nov-2024 10:11:22 | if isinstance(error_info, list) and status in error_info: |
26-Nov-2024 10:11:22 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
26-Nov-2024 10:11:22 | break |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | exception_class = WebDriverException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | if not value: |
26-Nov-2024 10:11:22 | value = response["value"] |
26-Nov-2024 10:11:22 | if isinstance(value, str): |
26-Nov-2024 10:11:22 | raise exception_class(value) |
26-Nov-2024 10:11:22 | if message == "" and "message" in value: |
26-Nov-2024 10:11:22 | message = value["message"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | screen = None # type: ignore[assignment] |
26-Nov-2024 10:11:22 | if "screen" in value: |
26-Nov-2024 10:11:22 | screen = value["screen"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | st_value = value.get("stackTrace") or value.get("stacktrace") |
26-Nov-2024 10:11:22 | if st_value: |
26-Nov-2024 10:11:22 | if isinstance(st_value, str): |
26-Nov-2024 10:11:22 | stacktrace = st_value.split("\n") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | stacktrace = [] |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | for frame in st_value: |
26-Nov-2024 10:11:22 | line = frame.get("lineNumber", "") |
26-Nov-2024 10:11:22 | file = frame.get("fileName", "<anonymous>") |
26-Nov-2024 10:11:22 | if line: |
26-Nov-2024 10:11:22 | file = f"{file}:{line}" |
26-Nov-2024 10:11:22 | meth = frame.get("methodName", "<anonymous>") |
26-Nov-2024 10:11:22 | if "className" in frame: |
26-Nov-2024 10:11:22 | meth = f"{frame['className']}.{meth}" |
26-Nov-2024 10:11:22 | msg = " at %s (%s)" |
26-Nov-2024 10:11:22 | msg = msg % (meth, file) |
26-Nov-2024 10:11:22 | stacktrace.append(msg) |
26-Nov-2024 10:11:22 | except TypeError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | if exception_class == UnexpectedAlertPresentException: |
26-Nov-2024 10:11:22 | alert_text = None |
26-Nov-2024 10:11:22 | if "data" in value: |
26-Nov-2024 10:11:22 | alert_text = value["data"].get("text") |
26-Nov-2024 10:11:22 | elif "alert" in value: |
26-Nov-2024 10:11:22 | alert_text = value["alert"].get("text") |
26-Nov-2024 10:11:22 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
26-Nov-2024 10:11:22 | > raise exception_class(message, screen, stacktrace) |
26-Nov-2024 10:11:22 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
26-Nov-2024 10:11:22 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
26-Nov-2024 10:11:22 | E Stacktrace: |
26-Nov-2024 10:11:22 | E #0 0x55c072be52b3 <unknown> |
26-Nov-2024 10:11:22 | E #1 0x55c0729152d7 <unknown> |
26-Nov-2024 10:11:22 | E #2 0x55c07295387b <unknown> |
26-Nov-2024 10:11:22 | E #3 0x55c072953971 <unknown> |
26-Nov-2024 10:11:22 | E #4 0x55c072949816 <unknown> |
26-Nov-2024 10:11:22 | E #5 0x55c072972dcd <unknown> |
26-Nov-2024 10:11:22 | E #6 0x55c0729496e6 <unknown> |
26-Nov-2024 10:11:22 | E #7 0x55c072972f6e <unknown> |
26-Nov-2024 10:11:22 | E #8 0x55c07298afe9 <unknown> |
26-Nov-2024 10:11:22 | E #9 0x55c072972b73 <unknown> |
26-Nov-2024 10:11:22 | E #10 0x55c0729481ab <unknown> |
26-Nov-2024 10:11:22 | E #11 0x55c072948f4e <unknown> |
26-Nov-2024 10:11:22 | E #12 0x55c072ba6668 <unknown> |
26-Nov-2024 10:11:22 | E #13 0x55c072baa627 <unknown> |
26-Nov-2024 10:11:22 | E #14 0x55c072bb4b8c <unknown> |
26-Nov-2024 10:11:22 | E #15 0x55c072bab253 <unknown> |
26-Nov-2024 10:11:22 | E #16 0x55c072b79927 <unknown> |
26-Nov-2024 10:11:22 | E #17 0x55c072bcf018 <unknown> |
26-Nov-2024 10:11:22 | E #18 0x55c072bcf1a6 <unknown> |
26-Nov-2024 10:11:22 | E #19 0x55c072bddee3 <unknown> |
26-Nov-2024 10:11:22 | E #20 0x7f9464a11a94 <unknown> |
26-Nov-2024 10:11:22 | E #21 0x7f9464a9ea34 __clone |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | The above exception was the direct cause of the following exception: |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7ff050747380> |
26-Nov-2024 10:11:22 | request = <FixtureRequest for <Function test_nested_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement_in_parent_dir[1oz_2op_deployed]>> |
26-Nov-2024 10:11:22 | kwargs = {'browser_id': 'browser_unified', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser_emer...om_one_storage_to_storage_which_id_was_set_as_qos_requirement_in_parent_dir[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def call_fixture_func( |
26-Nov-2024 10:11:22 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
26-Nov-2024 10:11:22 | ) -> FixtureValue: |
26-Nov-2024 10:11:22 | if is_generator(fixturefunc): |
26-Nov-2024 10:11:22 | fixturefunc = cast( |
26-Nov-2024 10:11:22 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
26-Nov-2024 10:11:22 | ) |
26-Nov-2024 10:11:22 | generator = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | fixture_result = next(generator) |
26-Nov-2024 10:11:22 | except StopIteration: |
26-Nov-2024 10:11:22 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
26-Nov-2024 10:11:22 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
26-Nov-2024 10:11:22 | request.addfinalizer(finalizer) |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
26-Nov-2024 10:11:22 | > fixture_result = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | tests/utils/bdd_utils.py:78: in wrapper |
26-Nov-2024 10:11:22 | return fun(*ba.args, **ba.kwargs) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
26-Nov-2024 10:11:22 | return caller(func, *(extras + args), **kw) |
26-Nov-2024 10:11:22 | tests/utils/utils.py:93: in wrapper |
26-Nov-2024 10:11:22 | return fun(*args, **kwargs) |
26-Nov-2024 10:11:22 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
26-Nov-2024 10:11:22 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:80: in __get__ |
26-Nov-2024 10:11:22 | item = super().__get__(instance, owner) |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:26: in __get__ |
26-Nov-2024 10:11:22 | return find_web_elem( |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="19621f3605c49974f26ee3f803f416ea", element="831E14F4A5471C9172B5EAA0FAFB267D_element_652")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | except NoSuchElementException as exc: |
26-Nov-2024 10:11:22 | with suppress(TypeError): |
26-Nov-2024 10:11:22 | err_msg = err_msg() |
26-Nov-2024 10:11:22 | > raise RuntimeError(err_msg) from exc |
26-Nov-2024 10:11:22 | E RuntimeError: no item found in Requirement in QoS tab |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:152: RuntimeError |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------- pytest-selenium -------------------------------- |
26-Nov-2024 10:11:22 | URL: https://dev-oneprovider-paris.default.svc.cluster.local:9443/#/onedata/clusters/3e566741255948905b293f3395dd5c58chcb82/storages |
26-Nov-2024 10:11:22 | _ test_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement[1oz_2op_deployed] _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="8c8dd78db5b05801e594ae1d409cad36", element="8D54D49DC3B6FC8B9C01257F61832FD1_element_668")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:148: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
26-Nov-2024 10:11:22 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
26-Nov-2024 10:11:22 | return self._parent.execute(command, params) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
26-Nov-2024 10:11:22 | self.error_handler.check_response(response) |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7ff04bda9490> |
26-Nov-2024 10:11:22 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x55602ee04ee3 \\u003Cunknown>\\n#20 0x7f08bbe8da94 \\u003Cunknown>\\n#21 0x7f08bbf1aa34 __clone\\n"}}'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def check_response(self, response: Dict[str, Any]) -> None: |
26-Nov-2024 10:11:22 | """Checks that a JSON response from the WebDriver does not have an |
26-Nov-2024 10:11:22 | error. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Args: |
26-Nov-2024 10:11:22 | - response - The JSON response from the WebDriver server as a dictionary |
26-Nov-2024 10:11:22 | object. |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | :Raises: If the response contains an error message. |
26-Nov-2024 10:11:22 | """ |
26-Nov-2024 10:11:22 | status = response.get("status", None) |
26-Nov-2024 10:11:22 | if not status or status == ErrorCode.SUCCESS: |
26-Nov-2024 10:11:22 | return |
26-Nov-2024 10:11:22 | value = None |
26-Nov-2024 10:11:22 | message = response.get("message", "") |
26-Nov-2024 10:11:22 | screen: str = response.get("screen", "") |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | if isinstance(status, int): |
26-Nov-2024 10:11:22 | value_json = response.get("value", None) |
26-Nov-2024 10:11:22 | if value_json and isinstance(value_json, str): |
26-Nov-2024 10:11:22 | import json |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | value = json.loads(value_json) |
26-Nov-2024 10:11:22 | if len(value) == 1: |
26-Nov-2024 10:11:22 | value = value["value"] |
26-Nov-2024 10:11:22 | status = value.get("error", None) |
26-Nov-2024 10:11:22 | if not status: |
26-Nov-2024 10:11:22 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
26-Nov-2024 10:11:22 | message = value.get("value") or value.get("message") |
26-Nov-2024 10:11:22 | if not isinstance(message, str): |
26-Nov-2024 10:11:22 | value = message |
26-Nov-2024 10:11:22 | message = message.get("message") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | message = value.get("message", None) |
26-Nov-2024 10:11:22 | except ValueError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | exception_class: Type[WebDriverException] |
26-Nov-2024 10:11:22 | e = ErrorCode() |
26-Nov-2024 10:11:22 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
26-Nov-2024 10:11:22 | for error_code in error_codes: |
26-Nov-2024 10:11:22 | error_info = getattr(ErrorCode, error_code) |
26-Nov-2024 10:11:22 | if isinstance(error_info, list) and status in error_info: |
26-Nov-2024 10:11:22 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
26-Nov-2024 10:11:22 | break |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | exception_class = WebDriverException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | if not value: |
26-Nov-2024 10:11:22 | value = response["value"] |
26-Nov-2024 10:11:22 | if isinstance(value, str): |
26-Nov-2024 10:11:22 | raise exception_class(value) |
26-Nov-2024 10:11:22 | if message == "" and "message" in value: |
26-Nov-2024 10:11:22 | message = value["message"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | screen = None # type: ignore[assignment] |
26-Nov-2024 10:11:22 | if "screen" in value: |
26-Nov-2024 10:11:22 | screen = value["screen"] |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | stacktrace = None |
26-Nov-2024 10:11:22 | st_value = value.get("stackTrace") or value.get("stacktrace") |
26-Nov-2024 10:11:22 | if st_value: |
26-Nov-2024 10:11:22 | if isinstance(st_value, str): |
26-Nov-2024 10:11:22 | stacktrace = st_value.split("\n") |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | stacktrace = [] |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | for frame in st_value: |
26-Nov-2024 10:11:22 | line = frame.get("lineNumber", "") |
26-Nov-2024 10:11:22 | file = frame.get("fileName", "<anonymous>") |
26-Nov-2024 10:11:22 | if line: |
26-Nov-2024 10:11:22 | file = f"{file}:{line}" |
26-Nov-2024 10:11:22 | meth = frame.get("methodName", "<anonymous>") |
26-Nov-2024 10:11:22 | if "className" in frame: |
26-Nov-2024 10:11:22 | meth = f"{frame['className']}.{meth}" |
26-Nov-2024 10:11:22 | msg = " at %s (%s)" |
26-Nov-2024 10:11:22 | msg = msg % (meth, file) |
26-Nov-2024 10:11:22 | stacktrace.append(msg) |
26-Nov-2024 10:11:22 | except TypeError: |
26-Nov-2024 10:11:22 | pass |
26-Nov-2024 10:11:22 | if exception_class == UnexpectedAlertPresentException: |
26-Nov-2024 10:11:22 | alert_text = None |
26-Nov-2024 10:11:22 | if "data" in value: |
26-Nov-2024 10:11:22 | alert_text = value["data"].get("text") |
26-Nov-2024 10:11:22 | elif "alert" in value: |
26-Nov-2024 10:11:22 | alert_text = value["alert"].get("text") |
26-Nov-2024 10:11:22 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
26-Nov-2024 10:11:22 | > raise exception_class(message, screen, stacktrace) |
26-Nov-2024 10:11:22 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
26-Nov-2024 10:11:22 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
26-Nov-2024 10:11:22 | E Stacktrace: |
26-Nov-2024 10:11:22 | E #0 0x55602ee0c2b3 <unknown> |
26-Nov-2024 10:11:22 | E #1 0x55602eb3c2d7 <unknown> |
26-Nov-2024 10:11:22 | E #2 0x55602eb7a87b <unknown> |
26-Nov-2024 10:11:22 | E #3 0x55602eb7a971 <unknown> |
26-Nov-2024 10:11:22 | E #4 0x55602eb70816 <unknown> |
26-Nov-2024 10:11:22 | E #5 0x55602eb99dcd <unknown> |
26-Nov-2024 10:11:22 | E #6 0x55602eb706e6 <unknown> |
26-Nov-2024 10:11:22 | E #7 0x55602eb99f6e <unknown> |
26-Nov-2024 10:11:22 | E #8 0x55602ebb1fe9 <unknown> |
26-Nov-2024 10:11:22 | E #9 0x55602eb99b73 <unknown> |
26-Nov-2024 10:11:22 | E #10 0x55602eb6f1ab <unknown> |
26-Nov-2024 10:11:22 | E #11 0x55602eb6ff4e <unknown> |
26-Nov-2024 10:11:22 | E #12 0x55602edcd668 <unknown> |
26-Nov-2024 10:11:22 | E #13 0x55602edd1627 <unknown> |
26-Nov-2024 10:11:22 | E #14 0x55602eddbb8c <unknown> |
26-Nov-2024 10:11:22 | E #15 0x55602edd2253 <unknown> |
26-Nov-2024 10:11:22 | E #16 0x55602eda0927 <unknown> |
26-Nov-2024 10:11:22 | E #17 0x55602edf6018 <unknown> |
26-Nov-2024 10:11:22 | E #18 0x55602edf61a6 <unknown> |
26-Nov-2024 10:11:22 | E #19 0x55602ee04ee3 <unknown> |
26-Nov-2024 10:11:22 | E #20 0x7f08bbe8da94 <unknown> |
26-Nov-2024 10:11:22 | E #21 0x7f08bbf1aa34 __clone |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | The above exception was the direct cause of the following exception: |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7ff050747380> |
26-Nov-2024 10:11:22 | request = <FixtureRequest for <Function test_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement[1oz_2op_deployed]>> |
26-Nov-2024 10:11:22 | kwargs = {'browser_id': 'browser_unified', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser_emer..._replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def call_fixture_func( |
26-Nov-2024 10:11:22 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
26-Nov-2024 10:11:22 | ) -> FixtureValue: |
26-Nov-2024 10:11:22 | if is_generator(fixturefunc): |
26-Nov-2024 10:11:22 | fixturefunc = cast( |
26-Nov-2024 10:11:22 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
26-Nov-2024 10:11:22 | ) |
26-Nov-2024 10:11:22 | generator = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | fixture_result = next(generator) |
26-Nov-2024 10:11:22 | except StopIteration: |
26-Nov-2024 10:11:22 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
26-Nov-2024 10:11:22 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
26-Nov-2024 10:11:22 | request.addfinalizer(finalizer) |
26-Nov-2024 10:11:22 | else: |
26-Nov-2024 10:11:22 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
26-Nov-2024 10:11:22 | > fixture_result = fixturefunc(**kwargs) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | tests/utils/bdd_utils.py:78: in wrapper |
26-Nov-2024 10:11:22 | return fun(*ba.args, **ba.kwargs) |
26-Nov-2024 10:11:22 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
26-Nov-2024 10:11:22 | return caller(func, *(extras + args), **kw) |
26-Nov-2024 10:11:22 | tests/utils/utils.py:93: in wrapper |
26-Nov-2024 10:11:22 | return fun(*args, **kwargs) |
26-Nov-2024 10:11:22 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
26-Nov-2024 10:11:22 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:80: in __get__ |
26-Nov-2024 10:11:22 | item = super().__get__(instance, owner) |
26-Nov-2024 10:11:22 | tests/gui/utils/core/web_elements.py:26: in __get__ |
26-Nov-2024 10:11:22 | return find_web_elem( |
26-Nov-2024 10:11:22 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="8c8dd78db5b05801e594ae1d409cad36", element="8D54D49DC3B6FC8B9C01257F61832FD1_element_668")> |
26-Nov-2024 10:11:22 | css_sel = '.qos-status-fulfilled' |
26-Nov-2024 10:11:22 | err_msg = 'no item found in Requirement in QoS tab' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | def find_web_elem(web_elem_root, css_sel, err_msg): |
26-Nov-2024 10:11:22 | try: |
26-Nov-2024 10:11:22 | _scroll_to_css_sel(web_elem_root, css_sel) |
26-Nov-2024 10:11:22 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
26-Nov-2024 10:11:22 | except NoSuchElementException as exc: |
26-Nov-2024 10:11:22 | with suppress(TypeError): |
26-Nov-2024 10:11:22 | err_msg = err_msg() |
26-Nov-2024 10:11:22 | > raise RuntimeError(err_msg) from exc |
26-Nov-2024 10:11:22 | E RuntimeError: no item found in Requirement in QoS tab |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/utils/generic.py:152: RuntimeError |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------ Captured log call ------------------------------- |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
26-Nov-2024 10:11:22 | ------------------------------- pytest-selenium -------------------------------- |
26-Nov-2024 10:11:22 | URL: https://dev-oneprovider-paris.default.svc.cluster.local:9443/#/onedata/clusters/3e566741255948905b293f3395dd5c58chcb82/storages |
26-Nov-2024 10:11:22 | =============================== warnings summary =============================== |
26-Nov-2024 10:11:22 | tests/utils/rest_utils.py:98 |
26-Nov-2024 10:11:22 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/rest_utils.py:98: SyntaxWarning: invalid escape sequence '\ ' |
26-Nov-2024 10:11:22 | print(""" |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/utils/path_utils.py:112 |
26-Nov-2024 10:11:22 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/path_utils.py:112: SyntaxWarning: invalid escape sequence '\ ' |
26-Nov-2024 10:11:22 | return path.replace("'", "\\'").replace(' ', '\ ') |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/utils/acceptance_utils.py:55 |
26-Nov-2024 10:11:22 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/acceptance_utils.py:55: SyntaxWarning: invalid escape sequence '\d' |
26-Nov-2024 10:11:22 | '(?P<seconds>\d*\.?\d+([eE][-+]?\d+)?) seconds?')) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/utils/acceptance_utils.py:57 |
26-Nov-2024 10:11:22 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/acceptance_utils.py:57: SyntaxWarning: invalid escape sequence '\d' |
26-Nov-2024 10:11:22 | '(?P<seconds>\d*\.?\d+([eE][-+]?\d+)?) seconds?')) |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | tests/gui/steps/onezone/automation/automation_basic.py:327 |
26-Nov-2024 10:11:22 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/gui/steps/onezone/automation/automation_basic.py:327: SyntaxWarning: invalid escape sequence '\(' |
26-Nov-2024 10:11:22 | 'new revision|Duplicate to...|Download \(json\)|Remove)" button ' |
26-Nov-2024 10:11:22 | |
26-Nov-2024 10:11:22 | -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html |
26-Nov-2024 10:11:22 | - generated xml file: /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/test-reports/results.xml - |
26-Nov-2024 10:11:22 | - Generated html report: file:///mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/gui/logs/report.1732614020.6920633/report.html - |
26-Nov-2024 10:11:22 | ======== 5 failed, 6 passed, 5 warnings, 5 rerun in 1861.81s (0:31:01) ========= |
26-Nov-2024 10:11:28 | release "dev" uninstalled |
26-Nov-2024 10:11:28 | Sidecar injection has been disabled |
26-Nov-2024 10:11:28 | Cleaning helm release "dev"... |
26-Nov-2024 10:11:28 | Deleted 1 helm deployments |
26-Nov-2024 10:11:28 | Deleted 0 k8s deployments |
26-Nov-2024 10:11:28 | Deleted 0 k8s services |
26-Nov-2024 10:11:28 | Deleted 0 persistent volumes |
26-Nov-2024 10:11:28 | [INFO] ENV variable "bamboo_planRepository_branchName" is set to feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - using it as current branch name |
26-Nov-2024 10:11:28 | [INFO] Using image docker.onedata.org/onezone-dev:VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 for service onezone |
26-Nov-2024 10:11:28 | [INFO] ENV variable "bamboo_planRepository_branchName" is set to feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - using it as current branch name |
26-Nov-2024 10:11:28 | [INFO] Using image docker.onedata.org/oneprovider-dev:VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 for service oneprovider |
26-Nov-2024 10:11:28 | [INFO] Using image docker.onedata.org/rest-cli:develop for service rest-cli |
26-Nov-2024 10:11:28 | Finished task 'Codetag Tracker' with result: Success |
26-Nov-2024 10:11:28 | Starting task 'Parse test results' of type 'com.atlassian.bamboo.plugins.testresultparser:task.testresultparser.junit' |
26-Nov-2024 10:11:28 | Parsing test results under /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB... |
26-Nov-2024 10:11:28 | Failing task since 5 failing test cases were found. |
26-Nov-2024 10:11:28 | Finished task 'Parse test results' with result: Failed |
26-Nov-2024 10:11:28 | All conditions for task 'Pack and push surefire artifact' were met. Conditions: Variable bamboo.buildNumber matches pattern [4-9]|.{2,} |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.artifactRepoHostname} with S3 |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.artifactRepoPort} with 10161 |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.artifactRepoUsername} with ubuntu |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.planRepository.branchName} with feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.planRepository.name} with onedata-acceptance |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.artifactRepoHostname} with S3 |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.artifactRepoPort} with 10161 |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.artifactRepoUsername} with ubuntu |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.planRepository.branchName} with feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 |
26-Nov-2024 10:11:28 | Substituting variable: ${bamboo.planRepository.name} with onedata-acceptance |
26-Nov-2024 10:11:28 | Starting task 'Pack and push surefire artifact' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' |
26-Nov-2024 10:11:28 | Beginning to execute external process for build 'Onedata Products - gui acceptance pkg - feature-VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - QoS basic #10 (ODSRV-GAPT360-CQB-10)' ... running command line: /home/bamboo/bamboo-agent-home/temp/ODSRV-GAPT360-CQB-10-ScriptBuildTask-6465228691739312937.sh ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance |
26-Nov-2024 10:11:28 | ./bamboos/artifacts/push_artifact.py --hostname S3 --port 10161 --username ubuntu --branch feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 --plan onedata-acceptance --artifact-name surefire_QoS_basic.tar.gz |
26-Nov-2024 10:11:29 | Uploading artifact |
26-Nov-2024 10:11:29 | source path: surefire_QoS_basic.tar.gz |
26-Nov-2024 10:11:29 | dest. path: artifacts/onedata-acceptance/feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1/surefire_QoS_basic.tar.gz |
26-Nov-2024 10:11:29 | Finished task 'Pack and push surefire artifact' with result: Success |
26-Nov-2024 10:11:29 | All conditions for task 'Pack logs' were met. Conditions: Variable bamboo.buildNumber matches pattern [4-9]|.{2,} |
26-Nov-2024 10:11:29 | Starting task 'Pack logs' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' |
26-Nov-2024 10:11:29 | Beginning to execute external process for build 'Onedata Products - gui acceptance pkg - feature-VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - QoS basic #10 (ODSRV-GAPT360-CQB-10)' ... running command line: /home/bamboo/bamboo-agent-home/temp/ODSRV-GAPT360-CQB-10-ScriptBuildTask-11026124410394684575.sh ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB |
26-Nov-2024 10:11:29 | cp: cannot stat 'onedata-acceptance/one_env/sources_info.yaml': No such file or directory |
26-Nov-2024 10:11:29 | Finished task 'Pack logs' with result: Success |
26-Nov-2024 10:11:29 | All conditions for task 'Clear env and working dir' were met. Conditions: Variable bamboo.buildNumber matches pattern [4-9]|.{2,} |
26-Nov-2024 10:11:29 | Substituting variable: ${bamboo.OnedataFinalTasksURL} with https://raw.githubusercontent.com/onedata/bamboos/develop/final_tasks.sh |
26-Nov-2024 10:11:29 | Starting task 'Clear env and working dir' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' |
26-Nov-2024 10:11:29 | Beginning to execute external process for build 'Onedata Products - gui acceptance pkg - feature-VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - QoS basic #10 (ODSRV-GAPT360-CQB-10)' ... running command line: /home/bamboo/bamboo-agent-home/temp/ODSRV-GAPT360-CQB-10-ScriptBuildTask-12794710352955557636.sh ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance |
26-Nov-2024 10:11:29 | % Total % Received % Xferd Average Speed Time Time Time Current |
26-Nov-2024 10:11:29 | Dload Upload Total Spent Left Speed |
26-Nov-2024 10:11:29 | |
26-Nov-2024 10:11:29 | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 |
26-Nov-2024 10:11:29 | 100 4822 100 4822 0 0 56729 0 --:--:-- --:--:-- --:--:-- 56729 |
26-Nov-2024 10:11:29 | Clearing /tmp/onedata and /home/bamboo/.one-env |
26-Nov-2024 10:11:34 | Cleaning helm deployments |
26-Nov-2024 10:11:34 | Cleanining pods |
26-Nov-2024 10:11:34 | Cleaning kube persistant volumes |
26-Nov-2024 10:11:34 | Cleaning dockswift container |
26-Nov-2024 10:11:34 | Cleaning docker containers |
26-Nov-2024 10:11:35 | Error: No such object: a45e0a44bd25 |
26-Nov-2024 10:11:35 | Error: No such object: a45e0a44bd25 |
26-Nov-2024 10:11:35 | Error: No such object: 5f2717e29ad9 |
26-Nov-2024 10:11:35 | Error: No such object: 5f2717e29ad9 |
26-Nov-2024 10:11:37 | Stalled docker containers to remove: |
26-Nov-2024 10:11:37 | 883361d97bcb ba12de8e8649 f8d1ff7b6616 b71acef7f9d9 a6418daa6970 a45e0a44bd25 1dd733da423e 46eccd01ed1e 8a6e7b9fc128 f775008db328 5f2717e29ad9 0a2867dcf714 ea143faf1aca 6cd403c015f6 9624c953d3ba 514b4b14f67c 5c47ac6a6511 ccc652cc09fa 7edcfb370028 9ee6afd512f3 |
26-Nov-2024 10:11:37 | Removing stalled docker containers |
26-Nov-2024 10:11:37 | Error response from daemon: Cannot kill container: 883361d97bcb: Container 883361d97bcb476413ab181e121ebac79ac4261f765a9f035942bf8d5bc8c4df is not running |
26-Nov-2024 10:11:37 | 883361d97bcb |
26-Nov-2024 10:11:37 | Error response from daemon: Cannot kill container: ba12de8e8649: Container ba12de8e8649360eac7471d803386880da332d2696d730cdf64ea4a1c5b48c8f is not running |
26-Nov-2024 10:11:37 | ba12de8e8649 |
26-Nov-2024 10:11:37 | Error response from daemon: Cannot kill container: f8d1ff7b6616: Container f8d1ff7b661605adb3c9b1ed614b2a44cdbf693c0484264188e506919182b20d is not running |
26-Nov-2024 10:11:37 | f8d1ff7b6616 |
26-Nov-2024 10:11:37 | Error response from daemon: Cannot kill container: b71acef7f9d9: Container b71acef7f9d981d298d9603327199c3b27b04feae9872cea251a8425c4dbd16f is not running |
26-Nov-2024 10:11:37 | b71acef7f9d9 |
26-Nov-2024 10:11:37 | Error response from daemon: Cannot kill container: a6418daa6970: Container a6418daa69707251d4b5adc434b1a3cf4f6c2c272ef39abd15e322f3017d6f80 is not running |
26-Nov-2024 10:11:37 | a6418daa6970 |
26-Nov-2024 10:11:37 | Error response from daemon: Cannot kill container: a45e0a44bd25: No such container: a45e0a44bd25 |
26-Nov-2024 10:11:37 | Error response from daemon: No such container: a45e0a44bd25 |
26-Nov-2024 10:11:37 | Error response from daemon: Cannot kill container: 1dd733da423e: Container 1dd733da423e9286bf51217a4ab401fb419ad7b6007a20aaad5db6771e2d5aed is not running |
26-Nov-2024 10:11:38 | 1dd733da423e |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 46eccd01ed1e: Container 46eccd01ed1e4e486c3d6e0f301d727a5aa725094d8065eb1d6c102445d1a4ed is not running |
26-Nov-2024 10:11:38 | 46eccd01ed1e |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 8a6e7b9fc128: Container 8a6e7b9fc1281add785feb48921fe403d7fef63c989aba604a0b6dc36cb23149 is not running |
26-Nov-2024 10:11:38 | 8a6e7b9fc128 |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: f775008db328: Container f775008db328158f438273f291857c1fe3c71f6c6e04ff0a64281189505c8458 is not running |
26-Nov-2024 10:11:38 | f775008db328 |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 5f2717e29ad9: No such container: 5f2717e29ad9 |
26-Nov-2024 10:11:38 | Error response from daemon: No such container: 5f2717e29ad9 |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 0a2867dcf714: Container 0a2867dcf71461b80ee916a039c0b76cfe3a1cb2b898063a4bb737954b9b11d3 is not running |
26-Nov-2024 10:11:38 | 0a2867dcf714 |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: ea143faf1aca: Container ea143faf1aca2f6bee35334ddf1bdff6803689d1dc49a0f383af4dad8e14443f is not running |
26-Nov-2024 10:11:38 | ea143faf1aca |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 6cd403c015f6: Container 6cd403c015f61de43004ee36318941cfd7b2fa4c727d55f967282321a9703d85 is not running |
26-Nov-2024 10:11:38 | 6cd403c015f6 |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 9624c953d3ba: Container 9624c953d3bac122cdfb0d4306f3e7996e9a4970fbaad40389a6048412966c93 is not running |
26-Nov-2024 10:11:38 | 9624c953d3ba |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 514b4b14f67c: Container 514b4b14f67c49118347cb8d78e865f8b4af42dd0cb22b0ceaf539ae3fdfb3c9 is not running |
26-Nov-2024 10:11:38 | 514b4b14f67c |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 5c47ac6a6511: Container 5c47ac6a65113ce5d21989aa99d3a52166d7a05648fc4c5038a05fbcaae93fcf is not running |
26-Nov-2024 10:11:38 | 5c47ac6a6511 |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: ccc652cc09fa: Container ccc652cc09fadb6268a006fdfb93719d8d6b32a2b3a882e8b62e6e21eef6c4b0 is not running |
26-Nov-2024 10:11:38 | ccc652cc09fa |
26-Nov-2024 10:11:38 | Error response from daemon: Cannot kill container: 7edcfb370028: Container 7edcfb3700283df78abd8c208da4da5a19abc24c96fb333536628eb63605b45d is not running |
26-Nov-2024 10:11:39 | 7edcfb370028 |
26-Nov-2024 10:11:39 | 9ee6afd512f3 |
26-Nov-2024 10:11:39 | 9ee6afd512f3 |
26-Nov-2024 10:11:39 | Stalled docker volumes to remove: |
26-Nov-2024 10:11:39 | |
26-Nov-2024 10:11:39 | Removing stalled docker volumes |
26-Nov-2024 10:11:39 | Removing stalled loopdevices |
26-Nov-2024 10:11:40 | Done |
26-Nov-2024 10:11:40 | Finished task 'Clear env and working dir' with result: Success |
26-Nov-2024 10:11:40 | Skipping task 'Qnthack - always fail on build 2' because of unfulfilled condition. Reason: Variable bamboo.buildNumber matches pattern 2 |
26-Nov-2024 10:11:40 | Running post build plugin 'Docker Container Cleanup' |
26-Nov-2024 10:11:40 | Running post build plugin 'NCover Results Collector' |
26-Nov-2024 10:11:40 | Running post build plugin 'Build Results Label Collector' |
26-Nov-2024 10:11:40 | Running post build plugin 'Clover Results Collector' |
26-Nov-2024 10:11:40 | Running post build plugin 'npm Cache Cleanup' |
26-Nov-2024 10:11:40 | Running post build plugin 'Artifact Copier' |
26-Nov-2024 10:11:40 | Publishing an artifact: report |
26-Nov-2024 10:11:49 | Finished publishing of artifact Non required job artifact Http Compression On : [report], patterns: [**/*.*] anchored at: [onedata-acceptance/tests/gui/logs/] in 8.862 s |
26-Nov-2024 10:11:49 | Successfully removed working directory at '/home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB' |
26-Nov-2024 10:11:49 | Finalising the build... |
26-Nov-2024 10:11:49 | Stopping timer. |
26-Nov-2024 10:11:49 | Build ODSRV-GAPT360-CQB-10 completed. |
26-Nov-2024 10:11:49 | Running on server: post build plugin 'Build Hanging Detection Configuration' |
26-Nov-2024 10:11:49 | Running on server: post build plugin 'NCover Results Collector' |
26-Nov-2024 10:11:49 | Running on server: post build plugin 'Build Labeller' |
26-Nov-2024 10:11:49 | Running on server: post build plugin 'Clover Delta Calculator' |
26-Nov-2024 10:11:49 | Running on server: post build plugin 'Maven Dependencies Postprocessor' |
26-Nov-2024 10:11:49 | All post build plugins have finished |
26-Nov-2024 10:11:49 | Generating build results summary... |
26-Nov-2024 10:11:50 | Saving build results to disk... |
26-Nov-2024 10:11:50 | Store variable context... |
26-Nov-2024 10:11:50 | Finished building ODSRV-GAPT360-CQB-10. |