Running with gitlab-runner 13.4.1 (e95f89a0)
  on edugit-runner-01 4yHzzzyE
section_start:1604842401:prepare_executor
Preparing the "docker" executor
Using Docker executor with image registry.edugit.org/teckids/team-sysadmin/docker-images/python-pimped:latest ...
Starting service selenium/standalone-firefox:latest ...
Pulling docker image selenium/standalone-firefox:latest ...
Using docker image sha256:f13fe467127e0d9e6f82c339d6c4f3e5eb5be19f4b73afaded5ce90f55294d00 for selenium/standalone-firefox:latest with digest selenium/standalone-firefox@sha256:1a7845ce3e800c5bf14ed857f1292799bb4834a814ff22b6e50ba495026088ef ...
Waiting for services to be up and running...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.edugit.org/teckids/team-sysadmin/docker-images/python-pimped:latest ...
Using docker image sha256:a78b2b3f17ea25fe27f9d12dbe218b7eb95fbdac64fec5b496002cf1b634fe61 for registry.edugit.org/teckids/team-sysadmin/docker-images/python-pimped:latest with digest registry.edugit.org/teckids/team-sysadmin/docker-images/python-pimped@sha256:fa7e9c35976cabbdd2320aebcdba8f9229304bb03d236057ad7aef7cd046a7d9 ...
section_end:1604842409:prepare_executor
section_start:1604842409:prepare_script
Preparing environment
Running on runner-4yhzzzye-project-118-concurrent-0 via edugit-runner-01...
section_end:1604842410:prepare_script
section_start:1604842410:get_sources
Getting source from Git repository
Fetching changes...
Reinitialized existing Git repository in /builds/AlekSIS/official/AlekSIS/.git/
Checking out 35de8737 as group-stats...
Removing .tox/
Removing dist/

Updating/initializing submodules recursively...
Synchronizing submodule url for 'apps/official/AlekSIS-App-Chronos'
Synchronizing submodule url for 'apps/official/AlekSIS-App-DashboardFeeds'
Synchronizing submodule url for 'apps/official/AlekSIS-App-Hjelp'
Synchronizing submodule url for 'apps/official/AlekSIS-App-LDAP'
Synchronizing submodule url for 'apps/official/AlekSIS-App-Untis'
Entering 'apps/official/AlekSIS-App-Chronos'
Entering 'apps/official/AlekSIS-App-DashboardFeeds'
Entering 'apps/official/AlekSIS-App-Hjelp'
Entering 'apps/official/AlekSIS-App-LDAP'
Entering 'apps/official/AlekSIS-App-Untis'
Entering 'apps/official/AlekSIS-App-Chronos'
HEAD is now at d0d7bb4 Merge branch 'docker-build' into 'master'
Entering 'apps/official/AlekSIS-App-DashboardFeeds'
HEAD is now at ed998b9 Merge branch 'docker-build' into 'master'
Entering 'apps/official/AlekSIS-App-Hjelp'
HEAD is now at bd6163d Merge branch 'docker-build' into 'master'
Entering 'apps/official/AlekSIS-App-LDAP'
HEAD is now at a6be040 Merge branch 'docker-build' into 'master'
Entering 'apps/official/AlekSIS-App-Untis'
HEAD is now at c15111e Merge branch 'docker-build' into 'master'
Entering 'apps/official/AlekSIS-App-Chronos'
Entering 'apps/official/AlekSIS-App-DashboardFeeds'
Entering 'apps/official/AlekSIS-App-Hjelp'
Entering 'apps/official/AlekSIS-App-LDAP'
Entering 'apps/official/AlekSIS-App-Untis'
section_end:1604842425:get_sources
section_start:1604842425:restore_cache
Restoring cache
Checking cache for 0fbdf37fc035db5e3ccadf2b0ec5393fde8f85f9...
No URL provided, cache will not be downloaded from shared cache server. Instead a local version of cache will be extracted. 
WARNING: .tox/globalenv/bin/python: chmod .tox/globalenv/bin/python: no such file or directory (suppressing repeats) 
Successfully extracted cache
section_end:1604842438:restore_cache
section_start:1604842438:step_script
Executing "step_script" stage of the job script
$ adduser --disabled-password --gecos "Test User" testuser
Adding user `testuser' ...
Adding new group `testuser' (1000) ...
Adding new user `testuser' (1000) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
$ chown -R testuser .
$ sudo apt update

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:2 http://deb.debian.org/debian buster InRelease [121 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [245 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7906 kB]
Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [7856 B]
Fetched 8398 kB in 2s (4930 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
66 packages can be upgraded. Run 'apt list --upgradable' to see them.
$ sudo apt install python3-ldap libldap2-dev libssl-dev libsasl2-dev python3.7-dev -y

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
libsasl2-dev is already the newest version (2.1.27+dfsg-1+deb10u1).
libssl-dev is already the newest version (1.1.1d-0+deb10u3).
python3-ldap is already the newest version (3.1.0-2).
The following additional packages will be installed:
  libldap-2.4-2 libpython3.7 libpython3.7-dev libpython3.7-minimal
  libpython3.7-stdlib python3.7 python3.7-minimal
Suggested packages:
  python3.7-venv python3.7-doc binfmt-support
The following packages will be upgraded:
  libldap-2.4-2 libldap2-dev libpython3.7 libpython3.7-dev
  libpython3.7-minimal libpython3.7-stdlib python3.7 python3.7-dev
  python3.7-minimal
9 upgraded, 0 newly installed, 0 to remove and 57 not upgraded.
Need to get 55.3 MB of archives.
After this operation, 19.5 kB disk space will be freed.
Get:1 http://deb.debian.org/debian buster/main amd64 python3.7-dev amd64 3.7.3-2+deb10u2 [510 kB]
Get:2 http://security.debian.org/debian-security buster/updates/main amd64 libldap2-dev amd64 2.4.47+dfsg-3+deb10u3 [331 kB]
Get:3 http://security.debian.org/debian-security buster/updates/main amd64 libldap-2.4-2 amd64 2.4.47+dfsg-3+deb10u3 [225 kB]
Get:4 http://deb.debian.org/debian buster/main amd64 libpython3.7-dev amd64 3.7.3-2+deb10u2 [48.4 MB]
Get:5 http://deb.debian.org/debian buster/main amd64 libpython3.7 amd64 3.7.3-2+deb10u2 [1498 kB]
Get:6 http://deb.debian.org/debian buster/main amd64 python3.7 amd64 3.7.3-2+deb10u2 [330 kB]
Get:7 http://deb.debian.org/debian buster/main amd64 libpython3.7-stdlib amd64 3.7.3-2+deb10u2 [1732 kB]
Get:8 http://deb.debian.org/debian buster/main amd64 python3.7-minimal amd64 3.7.3-2+deb10u2 [1731 kB]
Get:9 http://deb.debian.org/debian buster/main amd64 libpython3.7-minimal amd64 3.7.3-2+deb10u2 [589 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 55.3 MB in 2s (32.9 MB/s)
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 42690 files and directories currently installed.)
Preparing to unpack .../0-python3.7-dev_3.7.3-2+deb10u2_amd64.deb ...
Unpacking python3.7-dev (3.7.3-2+deb10u2) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../1-libpython3.7-dev_3.7.3-2+deb10u2_amd64.deb ...
Unpacking libpython3.7-dev:amd64 (3.7.3-2+deb10u2) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../2-libpython3.7_3.7.3-2+deb10u2_amd64.deb ...
Unpacking libpython3.7:amd64 (3.7.3-2+deb10u2) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../3-python3.7_3.7.3-2+deb10u2_amd64.deb ...
Unpacking python3.7 (3.7.3-2+deb10u2) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../4-libpython3.7-stdlib_3.7.3-2+deb10u2_amd64.deb ...
Unpacking libpython3.7-stdlib:amd64 (3.7.3-2+deb10u2) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../5-python3.7-minimal_3.7.3-2+deb10u2_amd64.deb ...
Unpacking python3.7-minimal (3.7.3-2+deb10u2) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../6-libpython3.7-minimal_3.7.3-2+deb10u2_amd64.deb ...
Unpacking libpython3.7-minimal:amd64 (3.7.3-2+deb10u2) over (3.7.3-2+deb10u1) ...
Preparing to unpack .../7-libldap2-dev_2.4.47+dfsg-3+deb10u3_amd64.deb ...
Unpacking libldap2-dev:amd64 (2.4.47+dfsg-3+deb10u3) over (2.4.47+dfsg-3+deb10u2) ...
Preparing to unpack .../8-libldap-2.4-2_2.4.47+dfsg-3+deb10u3_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u3) over (2.4.47+dfsg-3+deb10u2) ...
Setting up libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u3) ...
Setting up libpython3.7-minimal:amd64 (3.7.3-2+deb10u2) ...
Setting up libldap2-dev:amd64 (2.4.47+dfsg-3+deb10u3) ...
Setting up python3.7-minimal (3.7.3-2+deb10u2) ...
Setting up libpython3.7-stdlib:amd64 (3.7.3-2+deb10u2) ...
Setting up libpython3.7:amd64 (3.7.3-2+deb10u2) ...
Setting up libpython3.7-dev:amd64 (3.7.3-2+deb10u2) ...
Setting up python3.7 (3.7.3-2+deb10u2) ...
Setting up python3.7-dev (3.7.3-2+deb10u2) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for mime-support (3.62) ...
$ sudo -u testuser env TEST_SELENIUM_HUB=http://selenium:4444/wd/hub TEST_SELENIUM_BROWSERS=firefox TEST_HOST=build tox -e selenium -- --junitxml=.tox/junit.xml
selenium installed: alabaster==0.7.12,appdirs==1.4.4,asgiref==3.2.10,attrs==20.2.0,Babel==2.8.0,bandit==1.6.2,beautifulsoup4==4.9.3,black==19.10b0,bleach==3.2.1,boolean.py==3.8,calendarweek==0.4.6.post2,celery-progress==0.0.12,certifi==2020.6.20,chardet==3.0.4,click==7.1.2,colour==0.1.5,configobj==5.0.6,coverage==5.3,dj-database-url==0.5.0,Django==3.1.2,django-any-js==1.0.3.post0,django-appconf==1.0.4,django-bleach==0.6.1,django-bulk-update==2.2.0,django-cache-memoize==0.1.7,django-ckeditor==6.0.0,django-colorfield==0.3.2,django-dbbackup==3.3.0,django-debug-toolbar==2.2,django-dynamic-preferences==1.10.1,django-easy-audit==1.3.0,django-favicon-plus-reloaded==1.0.4,django-filter==2.4.0,django-formtools==2.2,django-guardian==2.3.0,django-hattori==0.2.1,django-haystack==3.0b1,django-health-check==3.14.3,django-image-cropping==1.5.0,django-impersonate==1.5.1,django-ipware==3.0.1,django-js-asset==1.2.2,django-js-reverse==0.9.1,django-jsonstore==0.4.1,django-maintenance-mode==0.15.0,django-material==1.7.1,django-menu-generator==1.0.4,django-middleware-global-request==0.1.2,django-otp==1.0.2,django-otp-yubikey==1.0.0,django-phonenumber-field==3.0.1,django-polymorphic==3.0.0,django-pwa==1.0.10,django-render-block==0.8.1,django-reversion==3.0.8,django-sass-processor==0.8.2,django-select2==7.4.2,django-settings-context-processor==0.2,django-stubs==1.7.0,django-tables2==2.3.3,django-templated-email==2.3.0,django-two-factor-auth==1.13,django-widget-tweaks==1.4.8,django-yarnpkg==6.0.1,docutils==0.16,dparse==0.5.1,dynaconf==3.1.2,easy-thumbnails==2.7,Faker==4.14.0,flake8==3.8.4,flake8-bandit==2.1.2,flake8-black==0.2.1,flake8-builtins==1.5.3,flake8-django==1.1.1,flake8-docstrings==1.5.0,flake8-fixme==1.1.1,flake8-isort==4.0.0,flake8-mypy==17.8.0,flake8-polyfill==1.0.2,flake8-rst-docstrings==0.0.13,gitdb==4.0.5,GitPython==3.1.11,html2text==2020.1.16,idna==2.10,imagesize==1.2.0,iniconfig==1.1.1,isort==5.6.4,Jinja2==2.11.2,libsass==0.20.1,license-expression==1.2,MarkupSafe==1.1.1,mccabe==0.6.1,mypy==0.790,mypy-extensions==0.4.3,packaging==20.4,pathspec==0.8.0,pbr==5.5.1,persisting-theory==0.2.1,pg8000==1.16.6,phonenumbers==8.12.11,Pillow==7.2.0,pluggy==0.13.1,psutil==5.7.3,psycopg2==2.8.6,py==1.9.0,pycodestyle==2.6.0,pycryptodome==3.9.8,pydocstyle==5.1.1,pyflakes==2.2.0,Pygments==2.7.2,PyJWT==1.7.1,pyparsing==2.4.7,pytest==6.1.2,pytest-cov==2.10.1,pytest-django==3.10.0,pytest-django-testing-postgresql==0.1.post0,pytest-sugar==0.9.4,python-dateutil==2.8.1,python-memcached==1.59,pytz==2020.1,PyYAML==5.3.1,qrcode==6.1,regex==2020.10.28,requests==2.24.0,restructuredtext-lint==1.3.1,ruamel.yaml==0.16.12,ruamel.yaml.clib==0.2.2,rules==2.2,safety==1.9.0,scramp==1.2.0,selenium==3.141.0,six==1.15.0,smmap==3.0.4,snowballstemmer==2.0.0,soupsieve==2.0.1,spdx-license-list==0.5.1,Sphinx==3.2.1,sphinx-autodoc-typehints==1.11.1,sphinxcontrib-applehelp==1.0.2,sphinxcontrib-devhelp==1.0.2,sphinxcontrib-django==0.5.1,sphinxcontrib-htmlhelp==1.0.3,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-qthelp==1.0.3,sphinxcontrib-serializinghtml==1.1.4,sqlparse==0.4.1,stevedore==3.2.2,termcolor==1.1.0,testfixtures==6.15.0,testing.common.database==2.0.3,testing.postgresql==1.3.0,text-unidecode==1.3,toml==0.10.1,tqdm==4.51.0,twilio==6.46.0,typed-ast==1.4.1,typing-extensions==3.7.4.3,urllib3==1.25.11,webencodings==0.5.1,YubiOTP==1.0.0.post1
selenium run-test-pre: PYTHONHASHSEED='2726264162'
selenium run-test-pre: commands[0] | - poetry install
Installing dependencies from lock file

No dependencies to install or update

  - Installing AlekSIS (2.0a3.dev0)
selenium run-test: commands[0] | - poetry run pytest --cov=. --junitxml=.tox/junit.xml aleksis/
============================= test session starts ==============================
platform linux -- Python 3.8.3, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
cachedir: .tox/globalenv/.pytest_cache
django: settings: aleksis.core.settings (from env)
rootdir: /builds/AlekSIS/official/AlekSIS, configfile: tox.ini
plugins: django-3.10.0, django-testing-postgresql-0.1.post0, sugar-0.9.4, cov-2.10.1, Faker-4.14.0
collected 18 items

aleksis/core/tests/test_authentication_backends.py EE                    [ 11%]
aleksis/core/tests/models/test_notification.py E                         [ 16%]
aleksis/core/tests/models/test_person.py E                               [ 22%]
aleksis/core/tests/templatetags/test_data_helpers.py EEEEEEEE            [ 66%]
aleksis/core/tests/views/test_account.py EEE                             [ 83%]
aleksis/core/tests/browser/test_selenium.py EE                           [ 94%]
aleksis/core/tests/util/test_core_helpers.py .                           [100%]

==================================== ERRORS ====================================
____________________ ERROR at setup of test_backends_simple ____________________

request = <SubRequest '_django_db_marker' for <Function test_backends_simple>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
_______________ ERROR at setup of test_backends_with_activation ________________

request = <SubRequest '_django_db_marker' for <Function test_backends_with_activation>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
__________________ ERROR at setup of test_email_notification ___________________

request = <SubRequest '_django_db_marker' for <Function test_email_notification>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
_______________________ ERROR at setup of test_full_name _______________________

request = <SubRequest '_django_db_marker' for <Function test_full_name>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
____________________ ERROR at setup of test_get_dict_object ____________________

request = <SubRequest '_django_db_marker' for <Function test_get_dict_object>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
_____________________ ERROR at setup of test_get_dict_dict _____________________

request = <SubRequest '_django_db_marker' for <Function test_get_dict_dict>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
_____________________ ERROR at setup of test_get_dict_list _____________________

request = <SubRequest '_django_db_marker' for <Function test_get_dict_list>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
___________________ ERROR at setup of test_get_dict_invalid ____________________

request = <SubRequest '_django_db_marker' for <Function test_get_dict_invalid>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
__________________ ERROR at setup of test_verbose_name_model ___________________

request = <SubRequest '_django_db_marker' for <Function test_verbose_name_model>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
__________________ ERROR at setup of test_verbose_name_field ___________________

request = <SubRequest '_django_db_marker' for <Function test_verbose_name_field>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
____________________ ERROR at setup of test_parse_json_json ____________________

request = <SubRequest '_django_db_marker' for <Function test_parse_json_json>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
___________________ ERROR at setup of test_parse_json_empty ____________________

request = <SubRequest '_django_db_marker' for <Function test_parse_json_empty>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
__________________ ERROR at setup of test_index_not_logged_in __________________

request = <SubRequest '_django_db_marker' for <Function test_index_not_logged_in>>

    @pytest.fixture(autouse=True)
    def _django_db_marker(request):
        """Implement the django_db marker, internal to pytest-django.
    
        This will dynamically request the ``db``, ``transactional_db`` or
        ``django_db_reset_sequences`` fixtures as required by the django_db marker.
        """
        marker = request.node.get_closest_marker("django_db")
        if marker:
            transaction, reset_sequences = validate_django_db(marker)
            if reset_sequences:
                request.getfixturevalue("django_db_reset_sequences")
            elif transaction:
                request.getfixturevalue("transactional_db")
            else:
>               request.getfixturevalue("db")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:513: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
_________________ ERROR at setup of test_login_without_person __________________

request = <SubRequest 'django_db_setup' for <Function test_backends_simple>>
django_test_environment = None
django_db_blocker = <pytest_django.plugin._DatabaseBlocker object at 0x7faa3ae161c0>
django_db_use_migrations = True, django_db_keepdb = False
django_db_createdb = False, django_db_modify_db_settings = None

    @pytest.fixture(scope="session")
    def django_db_setup(
        request,
        django_test_environment,
        django_db_blocker,
        django_db_use_migrations,
        django_db_keepdb,
        django_db_createdb,
        django_db_modify_db_settings,
    ):
        """Top level fixture to ensure test databases are available"""
        from .compat import setup_databases, teardown_databases
    
        setup_databases_args = {}
    
        if not django_db_use_migrations:
            _disable_native_migrations()
    
        if django_db_keepdb and not django_db_createdb:
            setup_databases_args["keepdb"] = True
    
        with django_db_blocker.unblock():
>           db_cfg = setup_databases(
                verbosity=request.config.option.verbose,
                interactive=False,
                **setup_databases_args
            )

.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
________________________ ERROR at setup of test_logout _________________________

request = <SubRequest 'django_db_setup' for <Function test_backends_simple>>
django_test_environment = None
django_db_blocker = <pytest_django.plugin._DatabaseBlocker object at 0x7faa3ae161c0>
django_db_use_migrations = True, django_db_keepdb = False
django_db_createdb = False, django_db_modify_db_settings = None

    @pytest.fixture(scope="session")
    def django_db_setup(
        request,
        django_test_environment,
        django_db_blocker,
        django_db_use_migrations,
        django_db_keepdb,
        django_db_createdb,
        django_db_modify_db_settings,
    ):
        """Top level fixture to ensure test databases are available"""
        from .compat import setup_databases, teardown_databases
    
        setup_databases_args = {}
    
        if not django_db_use_migrations:
            _disable_native_migrations()
    
        if django_db_keepdb and not django_db_createdb:
            setup_databases_args["keepdb"] = True
    
        with django_db_blocker.unblock():
>           db_cfg = setup_databases(
                verbosity=request.config.option.verbose,
                interactive=False,
                **setup_databases_args
            )

.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
__________________ ERROR at setup of SeleniumTests.test_index __________________

request = <SubRequest '_django_setup_unittest' for <TestCaseFunction test_index>>
django_db_blocker = <pytest_django.plugin._DatabaseBlocker object at 0x7faa3ae161c0>

    @pytest.fixture(autouse=True, scope="class")
    def _django_setup_unittest(request, django_db_blocker):
        """Setup a django unittest, internal to pytest-django."""
        if not django_settings_is_configured() or not is_django_unittest(request):
            yield
            return
    
        # Fix/patch pytest.
        # Before pytest 5.4: https://github.com/pytest-dev/pytest/issues/5991
        # After pytest 5.4: https://github.com/pytest-dev/pytest-django/issues/824
        from _pytest.monkeypatch import MonkeyPatch
    
        def non_debugging_runtest(self):
            self._testcase(result=self)
    
        mp_debug = MonkeyPatch()
        mp_debug.setattr("_pytest.unittest.TestCaseFunction.runtest", non_debugging_runtest)
    
>       request.getfixturevalue("django_db_setup")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
_________ ERROR at setup of SeleniumTests.test_login_default_superuser _________

request = <SubRequest '_django_setup_unittest' for <TestCaseFunction test_index>>
django_db_blocker = <pytest_django.plugin._DatabaseBlocker object at 0x7faa3ae161c0>

    @pytest.fixture(autouse=True, scope="class")
    def _django_setup_unittest(request, django_db_blocker):
        """Setup a django unittest, internal to pytest-django."""
        if not django_settings_is_configured() or not is_django_unittest(request):
            yield
            return
    
        # Fix/patch pytest.
        # Before pytest 5.4: https://github.com/pytest-dev/pytest/issues/5991
        # After pytest 5.4: https://github.com/pytest-dev/pytest-django/issues/824
        from _pytest.monkeypatch import MonkeyPatch
    
        def non_debugging_runtest(self):
            self._testcase(result=self)
    
        mp_debug = MonkeyPatch()
        mp_debug.setattr("_pytest.unittest.TestCaseFunction.runtest", non_debugging_runtest)
    
>       request.getfixturevalue("django_db_setup")

.tox/globalenv/lib/python3.8/site-packages/pytest_django/plugin.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/globalenv/lib/python3.8/site-packages/pytest_django/fixtures.py:105: in django_db_setup
    db_cfg = setup_databases(
.tox/globalenv/lib/python3.8/site-packages/django/test/utils.py:170: in setup_databases
    connection.creation.create_test_db(
.tox/globalenv/lib/python3.8/site-packages/django/db/backends/base/creation.py:72: in create_test_db
    call_command(
.tox/globalenv/lib/python3.8/site-packages/django/core/management/__init__.py:168: in call_command
    return command.execute(*args, **defaults)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:371: in execute
    output = self.handle(*args, **options)
.tox/globalenv/lib/python3.8/site-packages/django/core/management/base.py:85: in wrapped
    res = handle_func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <django.core.management.commands.migrate.Command object at 0x7faa33489070>
args = ()
options = {'app_label': None, 'check_unapplied': False, 'database': 'default', 'fake': False, ...}
database = 'default', app_config = <AppConfig: favicon>
connection = <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7faa3757af10>
executor = <django.db.migrations.executor.MigrationExecutor object at 0x7faa33430e20>
conflicts = {'core': {'0003_add_permissions_for_group_stats', '0003_drop_image_cropping'}}
name_str = '0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core'

    @no_translations
    def handle(self, *args, **options):
        database = options['database']
        if not options['skip_checks']:
            self.check(databases=[database])
    
        self.verbosity = options['verbosity']
        self.interactive = options['interactive']
    
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_config in apps.get_app_configs():
            if module_has_submodule(app_config.module, "management"):
                import_module('.management', app_config.name)
    
        # Get the database we're operating from
        connection = connections[database]
    
        # Hook for backends needing any database preparation
        connection.prepare_database()
        # Work out which apps have migrations and which do not
        executor = MigrationExecutor(connection, self.migration_progress_callback)
    
        # Raise an error if any migrations are applied before their dependencies.
        executor.loader.check_consistent_history(connection)
    
        # Before anything else, see if there's conflicting apps and drop out
        # hard if there are any
        conflicts = executor.loader.detect_conflicts()
        if conflicts:
            name_str = "; ".join(
                "%s in %s" % (", ".join(names), app)
                for app, names in conflicts.items()
            )
>           raise CommandError(
                "Conflicting migrations detected; multiple leaf nodes in the "
                "migration graph: (%s).\nTo fix them run "
                "'python manage.py makemigrations --merge'" % name_str
            )
E           django.core.management.base.CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0003_add_permissions_for_group_stats, 0003_drop_image_cropping in core).
E           To fix them run 'python manage.py makemigrations --merge'

.tox/globalenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py:105: CommandError
=============================== warnings summary ===============================
.tox/globalenv/lib/python3.8/site-packages/dbbackup/apps.py:12
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/dbbackup/apps.py:12: RemovedInDjango40Warning: django.utils.translation.ugettext_lazy() is deprecated in favor of django.utils.translation.gettext_lazy().
    verbose_name = _('Backup and restore')

.tox/globalenv/lib/python3.8/site-packages/reversion/signals.py:9
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/reversion/signals.py:9: 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.
    pre_revision_commit = Signal(providing_args=_signal_args)

.tox/globalenv/lib/python3.8/site-packages/reversion/signals.py:10
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/reversion/signals.py:10: 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.
    post_revision_commit = Signal(providing_args=_signal_args)

.tox/globalenv/lib/python3.8/site-packages/persisting_theory/registries.py:6
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/persisting_theory/registries.py:6: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    from imp import reload

.tox/globalenv/lib/python3.8/site-packages/dynamic_preferences/signals.py:3
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/dynamic_preferences/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.
    preference_updated = Signal(providing_args=("section", "name", "old_value", "new_value"))

.tox/globalenv/lib/python3.8/site-packages/dynamic_preferences/managers.py:8
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/dynamic_preferences/managers.py:8: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working
    class PreferencesManager(collections.Mapping):

.tox/globalenv/lib/python3.8/site-packages/easy_thumbnails/signals.py:3
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/easy_thumbnails/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.
    saved_file = django.dispatch.Signal(providing_args=['fieldfile'])

.tox/globalenv/lib/python3.8/site-packages/easy_thumbnails/signals.py:19
  /builds/AlekSIS/official/AlekSIS/.tox/globalenv/lib/python3.8/site-packages/easy_thumbnails/signals.py:19: 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.
    thumbnail_missed = django.dispatch.Signal(

-- Docs: https://docs.pytest.org/en/stable/warnings.html
----- generated xml file: /builds/AlekSIS/official/AlekSIS/.tox/junit.xml ------

----------- coverage: platform linux, python 3.8.3-final-0 -----------
Name                                        Stmts   Miss  Cover
---------------------------------------------------------------
aleksis/core/__init__.py                       10      2    80%
aleksis/core/admin.py                          14      0   100%
aleksis/core/apps.py                           57     15    74%
aleksis/core/celery.py                          6      4    33%
aleksis/core/checks.py                         24     15    38%
aleksis/core/managers.py                       41     18    56%
aleksis/core/mixins.py                        184     76    59%
aleksis/core/models.py                        365    128    65%
aleksis/core/preferences.py                   148      2    99%
aleksis/core/registries.py                     10      0   100%
aleksis/core/rules.py                          90      0   100%
aleksis/core/settings.py                      195     64    67%
aleksis/core/tasks.py                          25     17    32%
aleksis/core/templatetags/__init__.py           0      0   100%
aleksis/core/templatetags/data_helpers.py      31     17    45%
aleksis/core/util/__init__.py                   0      0   100%
aleksis/core/util/apps.py                      81     47    42%
aleksis/core/util/core_helpers.py             158     96    39%
aleksis/core/util/messages.py                  18      8    56%
aleksis/core/util/model_helpers.py              2      0   100%
aleksis/core/util/notifications.py             42     25    40%
aleksis/core/util/predicates.py                63     23    63%
aleksis/core/util/sass_helpers.py              18      9    50%
---------------------------------------------------------------
TOTAL                                        1582    566    64%

=========================== short test summary info ============================
ERROR aleksis/core/tests/test_authentication_backends.py::test_backends_simple
ERROR aleksis/core/tests/test_authentication_backends.py::test_backends_with_activation
ERROR aleksis/core/tests/models/test_notification.py::test_email_notification
ERROR aleksis/core/tests/models/test_person.py::test_full_name - django.core....
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_get_dict_object
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_get_dict_dict
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_get_dict_list
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_get_dict_invalid
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_verbose_name_model
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_verbose_name_field
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_parse_json_json
ERROR aleksis/core/tests/templatetags/test_data_helpers.py::test_parse_json_empty
ERROR aleksis/core/tests/views/test_account.py::test_index_not_logged_in - dj...
ERROR aleksis/core/tests/views/test_account.py::test_login_without_person - d...
ERROR aleksis/core/tests/views/test_account.py::test_logout - django.core.man...
ERROR aleksis/core/tests/browser/test_selenium.py::SeleniumTests::test_index
ERROR aleksis/core/tests/browser/test_selenium.py::SeleniumTests::test_login_default_superuser
=================== 1 passed, 8 warnings, 17 errors in 3.01s ===================
___________________________________ summary ____________________________________
  selenium: commands succeeded
  congratulations :)
section_end:1604842484:step_script
section_start:1604842484:archive_cache
Saving cache
Creating cache 0fbdf37fc035db5e3ccadf2b0ec5393fde8f85f9...
WARNING: .cache/pip: no matching files             
.tox: found 30391 matching files and directories   
No URL provided, cache will be not uploaded to shared cache server. Cache will be stored only locally. 
Created cache
section_end:1604842506:archive_cache
section_start:1604842506:upload_artifacts_on_success
Uploading artifacts for successful job
Uploading artifacts...
.tox/screenshots: found 3 matching files and directories 
Uploading artifacts as "archive" to coordinator... ok  id=13192 responseStatus=201 Created token=4bJRDTse
Uploading artifacts...
.tox/junit.xml: found 1 matching files and directories 
Uploading artifacts as "junit" to coordinator... ok  id=13192 responseStatus=201 Created token=4bJRDTse
section_end:1604842508:upload_artifacts_on_success
section_start:1604842508:cleanup_file_variables
Cleaning up file based variables
section_end:1604842509:cleanup_file_variables
Job succeeded