Running with gitlab-runner 12.7.1 (003fe500)
  on grady-ci-runner 6oEdkxQQ
section_start:1647337457:prepare_executor
Using Docker executor with image docker.gitlab.gwdg.de/grady-corp/python-geckodriver:master ...
Starting service postgres:13 ...
Pulling docker image postgres:13 ...
Using docker image sha256:77365f9e496ca3ca83fd0b6aebe3affcc41d40c25818a26b7dc5b87285427635 for postgres:13 ...
Waiting for services to be up and running...

*** WARNING: Service runner-6oEdkxQQ-project-985-concurrent-0-postgres-0 probably didn't start properly.

Health check error:
ContainerCreate: Error response from daemon: Conflict. The container name "/runner-6oEdkxQQ-project-985-concurrent-0-postgres-0-wait-for-service" is already in use by container "5bfaad5d00864120e0c10b9e473267016b5000bd864c5b274b38421b9d8e9600". You have to remove (or rename) that container to be able to reuse that name. (executor_docker.go:1254:0s)

Service container logs:


*********

Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image docker.gitlab.gwdg.de/grady-corp/python-geckodriver:master ...
Using docker image sha256:a9ea242d4cbfb2ac09121703b903238842bad9e16d3661199fcd9ca948726e7f for docker.gitlab.gwdg.de/grady-corp/python-geckodriver:master ...
section_end:1647337459:prepare_executor
section_start:1647337459:prepare_script
Running on runner-6oEdkxQQ-project-985-concurrent-0 via gitlab-runner...
section_end:1647337463:prepare_script
section_start:1647337463:get_sources
Fetching changes...
Reinitialized existing Git repository in /builds/j.michal/grady/.git/
Checking out 407bd0d1 as jakob.dieterle-master-patch-13835...
Removing .pipenv/
Removing frontend/cyclonedx-npm-yarn.json
Removing frontend/node_modules/
Removing gl-dependency-scanning-report.json
Removing retire-jsrepository.json

Skipping Git submodules setup
section_end:1647337465:get_sources
section_start:1647337465:restore_cache
section_end:1647337467:restore_cache
section_start:1647337467:download_artifacts
Downloading artifacts for build_frontend (838351)...
Downloading artifacts from coordinator... ok        id=838351 responseStatus=200 OK token=-F2gy8jZ
Downloading artifacts for build_test_env (838350)...
Downloading artifacts from coordinator... ok        id=838350 responseStatus=200 OK token=MDbp1Tdx
WARNING: .pipenv/venvs/grady-BcvZijDT/bin/python: chmod .pipenv/venvs/grady-BcvZijDT/bin/python: no such file or directory (suppressing repeats) 
section_end:1647337490:download_artifacts
section_start:1647337490:build_script
Authenticating with credentials from job payload (GitLab Registry)
$ pip install pipenv
Collecting pipenv
  Using cached pipenv-2022.1.8-py2.py3-none-any.whl (3.6 MB)
Requirement already satisfied: setuptools>=36.2.1 in /usr/local/lib/python3.8/site-packages (from pipenv) (50.3.0)
Requirement already satisfied: pip>=18.0 in /usr/local/lib/python3.8/site-packages (from pipenv) (20.2.3)
Collecting virtualenv
  Using cached virtualenv-20.13.3-py2.py3-none-any.whl (8.7 MB)
Collecting virtualenv-clone>=0.2.5
  Using cached virtualenv_clone-0.5.7-py3-none-any.whl (6.6 kB)
Collecting certifi
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting filelock<4,>=3.2
  Using cached filelock-3.6.0-py3-none-any.whl (10.0 kB)
Collecting platformdirs<3,>=2
  Using cached platformdirs-2.5.1-py3-none-any.whl (14 kB)
Collecting six<2,>=1.9.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting distlib<1,>=0.3.1
  Using cached distlib-0.3.4-py2.py3-none-any.whl (461 kB)
Installing collected packages: filelock, platformdirs, six, distlib, virtualenv, virtualenv-clone, certifi, pipenv
Successfully installed certifi-2021.10.8 distlib-0.3.4 filelock-3.6.0 pipenv-2022.1.8 platformdirs-2.5.1 six-1.16.0 virtualenv-20.13.3 virtualenv-clone-0.5.7
WARNING: You are using pip version 20.2.3; however, version 22.0.4 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
$ VENV=$(pipenv --venv)
$ source $VENV/bin/activate
$ cp frontend/dist/index.html core/templates
$ python util/format_index.py
$ python manage.py collectstatic --no-input

261 static files copied to '/builds/j.michal/grady/static', 712 post-processed.
$ HEADLESS_TESTS=True pytest --ds=grady.settings.test functional_tests
============================= test session starts ==============================
platform linux -- Python 3.8.6, pytest-6.1.2, py-1.10.0, pluggy-0.13.1
django: settings: grady.settings.test (from option)
rootdir: /builds/j.michal/grady
plugins: django-constance-2.7.0, django-3.10.0, forked-1.3.0, xdist-2.1.0, Faker-4.1.8, cov-2.10.1
collected 46 items

functional_tests/test_auto_logout.py F                                   [  2%]
functional_tests/test_export_modal.py .......                            [ 17%]
functional_tests/test_feedback_creation.py ...........                   [ 41%]
functional_tests/test_feedback_label_system.py ..........                [ 63%]
functional_tests/test_feedback_update.py .                               [ 65%]
functional_tests/test_front_pages.py ......                              [ 78%]
functional_tests/test_import.py .                                        [ 80%]
functional_tests/test_login_page.py ....                                 [ 89%]
functional_tests/test_solution_comments.py .....                         [100%]

=================================== FAILURES ===================================
_________________ TestAutoLogout.test_auto_logout_can_continue _________________

self = <functional_tests.test_auto_logout.TestAutoLogout testMethod=test_auto_logout_can_continue>

    def test_auto_logout_can_continue(self):
        with self.settings(JWT_AUTH={
            'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=15),
            'JWT_ALLOW_REFRESH': True,
        }
        ):
            self._login()
            initial_token = self.browser.execute_script(
                'return document.getElementById("app").__vue__.$store'
                '._modules.root.state.Authentication.token'
            )
            logout_dialog = self.browser.find_element_by_id('logout-dialog')
            WebDriverWait(self.browser, 15, 0.2).until(
                ec.visibility_of_element_located((By.ID, 'logout-dialog')))
            # the below line should work for clicking the button, but something
            # obscures it, thus the workaround below the comment
            # logout_dialog.find_element_by_id('continue-btn').click()
            continue_btn = logout_dialog.find_element_by_id('continue-btn')
            ActionChains(self.browser).move_to_element(continue_btn).click().perform()
>           WebDriverWait(self.browser, 15, 0.2).until(
                ec.invisibility_of_element_located((By.ID, 'logout-dialog')))

functional_tests/test_auto_logout.py:59: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.support.wait.WebDriverWait (session="03082ba6-3007-4cb6-a401-6fdd928aeafa")>
method = <selenium.webdriver.support.expected_conditions.invisibility_of_element_located object at 0x7f154aaf1430>
message = ''

    def until(self, method, message=''):
        """Calls the method provided with the driver as an argument until the \
        return value is not False."""
        screen = None
        stacktrace = None
    
        end_time = time.time() + self._timeout
        while True:
            try:
                value = method(self._driver)
                if value:
                    return value
            except self._ignored_exceptions as exc:
                screen = getattr(exc, 'screen', None)
                stacktrace = getattr(exc, 'stacktrace', None)
            time.sleep(self._poll)
            if time.time() > end_time:
                break
>       raise TimeoutException(message, screen, stacktrace)
E       selenium.common.exceptions.TimeoutException: Message:

.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/selenium/webdriver/support/wait.py:80: TimeoutException
----------------------------- Captured stderr call -----------------------------
[2022-03-15 09:45:07,281] [WARNING] django.request       Not Found: /favicon.ico
[2022-03-15 09:45:07,281] [WARNING] django.request       Not Found: /favicon.ico
------------------------------ Captured log call -------------------------------
WARNING  django.request:log.py:224 Not Found: /favicon.ico
=============================== warnings summary ===============================
.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/signals.py:3
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/signals.py:3: RemovedInDjango40Warning: The providing_args argument is deprecated. As it is purely documentational, it has no replacement. If you rely on this argument as documentation, you can move the text to a code comment or docstring.
    config_updated = django.dispatch.Signal(

.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/django/utils/version.py:98
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/django/utils/version.py:98: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
    loose_version = LooseVersion(version)

.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/backends/database/models.py:19
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/backends/database/models.py:19: RemovedInDjango40Warning: django.utils.translation.ugettext_lazy() is deprecated in favor of django.utils.translation.gettext_lazy().
    verbose_name = _('constance')

.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/backends/database/models.py:20
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/backends/database/models.py:20: RemovedInDjango40Warning: django.utils.translation.ugettext_lazy() is deprecated in favor of django.utils.translation.gettext_lazy().
    verbose_name_plural = _('constances')

.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/admin.py:321
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/admin.py:321: RemovedInDjango40Warning: django.utils.translation.ugettext_lazy() is deprecated in favor of django.utils.translation.gettext_lazy().
    verbose_name_plural = _('config')

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/admin.py:191: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^$',

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/constance/admin.py:194: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^$',

functional_tests/test_auto_logout.py: 41 warnings
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/rest_framework/routers.py:268: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    ret.append(url(regex, view, name=name))

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/rest_framework/routers.py:343: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    root_url = url(r'^$', view, name=self.root_view_name)

functional_tests/test_auto_logout.py: 42 warnings
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/rest_framework/urlpatterns.py:76: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    new_pattern = url(regex, view, kwargs, name)

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/rest_framework/urls.py:19: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^login/$', views.LoginView.as_view(template_name='rest_framework/login.html'), name='login'),

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/rest_framework/urls.py:20: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^logout/$', views.LogoutView.as_view(), name='logout'),

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:18: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^$', SummaryView.as_view(), name='summary'),

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:19: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^requests/$', RequestsView.as_view(), name='requests'),

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:20: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:25: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:30: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:35: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:40: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:45: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:50: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:55: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:60: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:65: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:70: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:75: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:80: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:85: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^profiling/$', ProfilingView.as_view(), name='profiling'),

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:86: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(r'^cleardb/$', ClearDBView.as_view(), name='cleardb'),

functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/silk/urls.py:87: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
    url(

functional_tests/test_auto_logout.py: 2 warnings
functional_tests/test_export_modal.py: 7 warnings
functional_tests/test_feedback_creation.py: 17 warnings
functional_tests/test_feedback_label_system.py: 14 warnings
functional_tests/test_feedback_update.py: 2 warnings
functional_tests/test_front_pages.py: 6 warnings
functional_tests/test_import.py: 1 warning
functional_tests/test_login_page.py: 3 warnings
functional_tests/test_solution_comments.py: 7 warnings
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/rest_framework_jwt/utils.py:36: DeprecationWarning: The following fields will be removed in the future: `email` and `user_id`. 
    warnings.warn(

functional_tests/test_auto_logout.py: 12 warnings
functional_tests/test_export_modal.py: 78 warnings
functional_tests/test_feedback_creation.py: 259 warnings
functional_tests/test_feedback_label_system.py: 201 warnings
functional_tests/test_feedback_update.py: 41 warnings
functional_tests/test_front_pages.py: 62 warnings
functional_tests/test_import.py: 10 warnings
functional_tests/test_login_page.py: 20 warnings
functional_tests/test_solution_comments.py: 91 warnings
  /builds/j.michal/grady/.pipenv/venvs/grady-BcvZijDT/lib/python3.8/site-packages/rest_framework_jwt/authentication.py:90: RemovedInDjango40Warning: smart_text() is deprecated in favor of smart_str().
    if smart_text(auth[0].lower()) != auth_header_prefix:

functional_tests/test_import.py::TestImport::test_reviewer_can_import_data
  /builds/j.michal/grady/util/importer.py:118: DeprecationWarning: Function 'semver.match' is deprecated. Deprecated since version 2.10.0.  This function will be removed in semver 3. Use the respective 'semver.VersionInfo.match' instead.
    if not (semver.match(hektor_version, RUSTY_HEKTOR_MIN_VER) and

functional_tests/test_import.py::TestImport::test_reviewer_can_import_data
  /builds/j.michal/grady/util/importer.py:119: DeprecationWarning: Function 'semver.match' is deprecated. Deprecated since version 2.10.0.  This function will be removed in semver 3. Use the respective 'semver.VersionInfo.match' instead.
    semver.match(hektor_version, RUSTY_HEKTOR_MAX_VER)):

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================
FAILED functional_tests/test_auto_logout.py::TestAutoLogout::test_auto_logout_can_continue
============ 1 failed, 45 passed, 946 warnings in 769.20s (0:12:49) ============
section_end:1647338271:build_script
section_start:1647338271:after_script
section_end:1647338272:after_script
section_start:1647338272:upload_artifacts_on_failure
Uploading artifacts...
functional_tests/screenshots/: found 2 matching files 
Uploading artifacts to coordinator... ok            id=838500 responseStatus=201 Created token=_mGhC1dp
section_end:1647338274:upload_artifacts_on_failure
ERROR: Job failed: exit code 1