==> Building on glalie ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 924 100% 0.00kB/s 0:00:00 924 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 99 100% 96.68kB/s 0:00:00 99 100% 96.68kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,353 100% 1.29MB/s 0:00:00 1,353 100% 1.29MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-django-guardian-3.2.0-1.1.log 693 100% 676.76kB/s 0:00:00 693 100% 676.76kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ sent 2,014 bytes received 186 bytes 4,400.00 bytes/sec total size is 3,600 speedup is 1.64 ==> Running pkgctl build --arch riscv64 --repo extra on remote host... ==> WARNING: unsupported architecture: riscv64 ==> Building python-django-guardian  -> repo: extra  -> arch: riscv64  -> worker: felix-0 ==> Building python-django-guardian for [extra] (riscv64) ]2;🔵 Container arch-nspawn-3583544 on glalie.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Locking clean chroot [/var/lib/archbuild/extra-riscv64/root]...done ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-0]...done ==> Making package: python-django-guardian 3.2.0-1.1 (Thu Sep 25 21:56:00 2025) ==> Retrieving sources...  -> Downloading python-django-guardian-3.2.0.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 7481 0 7481 0 0 3343 0 --:--:-- 0:00:02 --:--:-- 9728 100 152k 0 152k 0 0 48308 0 --:--:-- 0:00:03 --:--:-- 88745 100 279k 0 279k 0 0 77902 0 --:--:-- 0:00:03 --:--:-- 126k ==> Validating source files with sha512sums... python-django-guardian-3.2.0.tar.gz ... Passed ==> Validating source files with b2sums... python-django-guardian-3.2.0.tar.gz ... Passed ]2;🔵 Container arch-nspawn-3586316 on glalie.felixc.at\==> Making package: python-django-guardian 3.2.0-1.1 (Thu Sep 25 13:56:29 2025) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (7) New Version Net Change Download Size core/mpdecimal 4.0.1-1 0.31 MiB extra/python-asgiref 3.9.2-1 0.21 MiB 0.05 MiB extra/python-pytz 2025.2-1 0.15 MiB extra/python-sqlparse 0.5.3-1 0.51 MiB 0.09 MiB core/python 3.13.7-1 281.87 MiB extra/python-django 5.1.12-1 35.10 MiB 5.03 MiB extra/python-django-environ 0.12.0-1 0.18 MiB Total Download Size: 5.16 MiB Total Installed Size: 318.33 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-django-5.1.12-1-any downloading... python-sqlparse-0.5.3-1-any downloading... python-asgiref-3.9.2-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-pytz... installing python-sqlparse... installing python-asgiref... installing python-django... Optional dependencies for python-django python-psycopg2: for PostgreSQL backend python-argon2-cffi: for Argon2 password hashing support installing python-django-environ... Optional dependencies for python-django-environ python-simplejson: for an alternative JSON implementation :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (18) New Version Net Change extra/python-autocommand 2.2.2-7 0.08 MiB extra/python-iniconfig 2.1.0-1 0.04 MiB extra/python-jaraco.collections 5.1.0-1 0.10 MiB extra/python-jaraco.context 6.0.1-1 0.04 MiB extra/python-jaraco.functools 4.1.0-1 0.07 MiB extra/python-jaraco.text 4.0.0-2 0.08 MiB extra/python-more-itertools 10.8.0-1 0.71 MiB extra/python-packaging 25.0-1 0.67 MiB extra/python-platformdirs 4.4.0-1 0.24 MiB extra/python-pluggy 1.6.0-1 0.20 MiB extra/python-pygments 2.19.2-1 14.38 MiB extra/python-pyproject-hooks 1.2.0-3 0.10 MiB extra/python-build 1.3.0-1 0.20 MiB extra/python-installer 0.7.0-10 0.17 MiB extra/python-pytest 1:8.4.2-1 4.18 MiB extra/python-pytest-django 4.11.1-1 0.23 MiB extra/python-setuptools 1:80.9.0-2 7.54 MiB extra/python-wheel 0.45.1-1 0.28 MiB Total Installed Size: 29.32 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-platformdirs... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-setuptools... installing python-iniconfig... installing python-pluggy... installing python-pygments... installing python-pytest... installing python-pytest-django... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Retrieving sources...  -> Found python-django-guardian-3.2.0.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting python-django-guardian-3.2.0.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... * Getting build dependencies for wheel... /usr/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.13/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info creating django_guardian.egg-info writing django_guardian.egg-info/PKG-INFO writing dependency_links to django_guardian.egg-info/dependency_links.txt writing requirements to django_guardian.egg-info/requires.txt writing top-level names to django_guardian.egg-info/top_level.txt writing manifest file 'django_guardian.egg-info/SOURCES.txt' reading manifest file 'django_guardian.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'README.rst' warning: no files found matching '*.txt' adding license file 'LICENSE' writing manifest file 'django_guardian.egg-info/SOURCES.txt' * Building wheel... /usr/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.13/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel running build running build_py creating build/lib/guardian copying guardian/exceptions.py -> build/lib/guardian copying guardian/utils.py -> build/lib/guardian copying guardian/__init__.py -> build/lib/guardian copying guardian/checks.py -> build/lib/guardian copying guardian/core.py -> build/lib/guardian copying guardian/backends.py -> build/lib/guardian copying guardian/forms.py -> build/lib/guardian copying guardian/managers.py -> build/lib/guardian copying guardian/decorators.py -> build/lib/guardian copying guardian/apps.py -> build/lib/guardian copying guardian/shortcuts.py -> build/lib/guardian copying guardian/mixins.py -> build/lib/guardian copying guardian/ctypes.py -> build/lib/guardian copying guardian/admin.py -> build/lib/guardian copying guardian/compat.py -> build/lib/guardian creating build/lib/guardian/conf copying guardian/conf/settings.py -> build/lib/guardian/conf copying guardian/conf/__init__.py -> build/lib/guardian/conf creating build/lib/guardian/management copying guardian/management/__init__.py -> build/lib/guardian/management creating build/lib/guardian/management/commands copying guardian/management/commands/__init__.py -> build/lib/guardian/management/commands copying guardian/management/commands/clean_orphan_obj_perms.py -> build/lib/guardian/management/commands creating build/lib/guardian/migrations copying guardian/migrations/__init__.py -> build/lib/guardian/migrations copying guardian/migrations/0002_generic_permissions_index.py -> build/lib/guardian/migrations copying guardian/migrations/0001_initial.py -> build/lib/guardian/migrations copying guardian/migrations/0003_remove_groupobjectpermission_guardian_gr_content_ae6aec_idx_and_more.py -> build/lib/guardian/migrations creating build/lib/guardian/templatetags copying guardian/templatetags/__init__.py -> build/lib/guardian/templatetags copying guardian/templatetags/guardian_tags.py -> build/lib/guardian/templatetags creating build/lib/guardian/testapp copying guardian/testapp/models.py -> build/lib/guardian/testapp copying guardian/testapp/__init__.py -> build/lib/guardian/testapp copying guardian/testapp/testsettings.py -> build/lib/guardian/testapp creating build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0005_uuidpkmodel.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/__init__.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0001_initial.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0009_userprofile.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0008_fix_project_timezone.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0004_childtestmodel_parenttestmodel.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0006_auto_20230727_0658.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0007_genericgroupobjectpermission.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0003_auto_20190611_0440.py -> build/lib/guardian/testapp/migrations copying guardian/testapp/migrations/0002_logentrywithgroup.py -> build/lib/guardian/testapp/migrations creating build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_orphans.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_utils.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_managers.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_indexes.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_conf.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/__init__.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_decorators.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_tags.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_admin.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_direct_rel.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_management.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_other.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_mixins.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/conf.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_core.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/urls.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_custompkmodel.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_forms.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_checks.py -> build/lib/guardian/testapp/tests copying guardian/testapp/tests/test_shortcuts.py -> build/lib/guardian/testapp/tests running egg_info writing django_guardian.egg-info/PKG-INFO writing dependency_links to django_guardian.egg-info/dependency_links.txt writing requirements to django_guardian.egg-info/requires.txt writing top-level names to django_guardian.egg-info/top_level.txt reading manifest file 'django_guardian.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'README.rst' warning: no files found matching '*.txt' adding license file 'LICENSE' writing manifest file 'django_guardian.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.locale.es.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.locale.es.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.locale.es.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.locale.es.LC_MESSAGES' to be distributed and are already explicitly excluding 'guardian.locale.es.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.locale.fr.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.locale.fr.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.locale.fr.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.locale.fr.LC_MESSAGES' to be distributed and are already explicitly excluding 'guardian.locale.fr.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.locale.nl.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.locale.nl.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.locale.nl.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.locale.nl.LC_MESSAGES' to be distributed and are already explicitly excluding 'guardian.locale.nl.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.locale.pl.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.locale.pl.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.locale.pl.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.locale.pl.LC_MESSAGES' to be distributed and are already explicitly excluding 'guardian.locale.pl.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.locale.pt_BR.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.locale.pt_BR.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.locale.pt_BR.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.locale.pt_BR.LC_MESSAGES' to be distributed and are already explicitly excluding 'guardian.locale.pt_BR.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.locale.ru.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.locale.ru.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.locale.ru.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.locale.ru.LC_MESSAGES' to be distributed and are already explicitly excluding 'guardian.locale.ru.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.locale.zh_Hans.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.locale.zh_Hans.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.locale.zh_Hans.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.locale.zh_Hans.LC_MESSAGES' to be distributed and are already explicitly excluding 'guardian.locale.zh_Hans.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.models' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.models' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.models' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.models' to be distributed and are already explicitly excluding 'guardian.models' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.static.guardian.img' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.static.guardian.img' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.static.guardian.img' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.static.guardian.img' to be distributed and are already explicitly excluding 'guardian.static.guardian.img' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.templates.admin.guardian.contrib.grappelli' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.templates.admin.guardian.contrib.grappelli' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.templates.admin.guardian.contrib.grappelli' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.templates.admin.guardian.contrib.grappelli' to be distributed and are already explicitly excluding 'guardian.templates.admin.guardian.contrib.grappelli' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.templates.admin.guardian.model' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.templates.admin.guardian.model' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.templates.admin.guardian.model' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.templates.admin.guardian.model' to be distributed and are already explicitly excluding 'guardian.templates.admin.guardian.model' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'guardian.testapp.tests.templates' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'guardian.testapp.tests.templates' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'guardian.testapp.tests.templates' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'guardian.testapp.tests.templates' to be distributed and are already explicitly excluding 'guardian.testapp.tests.templates' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) copying guardian/py.typed -> build/lib/guardian creating build/lib/guardian/locale/es/LC_MESSAGES copying guardian/locale/es/LC_MESSAGES/django.mo -> build/lib/guardian/locale/es/LC_MESSAGES copying guardian/locale/es/LC_MESSAGES/django.po -> build/lib/guardian/locale/es/LC_MESSAGES creating build/lib/guardian/locale/fr/LC_MESSAGES copying guardian/locale/fr/LC_MESSAGES/django.mo -> build/lib/guardian/locale/fr/LC_MESSAGES copying guardian/locale/fr/LC_MESSAGES/django.po -> build/lib/guardian/locale/fr/LC_MESSAGES creating build/lib/guardian/locale/nl/LC_MESSAGES copying guardian/locale/nl/LC_MESSAGES/django.mo -> build/lib/guardian/locale/nl/LC_MESSAGES copying guardian/locale/nl/LC_MESSAGES/django.po -> build/lib/guardian/locale/nl/LC_MESSAGES creating build/lib/guardian/locale/pl/LC_MESSAGES copying guardian/locale/pl/LC_MESSAGES/django.mo -> build/lib/guardian/locale/pl/LC_MESSAGES copying guardian/locale/pl/LC_MESSAGES/django.po -> build/lib/guardian/locale/pl/LC_MESSAGES creating build/lib/guardian/locale/pt_BR/LC_MESSAGES copying guardian/locale/pt_BR/LC_MESSAGES/django.mo -> build/lib/guardian/locale/pt_BR/LC_MESSAGES copying guardian/locale/pt_BR/LC_MESSAGES/django.po -> build/lib/guardian/locale/pt_BR/LC_MESSAGES creating build/lib/guardian/locale/ru/LC_MESSAGES copying guardian/locale/ru/LC_MESSAGES/django.mo -> build/lib/guardian/locale/ru/LC_MESSAGES copying guardian/locale/ru/LC_MESSAGES/django.po -> build/lib/guardian/locale/ru/LC_MESSAGES creating build/lib/guardian/locale/zh_Hans/LC_MESSAGES copying guardian/locale/zh_Hans/LC_MESSAGES/django.mo -> build/lib/guardian/locale/zh_Hans/LC_MESSAGES copying guardian/locale/zh_Hans/LC_MESSAGES/django.po -> build/lib/guardian/locale/zh_Hans/LC_MESSAGES creating build/lib/guardian/models copying guardian/models/__init__.py -> build/lib/guardian/models copying guardian/models/models.py -> build/lib/guardian/models creating build/lib/guardian/static/guardian/img copying guardian/static/guardian/img/icon-no.svg -> build/lib/guardian/static/guardian/img copying guardian/static/guardian/img/icon-yes.svg -> build/lib/guardian/static/guardian/img creating build/lib/guardian/templates/admin/guardian/contrib/grappelli copying guardian/templates/admin/guardian/contrib/grappelli/field.html -> build/lib/guardian/templates/admin/guardian/contrib/grappelli copying guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage.html -> build/lib/guardian/templates/admin/guardian/contrib/grappelli copying guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage_group.html -> build/lib/guardian/templates/admin/guardian/contrib/grappelli copying guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage_user.html -> build/lib/guardian/templates/admin/guardian/contrib/grappelli creating build/lib/guardian/templates/admin/guardian/model copying guardian/templates/admin/guardian/model/change_form.html -> build/lib/guardian/templates/admin/guardian/model copying guardian/templates/admin/guardian/model/field.html -> build/lib/guardian/templates/admin/guardian/model copying guardian/templates/admin/guardian/model/obj_perms_manage.html -> build/lib/guardian/templates/admin/guardian/model copying guardian/templates/admin/guardian/model/obj_perms_manage_group.html -> build/lib/guardian/templates/admin/guardian/model copying guardian/templates/admin/guardian/model/obj_perms_manage_user.html -> build/lib/guardian/templates/admin/guardian/model copying guardian/templates/admin/guardian/model/obj_perms_no.html -> build/lib/guardian/templates/admin/guardian/model copying guardian/templates/admin/guardian/model/obj_perms_yes.html -> build/lib/guardian/templates/admin/guardian/model creating build/lib/guardian/testapp/tests/templates copying guardian/testapp/tests/templates/404.html -> build/lib/guardian/testapp/tests/templates copying guardian/testapp/tests/templates/500.html -> build/lib/guardian/testapp/tests/templates copying guardian/testapp/tests/templates/blank.html -> build/lib/guardian/testapp/tests/templates copying guardian/testapp/tests/templates/dummy403.html -> build/lib/guardian/testapp/tests/templates copying guardian/testapp/tests/templates/dummy404.html -> build/lib/guardian/testapp/tests/templates copying guardian/testapp/tests/templates/list.html -> build/lib/guardian/testapp/tests/templates installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/guardian copying build/lib/guardian/exceptions.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/utils.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/checks.py -> build/bdist.linux-riscv64/wheel/./guardian creating build/bdist.linux-riscv64/wheel/guardian/management copying build/lib/guardian/management/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/management creating build/bdist.linux-riscv64/wheel/guardian/management/commands copying build/lib/guardian/management/commands/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/management/commands copying build/lib/guardian/management/commands/clean_orphan_obj_perms.py -> build/bdist.linux-riscv64/wheel/./guardian/management/commands creating build/bdist.linux-riscv64/wheel/guardian/templates creating build/bdist.linux-riscv64/wheel/guardian/templates/admin creating build/bdist.linux-riscv64/wheel/guardian/templates/admin/guardian creating build/bdist.linux-riscv64/wheel/guardian/templates/admin/guardian/model copying build/lib/guardian/templates/admin/guardian/model/field.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/model copying build/lib/guardian/templates/admin/guardian/model/obj_perms_yes.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/model copying build/lib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/model copying build/lib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/model copying build/lib/guardian/templates/admin/guardian/model/change_form.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/model copying build/lib/guardian/templates/admin/guardian/model/obj_perms_manage.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/model copying build/lib/guardian/templates/admin/guardian/model/obj_perms_no.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/model creating build/bdist.linux-riscv64/wheel/guardian/templates/admin/guardian/contrib creating build/bdist.linux-riscv64/wheel/guardian/templates/admin/guardian/contrib/grappelli copying build/lib/guardian/templates/admin/guardian/contrib/grappelli/field.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/contrib/grappelli copying build/lib/guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage_user.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/contrib/grappelli copying build/lib/guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage_group.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/contrib/grappelli copying build/lib/guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage.html -> build/bdist.linux-riscv64/wheel/./guardian/templates/admin/guardian/contrib/grappelli copying build/lib/guardian/core.py -> build/bdist.linux-riscv64/wheel/./guardian creating build/bdist.linux-riscv64/wheel/guardian/migrations copying build/lib/guardian/migrations/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/migrations copying build/lib/guardian/migrations/0002_generic_permissions_index.py -> build/bdist.linux-riscv64/wheel/./guardian/migrations copying build/lib/guardian/migrations/0001_initial.py -> build/bdist.linux-riscv64/wheel/./guardian/migrations copying build/lib/guardian/migrations/0003_remove_groupobjectpermission_guardian_gr_content_ae6aec_idx_and_more.py -> build/bdist.linux-riscv64/wheel/./guardian/migrations copying build/lib/guardian/backends.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/forms.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/managers.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/py.typed -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/decorators.py -> build/bdist.linux-riscv64/wheel/./guardian creating build/bdist.linux-riscv64/wheel/guardian/templatetags copying build/lib/guardian/templatetags/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/templatetags copying build/lib/guardian/templatetags/guardian_tags.py -> build/bdist.linux-riscv64/wheel/./guardian/templatetags copying build/lib/guardian/apps.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/shortcuts.py -> build/bdist.linux-riscv64/wheel/./guardian creating build/bdist.linux-riscv64/wheel/guardian/testapp copying build/lib/guardian/testapp/models.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp creating build/bdist.linux-riscv64/wheel/guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_orphans.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_utils.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_managers.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_indexes.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_conf.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_decorators.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_tags.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_admin.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_direct_rel.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests creating build/bdist.linux-riscv64/wheel/guardian/testapp/tests/templates copying build/lib/guardian/testapp/tests/templates/list.html -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests/templates copying build/lib/guardian/testapp/tests/templates/dummy403.html -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests/templates copying build/lib/guardian/testapp/tests/templates/404.html -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests/templates copying build/lib/guardian/testapp/tests/templates/blank.html -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests/templates copying build/lib/guardian/testapp/tests/templates/dummy404.html -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests/templates copying build/lib/guardian/testapp/tests/templates/500.html -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests/templates copying build/lib/guardian/testapp/tests/test_management.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_other.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_mixins.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/conf.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_core.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/urls.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_custompkmodel.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_forms.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_checks.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/tests/test_shortcuts.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/tests copying build/lib/guardian/testapp/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp copying build/lib/guardian/testapp/testsettings.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp creating build/bdist.linux-riscv64/wheel/guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0005_uuidpkmodel.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0001_initial.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0009_userprofile.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0008_fix_project_timezone.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0004_childtestmodel_parenttestmodel.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0006_auto_20230727_0658.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0007_genericgroupobjectpermission.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0003_auto_20190611_0440.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations copying build/lib/guardian/testapp/migrations/0002_logentrywithgroup.py -> build/bdist.linux-riscv64/wheel/./guardian/testapp/migrations creating build/bdist.linux-riscv64/wheel/guardian/conf copying build/lib/guardian/conf/settings.py -> build/bdist.linux-riscv64/wheel/./guardian/conf copying build/lib/guardian/conf/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/conf creating build/bdist.linux-riscv64/wheel/guardian/models copying build/lib/guardian/models/models.py -> build/bdist.linux-riscv64/wheel/./guardian/models copying build/lib/guardian/models/__init__.py -> build/bdist.linux-riscv64/wheel/./guardian/models creating build/bdist.linux-riscv64/wheel/guardian/static creating build/bdist.linux-riscv64/wheel/guardian/static/guardian creating build/bdist.linux-riscv64/wheel/guardian/static/guardian/img copying build/lib/guardian/static/guardian/img/icon-yes.svg -> build/bdist.linux-riscv64/wheel/./guardian/static/guardian/img copying build/lib/guardian/static/guardian/img/icon-no.svg -> build/bdist.linux-riscv64/wheel/./guardian/static/guardian/img copying build/lib/guardian/mixins.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/ctypes.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/admin.py -> build/bdist.linux-riscv64/wheel/./guardian copying build/lib/guardian/compat.py -> build/bdist.linux-riscv64/wheel/./guardian creating build/bdist.linux-riscv64/wheel/guardian/locale creating build/bdist.linux-riscv64/wheel/guardian/locale/pt_BR creating build/bdist.linux-riscv64/wheel/guardian/locale/pt_BR/LC_MESSAGES copying build/lib/guardian/locale/pt_BR/LC_MESSAGES/django.mo -> build/bdist.linux-riscv64/wheel/./guardian/locale/pt_BR/LC_MESSAGES copying build/lib/guardian/locale/pt_BR/LC_MESSAGES/django.po -> build/bdist.linux-riscv64/wheel/./guardian/locale/pt_BR/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/guardian/locale/es creating build/bdist.linux-riscv64/wheel/guardian/locale/es/LC_MESSAGES copying build/lib/guardian/locale/es/LC_MESSAGES/django.mo -> build/bdist.linux-riscv64/wheel/./guardian/locale/es/LC_MESSAGES copying build/lib/guardian/locale/es/LC_MESSAGES/django.po -> build/bdist.linux-riscv64/wheel/./guardian/locale/es/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/guardian/locale/ru creating build/bdist.linux-riscv64/wheel/guardian/locale/ru/LC_MESSAGES copying build/lib/guardian/locale/ru/LC_MESSAGES/django.mo -> build/bdist.linux-riscv64/wheel/./guardian/locale/ru/LC_MESSAGES copying build/lib/guardian/locale/ru/LC_MESSAGES/django.po -> build/bdist.linux-riscv64/wheel/./guardian/locale/ru/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/guardian/locale/nl creating build/bdist.linux-riscv64/wheel/guardian/locale/nl/LC_MESSAGES copying build/lib/guardian/locale/nl/LC_MESSAGES/django.mo -> build/bdist.linux-riscv64/wheel/./guardian/locale/nl/LC_MESSAGES copying build/lib/guardian/locale/nl/LC_MESSAGES/django.po -> build/bdist.linux-riscv64/wheel/./guardian/locale/nl/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/guardian/locale/pl creating build/bdist.linux-riscv64/wheel/guardian/locale/pl/LC_MESSAGES copying build/lib/guardian/locale/pl/LC_MESSAGES/django.mo -> build/bdist.linux-riscv64/wheel/./guardian/locale/pl/LC_MESSAGES copying build/lib/guardian/locale/pl/LC_MESSAGES/django.po -> build/bdist.linux-riscv64/wheel/./guardian/locale/pl/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/guardian/locale/fr creating build/bdist.linux-riscv64/wheel/guardian/locale/fr/LC_MESSAGES copying build/lib/guardian/locale/fr/LC_MESSAGES/django.mo -> build/bdist.linux-riscv64/wheel/./guardian/locale/fr/LC_MESSAGES copying build/lib/guardian/locale/fr/LC_MESSAGES/django.po -> build/bdist.linux-riscv64/wheel/./guardian/locale/fr/LC_MESSAGES creating build/bdist.linux-riscv64/wheel/guardian/locale/zh_Hans creating build/bdist.linux-riscv64/wheel/guardian/locale/zh_Hans/LC_MESSAGES copying build/lib/guardian/locale/zh_Hans/LC_MESSAGES/django.mo -> build/bdist.linux-riscv64/wheel/./guardian/locale/zh_Hans/LC_MESSAGES copying build/lib/guardian/locale/zh_Hans/LC_MESSAGES/django.po -> build/bdist.linux-riscv64/wheel/./guardian/locale/zh_Hans/LC_MESSAGES running install_egg_info Copying django_guardian.egg-info to build/bdist.linux-riscv64/wheel/./django_guardian-3.2.0-py3.13.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/django_guardian-3.2.0.dist-info/WHEEL creating '/build/python-django-guardian/src/django-guardian-3.2.0/dist/.tmp-yee3kdhb/django_guardian-3.2.0-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'django_guardian-3.2.0.dist-info/licenses/LICENSE' adding 'guardian/__init__.py' adding 'guardian/admin.py' adding 'guardian/apps.py' adding 'guardian/backends.py' adding 'guardian/checks.py' adding 'guardian/compat.py' adding 'guardian/core.py' adding 'guardian/ctypes.py' adding 'guardian/decorators.py' adding 'guardian/exceptions.py' adding 'guardian/forms.py' adding 'guardian/managers.py' adding 'guardian/mixins.py' adding 'guardian/py.typed' adding 'guardian/shortcuts.py' adding 'guardian/utils.py' adding 'guardian/conf/__init__.py' adding 'guardian/conf/settings.py' adding 'guardian/locale/es/LC_MESSAGES/django.mo' adding 'guardian/locale/es/LC_MESSAGES/django.po' adding 'guardian/locale/fr/LC_MESSAGES/django.mo' adding 'guardian/locale/fr/LC_MESSAGES/django.po' adding 'guardian/locale/nl/LC_MESSAGES/django.mo' adding 'guardian/locale/nl/LC_MESSAGES/django.po' adding 'guardian/locale/pl/LC_MESSAGES/django.mo' adding 'guardian/locale/pl/LC_MESSAGES/django.po' adding 'guardian/locale/pt_BR/LC_MESSAGES/django.mo' adding 'guardian/locale/pt_BR/LC_MESSAGES/django.po' adding 'guardian/locale/ru/LC_MESSAGES/django.mo' adding 'guardian/locale/ru/LC_MESSAGES/django.po' adding 'guardian/locale/zh_Hans/LC_MESSAGES/django.mo' adding 'guardian/locale/zh_Hans/LC_MESSAGES/django.po' adding 'guardian/management/__init__.py' adding 'guardian/management/commands/__init__.py' adding 'guardian/management/commands/clean_orphan_obj_perms.py' adding 'guardian/migrations/0001_initial.py' adding 'guardian/migrations/0002_generic_permissions_index.py' adding 'guardian/migrations/0003_remove_groupobjectpermission_guardian_gr_content_ae6aec_idx_and_more.py' adding 'guardian/migrations/__init__.py' adding 'guardian/models/__init__.py' adding 'guardian/models/models.py' adding 'guardian/static/guardian/img/icon-no.svg' adding 'guardian/static/guardian/img/icon-yes.svg' adding 'guardian/templates/admin/guardian/contrib/grappelli/field.html' adding 'guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage.html' adding 'guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage_group.html' adding 'guardian/templates/admin/guardian/contrib/grappelli/obj_perms_manage_user.html' adding 'guardian/templates/admin/guardian/model/change_form.html' adding 'guardian/templates/admin/guardian/model/field.html' adding 'guardian/templates/admin/guardian/model/obj_perms_manage.html' adding 'guardian/templates/admin/guardian/model/obj_perms_manage_group.html' adding 'guardian/templates/admin/guardian/model/obj_perms_manage_user.html' adding 'guardian/templates/admin/guardian/model/obj_perms_no.html' adding 'guardian/templates/admin/guardian/model/obj_perms_yes.html' adding 'guardian/templatetags/__init__.py' adding 'guardian/templatetags/guardian_tags.py' adding 'guardian/testapp/__init__.py' adding 'guardian/testapp/models.py' adding 'guardian/testapp/testsettings.py' adding 'guardian/testapp/migrations/0001_initial.py' adding 'guardian/testapp/migrations/0002_logentrywithgroup.py' adding 'guardian/testapp/migrations/0003_auto_20190611_0440.py' adding 'guardian/testapp/migrations/0004_childtestmodel_parenttestmodel.py' adding 'guardian/testapp/migrations/0005_uuidpkmodel.py' adding 'guardian/testapp/migrations/0006_auto_20230727_0658.py' adding 'guardian/testapp/migrations/0007_genericgroupobjectpermission.py' adding 'guardian/testapp/migrations/0008_fix_project_timezone.py' adding 'guardian/testapp/migrations/0009_userprofile.py' adding 'guardian/testapp/migrations/__init__.py' adding 'guardian/testapp/tests/__init__.py' adding 'guardian/testapp/tests/conf.py' adding 'guardian/testapp/tests/test_admin.py' adding 'guardian/testapp/tests/test_checks.py' adding 'guardian/testapp/tests/test_conf.py' adding 'guardian/testapp/tests/test_core.py' adding 'guardian/testapp/tests/test_custompkmodel.py' adding 'guardian/testapp/tests/test_decorators.py' adding 'guardian/testapp/tests/test_direct_rel.py' adding 'guardian/testapp/tests/test_forms.py' adding 'guardian/testapp/tests/test_indexes.py' adding 'guardian/testapp/tests/test_management.py' adding 'guardian/testapp/tests/test_managers.py' adding 'guardian/testapp/tests/test_mixins.py' adding 'guardian/testapp/tests/test_orphans.py' adding 'guardian/testapp/tests/test_other.py' adding 'guardian/testapp/tests/test_shortcuts.py' adding 'guardian/testapp/tests/test_tags.py' adding 'guardian/testapp/tests/test_utils.py' adding 'guardian/testapp/tests/urls.py' adding 'guardian/testapp/tests/templates/404.html' adding 'guardian/testapp/tests/templates/500.html' adding 'guardian/testapp/tests/templates/blank.html' adding 'guardian/testapp/tests/templates/dummy403.html' adding 'guardian/testapp/tests/templates/dummy404.html' adding 'guardian/testapp/tests/templates/list.html' adding 'django_guardian-3.2.0.dist-info/METADATA' adding 'django_guardian-3.2.0.dist-info/WHEEL' adding 'django_guardian-3.2.0.dist-info/top_level.txt' adding 'django_guardian-3.2.0.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Successfully built django_guardian-3.2.0-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python cachedir: .pytest_cache django: version: 5.1.12, settings: guardian.testapp.testsettings (from ini) rootdir: /build/python-django-guardian/src/django-guardian-3.2.0 configfile: pyproject.toml plugins: django-4.11.1 collecting ... collected 353 items guardian/testapp/tests/test_admin.py::AdminTests::test_view PASSED [ 0%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group PASSED [ 0%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form PASSED [ 0%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form_empty_group PASSED [ 1%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form_wrong_field PASSED [ 1%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_form_wrong_group PASSED [ 1%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_group_wrong_perms PASSED [ 1%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_negative_group_form PASSED [ 2%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_negative_user_form PASSED [ 2%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user PASSED [ 2%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form PASSED [ 3%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form_empty_user PASSED [ 3%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form_wrong_field PASSED [ 3%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_form_wrong_user PASSED [ 3%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_user_wrong_perms PASSED [ 4%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_wrong_obj PASSED [ 4%] guardian/testapp/tests/test_admin.py::AdminTests::test_view_manage_wrong_user PASSED [ 4%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_obj_perms_group_select_form_attr PASSED [ 5%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_obj_perms_manage_group_form_attr PASSED [ 5%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_obj_perms_manage_group_template_attr PASSED [ 5%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_obj_perms_manage_template_attr PASSED [ 5%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_obj_perms_manage_user_form_attr PASSED [ 6%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_obj_perms_manage_user_template_attr PASSED [ 6%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_obj_perms_user_select_form_attr PASSED [ 6%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_user_can_acces_owned_objects_only PASSED [ 7%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_user_can_acces_owned_objects_only_unless_superuser PASSED [ 7%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_user_can_access_owned_by_group_objects_only PASSED [ 7%] guardian/testapp/tests/test_admin.py::GuardedModelAdminTests::test_user_can_access_owned_by_group_objects_only_unless_superuser PASSED [ 7%] guardian/testapp/tests/test_admin.py::GrappelliGuardedModelAdminTests::test_get_obj_perms_manage_group_template PASSED [ 8%] guardian/testapp/tests/test_admin.py::GrappelliGuardedModelAdminTests::test_get_obj_perms_manage_template PASSED [ 8%] guardian/testapp/tests/test_admin.py::GrappelliGuardedModelAdminTests::test_get_obj_perms_manage_user_template PASSED [ 8%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_add_permission_only_denies_other_permissions PASSED [ 9%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_change_permission_only_denies_other_permissions PASSED [ 9%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_delete_permission_only_denies_other_permissions PASSED [ 9%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_different_objects_permission_isolation PASSED [ 9%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_global_vs_object_permission_isolation PASSED [ 10%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_has_add_permission_global PASSED [ 10%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_has_add_permission_with_object_permission PASSED [ 10%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_has_change_permission_with_object_permission PASSED [ 11%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_has_delete_permission_with_object_permission PASSED [ 11%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_has_view_permission_with_object_permission PASSED [ 11%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_inheritance_order PASSED [ 11%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_model_meta_access PASSED [ 12%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_partial_permissions_isolation PASSED [ 12%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_permission_denied_for_other_user PASSED [ 12%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_permission_revocation PASSED [ 13%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_view_permission_only_denies_other_permissions PASSED [ 13%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_with_none_object PASSED [ 13%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_inline_with_tabular_admin PASSED [ 13%] guardian/testapp/tests/test_admin.py::GuardedInlineAdminMixinTests::test_superuser_has_all_inline_permissions PASSED [ 14%] guardian/testapp/tests/test_checks.py::SystemCheckTestCase::test_checks PASSED [ 14%] guardian/testapp/tests/test_conf.py::TestConfiguration::test_check_configuration PASSED [ 14%] guardian/testapp/tests/test_conf.py::TestConfiguration::test_get_content_type PASSED [ 15%] guardian/testapp/tests/test_core.py::CustomUserTests::test_create_anonymous_user PASSED [ 15%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_anonymous_user PASSED [ 15%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_autoprefetch_group_perms PASSED [ 15%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_autoprefetch_superuser_perms PASSED [ 16%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_autoprefetch_user_perms PASSED [ 16%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_cache_for_queries_count PASSED [ 16%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_get_perms PASSED [ 16%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_init PASSED [ 17%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_not_active_superuser PASSED [ 17%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_not_active_user PASSED [ 17%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_prefetch_group_perms PASSED [ 18%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_prefetch_group_perms_direct_rel PASSED [ 18%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_prefetch_superuser_perms PASSED [ 18%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_prefetch_superuser_perms_direct_rel PASSED [ 18%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_prefetch_user_perms PASSED [ 19%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_prefetch_user_perms_direct_rel PASSED [ 19%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_prefetch_user_perms_with_empty_objects PASSED [ 19%] guardian/testapp/tests/test_core.py::ObjectPermissionCheckerTest::test_superuser PASSED [ 20%] guardian/testapp/tests/test_custompkmodel.py::CustomPKModelTest::test_assign_perm PASSED [ 20%] guardian/testapp/tests/test_custompkmodel.py::CustomPKModelTest::test_remove_perm PASSED [ 20%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_403_response_raises_error PASSED [ 20%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_404_response_raises_error PASSED [ 21%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_RAISE_403_setting_is_true PASSED [ 21%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_RAISE_404_setting_is_true PASSED [ 21%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_RENDER_403_is_false PASSED [ 22%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_RENDER_404_is_false PASSED [ 22%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_TEMPLATE_403_setting PASSED [ 22%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_TEMPLATE_404_setting PASSED [ 22%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_anonymous_user PASSED [ 23%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_anonymous_user_wrong_app PASSED [ 23%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_anonymous_user_wrong_codename PASSED [ 23%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_model_lookup PASSED [ 24%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_no_args PASSED [ 24%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_redirection PASSED [ 24%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_redirection_class PASSED [ 24%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_redirection_raises_wrong_app_error PASSED [ 25%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_user_has_access PASSED [ 25%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_user_has_access_on_model_with_metaclass PASSED [ 25%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_user_has_global_perm_access PASSED [ 26%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_user_has_global_perm_access_but_flag_not_set PASSED [ 26%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_user_has_no_access PASSED [ 26%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_user_has_no_obj_perm_access PASSED [ 26%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_user_has_obj_access_even_if_we_also_check_for_global PASSED [ 27%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_wrong_lookup_variables PASSED [ 27%] guardian/testapp/tests/test_decorators.py::PermissionRequiredTest::test_wrong_lookup_variables_number PASSED [ 27%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_after_perm_is_created_without_shortcut PASSED [ 28%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_assign_perm PASSED [ 28%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_get_all_permissions PASSED [ 28%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_get_all_permissions_no_object PASSED [ 28%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_get_objects_for_user PASSED [ 29%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_get_users_with_perms PASSED [ 29%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_get_users_with_perms_plus_groups PASSED [ 29%] guardian/testapp/tests/test_direct_rel.py::TestDirectUserPermissions::test_remove_perm PASSED [ 30%] guardian/testapp/tests/test_direct_rel.py::TestDirectGroupPermissions::test_after_perm_is_created_without_shortcut PASSED [ 30%] guardian/testapp/tests/test_direct_rel.py::TestDirectGroupPermissions::test_assign_perm PASSED [ 30%] guardian/testapp/tests/test_direct_rel.py::TestDirectGroupPermissions::test_get_groups_with_perms PASSED [ 30%] guardian/testapp/tests/test_direct_rel.py::TestDirectGroupPermissions::test_get_groups_with_perms_doesnt_spawn_extra_queries_for_more_groups_with_perms PASSED [ 31%] guardian/testapp/tests/test_direct_rel.py::TestDirectGroupPermissions::test_get_objects_for_group PASSED [ 31%] guardian/testapp/tests/test_direct_rel.py::TestDirectGroupPermissions::test_remove_perm PASSED [ 31%] guardian/testapp/tests/test_direct_rel.py::TestMixedDirectAndGenericObjectPermission::test_get_users_with_perms_plus_groups PASSED [ 32%] guardian/testapp/tests/test_direct_rel.py::TestMixedDirectAndGenericObjectPermission::test_get_users_with_perms_plus_groups_reverse_mixed PASSED [ 32%] guardian/testapp/tests/test_forms.py::BaseObjectPermissionsFormTests::test_not_implemented PASSED [ 32%] guardian/testapp/tests/test_indexes.py::IndexPerformanceTestCase::test_group_permission_lookup_performance PASSED [ 32%] guardian/testapp/tests/test_indexes.py::IndexPerformanceTestCase::test_specific_permission_lookup_performance PASSED [ 33%] guardian/testapp/tests/test_indexes.py::IndexPerformanceTestCase::test_user_permission_lookup_performance PASSED [ 33%] guardian/testapp/tests/test_indexes.py::GuardianShortcutsPerformanceTestCase::test_bulk_permission_check_performance PASSED [ 33%] guardian/testapp/tests/test_indexes.py::GuardianShortcutsPerformanceTestCase::test_get_objects_for_group_performance PASSED [ 33%] guardian/testapp/tests/test_indexes.py::GuardianShortcutsPerformanceTestCase::test_get_objects_for_user_multiple_permissions PASSED [ 34%] guardian/testapp/tests/test_indexes.py::GuardianShortcutsPerformanceTestCase::test_get_objects_for_user_performance PASSED [ 34%] guardian/testapp/tests/test_indexes.py::GuardianShortcutsPerformanceTestCase::test_get_objects_for_user_speed_comparison PASSED [ 34%] guardian/testapp/tests/test_indexes.py::GuardianShortcutsPerformanceTestCase::test_get_objects_for_user_with_groups_performance PASSED [ 35%] guardian/testapp/tests/test_indexes.py::GuardianShortcutsPerformanceTestCase::test_object_permission_checker_performance PASSED [ 35%] guardian/testapp/tests/test_indexes.py::IndexVsNoIndexPerformanceTestCase::test_bulk_permission_checks_timing PASSED [ 35%] guardian/testapp/tests/test_indexes.py::IndexVsNoIndexPerformanceTestCase::test_get_objects_for_user_timing PASSED [ 35%] guardian/testapp/tests/test_indexes.py::IndexVsNoIndexPerformanceTestCase::test_object_permission_listing_timing PASSED [ 36%] guardian/testapp/tests/test_indexes.py::IndexVsNoIndexPerformanceTestCase::test_permission_existence_at_scale_timing FAILED [ 36%] guardian/testapp/tests/test_indexes.py::IndexVsNoIndexPerformanceTestCase::test_user_permission_lookup_timing PASSED [ 36%] guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_database_error_on_user_lookup PASSED [ 37%] guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_database_error_on_user_save PASSED [ 37%] guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_get_anonymous_user PASSED [ 37%] guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_non_migrated_db PASSED [ 37%] guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_uses_custom_function PASSED [ 38%] guardian/testapp/tests/test_management.py::TestGetAnonymousUser::test_uses_custom_username_field_model PASSED [ 38%] guardian/testapp/tests/test_managers.py::TestManagers::test_group_manager_assign PASSED [ 38%] guardian/testapp/tests/test_managers.py::TestManagers::test_user_manager_assign PASSED [ 39%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_any_perm_parameter PASSED [ 39%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_get_get_objects_for_user_kwargs_raises_deprecation_warning PASSED [ 39%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_list_permission PASSED [ 39%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_login_required_mixin PASSED [ 40%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_granted_global_no_object PASSED [ 40%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_is_checked_before_view_is_computed PASSED [ 40%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_is_checked_before_view_is_computed_perm_denied_raised PASSED [ 41%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_list_mixin_generator_deprecation PASSED [ 41%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_required PASSED [ 41%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_required_as_list PASSED [ 41%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_required_generator_deprecation PASSED [ 42%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_required_global_no_object PASSED [ 42%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_required_iterable_types_validation PASSED [ 42%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_required_no_object PASSED [ 43%] guardian/testapp/tests/test_mixins.py::TestViewMixins::test_permission_required_view_configured_wrongly PASSED [ 43%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms PASSED [ 43%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_combined_parameters PASSED [ 43%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command PASSED [ 44%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command_combined_parameters PASSED [ 44%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command_no_orphans PASSED [ 44%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command_verbosity_levels PASSED [ 45%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command_with_batch_size PASSED [ 45%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command_with_max_batches PASSED [ 45%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command_with_max_duration_secs PASSED [ 45%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_command_with_skip_batches PASSED [ 46%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_edge_cases PASSED [ 46%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_no_orphans PASSED [ 46%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_return_value_consistency PASSED [ 47%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_with_batch_size PASSED [ 47%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_with_max_batches PASSED [ 47%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_with_max_duration_secs PASSED [ 47%] guardian/testapp/tests/test_orphans.py::OrphanedObjectPermissionsTest::test_clean_perms_with_skip_batches PASSED [ 48%] guardian/testapp/tests/test_other.py::UserPermissionTests::test_assign_perm_validation PASSED [ 48%] guardian/testapp/tests/test_other.py::UserPermissionTests::test_assignment PASSED [ 48%] guardian/testapp/tests/test_other.py::UserPermissionTests::test_assignment_and_remove PASSED [ 49%] guardian/testapp/tests/test_other.py::UserPermissionTests::test_ctypes PASSED [ 49%] guardian/testapp/tests/test_other.py::UserPermissionTests::test_errors PASSED [ 49%] guardian/testapp/tests/test_other.py::GroupPermissionTests::test_assign_perm_validation PASSED [ 49%] guardian/testapp/tests/test_other.py::GroupPermissionTests::test_assignement PASSED [ 50%] guardian/testapp/tests/test_other.py::GroupPermissionTests::test_assignement_and_remove PASSED [ 50%] guardian/testapp/tests/test_other.py::GroupPermissionTests::test_ctypes PASSED [ 50%] guardian/testapp/tests/test_other.py::GroupPermissionTests::test_errors PASSED [ 50%] guardian/testapp/tests/test_other.py::ObjectPermissionBackendTests::test_attrs PASSED [ 51%] guardian/testapp/tests/test_other.py::ObjectPermissionBackendTests::test_authenticate PASSED [ 51%] guardian/testapp/tests/test_other.py::ObjectPermissionBackendTests::test_has_perm_noobj PASSED [ 51%] guardian/testapp/tests/test_other.py::ObjectPermissionBackendTests::test_has_perm_notauthed PASSED [ 52%] guardian/testapp/tests/test_other.py::ObjectPermissionBackendTests::test_has_perm_wrong_app PASSED [ 52%] guardian/testapp/tests/test_other.py::ObjectPermissionBackendTests::test_not_active_user PASSED [ 52%] guardian/testapp/tests/test_other.py::ObjectPermissionBackendTests::test_obj_is_not_model PASSED [ 52%] guardian/testapp/tests/test_other.py::GuardianBaseTests::test_get_version PASSED [ 53%] guardian/testapp/tests/test_other.py::TestExceptions::test_error_classes PASSED [ 53%] guardian/testapp/tests/test_other.py::TestMonkeyPatch::test_monkey_patch SKIPPED [ 53%] guardian/testapp/tests/test_shortcuts.py::ShortcutsTests::test_get_perms_for_model PASSED [ 54%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_assign_perm_with_dots PASSED [ 54%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_deprecation_warning PASSED [ 54%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_global_wrong_perm PASSED [ 54%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_group_assign_perm PASSED [ 55%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_group_assign_perm_global PASSED [ 55%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_group_assign_perm_list PASSED [ 55%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_group_assign_perm_queryset PASSED [ 56%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_not_model PASSED [ 56%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_user_assign_perm PASSED [ 56%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_user_assign_perm_global PASSED [ 56%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_user_assign_perm_list PASSED [ 57%] guardian/testapp/tests/test_shortcuts.py::AssignPermTest::test_user_assign_perm_queryset PASSED [ 57%] guardian/testapp/tests/test_shortcuts.py::MultipleIdentitiesOperationsTest::test_assign_to_many_groups_list PASSED [ 57%] guardian/testapp/tests/test_shortcuts.py::MultipleIdentitiesOperationsTest::test_assign_to_many_groups_queryset PASSED [ 58%] guardian/testapp/tests/test_shortcuts.py::MultipleIdentitiesOperationsTest::test_assign_to_many_users_list PASSED [ 58%] guardian/testapp/tests/test_shortcuts.py::MultipleIdentitiesOperationsTest::test_assign_to_many_users_queryset PASSED [ 58%] guardian/testapp/tests/test_shortcuts.py::MultipleIdentitiesOperationsTest::test_assign_to_multiple_identity_and_obj PASSED [ 58%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_global_wrong_perm PASSED [ 59%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_group_remove_perm PASSED [ 59%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_group_remove_perm_global PASSED [ 59%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_group_remove_perm_queryset PASSED [ 60%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_not_model PASSED [ 60%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_user_remove_perm PASSED [ 60%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_user_remove_perm_empty_queryset PASSED [ 60%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_user_remove_perm_global PASSED [ 61%] guardian/testapp/tests/test_shortcuts.py::RemovePermTest::test_user_remove_perm_queryset PASSED [ 61%] guardian/testapp/tests/test_shortcuts.py::GetPermsTest::test_not_model PASSED [ 61%] guardian/testapp/tests/test_shortcuts.py::GetPermsTest::test_user PASSED [ 62%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_attach_groups_only_has_perms PASSED [ 62%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_attach_perms PASSED [ 62%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_direct_perms_only PASSED [ 62%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_direct_perms_only_perms_attached PASSED [ 63%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_empty PASSED [ 63%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_mixed PASSED [ 63%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_only_with_perms_in_groups PASSED [ 64%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_only_with_perms_in_groups_attached PASSED [ 64%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_only_with_perms_in_users PASSED [ 64%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_only_with_perms_in_users_attached PASSED [ 64%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_only_with_perms_in_users_with_group_users PASSED [ 65%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_only_with_perms_in_users_without_group_users PASSED [ 65%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_simple PASSED [ 65%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_users_groups_after_removal PASSED [ 66%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_users_groups_perms PASSED [ 66%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_with_superusers PASSED [ 66%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_without_group_users PASSED [ 66%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_without_group_users_but_perms_attached PASSED [ 67%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_without_group_users_no_result PASSED [ 67%] guardian/testapp/tests/test_shortcuts.py::GetUsersWithPermsTest::test_without_group_users_no_result_but_with_superusers PASSED [ 67%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_custom_group_model PASSED [ 67%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_custom_group_model_attach_perms PASSED [ 68%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_empty PASSED [ 68%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_filter_by_contenttype PASSED [ 68%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_mixed PASSED [ 69%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_mixed_attach_perms PASSED [ 69%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_simple PASSED [ 69%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_simple_after_removal PASSED [ 69%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_simple_attach_perms PASSED [ 70%] guardian/testapp/tests/test_shortcuts.py::GetGroupsWithPerms::test_simple_attach_perms_after_removal PASSED [ 70%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_anonymous PASSED [ 70%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_any_of_multiple_perms_to_check PASSED [ 71%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_empty_perms_sequence PASSED [ 71%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_ensure_returns_queryset PASSED [ 71%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_exception_different_ctypes PASSED [ 71%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_groups_perms PASSED [ 72%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_has_any_group_permissions PASSED [ 72%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_has_any_permissions PASSED [ 72%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_has_global_permission_and_object_based_permission PASSED [ 73%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_has_global_permission_and_object_based_permission_any_perm PASSED [ 73%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_has_global_permission_only PASSED [ 73%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_klass_as_manager PASSED [ 73%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_klass_as_model PASSED [ 74%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_klass_as_queryset PASSED [ 74%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_mixed_perms PASSED [ 74%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_mixed_perms_and_klass PASSED [ 75%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_model_inheritance PASSED [ 75%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_multiple_perms_to_check PASSED [ 75%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_multiple_perms_to_check_no_groups PASSED [ 75%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_no_app_label_nor_klass PASSED [ 76%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_object_based_permission_with_groups_2perms PASSED [ 76%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_object_based_permission_with_groups_3perms PASSED [ 76%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_object_based_permission_without_global_permission PASSED [ 77%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_override_get_content_type PASSED [ 77%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_perms_single PASSED [ 77%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_perms_with_mixed_apps PASSED [ 77%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_short_codenames_with_klass PASSED [ 78%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_simple PASSED [ 78%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_superuser PASSED [ 78%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_uuid_primary_key PASSED [ 79%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_uuid_primary_key_with_any_perm PASSED [ 79%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_uuid_primary_key_with_group_values PASSED [ 79%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_varchar_primary_key PASSED [ 79%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_varchar_primary_key_with_any_perm PASSED [ 80%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_varchar_primary_key_with_group_values PASSED [ 80%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_with_superuser_false PASSED [ 80%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForUser::test_with_superuser_true PASSED [ 81%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_any_of_multiple_perms_to_check PASSED [ 81%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_empty_perms_sequence PASSED [ 81%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_ensure_returns_queryset PASSED [ 81%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_exception_different_ctypes PASSED [ 82%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_has_global_permission PASSED [ 82%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_has_global_permission_and_object_based_permission PASSED [ 82%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_has_global_permission_and_object_based_permission_3perms PASSED [ 83%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_has_global_permission_and_object_based_permission_any_perm PASSED [ 83%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_klass_as_manager PASSED [ 83%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_klass_as_model PASSED [ 83%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_klass_as_queryset PASSED [ 84%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_mixed_perms PASSED [ 84%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_mixed_perms_and_klass PASSED [ 84%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_multiple_perms_to_check PASSED [ 84%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_no_app_label_nor_klass PASSED [ 85%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_override_get_content_type PASSED [ 85%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_perms_single PASSED [ 85%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_perms_with_mixed_apps PASSED [ 86%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_results_for_different_groups_are_correct PASSED [ 86%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_simple PASSED [ 86%] guardian/testapp/tests/test_shortcuts.py::GetObjectsForGroup::test_simple_after_removal PASSED [ 86%] guardian/testapp/tests/test_shortcuts.py::ContentTypeCacheTestCase::test_first_access PASSED [ 87%] guardian/testapp/tests/test_shortcuts.py::ContentTypeCacheTestCase::test_second_access PASSED [ 87%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_anonymous_user PASSED [ 87%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_checker PASSED [ 88%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_group PASSED [ 88%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_obj_none PASSED [ 88%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_superuser PASSED [ 88%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_user PASSED [ 89%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_wrong_formats PASSED [ 89%] guardian/testapp/tests/test_tags.py::GetObjPermsTagTest::test_wrong_user_or_group PASSED [ 89%] guardian/testapp/tests/test_utils.py::GetAnonymousUserTest::test PASSED [ 90%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_anonymous_user PASSED [ 90%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_group PASSED [ 90%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_multiple_group_list PASSED [ 90%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_multiple_group_qs PASSED [ 91%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_multiple_user_list PASSED [ 91%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_multiple_user_qs PASSED [ 91%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_not_user_nor_group PASSED [ 92%] guardian/testapp/tests/test_utils.py::GetIdentityTest::test_user PASSED [ 92%] guardian/testapp/tests/test_utils.py::GetUserObjPermsModelTest::test_default PASSED [ 92%] guardian/testapp/tests/test_utils.py::GetUserObjPermsModelTest::test_for_class PASSED [ 92%] guardian/testapp/tests/test_utils.py::GetUserObjPermsModelTest::test_for_instance PASSED [ 93%] guardian/testapp/tests/test_utils.py::GetUserObjPermsModelTest::test_user_model PASSED [ 93%] guardian/testapp/tests/test_utils.py::GetGroupObjPermsModelTest::test_default PASSED [ 93%] guardian/testapp/tests/test_utils.py::GetGroupObjPermsModelTest::test_for_class PASSED [ 94%] guardian/testapp/tests/test_utils.py::GetGroupObjPermsModelTest::test_for_instance PASSED [ 94%] guardian/testapp/tests/test_utils.py::GetGroupObjPermsModelTest::test_group_model PASSED [ 94%] guardian/testapp/tests/test_utils.py::GetObjPermsModelTest::test_file_field PASSED [ 94%] guardian/testapp/tests/test_utils.py::GetObjPermsModelTest::test_image_field PASSED [ 95%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_both_functions_return_same_user PASSED [ 95%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_cache_clear_functionality PASSED [ 95%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_cache_disabled_by_default PASSED [ 96%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_cache_enabled PASSED [ 96%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_cache_info_available PASSED [ 96%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_cached_function_calls_database_once PASSED [ 96%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_indefinite_cache PASSED [ 97%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_integration_with_get_identity PASSED [ 97%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_integration_with_get_identity_uncached PASSED [ 97%] guardian/testapp/tests/test_utils.py::GetAnonymousUserCacheTest::test_uncached_function_calls_database_each_time PASSED [ 98%] guardian/testapp/tests/test_indexes.py::IndexTestCase::test_basegenericobjectpermission_index_exists PASSED [ 98%] guardian/testapp/tests/test_indexes.py::IndexTestCase::test_groupobjectpermission_indexes_exist PASSED [ 98%] guardian/testapp/tests/test_indexes.py::IndexTestCase::test_groupobjectpermission_query_uses_index PASSED [ 98%] guardian/testapp/tests/test_indexes.py::IndexTestCase::test_userobjectpermission_indexes_exist PASSED [ 99%] guardian/testapp/tests/test_indexes.py::IndexTestCase::test_userobjectpermission_query_uses_index PASSED [ 99%] guardian/testapp/tests/test_shortcuts.py::ContentTypeCacheTransactionTestCase::test_first_access PASSED [ 99%] guardian/testapp/tests/test_shortcuts.py::ContentTypeCacheTransactionTestCase::test_second_access PASSED [100%] =================================== FAILURES =================================== _ IndexVsNoIndexPerformanceTestCase.test_permission_existence_at_scale_timing __ self = def test_permission_existence_at_scale_timing(self): """Test permission existence checking performance at scale.""" import time # Test checking permissions for multiple users and objects users_sample = self.users[:10] projects_sample = self.projects[:10] start_time = time.time() existence_checks = 0 for user in users_sample: for project in projects_sample: UserObjectPermission.objects.filter( permission=self.add_permission, user=user, content_type=self.content_type, object_pk=str(project.pk) ).exists() existence_checks += 1 end_time = time.time() elapsed_time = end_time - start_time print(f"\nPerformed {existence_checks} permission existence checks in {elapsed_time:.4f} seconds") # Should be very fast with proper indexing > self.assertLess(elapsed_time, 0.5, "Permission existence checks should be fast with indexes") E AssertionError: 0.5760443210601807 not less than 0.5 : Permission existence checks should be fast with indexes guardian/testapp/tests/test_indexes.py:546: AssertionError ----------------------------- Captured stdout call ----------------------------- Performed 100 permission existence checks in 0.5760 seconds =========================== short test summary info ============================ FAILED guardian/testapp/tests/test_indexes.py::IndexVsNoIndexPerformanceTestCase::test_permission_existence_at_scale_timing ============= 1 failed, 351 passed, 1 skipped in 640.31s (0:10:40) ============= ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-0/build [?25h[?25h[?25hreceiving incremental file list python-django-guardian-3.2.0-1.1-riscv64-build.log python-django-guardian-3.2.0-1.1-riscv64-check.log python-django-guardian-3.2.0-1.1-riscv64-prepare.log sent 81 bytes received 9,480 bytes 19,122.00 bytes/sec total size is 99,940 speedup is 10.45