>>> py3-django-otp: Building community/py3-django-otp 1.5.0-r1 (using abuild 3.13.0-r3) started Fri, 10 May 2024 13:39:23 +0000 >>> py3-django-otp: Checking sanity of /home/buildozer/aports/community/py3-django-otp/APKBUILD... >>> 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/67) Installing gdbm (1.23-r1) (2/67) Installing mpdecimal (4.0.0-r0) (3/67) Installing libpanelw (6.4_p20240420-r0) (4/67) Installing readline (8.2.10-r0) (5/67) Installing sqlite-libs (3.45.3-r0) (6/67) Installing python3 (3.12.3-r1) (7/67) Installing python3-pycache-pyc0 (3.12.3-r1) (8/67) Installing pyc (3.12.3-r1) (9/67) Installing py3-asgiref (3.8.1-r1) (10/67) Installing py3-asgiref-pyc (3.8.1-r1) (11/67) Installing py3-sqlparse (0.4.4-r2) (12/67) Installing py3-sqlparse-pyc (0.4.4-r2) (13/67) Installing tzdata (2024a-r1) (14/67) Installing py3-django-pyc (4.2.12-r0) (15/67) Installing python3-pyc (3.12.3-r1) (16/67) Installing py3-django (4.2.12-r0) (17/67) Installing libpng (1.6.43-r0) (18/67) Installing freetype (2.13.2-r0) (19/67) Installing libimagequant (4.2.2-r0) (20/67) Installing libjpeg-turbo (3.0.3-r0) (21/67) Installing lcms2 (2.16-r0) (22/67) Installing openjpeg (2.5.2-r0) (23/67) Installing libsharpyuv (1.3.2-r0) (24/67) Installing libwebp (1.3.2-r0) (25/67) Installing tiff (4.6.0t-r0) (26/67) Installing libwebpdemux (1.3.2-r0) (27/67) Installing libwebpmux (1.3.2-r0) (28/67) Installing libxau (1.0.11-r4) (29/67) Installing libmd (1.1.0-r0) (30/67) Installing libbsd (0.12.2-r0) (31/67) Installing libxdmcp (1.1.5-r1) (32/67) Installing libxcb (1.16.1-r0) (33/67) Installing py3-pillow (10.3.0-r2) (34/67) Installing py3-pillow-pyc (10.3.0-r2) (35/67) Installing py3-pypng (0.0.20-r5) (36/67) Installing py3-pypng-pyc (0.0.20-r5) (37/67) Installing py3-parsing (3.1.2-r1) (38/67) Installing py3-parsing-pyc (3.1.2-r1) (39/67) Installing py3-packaging (24.0-r1) (40/67) Installing py3-packaging-pyc (24.0-r1) (41/67) Installing py3-setuptools (69.5.1-r0) (42/67) Installing py3-setuptools-pyc (69.5.1-r0) (43/67) Installing py3-qrcode (7.4.2-r3) (44/67) Installing py3-qrcode-pyc (7.4.2-r3) (45/67) Installing py3-installer (0.7.0-r2) (46/67) Installing py3-installer-pyc (0.7.0-r2) (47/67) Installing py3-gpep517 (15-r2) (48/67) Installing py3-gpep517-pyc (15-r2) (49/67) Installing py3-wheel (0.42.0-r1) (50/67) Installing py3-wheel-pyc (0.42.0-r1) (51/67) Installing py3-editables (0.5-r2) (52/67) Installing py3-editables-pyc (0.5-r2) (53/67) Installing py3-pathspec (0.12.1-r2) (54/67) Installing py3-pathspec-pyc (0.12.1-r2) (55/67) Installing py3-pluggy (1.5.0-r0) (56/67) Installing py3-pluggy-pyc (1.5.0-r0) (57/67) Installing py3-trove-classifiers (2024.3.3-r2) (58/67) Installing py3-trove-classifiers-pyc (2024.3.3-r2) (59/67) Installing py3-hatchling (1.24.2-r0) (60/67) Installing py3-hatchling-pyc (1.24.2-r0) (61/67) Installing py3-six (1.16.0-r9) (62/67) Installing py3-six-pyc (1.16.0-r9) (63/67) Installing py3-dateutil (2.9.0-r1) (64/67) Installing py3-dateutil-pyc (2.9.0-r1) (65/67) Installing py3-freezegun (1.4.0-r1) (66/67) Installing py3-freezegun-pyc (1.4.0-r1) (67/67) Installing .makedepends-py3-django-otp (20240510.133925) Executing busybox-1.36.1-r26.trigger OK: 1806 MiB in 190 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/v3.20/py3-django-otp-1.5.0.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) saving to '/var/cache/distfiles/v3.20/py3-django-otp-1.5.0.tar.gz.part' py3-django-otp-1.5.0 45% |************** | 32523 0:00:01 ETA py3-django-otp-1.5.0 100% |********************************| 72265 0:00:00 ETA '/var/cache/distfiles/v3.20/py3-django-otp-1.5.0.tar.gz.part' saved >>> py3-django-otp: Fetching https://distfiles.alpinelinux.org/distfiles/v3.20/py3-django-otp-1.5.0.tar.gz >>> py3-django-otp: Checking sha512sums... py3-django-otp-1.5.0.tar.gz: OK >>> py3-django-otp: Unpacking /var/cache/distfiles/v3.20/py3-django-otp-1.5.0.tar.gz... 2024-05-10 13:39:27,055 gpep517 INFO Building wheel via backend hatchling.build 2024-05-10 13:39:27,224 gpep517 INFO The backend produced .dist/django_otp-1.5.0-py3-none-any.whl django_otp-1.5.0-py3-none-any.whl Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')... Found 151 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 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 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_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_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 151 tests in 149.350s 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... '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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__' '/home/buildozer/aports/community/py3-django-otp/pkg/py3-django-otp/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: 512.0 KB >>> py3-django-otp-pyc*: Compressing data... >>> py3-django-otp-pyc*: Create checksum... >>> py3-django-otp-pyc*: Create py3-django-otp-pyc-1.5.0-r1.apk >>> py3-django-otp*: Tracing dependencies... py3-django py3-qrcode python3~3.12 >>> py3-django-otp*: Package size: 572.0 KB >>> py3-django-otp*: Compressing data... >>> py3-django-otp*: Create checksum... >>> py3-django-otp*: Create py3-django-otp-1.5.0-r1.apk >>> py3-django-otp: Build complete at Fri, 10 May 2024 13:41:59 +0000 elapsed time 0h 2m 36s >>> py3-django-otp: Cleaning up srcdir >>> py3-django-otp: Cleaning up pkgdir >>> py3-django-otp: Uninstalling dependencies... (1/67) Purging .makedepends-py3-django-otp (20240510.133925) (2/67) Purging py3-django-pyc (4.2.12-r0) (3/67) Purging py3-django (4.2.12-r0) (4/67) Purging py3-asgiref-pyc (3.8.1-r1) (5/67) Purging py3-asgiref (3.8.1-r1) (6/67) Purging py3-sqlparse-pyc (0.4.4-r2) (7/67) Purging py3-sqlparse (0.4.4-r2) (8/67) Purging tzdata (2024a-r1) (9/67) Purging py3-qrcode-pyc (7.4.2-r3) (10/67) Purging py3-qrcode (7.4.2-r3) (11/67) Purging py3-pillow-pyc (10.3.0-r2) (12/67) Purging py3-pillow (10.3.0-r2) (13/67) Purging py3-pypng-pyc (0.0.20-r5) (14/67) Purging py3-pypng (0.0.20-r5) (15/67) Purging py3-gpep517-pyc (15-r2) (16/67) Purging py3-gpep517 (15-r2) (17/67) Purging py3-installer-pyc (0.7.0-r2) (18/67) Purging py3-installer (0.7.0-r2) (19/67) Purging py3-setuptools-pyc (69.5.1-r0) (20/67) Purging py3-setuptools (69.5.1-r0) (21/67) Purging py3-wheel-pyc (0.42.0-r1) (22/67) Purging py3-wheel (0.42.0-r1) (23/67) Purging py3-hatchling-pyc (1.24.2-r0) (24/67) Purging py3-hatchling (1.24.2-r0) (25/67) Purging py3-editables-pyc (0.5-r2) (26/67) Purging py3-editables (0.5-r2) (27/67) Purging py3-packaging-pyc (24.0-r1) (28/67) Purging py3-packaging (24.0-r1) (29/67) Purging py3-parsing-pyc (3.1.2-r1) (30/67) Purging py3-parsing (3.1.2-r1) (31/67) Purging py3-pathspec-pyc (0.12.1-r2) (32/67) Purging py3-pathspec (0.12.1-r2) (33/67) Purging py3-pluggy-pyc (1.5.0-r0) (34/67) Purging py3-pluggy (1.5.0-r0) (35/67) Purging py3-trove-classifiers-pyc (2024.3.3-r2) (36/67) Purging py3-trove-classifiers (2024.3.3-r2) (37/67) Purging py3-freezegun-pyc (1.4.0-r1) (38/67) Purging py3-freezegun (1.4.0-r1) (39/67) Purging py3-dateutil-pyc (2.9.0-r1) (40/67) Purging py3-dateutil (2.9.0-r1) (41/67) Purging py3-six-pyc (1.16.0-r9) (42/67) Purging py3-six (1.16.0-r9) (43/67) Purging python3-pyc (3.12.3-r1) (44/67) Purging python3-pycache-pyc0 (3.12.3-r1) (45/67) Purging pyc (3.12.3-r1) (46/67) Purging python3 (3.12.3-r1) (47/67) Purging freetype (2.13.2-r0) (48/67) Purging gdbm (1.23-r1) (49/67) Purging lcms2 (2.16-r0) (50/67) Purging libimagequant (4.2.2-r0) (51/67) Purging libpanelw (6.4_p20240420-r0) (52/67) Purging libpng (1.6.43-r0) (53/67) Purging libwebpdemux (1.3.2-r0) (54/67) Purging libwebpmux (1.3.2-r0) (55/67) Purging libxcb (1.16.1-r0) (56/67) Purging libxdmcp (1.1.5-r1) (57/67) Purging mpdecimal (4.0.0-r0) (58/67) Purging openjpeg (2.5.2-r0) (59/67) Purging readline (8.2.10-r0) (60/67) Purging sqlite-libs (3.45.3-r0) (61/67) Purging tiff (4.6.0t-r0) (62/67) Purging libbsd (0.12.2-r0) (63/67) Purging libjpeg-turbo (3.0.3-r0) (64/67) Purging libmd (1.1.0-r0) (65/67) Purging libwebp (1.3.2-r0) (66/67) Purging libsharpyuv (1.3.2-r0) (67/67) Purging libxau (1.0.11-r4) Executing busybox-1.36.1-r26.trigger OK: 1693 MiB in 123 packages >>> py3-django-otp: Updating the community/x86_64 repository index... >>> py3-django-otp: Signing the index...