>>> py3-django-otp: Building community/py3-django-otp 1.5.4-r0 (using abuild 3.14.0-r0) started Fri, 18 Oct 2024 15:07:59 +0000 >>> py3-django-otp: Validating /home/buildozer/aports/community/py3-django-otp/APKBUILD... >>> WARNING: py3-django-otp: Setting the maintainer with a comment is deprecated. Use maintainer="Antoine Martin (ayakael) " instead >>> py3-django-otp: Analyzing dependencies... >>> py3-django-otp: Installing for build: build-base py3-django py3-qrcode py3-gpep517 py3-setuptools py3-wheel py3-hatchling py3-freezegun (1/69) Installing libbz2 (1.0.8-r6) (2/69) Installing libffi (3.4.6-r0) (3/69) Installing gdbm (1.24-r0) (4/69) Installing xz-libs (5.6.3-r0) (5/69) Installing mpdecimal (4.0.0-r0) (6/69) Installing libpanelw (6.5_p20241006-r0) (7/69) Installing sqlite-libs (3.46.1-r0) (8/69) Installing python3 (3.12.7-r0) (9/69) Installing python3-pycache-pyc0 (3.12.7-r0) (10/69) Installing pyc (3.12.7-r0) (11/69) Installing py3-asgiref (3.8.1-r1) (12/69) Installing py3-asgiref-pyc (3.8.1-r1) (13/69) Installing py3-sqlparse (0.4.4-r2) (14/69) Installing py3-sqlparse-pyc (0.4.4-r2) (15/69) Installing tzdata (2024b-r1) (16/69) Installing py3-django-pyc (4.2.16-r0) (17/69) Installing python3-pyc (3.12.7-r0) (18/69) Installing py3-django (4.2.16-r0) (19/69) Installing libpng (1.6.44-r0) (20/69) Installing freetype (2.13.3-r0) (21/69) Installing libimagequant (4.2.2-r0) (22/69) Installing libjpeg-turbo (3.0.4-r0) (23/69) Installing lcms2 (2.16-r0) (24/69) Installing openjpeg (2.5.2-r0) (25/69) Installing libsharpyuv (1.4.0-r0) (26/69) Installing libwebp (1.4.0-r0) (27/69) Installing tiff (4.7.0-r0) (28/69) Installing libwebpdemux (1.4.0-r0) (29/69) Installing libwebpmux (1.4.0-r0) (30/69) Installing libxau (1.0.11-r4) (31/69) Installing libmd (1.1.0-r0) (32/69) Installing libbsd (0.12.2-r0) (33/69) Installing libxdmcp (1.1.5-r1) (34/69) Installing libxcb (1.16.1-r0) (35/69) Installing py3-pillow (11.0.0-r0) (36/69) Installing py3-pillow-pyc (11.0.0-r0) (37/69) Installing py3-pypng (0.0.20-r5) (38/69) Installing py3-pypng-pyc (0.0.20-r5) (39/69) Installing py3-parsing (3.1.4-r0) (40/69) Installing py3-parsing-pyc (3.1.4-r0) (41/69) Installing py3-packaging (24.1-r0) (42/69) Installing py3-packaging-pyc (24.1-r0) (43/69) Installing py3-setuptools (70.3.0-r0) (44/69) Installing py3-setuptools-pyc (70.3.0-r0) (45/69) Installing py3-qrcode (7.4.2-r3) (46/69) Installing py3-qrcode-pyc (7.4.2-r3) (47/69) Installing py3-installer (0.7.0-r2) (48/69) Installing py3-installer-pyc (0.7.0-r2) (49/69) Installing py3-gpep517 (16-r0) (50/69) Installing py3-gpep517-pyc (16-r0) (51/69) Installing py3-wheel (0.43.0-r0) (52/69) Installing py3-wheel-pyc (0.43.0-r0) (53/69) Installing py3-editables (0.5-r2) (54/69) Installing py3-editables-pyc (0.5-r2) (55/69) Installing py3-pathspec (0.12.1-r2) (56/69) Installing py3-pathspec-pyc (0.12.1-r2) (57/69) Installing py3-pluggy (1.5.0-r0) (58/69) Installing py3-pluggy-pyc (1.5.0-r0) (59/69) Installing py3-trove-classifiers (2024.10.14-r0) (60/69) Installing py3-trove-classifiers-pyc (2024.10.14-r0) (61/69) Installing py3-hatchling (1.25.0-r0) (62/69) Installing py3-hatchling-pyc (1.25.0-r0) (63/69) Installing py3-six (1.16.0-r9) (64/69) Installing py3-six-pyc (1.16.0-r9) (65/69) Installing py3-dateutil (2.9.0-r1) (66/69) Installing py3-dateutil-pyc (2.9.0-r1) (67/69) Installing py3-freezegun (1.4.0-r1) (68/69) Installing py3-freezegun-pyc (1.4.0-r1) (69/69) Installing .makedepends-py3-django-otp (20241018.150803) Executing busybox-1.36.1-r32.trigger OK: 327 MiB in 169 packages >>> py3-django-otp: Cleaning up srcdir >>> py3-django-otp: Cleaning up pkgdir >>> py3-django-otp: Cleaning up tmpdir >>> py3-django-otp: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-django-otp-1.5.4.tar.gz >>> py3-django-otp: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-django-otp-1.5.4.tar.gz >>> py3-django-otp: Checking sha512sums... py3-django-otp-1.5.4.tar.gz: OK >>> py3-django-otp: Unpacking /var/cache/distfiles/py3-django-otp-1.5.4.tar.gz... 2024-10-18 15:08:05,122 gpep517 INFO Building wheel via backend hatchling.build 2024-10-18 15:08:05,255 gpep517 INFO The backend produced .dist/django_otp-1.5.4-py3-none-any.whl django_otp-1.5.4-py3-none-any.whl Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')... Found 153 test(s). Operations to perform: Synchronize unmigrated apps: django_otp, messages, staticfiles Apply all migrations: admin, auth, contenttypes, otp_email, otp_hotp, otp_static, otp_totp, sessions, test_app Synchronizing apps without migrations: Creating tables... Running deferred SQL... Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying otp_email.0001_initial... OK Applying otp_email.0002_sidechanneldevice_email... OK Applying otp_email.0003_emaildevice_email... OK Applying otp_email.0004_throttling... OK Applying otp_email.0005_emaildevice_last_generated_timestamp... OK Applying otp_email.0006_add_timestamps... OK Applying otp_hotp.0001_initial... OK Applying otp_hotp.0002_auto_20190420_0723... OK Applying otp_hotp.0003_add_timestamps... OK Applying otp_static.0001_initial... OK Applying otp_static.0002_throttling... OK Applying otp_static.0003_add_timestamps... OK Applying otp_totp.0001_initial... OK Applying otp_totp.0002_auto_20190420_0723... OK Applying otp_totp.0003_add_timestamps... OK Applying sessions.0001_initial... OK Applying test_app.0001_initial... OK System check identified no issues (0 silenced). test_email_interaction (django_otp.plugins.otp_email.tests.AuthFormTest.test_email_interaction) ... ok test_cooldown_expire_time (django_otp.plugins.otp_email.tests.CooldownTestCase.test_cooldown_expire_time) When token generation is not allowed, the cooldown expire time ... ok test_cooldown_imposed_after_successful_generation (django_otp.plugins.otp_email.tests.CooldownTestCase.test_cooldown_imposed_after_successful_generation) Token generation before cooldown should not be allowed ... ok test_cooldown_imposed_expiration_message (django_otp.plugins.otp_email.tests.CooldownTestCase.test_cooldown_imposed_expiration_message) ... ok test_cooldown_imposed_message (django_otp.plugins.otp_email.tests.CooldownTestCase.test_cooldown_imposed_message) ... ok test_cooldown_reset (django_otp.plugins.otp_email.tests.CooldownTestCase.test_cooldown_reset) Cooldown can be reset and allow token generation again before the initial period expires. ... ok test_generate_is_allowed_on_first_try (django_otp.plugins.otp_email.tests.CooldownTestCase.test_generate_is_allowed_on_first_try) Token generation should be allowed on first try. ... ok test_invalid_token_verification_does_not_reset_cooldown (django_otp.plugins.otp_email.tests.CooldownTestCase.test_invalid_token_verification_does_not_reset_cooldown) When the token is not verified, the cooldown period is not reset. ... ok test_valid_token_verification_resets_cooldown (django_otp.plugins.otp_email.tests.CooldownTestCase.test_valid_token_verification_resets_cooldown) When the token is verified, the cooldown period is reset. ... ok test_alternative_email (django_otp.plugins.otp_email.tests.EmailTest.test_alternative_email) ... ok test_defaults (django_otp.plugins.otp_email.tests.EmailTest.test_defaults) ... ok test_invalid_token (django_otp.plugins.otp_email.tests.EmailTest.test_invalid_token) ... ok test_no_reuse (django_otp.plugins.otp_email.tests.EmailTest.test_no_reuse) ... ok test_settings (django_otp.plugins.otp_email.tests.EmailTest.test_settings) ... ok test_settings_extra_template_options (django_otp.plugins.otp_email.tests.EmailTest.test_settings_extra_template_options) ... ok test_settings_html_template (django_otp.plugins.otp_email.tests.EmailTest.test_settings_html_template) ... ok test_settings_html_template_path (django_otp.plugins.otp_email.tests.EmailTest.test_settings_html_template_path) ... ok test_settings_template_path (django_otp.plugins.otp_email.tests.EmailTest.test_settings_template_path) ... ok test_token_expiry (django_otp.plugins.otp_email.tests.EmailTest.test_token_expiry) ... ok test_token_generator (django_otp.plugins.otp_email.tests.EmailTest.test_token_generator) ... ok test_delay_after_fail_expires (django_otp.plugins.otp_email.tests.ThrottlingTestCase.test_delay_after_fail_expires) ... ok test_delay_imposed_after_fail (django_otp.plugins.otp_email.tests.ThrottlingTestCase.test_delay_imposed_after_fail) ... ok test_throttling_failure_count (django_otp.plugins.otp_email.tests.ThrottlingTestCase.test_throttling_failure_count) ... ok test_verify_is_allowed (django_otp.plugins.otp_email.tests.ThrottlingTestCase.test_verify_is_allowed) ... ok test_created_at_set_on_creation (django_otp.plugins.otp_email.tests.TimestampTestCase.test_created_at_set_on_creation) Verify that the `created_at` field is automatically set upon creation. ... ok test_last_used_at_initially_none (django_otp.plugins.otp_email.tests.TimestampTestCase.test_last_used_at_initially_none) Ensure `last_used_at` is None upon initial creation. ... ok test_set_last_used_timestamp_updates_field (django_otp.plugins.otp_email.tests.TimestampTestCase.test_set_last_used_timestamp_updates_field) Check if `set_last_used_timestamp` correctly updates the `last_used_at` field. ... ok test_set_last_used_timestamp_without_commit (django_otp.plugins.otp_email.tests.TimestampTestCase.test_set_last_used_timestamp_without_commit) Ensure `set_last_used_timestamp` updates `last_used_at` without persisting ... ok test_verify_token_failed_does_not_update_last_used_at (django_otp.plugins.otp_email.tests.TimestampTestCase.test_verify_token_failed_does_not_update_last_used_at) Verifying with an invalid token does not update 'last_used_at'. ... ok test_verify_token_successful_updates_last_used_at (django_otp.plugins.otp_email.tests.TimestampTestCase.test_verify_token_successful_updates_last_used_at) Verifying with a valid token updates 'last_used_at'. ... ok test_attempt_after_fail (django_otp.plugins.otp_hotp.tests.AuthFormTest.test_attempt_after_fail) ... ok test_bad_token (django_otp.plugins.otp_hotp.tests.AuthFormTest.test_bad_token) ... ok test_good_token (django_otp.plugins.otp_hotp.tests.AuthFormTest.test_good_token) ... ok test_no_token (django_otp.plugins.otp_hotp.tests.AuthFormTest.test_no_token) ... ok test_anonymous (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_anonymous) ... ok test_change_perm (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_change_perm) ... ok test_config_view_when_sensitive_information_hidden (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_config_view_when_sensitive_information_hidden) ... ok test_config_view_when_sensitive_information_shown (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_config_view_when_sensitive_information_shown) ... ok test_list_display_when_sensitive_information_hidden (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_list_display_when_sensitive_information_hidden) ... ok test_list_display_when_sensitive_information_shown (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_list_display_when_sensitive_information_shown) ... ok test_qrcode_view_when_sensitive_information_hidden (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_qrcode_view_when_sensitive_information_hidden) ... ok test_qrcode_view_when_sensitive_information_shown (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_qrcode_view_when_sensitive_information_shown) ... ok test_sensitive_information_hidden_while_adding_device (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_sensitive_information_hidden_while_adding_device) ... ok test_sensitive_information_hidden_while_changing_device (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_sensitive_information_hidden_while_changing_device) ... ok test_sensitive_information_shown_while_adding_device (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_sensitive_information_shown_while_adding_device) ... ok test_sensitive_information_shown_while_changing_device (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_sensitive_information_shown_while_changing_device) ... ok test_unauthorized (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_unauthorized) ... ok test_view_perm (django_otp.plugins.otp_hotp.tests.HOTPAdminTest.test_view_perm) ... ok test_bad_value (django_otp.plugins.otp_hotp.tests.HOTPTest.test_bad_value) ... ok test_config_url_issuer (django_otp.plugins.otp_hotp.tests.HOTPTest.test_config_url_issuer) ... ok test_config_url_issuer_method (django_otp.plugins.otp_hotp.tests.HOTPTest.test_config_url_issuer_method) ... ok test_config_url_issuer_spaces (django_otp.plugins.otp_hotp.tests.HOTPTest.test_config_url_issuer_spaces) ... ok test_config_url_no_issuer (django_otp.plugins.otp_hotp.tests.HOTPTest.test_config_url_no_issuer) ... ok test_excessive_drift (django_otp.plugins.otp_hotp.tests.HOTPTest.test_excessive_drift) ... ok test_normal (django_otp.plugins.otp_hotp.tests.HOTPTest.test_normal) ... ok test_normal_drift (django_otp.plugins.otp_hotp.tests.HOTPTest.test_normal_drift) ... ok test_delay_after_fail_expires (django_otp.plugins.otp_hotp.tests.ThrottlingTestCase.test_delay_after_fail_expires) ... ok test_delay_imposed_after_fail (django_otp.plugins.otp_hotp.tests.ThrottlingTestCase.test_delay_imposed_after_fail) ... ok test_throttling_failure_count (django_otp.plugins.otp_hotp.tests.ThrottlingTestCase.test_throttling_failure_count) ... ok test_verify_is_allowed (django_otp.plugins.otp_hotp.tests.ThrottlingTestCase.test_verify_is_allowed) ... ok test_created_at_set_on_creation (django_otp.plugins.otp_hotp.tests.TimetstampTestCase.test_created_at_set_on_creation) Verify that the `created_at` field is automatically set upon creation. ... ok test_last_used_at_initially_none (django_otp.plugins.otp_hotp.tests.TimetstampTestCase.test_last_used_at_initially_none) Ensure `last_used_at` is None upon initial creation. ... ok test_set_last_used_timestamp_updates_field (django_otp.plugins.otp_hotp.tests.TimetstampTestCase.test_set_last_used_timestamp_updates_field) Check if `set_last_used_timestamp` correctly updates the `last_used_at` field. ... ok test_set_last_used_timestamp_without_commit (django_otp.plugins.otp_hotp.tests.TimetstampTestCase.test_set_last_used_timestamp_without_commit) Ensure `set_last_used_timestamp` updates `last_used_at` without persisting ... ok test_verify_token_failed_does_not_update_last_used_at (django_otp.plugins.otp_hotp.tests.TimetstampTestCase.test_verify_token_failed_does_not_update_last_used_at) Verifying with an invalid token does not update 'last_used_at'. ... ok test_verify_token_successful_updates_last_used_at (django_otp.plugins.otp_hotp.tests.TimetstampTestCase.test_verify_token_successful_updates_last_used_at) Verifying with a valid token updates 'last_used_at'. ... ok test_bad_password (django_otp.plugins.otp_static.tests.AuthFormTest.test_bad_password) ... ok test_empty (django_otp.plugins.otp_static.tests.AuthFormTest.test_empty) ... ok test_no_token (django_otp.plugins.otp_static.tests.AuthFormTest.test_no_token) ... ok test_passive_token (django_otp.plugins.otp_static.tests.AuthFormTest.test_passive_token) ... ok test_specific_device (django_otp.plugins.otp_static.tests.AuthFormTest.test_specific_device) ... ok test_specific_device_fail (django_otp.plugins.otp_static.tests.AuthFormTest.test_specific_device_fail) ... ok test_spoofed_device (django_otp.plugins.otp_static.tests.AuthFormTest.test_spoofed_device) ... ok test_str (django_otp.plugins.otp_static.tests.DeviceTest.test_str) ... ok test_str_unpopulated (django_otp.plugins.otp_static.tests.DeviceTest.test_str_unpopulated) ... ok test_add_static_token (django_otp.plugins.otp_static.tests.LibTest.test_add_static_token) ... ok test_add_static_token_existing_device (django_otp.plugins.otp_static.tests.LibTest.test_add_static_token_existing_device) ... ok test_add_static_token_no_user (django_otp.plugins.otp_static.tests.LibTest.test_add_static_token_no_user) ... ok test_add_static_token_specific (django_otp.plugins.otp_static.tests.LibTest.test_add_static_token_specific) ... ok test_inline_instances_when_sensitive_information_hidden (django_otp.plugins.otp_static.tests.StaticDeviceAdminTest.test_inline_instances_when_sensitive_information_hidden) ... ok test_inline_instances_when_sensitive_information_shown (django_otp.plugins.otp_static.tests.StaticDeviceAdminTest.test_inline_instances_when_sensitive_information_shown) ... ok test_delay_after_fail_expires (django_otp.plugins.otp_static.tests.ThrottlingTestCase.test_delay_after_fail_expires) ... ok test_delay_imposed_after_fail (django_otp.plugins.otp_static.tests.ThrottlingTestCase.test_delay_imposed_after_fail) ... ok test_throttling_failure_count (django_otp.plugins.otp_static.tests.ThrottlingTestCase.test_throttling_failure_count) ... ok test_verify_is_allowed (django_otp.plugins.otp_static.tests.ThrottlingTestCase.test_verify_is_allowed) ... ok test_created_at_set_on_creation (django_otp.plugins.otp_static.tests.TimestampTestCase.test_created_at_set_on_creation) Verify that the `created_at` field is automatically set upon creation. ... ok test_last_used_at_initially_none (django_otp.plugins.otp_static.tests.TimestampTestCase.test_last_used_at_initially_none) Ensure `last_used_at` is None upon initial creation. ... ok test_set_last_used_timestamp_updates_field (django_otp.plugins.otp_static.tests.TimestampTestCase.test_set_last_used_timestamp_updates_field) Check if `set_last_used_timestamp` correctly updates the `last_used_at` field. ... ok test_set_last_used_timestamp_without_commit (django_otp.plugins.otp_static.tests.TimestampTestCase.test_set_last_used_timestamp_without_commit) Ensure `set_last_used_timestamp` updates `last_used_at` without persisting ... ok test_verify_token_failed_does_not_update_last_used_at (django_otp.plugins.otp_static.tests.TimestampTestCase.test_verify_token_failed_does_not_update_last_used_at) Verifying with an invalid token does not update 'last_used_at'. ... ok test_verify_token_successful_updates_last_used_at (django_otp.plugins.otp_static.tests.TimestampTestCase.test_verify_token_successful_updates_last_used_at) Verifying with a valid token updates 'last_used_at'. ... ok test_anonymous (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_anonymous) ... ok test_change_perm (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_change_perm) ... ok test_config_view_when_sensitive_information_hidden (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_config_view_when_sensitive_information_hidden) ... ok test_config_view_when_sensitive_information_shown (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_config_view_when_sensitive_information_shown) ... ok test_list_display_when_sensitive_information_hidden (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_list_display_when_sensitive_information_hidden) ... ok test_list_display_when_sensitive_information_shown (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_list_display_when_sensitive_information_shown) ... ok test_qrcode_view_when_sensitive_information_hidden (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_qrcode_view_when_sensitive_information_hidden) ... ok test_qrcode_view_when_sensitive_information_shown (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_qrcode_view_when_sensitive_information_shown) ... ok test_sensitive_information_hidden_while_adding_device (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_sensitive_information_hidden_while_adding_device) ... ok test_sensitive_information_hidden_while_changing_device (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_sensitive_information_hidden_while_changing_device) ... ok test_sensitive_information_shown_while_adding_device (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_sensitive_information_shown_while_adding_device) ... ok test_sensitive_information_shown_while_changing_device (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_sensitive_information_shown_while_changing_device) ... ok test_unauthorized (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_unauthorized) ... ok test_view_perm (django_otp.plugins.otp_totp.tests.TOTPAdminTest.test_view_perm) ... ok test_config_url (django_otp.plugins.otp_totp.tests.TOTPTest.test_config_url) ... ok test_config_url_image (django_otp.plugins.otp_totp.tests.TOTPTest.test_config_url_image) ... ok test_config_url_issuer (django_otp.plugins.otp_totp.tests.TOTPTest.test_config_url_issuer) ... ok test_config_url_issuer_method (django_otp.plugins.otp_totp.tests.TOTPTest.test_config_url_issuer_method) ... ok test_config_url_issuer_spaces (django_otp.plugins.otp_totp.tests.TOTPTest.test_config_url_issuer_spaces) ... ok test_default_key (django_otp.plugins.otp_totp.tests.TOTPTest.test_default_key) ... ok test_drift (django_otp.plugins.otp_totp.tests.TOTPTest.test_drift) ... ok test_no_reuse (django_otp.plugins.otp_totp.tests.TOTPTest.test_no_reuse) ... ok test_single (django_otp.plugins.otp_totp.tests.TOTPTest.test_single) ... ok test_sync_drift (django_otp.plugins.otp_totp.tests.TOTPTest.test_sync_drift) ... ok test_tolerance (django_otp.plugins.otp_totp.tests.TOTPTest.test_tolerance) ... ok test_delay_after_fail_expires (django_otp.plugins.otp_totp.tests.ThrottlingTestCase.test_delay_after_fail_expires) ... ok test_delay_imposed_after_fail (django_otp.plugins.otp_totp.tests.ThrottlingTestCase.test_delay_imposed_after_fail) ... ok test_throttling_failure_count (django_otp.plugins.otp_totp.tests.ThrottlingTestCase.test_throttling_failure_count) ... ok test_verify_is_allowed (django_otp.plugins.otp_totp.tests.ThrottlingTestCase.test_verify_is_allowed) ... ok test_created_at_set_on_creation (django_otp.plugins.otp_totp.tests.TimetstampTestCase.test_created_at_set_on_creation) Verify that the `created_at` field is automatically set upon creation. ... ok test_last_used_at_initially_none (django_otp.plugins.otp_totp.tests.TimetstampTestCase.test_last_used_at_initially_none) Ensure `last_used_at` is None upon initial creation. ... ok test_set_last_used_timestamp_updates_field (django_otp.plugins.otp_totp.tests.TimetstampTestCase.test_set_last_used_timestamp_updates_field) Check if `set_last_used_timestamp` correctly updates the `last_used_at` field. ... ok test_set_last_used_timestamp_without_commit (django_otp.plugins.otp_totp.tests.TimetstampTestCase.test_set_last_used_timestamp_without_commit) Ensure `set_last_used_timestamp` updates `last_used_at` without persisting ... ok test_verify_token_failed_does_not_update_last_used_at (django_otp.plugins.otp_totp.tests.TimetstampTestCase.test_verify_token_failed_does_not_update_last_used_at) Verifying with an invalid token does not update 'last_used_at'. ... ok test_verify_token_successful_updates_last_used_at (django_otp.plugins.otp_totp.tests.TimetstampTestCase.test_verify_token_successful_updates_last_used_at) Verifying with a valid token updates 'last_used_at'. ... ok test_device_classes (django_otp.tests.APITestCase.test_device_classes) ... ok test_match_token (django_otp.tests.APITestCase.test_match_token) ... ok test_user_has_device (django_otp.tests.APITestCase.test_user_has_device) ... ok test_verify_token (django_otp.tests.APITestCase.test_verify_token) ... ok test_existing_device (django_otp.tests.AddStaticTokenTestCase.test_existing_device) ... ok test_explicit_token (django_otp.tests.AddStaticTokenTestCase.test_explicit_token) ... ok test_new_device (django_otp.tests.AddStaticTokenTestCase.test_new_device) ... ok test_no_user (django_otp.tests.AddStaticTokenTestCase.test_no_user) ... ok test_admin_login_template (django_otp.tests.LoginViewTestCase.test_admin_login_template) ... ok test_authenticate (django_otp.tests.LoginViewTestCase.test_authenticate) ... ok test_verify (django_otp.tests.LoginViewTestCase.test_verify) ... ok test_no_device (django_otp.tests.OTPMiddlewareTestCase.test_no_device) ... ok test_no_model (django_otp.tests.OTPMiddlewareTestCase.test_no_model) ... ok test_pickling (django_otp.tests.OTPMiddlewareTestCase.test_pickling) ... ok test_unverified (django_otp.tests.OTPMiddlewareTestCase.test_unverified) ... ok test_verified (django_otp.tests.OTPMiddlewareTestCase.test_verified) ... ok test_verified_legacy_device_id (django_otp.tests.OTPMiddlewareTestCase.test_verified_legacy_device_id) ... ok test_wrong_user (django_otp.tests.OTPMiddlewareTestCase.test_wrong_user) ... ok test_otp_verification_failed_signal (django_otp.tests.OTPVerificationFailedSignalTestCase.test_otp_verification_failed_signal) ... ok test_concurrent_throttle_count (django_otp.tests.ConcurrencyTestCase.test_concurrent_throttle_count) ... skipped "Database doesn't support feature(s): has_select_for_update" test_match_token (django_otp.tests.ConcurrencyTestCase.test_match_token) ... skipped "Database doesn't support feature(s): has_select_for_update" test_serialized_throttling (django_otp.tests.ConcurrencyTestCase.test_serialized_throttling) ... skipped "Database doesn't support feature(s): has_select_for_update" test_verify_token (django_otp.tests.ConcurrencyTestCase.test_verify_token) ... skipped "Database doesn't support feature(s): has_select_for_update" hex_validator (django_otp.util) Doctest: django_otp.util.hex_validator ... ok TOTP (django_otp.oath) Doctest: django_otp.oath.TOTP ... ok hotp (django_otp.oath) Doctest: django_otp.oath.hotp ... ok totp (django_otp.oath) Doctest: django_otp.oath.totp ... ok ---------------------------------------------------------------------- Ran 153 tests in 201.593s OK (skipped=4) Destroying test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')... >>> py3-django-otp: Entering fakeroot... >>> py3-django-otp-pyc*: Running split function pyc... 'usr/lib/python3.12/site-packages/django_otp/plugins/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_totp/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_totp/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_totp/migrations/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_totp/migrations/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_email/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_email/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_email/migrations/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_email/migrations/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_hotp/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_hotp/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_hotp/migrations/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_hotp/migrations/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/management/commands/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/management/commands/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/management/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/management/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/migrations/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/plugins/otp_static/migrations/__pycache__' 'usr/lib/python3.12/site-packages/django_otp/__pycache__' -> '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp-pyc/usr/lib/python3.12/site-packages/django_otp/__pycache__' >>> py3-django-otp-pyc*: Preparing subpackage py3-django-otp-pyc... >>> py3-django-otp-pyc*: Running postcheck for py3-django-otp-pyc >>> py3-django-otp*: Running postcheck for py3-django-otp >>> py3-django-otp*: Preparing package py3-django-otp... >>> py3-django-otp-pyc*: Tracing dependencies... py3-django py3-qrcode python3~3.12 >>> py3-django-otp-pyc*: Package size: 255.7 KB >>> py3-django-otp-pyc*: Compressing data... >>> py3-django-otp-pyc*: Create checksum... >>> py3-django-otp-pyc*: Create py3-django-otp-pyc-1.5.4-r0.apk >>> py3-django-otp*: Tracing dependencies... py3-django py3-qrcode python3~3.12 >>> py3-django-otp*: Package size: 219.3 KB >>> py3-django-otp*: Compressing data... >>> py3-django-otp*: Create checksum... >>> py3-django-otp*: Create py3-django-otp-1.5.4-r0.apk >>> py3-django-otp: Build complete at Fri, 18 Oct 2024 15:11:29 +0000 elapsed time 0h 3m 30s >>> py3-django-otp: Cleaning up srcdir >>> py3-django-otp: Cleaning up pkgdir >>> py3-django-otp: Uninstalling dependencies... (1/69) Purging .makedepends-py3-django-otp (20241018.150803) (2/69) Purging py3-django-pyc (4.2.16-r0) (3/69) Purging py3-django (4.2.16-r0) (4/69) Purging py3-asgiref-pyc (3.8.1-r1) (5/69) Purging py3-asgiref (3.8.1-r1) (6/69) Purging py3-sqlparse-pyc (0.4.4-r2) (7/69) Purging py3-sqlparse (0.4.4-r2) (8/69) Purging tzdata (2024b-r1) (9/69) Purging py3-qrcode-pyc (7.4.2-r3) (10/69) Purging py3-qrcode (7.4.2-r3) (11/69) Purging py3-pillow-pyc (11.0.0-r0) (12/69) Purging py3-pillow (11.0.0-r0) (13/69) Purging py3-pypng-pyc (0.0.20-r5) (14/69) Purging py3-pypng (0.0.20-r5) (15/69) Purging py3-gpep517-pyc (16-r0) (16/69) Purging py3-gpep517 (16-r0) (17/69) Purging py3-installer-pyc (0.7.0-r2) (18/69) Purging py3-installer (0.7.0-r2) (19/69) Purging py3-setuptools-pyc (70.3.0-r0) (20/69) Purging py3-setuptools (70.3.0-r0) (21/69) Purging py3-wheel-pyc (0.43.0-r0) (22/69) Purging py3-wheel (0.43.0-r0) (23/69) Purging py3-hatchling-pyc (1.25.0-r0) (24/69) Purging py3-hatchling (1.25.0-r0) (25/69) Purging py3-editables-pyc (0.5-r2) (26/69) Purging py3-editables (0.5-r2) (27/69) Purging py3-packaging-pyc (24.1-r0) (28/69) Purging py3-packaging (24.1-r0) (29/69) Purging py3-parsing-pyc (3.1.4-r0) (30/69) Purging py3-parsing (3.1.4-r0) (31/69) Purging py3-pathspec-pyc (0.12.1-r2) (32/69) Purging py3-pathspec (0.12.1-r2) (33/69) Purging py3-pluggy-pyc (1.5.0-r0) (34/69) Purging py3-pluggy (1.5.0-r0) (35/69) Purging py3-trove-classifiers-pyc (2024.10.14-r0) (36/69) Purging py3-trove-classifiers (2024.10.14-r0) (37/69) Purging py3-freezegun-pyc (1.4.0-r1) (38/69) Purging py3-freezegun (1.4.0-r1) (39/69) Purging py3-dateutil-pyc (2.9.0-r1) (40/69) Purging py3-dateutil (2.9.0-r1) (41/69) Purging py3-six-pyc (1.16.0-r9) (42/69) Purging py3-six (1.16.0-r9) (43/69) Purging python3-pyc (3.12.7-r0) (44/69) Purging python3-pycache-pyc0 (3.12.7-r0) (45/69) Purging pyc (3.12.7-r0) (46/69) Purging python3 (3.12.7-r0) (47/69) Purging freetype (2.13.3-r0) (48/69) Purging gdbm (1.24-r0) (49/69) Purging lcms2 (2.16-r0) (50/69) Purging libbz2 (1.0.8-r6) (51/69) Purging libffi (3.4.6-r0) (52/69) Purging libimagequant (4.2.2-r0) (53/69) Purging libpanelw (6.5_p20241006-r0) (54/69) Purging libpng (1.6.44-r0) (55/69) Purging libwebpdemux (1.4.0-r0) (56/69) Purging libwebpmux (1.4.0-r0) (57/69) Purging libxcb (1.16.1-r0) (58/69) Purging libxdmcp (1.1.5-r1) (59/69) Purging mpdecimal (4.0.0-r0) (60/69) Purging openjpeg (2.5.2-r0) (61/69) Purging sqlite-libs (3.46.1-r0) (62/69) Purging tiff (4.7.0-r0) (63/69) Purging xz-libs (5.6.3-r0) (64/69) Purging libbsd (0.12.2-r0) (65/69) Purging libjpeg-turbo (3.0.4-r0) (66/69) Purging libmd (1.1.0-r0) (67/69) Purging libwebp (1.4.0-r0) (68/69) Purging libsharpyuv (1.4.0-r0) (69/69) Purging libxau (1.0.11-r4) Executing busybox-1.36.1-r32.trigger OK: 243 MiB in 100 packages >>> py3-django-otp: Updating the community/loongarch64 repository index... >>> py3-django-otp: Signing the index...