>>> gitea: Building community/gitea 1.27.1-r0 (using abuild 3.18.0_rc5-r0) started Tue, 11 Aug 2026 22:28:29 +0000 >>> gitea: Validating /home/buildozer/aports/community/gitea/APKBUILD... >>> gitea: Analyzing dependencies... >>> gitea: Installing for build: build-base git git-lfs gnupg go bash openssh openssh-keygen sqlite tzdata pnpm icu-data-full ( 1/42) Installing git-lfs (3.7.1-r1) Executing git-lfs-3.7.1-r1.post-install * Git LFS initialized. ( 2/42) Installing libgpg-error (1.61-r0) ( 3/42) Installing libassuan (3.0.2-r0) ( 4/42) Installing pinentry (1.3.2-r0) Executing pinentry-1.3.2-r0.post-install ( 5/42) Installing libgcrypt (1.12.2-r0) ( 6/42) Installing gnupg-gpgconf (2.4.9-r1) ( 7/42) Installing nettle (3.10.2-r0) ( 8/42) Installing libffi (3.5.2-r1) ( 9/42) Installing libtasn1 (4.21.0-r0) (10/42) Installing p11-kit (0.26.2-r1) (11/42) Installing gnutls (3.8.13-r0) (12/42) Installing libksba (1.7.0-r0) (13/42) Installing gdbm (1.26-r0) (14/42) Installing libsasl (2.1.28-r9) (15/42) Installing libldap (2.6.14-r0) (16/42) Installing npth (1.8-r0) (17/42) Installing gnupg-dirmngr (2.4.9-r1) (18/42) Installing sqlite-libs (3.53.4-r0) (19/42) Installing gnupg-keyboxd (2.4.9-r1) (20/42) Installing libbz2 (1.0.8-r6) (21/42) Installing gpg (2.4.9-r1) (22/42) Installing gpg-agent (2.4.9-r1) (23/42) Installing gpg-wks-server (2.4.9-r1) (24/42) Installing gpgsm (2.4.9-r1) (25/42) Installing gpgv (2.4.9-r1) (26/42) Installing gnupg-utils (2.4.9-r1) (27/42) Installing gnupg-wks-client (2.4.9-r1) (28/42) Installing gnupg (2.4.9-r1) (29/42) Installing go (1.26.5-r0) (30/42) Installing readline (8.3.3-r1) (31/42) Installing bash (5.3.9-r1) Executing bash-5.3.9-r1.post-install (32/42) Installing sqlite (3.53.4-r0) (33/42) Installing tzdata (2026c-r0) (34/42) Installing ca-certificates (20260611-r0) (35/42) Installing ada-libs (3.3.0-r0) (36/42) Installing icu-data-full (78.1-r0) (37/42) Installing icu-libs (78.1-r0) (38/42) Installing simdjson (4.2.4-r0) (39/42) Installing simdutf (9.0.0-r0) (40/42) Installing nodejs (24.18.1-r0) (41/42) Installing pnpm (11.21.0-r0) (42/42) Installing .makedepends-gitea (20260811.222830) Executing busybox-1.38.0-r4.trigger Executing ca-certificates-20260611-r0.trigger OK: 767.8 MiB in 149 packages >>> gitea: Cleaning up srcdir >>> gitea: Cleaning up pkgdir >>> gitea: Cleaning up tmpdir >>> gitea: Fetching https://distfiles.alpinelinux.org/distfiles/edge/gitea-1.27.1.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> gitea: Fetching gitea-1.27.1.tar.gz::https://dl.gitea.com/gitea/1.27.1/gitea-src-1.27.1.tar.gz Connecting to dl.gitea.com (172.67.75.17:443) saving to '/var/cache/distfiles/edge/gitea-1.27.1.tar.gz.part' gitea-1.27.1.tar.gz. 56% |***************** | 37.3M 0:00:00 ETA gitea-1.27.1.tar.gz. 100% |********************************| 66.4M 0:00:00 ETA '/var/cache/distfiles/edge/gitea-1.27.1.tar.gz.part' saved /var/cache/distfiles/edge/gitea-1.27.1.tar.gz: OK /home/buildozer/aports/community/gitea/gitea.initd: OK /home/buildozer/aports/community/gitea/gitea.ini: OK >>> gitea: Fetching https://distfiles.alpinelinux.org/distfiles/edge/gitea-1.27.1.tar.gz /var/cache/distfiles/edge/gitea-1.27.1.tar.gz: OK /home/buildozer/aports/community/gitea/gitea.initd: OK /home/buildozer/aports/community/gitea/gitea.ini: OK >>> gitea: Unpacking /var/cache/distfiles/edge/gitea-1.27.1.tar.gz... fatal: not a git repository (or any of the parent directories): .git Running go generate... main.go build/openapi3gen/convert.go build/openapi3gen/convert_test.go build/openapi3gen/enumscan.go build/openapi3gen/enumscan_test.go cmd/actions.go cmd/admin.go cmd/admin_auth.go cmd/admin_auth_ldap.go cmd/admin_auth_ldap_test.go cmd/admin_auth_oauth.go cmd/admin_auth_oauth_test.go cmd/admin_auth_smtp.go cmd/admin_auth_smtp_test.go cmd/admin_regenerate.go cmd/admin_user.go cmd/admin_user_change_password.go cmd/admin_user_change_password_test.go cmd/admin_user_create.go cmd/admin_user_create_test.go cmd/admin_user_delete.go cmd/admin_user_delete_test.go cmd/admin_user_generate_access_token.go cmd/admin_user_list.go cmd/admin_user_must_change_password.go cmd/admin_user_must_change_password_test.go cmd/cert.go cmd/cert_test.go cmd/config.go cmd/config_test.go cmd/docs.go cmd/doctor.go cmd/doctor_convert.go cmd/doctor_test.go cmd/dump.go cmd/dump_repo.go cmd/embedded.go cmd/generate.go cmd/helper.go cmd/hook.go cmd/hook_test.go cmd/keys.go cmd/mailer.go cmd/main.go cmd/main_test.go cmd/manager.go cmd/manager_logging.go cmd/migrate.go cmd/migrate_storage.go cmd/migrate_storage_test.go cmd/restore_repo.go cmd/serv.go cmd/serv_test.go cmd/web.go cmd/web_acme.go cmd/web_graceful.go cmd/web_https.go cmd/cmdtest/cmd_test.go models/main_test.go models/repo.go models/repo_test.go models/actions/artifact.go models/actions/config.go models/actions/main_test.go models/actions/run.go models/actions/run_attempt.go models/actions/run_attempt_list.go models/actions/run_job.go models/actions/run_job_list.go models/actions/run_job_list_test.go models/actions/run_job_status_test.go models/actions/run_job_summary.go models/actions/run_job_test.go models/actions/run_list.go models/actions/run_list_test.go models/actions/run_test.go models/actions/runner.go models/actions/runner_list.go models/actions/runner_test.go models/actions/runner_token.go models/actions/runner_token_test.go models/actions/schedule.go models/actions/schedule_list.go models/actions/schedule_spec.go models/actions/schedule_spec_list.go models/actions/schedule_spec_test.go models/actions/scoped_workflow.go models/actions/scoped_workflow_test.go models/actions/status.go models/actions/status_test.go models/actions/task.go models/actions/task_list.go models/actions/task_output.go models/actions/task_step.go models/actions/task_test.go models/actions/tasks_version.go models/actions/token_permissions.go models/actions/utils.go models/actions/utils_test.go models/actions/variable.go models/activities/action.go models/activities/action_list.go models/activities/notification.go models/activities/notification_list.go models/activities/repo_activity.go models/activities/statistic.go models/activities/user_heatmap.go models/activities/action_test.go models/activities/main_test.go models/activities/notification_test.go models/activities/user_heatmap_test.go models/admin/task.go models/asymkey/error.go models/asymkey/gpg_key.go models/asymkey/gpg_key_add.go models/asymkey/gpg_key_commit_verification.go models/asymkey/gpg_key_common.go models/asymkey/gpg_key_import.go models/asymkey/gpg_key_list.go models/asymkey/gpg_key_test.go models/asymkey/gpg_key_verify.go models/asymkey/key_display.go models/asymkey/main_test.go models/asymkey/ssh_key.go models/asymkey/ssh_key_authorized_keys.go models/asymkey/ssh_key_authorized_keys_test.go models/asymkey/ssh_key_deploy.go models/asymkey/ssh_key_fingerprint.go models/asymkey/ssh_key_parse.go models/asymkey/ssh_key_principals.go models/asymkey/ssh_key_test.go models/asymkey/ssh_key_verify.go models/auth/access_token.go models/auth/access_token_scope.go models/auth/access_token_scope_test.go models/auth/auth_token.go models/auth/oauth2.go models/auth/oauth2_list.go models/auth/session.go models/auth/source.go models/auth/twofactor.go models/auth/webauthn.go models/auth/access_token_test.go models/auth/main_test.go models/auth/oauth2_test.go models/auth/source_test.go models/auth/twofactor_test.go models/auth/webauthn_test.go models/avatars/avatar.go models/avatars/avatar_test.go models/avatars/main_test.go models/db/collation.go models/db/common.go models/db/conn.go models/db/conn_test.go models/db/consistency.go models/db/context.go models/db/context_committer_test.go models/db/convert.go models/db/driver_postgresschema.go models/db/driver_sqlite_modernc.go models/db/engine.go models/db/engine_dump.go models/db/engine_hook.go models/db/engine_init.go models/db/error.go models/db/index.go models/db/iterate.go models/db/list.go models/db/log.go models/db/name.go models/db/search.go models/db/sequence.go models/db/context_test.go models/db/engine_test.go models/db/index_test.go models/db/iterate_test.go models/db/list_test.go models/db/main_test.go models/db/install/db.go models/db/paginator/main_test.go models/db/paginator/paginator.go models/db/paginator/paginator_test.go models/dbfs/dbfile.go models/dbfs/dbfs.go models/dbfs/dbfs_test.go models/dbfs/main_test.go models/git/branch.go models/git/branch_list.go models/git/commit_status.go models/git/commit_status_summary.go models/git/lfs.go models/git/lfs_lock.go models/git/lfs_lock_list.go models/git/lfs_lock_test.go models/git/protected_branch.go models/git/protected_branch_list.go models/git/protected_branch_list_test.go models/git/protected_branch_test.go models/git/protected_tag.go models/git/branch_test.go models/git/commit_status_test.go models/git/lfs_test.go models/git/main_test.go models/git/protected_tag_test.go models/gituser/avatar_stack.go models/gituser/gituser.go models/issues/assignees.go models/issues/comment.go models/issues/comment_code.go models/issues/comment_list.go models/issues/content_history.go models/issues/dependency.go models/issues/issue.go models/issues/issue_index.go models/issues/issue_label.go models/issues/issue_list.go models/issues/issue_lock.go models/issues/issue_pin.go models/issues/issue_project.go models/issues/issue_search.go models/issues/issue_stats.go models/issues/issue_update.go models/issues/issue_user.go models/issues/issue_watch.go models/issues/issue_xref.go models/issues/label.go models/issues/milestone.go models/issues/milestone_list.go models/issues/pull.go models/issues/pull_list.go models/issues/reaction.go models/issues/review.go models/issues/review_list.go models/issues/stopwatch.go models/issues/tracked_time.go models/issues/assignees_test.go models/issues/comment_test.go models/issues/content_history_test.go models/issues/dependency_test.go models/issues/issue_label_test.go models/issues/issue_list_test.go models/issues/issue_project_multi_test.go models/issues/issue_test.go models/issues/issue_update_test.go models/issues/issue_user_test.go models/issues/issue_watch_test.go models/issues/issue_xref_test.go models/issues/label_test.go models/issues/main_test.go models/issues/milestone_test.go models/issues/pull_list_test.go models/issues/pull_test.go models/issues/review_test.go models/issues/stopwatch_test.go models/issues/tracked_time_test.go models/migrations/migrations.go models/migrations/migrations_test.go models/migrations/base/db.go models/migrations/base/db_test.go models/migrations/base/hash.go models/migrations/migrationtest/tests.go models/migrations/v1_10/v100.go models/migrations/v1_10/v101.go models/migrations/v1_10/v88.go models/migrations/v1_10/v89.go models/migrations/v1_10/v90.go models/migrations/v1_10/v91.go models/migrations/v1_10/v92.go models/migrations/v1_10/v93.go models/migrations/v1_10/v94.go models/migrations/v1_10/v95.go models/migrations/v1_10/v96.go models/migrations/v1_10/v97.go models/migrations/v1_10/v98.go models/migrations/v1_10/v99.go models/migrations/v1_11/v102.go models/migrations/v1_11/v103.go models/migrations/v1_11/v104.go models/migrations/v1_11/v105.go models/migrations/v1_11/v106.go models/migrations/v1_11/v107.go models/migrations/v1_11/v108.go models/migrations/v1_11/v109.go models/migrations/v1_11/v110.go models/migrations/v1_11/v111.go models/migrations/v1_11/v112.go models/migrations/v1_11/v113.go models/migrations/v1_11/v114.go models/migrations/v1_11/v115.go models/migrations/v1_11/v116.go models/migrations/v1_12/v117.go models/migrations/v1_12/v118.go models/migrations/v1_12/v119.go models/migrations/v1_12/v120.go models/migrations/v1_12/v121.go models/migrations/v1_12/v122.go models/migrations/v1_12/v123.go models/migrations/v1_12/v124.go models/migrations/v1_12/v125.go models/migrations/v1_12/v126.go models/migrations/v1_12/v127.go models/migrations/v1_12/v128.go models/migrations/v1_12/v129.go models/migrations/v1_12/v130.go models/migrations/v1_12/v131.go models/migrations/v1_12/v132.go models/migrations/v1_12/v133.go models/migrations/v1_12/v134.go models/migrations/v1_12/v135.go models/migrations/v1_12/v136.go models/migrations/v1_12/v137.go models/migrations/v1_12/v138.go models/migrations/v1_12/v139.go models/migrations/v1_13/v140.go models/migrations/v1_13/v141.go models/migrations/v1_13/v142.go models/migrations/v1_13/v143.go models/migrations/v1_13/v144.go models/migrations/v1_13/v145.go models/migrations/v1_13/v146.go models/migrations/v1_13/v147.go models/migrations/v1_13/v148.go models/migrations/v1_13/v149.go models/migrations/v1_13/v150.go models/migrations/v1_13/v151.go models/migrations/v1_13/v152.go models/migrations/v1_13/v153.go models/migrations/v1_13/v154.go models/migrations/v1_14/main_test.go models/migrations/v1_14/v155.go models/migrations/v1_14/v156.go models/migrations/v1_14/v157.go models/migrations/v1_14/v158.go models/migrations/v1_14/v159.go models/migrations/v1_14/v160.go models/migrations/v1_14/v161.go models/migrations/v1_14/v162.go models/migrations/v1_14/v163.go models/migrations/v1_14/v164.go models/migrations/v1_14/v165.go models/migrations/v1_14/v166.go models/migrations/v1_14/v167.go models/migrations/v1_14/v168.go models/migrations/v1_14/v169.go models/migrations/v1_14/v170.go models/migrations/v1_14/v171.go models/migrations/v1_14/v172.go models/migrations/v1_14/v173.go models/migrations/v1_14/v174.go models/migrations/v1_14/v175.go models/migrations/v1_14/v176.go models/migrations/v1_14/v176_test.go models/migrations/v1_14/v177.go models/migrations/v1_14/v177_test.go models/migrations/v1_15/main_test.go models/migrations/v1_15/v178.go models/migrations/v1_15/v179.go models/migrations/v1_15/v180.go models/migrations/v1_15/v181.go models/migrations/v1_15/v181_test.go models/migrations/v1_15/v182.go models/migrations/v1_15/v182_test.go models/migrations/v1_15/v183.go models/migrations/v1_15/v184.go models/migrations/v1_15/v185.go models/migrations/v1_15/v186.go models/migrations/v1_15/v187.go models/migrations/v1_15/v188.go models/migrations/v1_16/main_test.go models/migrations/v1_16/v189.go models/migrations/v1_16/v189_test.go models/migrations/v1_16/v190.go models/migrations/v1_16/v191.go models/migrations/v1_16/v192.go models/migrations/v1_16/v193.go models/migrations/v1_16/v193_test.go models/migrations/v1_16/v194.go models/migrations/v1_16/v195.go models/migrations/v1_16/v195_test.go models/migrations/v1_16/v196.go models/migrations/v1_16/v197.go models/migrations/v1_16/v198.go models/migrations/v1_16/v199.go models/migrations/v1_16/v200.go models/migrations/v1_16/v201.go models/migrations/v1_16/v202.go models/migrations/v1_16/v203.go models/migrations/v1_16/v204.go models/migrations/v1_16/v205.go models/migrations/v1_16/v206.go models/migrations/v1_16/v207.go models/migrations/v1_16/v208.go models/migrations/v1_16/v209.go models/migrations/v1_16/v210.go models/migrations/v1_16/v210_test.go models/migrations/v1_17/main_test.go models/migrations/v1_17/v211.go models/migrations/v1_17/v212.go models/migrations/v1_17/v213.go models/migrations/v1_17/v214.go models/migrations/v1_17/v215.go models/migrations/v1_17/v216.go models/migrations/v1_17/v217.go models/migrations/v1_17/v218.go models/migrations/v1_17/v219.go models/migrations/v1_17/v220.go models/migrations/v1_17/v221.go models/migrations/v1_17/v221_test.go models/migrations/v1_17/v222.go models/migrations/v1_17/v223.go models/migrations/v1_18/main_test.go models/migrations/v1_18/v224.go models/migrations/v1_18/v225.go models/migrations/v1_18/v226.go models/migrations/v1_18/v227.go models/migrations/v1_18/v228.go models/migrations/v1_18/v229.go models/migrations/v1_18/v229_test.go models/migrations/v1_18/v230.go models/migrations/v1_18/v230_test.go models/migrations/v1_19/main_test.go models/migrations/v1_19/v231.go models/migrations/v1_19/v232.go models/migrations/v1_19/v233.go models/migrations/v1_19/v233_test.go models/migrations/v1_19/v234.go models/migrations/v1_19/v235.go models/migrations/v1_19/v236.go models/migrations/v1_19/v237.go models/migrations/v1_19/v238.go models/migrations/v1_19/v239.go models/migrations/v1_19/v240.go models/migrations/v1_19/v241.go models/migrations/v1_19/v242.go models/migrations/v1_19/v243.go models/migrations/v1_20/main_test.go models/migrations/v1_20/v244.go models/migrations/v1_20/v245.go models/migrations/v1_20/v246.go models/migrations/v1_20/v247.go models/migrations/v1_20/v248.go models/migrations/v1_20/v249.go models/migrations/v1_20/v250.go models/migrations/v1_20/v251.go models/migrations/v1_20/v252.go models/migrations/v1_20/v253.go models/migrations/v1_20/v254.go models/migrations/v1_20/v255.go models/migrations/v1_20/v256.go models/migrations/v1_20/v257.go models/migrations/v1_20/v258.go models/migrations/v1_20/v259.go models/migrations/v1_20/v259_test.go models/migrations/v1_21/main_test.go models/migrations/v1_21/v260.go models/migrations/v1_21/v261.go models/migrations/v1_21/v262.go models/migrations/v1_21/v263.go models/migrations/v1_21/v264.go models/migrations/v1_21/v265.go models/migrations/v1_21/v266.go models/migrations/v1_21/v267.go models/migrations/v1_21/v268.go models/migrations/v1_21/v269.go models/migrations/v1_21/v270.go models/migrations/v1_21/v271.go models/migrations/v1_21/v272.go models/migrations/v1_21/v273.go models/migrations/v1_21/v274.go models/migrations/v1_21/v275.go models/migrations/v1_21/v276.go models/migrations/v1_21/v277.go models/migrations/v1_21/v278.go models/migrations/v1_21/v279.go models/migrations/v1_22/main_test.go models/migrations/v1_22/v280.go models/migrations/v1_22/v281.go models/migrations/v1_22/v282.go models/migrations/v1_22/v283.go models/migrations/v1_22/v283_test.go models/migrations/v1_22/v284.go models/migrations/v1_22/v285.go models/migrations/v1_22/v286.go models/migrations/v1_22/v286_test.go models/migrations/v1_22/v287.go models/migrations/v1_22/v287_test.go models/migrations/v1_22/v288.go models/migrations/v1_22/v289.go models/migrations/v1_22/v290.go models/migrations/v1_22/v291.go models/migrations/v1_22/v292.go models/migrations/v1_22/v293.go models/migrations/v1_22/v293_test.go models/migrations/v1_22/v294.go models/migrations/v1_22/v294_test.go models/migrations/v1_22/v295.go models/migrations/v1_22/v296.go models/migrations/v1_22/v297.go models/migrations/v1_22/v298.go models/migrations/v1_23/main_test.go models/migrations/v1_23/v299.go models/migrations/v1_23/v300.go models/migrations/v1_23/v301.go models/migrations/v1_23/v302.go models/migrations/v1_23/v302_test.go models/migrations/v1_23/v303.go models/migrations/v1_23/v304.go models/migrations/v1_23/v304_test.go models/migrations/v1_23/v305.go models/migrations/v1_23/v306.go models/migrations/v1_23/v307.go models/migrations/v1_23/v308.go models/migrations/v1_23/v309.go models/migrations/v1_23/v310.go models/migrations/v1_23/v311.go models/migrations/v1_24/v312.go models/migrations/v1_24/v313.go models/migrations/v1_24/v314.go models/migrations/v1_24/v315.go models/migrations/v1_24/v316.go models/migrations/v1_24/v317.go models/migrations/v1_24/v318.go models/migrations/v1_24/v319.go models/migrations/v1_24/v320.go models/migrations/v1_25/main_test.go models/migrations/v1_25/v321.go models/migrations/v1_25/v321_test.go models/migrations/v1_25/v322.go models/migrations/v1_25/v322_test.go models/migrations/v1_26/main_test.go models/migrations/v1_26/v323.go models/migrations/v1_26/v324.go models/migrations/v1_26/v325.go models/migrations/v1_26/v325_test.go models/migrations/v1_26/v326.go models/migrations/v1_26/v326_test.go models/migrations/v1_26/v327.go models/migrations/v1_26/v327_test.go models/migrations/v1_26/v328.go models/migrations/v1_26/v329.go models/migrations/v1_26/v329_test.go models/migrations/v1_26/v330.go models/migrations/v1_27/main_test.go models/migrations/v1_27/v331.go models/migrations/v1_27/v331_test.go models/migrations/v1_27/v332.go models/migrations/v1_27/v333.go models/migrations/v1_27/v333_test.go models/migrations/v1_27/v334.go models/migrations/v1_27/v334_test.go models/migrations/v1_27/v335.go models/migrations/v1_27/v336.go models/migrations/v1_27/v337.go models/migrations/v1_27/v338.go models/migrations/v1_27/v338_test.go models/migrations/v1_27/v339.go models/migrations/v1_27/v339_test.go models/migrations/v1_27/v340.go models/migrations/v1_27/v341.go models/migrations/v1_27/v341_test.go models/migrations/v1_27/v342.go models/migrations/v1_6/v70.go models/migrations/v1_6/v71.go models/migrations/v1_6/v72.go models/migrations/v1_7/v73.go models/migrations/v1_7/v74.go models/migrations/v1_7/v75.go models/migrations/v1_8/v76.go models/migrations/v1_8/v77.go models/migrations/v1_8/v78.go models/migrations/v1_8/v79.go models/migrations/v1_8/v80.go models/migrations/v1_8/v81.go models/migrations/v1_9/v82.go models/migrations/v1_9/v83.go models/migrations/v1_9/v84.go models/migrations/v1_9/v85.go models/migrations/v1_9/v86.go models/migrations/v1_9/v87.go models/organization/org.go models/organization/org_list.go models/organization/org_user.go models/organization/org_worktime.go models/organization/team.go models/organization/team_invite.go models/organization/team_list.go models/organization/team_repo.go models/organization/team_unit.go models/organization/team_user.go models/organization/main_test.go models/organization/org_list_test.go models/organization/org_test.go models/organization/org_user_test.go models/organization/team_invite_test.go models/organization/team_list_test.go models/organization/team_repo_test.go models/organization/team_test.go models/packages/descriptor.go models/packages/package.go models/packages/package_blob.go models/packages/package_blob_test.go models/packages/package_blob_upload.go models/packages/package_cleanup_rule.go models/packages/package_file.go models/packages/package_property.go models/packages/package_version.go models/packages/package_test.go models/packages/alpine/search.go models/packages/arch/search.go models/packages/conan/references.go models/packages/conan/search.go models/packages/conda/search.go models/packages/container/search.go models/packages/cran/search.go models/packages/debian/search.go models/packages/nuget/search.go models/packages/rpm/search.go models/perm/access_mode.go models/perm/access_mode_test.go models/perm/access/access.go models/perm/access/actions_repo_permission_test.go models/perm/access/repo_permission.go models/perm/access/repo_permission_test.go models/perm/access/access_test.go models/perm/access/main_test.go models/project/column.go models/project/column_test.go models/project/issue.go models/project/main_test.go models/project/project.go models/project/project_test.go models/project/template.go models/pull/automerge.go models/pull/review_state.go models/renderhelper/commit_checker.go models/renderhelper/main_test.go models/renderhelper/repo_comment.go models/renderhelper/repo_comment_test.go models/renderhelper/repo_file.go models/renderhelper/repo_file_test.go models/renderhelper/repo_wiki.go models/renderhelper/repo_wiki_test.go models/renderhelper/simple_document.go models/renderhelper/simple_document_test.go models/repo/archive_test.go models/repo/archiver.go models/repo/attachment.go models/repo/avatar.go models/repo/avatar_test.go models/repo/collaboration.go models/repo/fork.go models/repo/git.go models/repo/issue.go models/repo/language_stats.go models/repo/license.go models/repo/mirror.go models/repo/org_repo.go models/repo/pull_request_default.go models/repo/pull_request_default_test.go models/repo/pushmirror.go models/repo/redirect.go models/repo/release.go models/repo/release_test.go models/repo/repo.go models/repo/repo_indexer.go models/repo/repo_list.go models/repo/repo_test.go models/repo/repo_unit.go models/repo/repo_unit_actions.go models/repo/repo_unit_actions_test.go models/repo/repo_unit_test.go models/repo/search.go models/repo/star.go models/repo/topic.go models/repo/transfer.go models/repo/update.go models/repo/upload.go models/repo/user_repo.go models/repo/watch.go models/repo/wiki.go models/repo/attachment_test.go models/repo/collaboration_test.go models/repo/fork_test.go models/repo/main_test.go models/repo/pushmirror_test.go models/repo/redirect_test.go models/repo/repo_list_test.go models/repo/star_test.go models/repo/topic_test.go models/repo/user_repo_test.go models/repo/watch_test.go models/repo/wiki_test.go models/secret/main_test.go models/secret/secret.go models/secret/secret_test.go models/shared/types/ownertype.go models/system/appstate.go models/system/notice.go models/system/setting.go models/system/main_test.go models/system/notice_test.go models/system/setting_test.go models/unit/unit.go models/unit/unit_test.go models/unittest/consistency.go models/unittest/fixtures.go models/unittest/fixtures_loader.go models/unittest/fscopy.go models/unittest/mock_http.go models/unittest/reflection.go models/unittest/testdb.go models/unittest/unit_tests.go models/unittest/fixtures_test.go models/user/avatar.go models/user/avatar_test.go models/user/badge.go models/user/block.go models/user/email_address.go models/user/error.go models/user/external_login_user.go models/user/follow.go models/user/list.go models/user/must_change_password.go models/user/openid.go models/user/redirect.go models/user/search.go models/user/setting.go models/user/setting_options.go models/user/user.go models/user/user_list.go models/user/user_system.go models/user/user_system_test.go models/user/user_update.go models/user/badge_test.go models/user/email_address_test.go models/user/follow_test.go models/user/main_test.go models/user/openid_test.go models/user/redirect_test.go models/user/setting_test.go models/user/user_test.go models/webhook/hooktask.go models/webhook/main_test.go models/webhook/webhook.go models/webhook/webhook_system.go models/webhook/webhook_system_test.go models/webhook/webhook_test.go modules/actions/artifacts.go modules/actions/artifacts_test.go modules/actions/commit_status_info.go modules/actions/github.go modules/actions/github_test.go modules/actions/log.go modules/actions/scoped_workflows.go modules/actions/scoped_workflows_test.go modules/actions/task_state.go modules/actions/task_state_test.go modules/actions/workflows.go modules/actions/workflows_test.go modules/actions/jobparser/evaluator.go modules/actions/jobparser/interpeter.go modules/actions/jobparser/jobparser.go modules/actions/jobparser/jobparser_test.go modules/actions/jobparser/model.go modules/actions/jobparser/model_test.go modules/actions/jobparser/roundtrip_test.go modules/actions/jobparser/testdata_test.go modules/actions/jobparser/uses.go modules/actions/jobparser/uses_test.go modules/actions/jobparser/workflow_call.go modules/actions/jobparser/workflow_call_test.go modules/actions/workflowpattern/workflow_pattern.go modules/actions/workflowpattern/workflow_pattern_test.go modules/analyze/code_language.go modules/analyze/generated.go modules/analyze/vendor.go modules/analyze/vendor_test.go modules/assetfs/embed.go modules/assetfs/embed_test.go modules/assetfs/layered.go modules/assetfs/layered_test.go modules/auth/common.go modules/auth/httpauth/httpauth.go modules/auth/httpauth/httpauth_test.go modules/auth/openid/discovery_cache.go modules/auth/openid/discovery_cache_test.go modules/auth/openid/openid.go modules/auth/openid/openid_test.go modules/auth/pam/pam_stub.go modules/auth/password/password.go modules/auth/password/password_test.go modules/auth/password/pwn.go modules/auth/password/hash/argon2.go modules/auth/password/hash/bcrypt.go modules/auth/password/hash/common.go modules/auth/password/hash/dummy.go modules/auth/password/hash/dummy_test.go modules/auth/password/hash/hash.go modules/auth/password/hash/hash_test.go modules/auth/password/hash/pbkdf2.go modules/auth/password/hash/scrypt.go modules/auth/password/hash/setting.go modules/auth/password/hash/setting_test.go modules/auth/password/pwn/pwn.go modules/auth/password/pwn/pwn_test.go modules/auth/webauthn/webauthn.go modules/auth/webauthn/webauthn_test.go modules/avatar/avatar.go modules/avatar/avatar_test.go modules/avatar/hash.go modules/avatar/hash_test.go modules/avatar/identicon/block.go modules/avatar/identicon/colors.go modules/avatar/identicon/identicon.go modules/avatar/identicon/polygon.go modules/badge/badge.go modules/badge/badge_glyph_width.go modules/base/natural_sort.go modules/base/natural_sort_test.go modules/base/tool.go modules/base/tool_test.go modules/cache/cache.go modules/cache/cache_redis.go modules/cache/cache_test.go modules/cache/cache_twoqueue.go modules/cache/context.go modules/cache/context_test.go modules/cache/ephemeral.go modules/cache/string_cache.go modules/cachegroup/cachegroup.go modules/charset/ambiguous.go modules/charset/ambiguous_gen.go modules/charset/ambiguous_gen_test.go modules/charset/charset.go modules/charset/charset_test.go modules/charset/escape.go modules/charset/escape_status.go modules/charset/escape_stream.go modules/charset/escape_test.go modules/charset/invisible_gen.go modules/charset/generate/generate.go modules/commitstatus/commit_status.go modules/commitstatus/commit_status_test.go modules/consts/asymkey.go modules/container/filter.go modules/container/filter_test.go modules/container/set.go modules/container/set_test.go modules/csv/csv.go modules/csv/csv_test.go modules/dump/dumper.go modules/dump/dumper_test.go modules/emoji/emoji.go modules/emoji/emoji_data.go modules/emoji/emoji_test.go modules/eventsource/event.go modules/eventsource/event_test.go modules/eventsource/manager.go modules/eventsource/manager_run.go modules/eventsource/messenger.go modules/fileicon/basic.go modules/fileicon/entry.go modules/fileicon/material.go modules/fileicon/render.go modules/fileicon/material_test.go modules/fileicon/render_test.go modules/generate/generate.go modules/generate/generate_test.go modules/git/blob.go modules/git/blob_nogogit.go modules/git/blob_test.go modules/git/catfile_batch.go modules/git/catfile_batch_command.go modules/git/catfile_batch_legacy.go modules/git/catfile_batch_reader.go modules/git/catfile_batch_test.go modules/git/cmdverb.go modules/git/commit.go modules/git/commit_info.go modules/git/commit_info_nogogit.go modules/git/commit_info_nogogit_test.go modules/git/commit_info_test.go modules/git/commit_message.go modules/git/commit_message_test.go modules/git/commit_reader.go modules/git/commit_sha256_test.go modules/git/commit_submodule.go modules/git/commit_submodule_file.go modules/git/commit_submodule_file_test.go modules/git/commit_test.go modules/git/config.go modules/git/config_submodule.go modules/git/config_submodule_test.go modules/git/config_test.go modules/git/diff.go modules/git/diff_test.go modules/git/error.go modules/git/git.go modules/git/git_test.go modules/git/gpg.go modules/git/grep.go modules/git/grep_test.go modules/git/hook.go modules/git/key.go modules/git/last_commit_cache.go modules/git/last_commit_cache_nogogit.go modules/git/log_name_status_nogogit.go modules/git/notes.go modules/git/notes_nogogit.go modules/git/notes_test.go modules/git/object_format.go modules/git/object_id.go modules/git/object_id_test.go modules/git/parse.go modules/git/parse_treeentry.go modules/git/parse_treeentry_test.go modules/git/redirection.go modules/git/ref.go modules/git/ref_test.go modules/git/remote.go modules/git/repo.go modules/git/repo_base_nogogit.go modules/git/repo_base_nogogit_test.go modules/git/repo_blob.go modules/git/repo_blob_test.go modules/git/repo_branch.go modules/git/repo_branch_nogogit.go modules/git/repo_branch_test.go modules/git/repo_commit.go modules/git/repo_commit_nogogit.go modules/git/repo_commit_test.go modules/git/repo_commitgraph.go modules/git/repo_compare.go modules/git/repo_compare_test.go modules/git/repo_hook.go modules/git/repo_index.go modules/git/repo_object.go modules/git/repo_ref.go modules/git/repo_ref_nogogit.go modules/git/repo_ref_test.go modules/git/repo_stats.go modules/git/repo_stats_test.go modules/git/repo_tag.go modules/git/repo_tag_nogogit.go modules/git/repo_tag_test.go modules/git/repo_test.go modules/git/repo_tree.go modules/git/repo_tree_nogogit.go modules/git/signature.go modules/git/signature_nogogit.go modules/git/signature_test.go modules/git/submodule.go modules/git/submodule_test.go modules/git/tag.go modules/git/tag_test.go modules/git/tree.go modules/git/tree_blob.go modules/git/tree_blob_nogogit.go modules/git/tree_entry.go modules/git/tree_entry_common_test.go modules/git/tree_entry_mode.go modules/git/tree_entry_nogogit.go modules/git/tree_entry_test.go modules/git/tree_nogogit.go modules/git/tree_test.go modules/git/utils.go modules/git/utils_test.go modules/git/attribute/attribute.go modules/git/attribute/attribute_test.go modules/git/attribute/batch.go modules/git/attribute/batch_test.go modules/git/attribute/checker.go modules/git/attribute/checker_test.go modules/git/attribute/main_test.go modules/git/foreachref/format.go modules/git/foreachref/parser.go modules/git/foreachref/format_test.go modules/git/foreachref/parser_test.go modules/git/gitcmd/command.go modules/git/gitcmd/command_test.go modules/git/gitcmd/context.go modules/git/gitcmd/env.go modules/git/gitcmd/error.go modules/git/gitcmd/error_test.go modules/git/gitcmd/pipe.go modules/git/internal/cmdarg.go modules/git/languagestats/language_stats.go modules/git/languagestats/language_stats_nogogit.go modules/git/languagestats/language_stats_test.go modules/git/languagestats/main_test.go modules/git/pipeline/catfile.go modules/git/pipeline/lfs_common.go modules/git/pipeline/lfs_nogogit.go modules/git/pipeline/lfs_test.go modules/git/pipeline/main_test.go modules/git/pipeline/namerev.go modules/git/pipeline/revlist.go modules/git/url/url.go modules/git/url/url_test.go modules/gitrepo/archive.go modules/gitrepo/blame.go modules/gitrepo/blame_sha256_test.go modules/gitrepo/blame_test.go modules/gitrepo/branch.go modules/gitrepo/cat_file.go modules/gitrepo/clone.go modules/gitrepo/command.go modules/gitrepo/commit.go modules/gitrepo/commit_file.go modules/gitrepo/commit_file_test.go modules/gitrepo/commit_test.go modules/gitrepo/commitgraph.go modules/gitrepo/compare.go modules/gitrepo/compare_test.go modules/gitrepo/config.go modules/gitrepo/diff.go modules/gitrepo/fetch.go modules/gitrepo/fsck.go modules/gitrepo/gitrepo.go modules/gitrepo/hooks.go modules/gitrepo/main_test.go modules/gitrepo/merge.go modules/gitrepo/merge_tree.go modules/gitrepo/merge_tree_test.go modules/gitrepo/push.go modules/gitrepo/ref.go modules/gitrepo/remote.go modules/gitrepo/repo_lock.go modules/gitrepo/signing.go modules/gitrepo/size.go modules/gitrepo/tag.go modules/gitrepo/url.go modules/gitrepo/walk_nogogit.go modules/glob/glob.go modules/glob/glob_test.go modules/globallock/globallock.go modules/globallock/globallock_test.go modules/globallock/locker.go modules/globallock/locker_test.go modules/globallock/memory_locker.go modules/globallock/redis_locker.go modules/graceful/context.go modules/graceful/manager.go modules/graceful/manager_common.go modules/graceful/manager_unix.go modules/graceful/net_unix.go modules/graceful/restart_unix.go modules/graceful/server.go modules/graceful/server_hooks.go modules/graceful/server_http.go modules/graceful/releasereopen/releasereopen.go modules/graceful/releasereopen/releasereopen_test.go modules/gtprof/event.go modules/gtprof/gtprof.go modules/gtprof/trace.go modules/gtprof/trace_builtin.go modules/gtprof/trace_const.go modules/gtprof/trace_test.go modules/hcaptcha/error.go modules/hcaptcha/hcaptcha.go modules/hcaptcha/hcaptcha_test.go modules/highlight/highlight.go modules/highlight/highlight_test.go modules/highlight/lexerdetect.go modules/highlight/lexerdetect_test.go modules/hostmatcher/hostmatcher.go modules/hostmatcher/hostmatcher_test.go modules/hostmatcher/http.go modules/htmlutil/html.go modules/htmlutil/html_test.go modules/httpcache/httpcache.go modules/httpcache/httpcache_test.go modules/httplib/content_disposition.go modules/httplib/content_disposition_test.go modules/httplib/request.go modules/httplib/serve.go modules/httplib/serve_test.go modules/httplib/url.go modules/httplib/url_test.go modules/indexer/indexer.go modules/indexer/code/git.go modules/indexer/code/indexer.go modules/indexer/code/indexer_test.go modules/indexer/code/search.go modules/indexer/code/bleve/bleve.go modules/indexer/code/bleve/token/path/path.go modules/indexer/code/bleve/token/path/path_test.go modules/indexer/code/elasticsearch/elasticsearch.go modules/indexer/code/elasticsearch/elasticsearch_test.go modules/indexer/code/gitgrep/gitgrep.go modules/indexer/code/gitgrep/gitgrep_test.go modules/indexer/code/internal/indexer.go modules/indexer/code/internal/model.go modules/indexer/code/internal/util.go modules/indexer/internal/base32.go modules/indexer/internal/indexer.go modules/indexer/internal/paginator.go modules/indexer/internal/bleve/batch.go modules/indexer/internal/bleve/indexer.go modules/indexer/internal/bleve/query.go modules/indexer/internal/bleve/util.go modules/indexer/internal/bleve/util_test.go modules/indexer/internal/db/indexer.go modules/indexer/internal/elasticsearch/indexer.go modules/indexer/internal/elasticsearch/indexer_test.go modules/indexer/internal/elasticsearch/query.go modules/indexer/internal/elasticsearch/types.go modules/indexer/internal/elasticsearch/util.go modules/indexer/internal/meilisearch/filter.go modules/indexer/internal/meilisearch/indexer.go modules/indexer/internal/meilisearch/util.go modules/indexer/issues/dboptions.go modules/indexer/issues/indexer.go modules/indexer/issues/indexer_test.go modules/indexer/issues/util.go modules/indexer/issues/bleve/bleve.go modules/indexer/issues/bleve/bleve_test.go modules/indexer/issues/db/db.go modules/indexer/issues/db/options.go modules/indexer/issues/elasticsearch/elasticsearch.go modules/indexer/issues/elasticsearch/elasticsearch_test.go modules/indexer/issues/internal/indexer.go modules/indexer/issues/internal/model.go modules/indexer/issues/internal/tests/tests.go modules/indexer/issues/meilisearch/meilisearch.go modules/indexer/issues/meilisearch/meilisearch_test.go modules/indexer/stats/db.go modules/indexer/stats/indexer.go modules/indexer/stats/indexer_test.go modules/indexer/stats/queue.go modules/issue/template/template.go modules/issue/template/template_test.go modules/issue/template/unmarshal.go modules/json/json.go modules/json/json_test.go modules/json/jsonv1.go modules/json/jsonv2.go modules/label/label.go modules/label/parser.go modules/label/parser_test.go modules/lfs/client.go modules/lfs/client_test.go modules/lfs/content_store.go modules/lfs/endpoint.go modules/lfs/endpoint_test.go modules/lfs/filesystem_client.go modules/lfs/http_client.go modules/lfs/http_client_test.go modules/lfs/pointer.go modules/lfs/pointer_scanner_nogogit.go modules/lfs/pointer_test.go modules/lfs/shared.go modules/lfs/transferadapter.go modules/lfs/transferadapter_test.go modules/lfstransfer/logger.go modules/lfstransfer/main.go modules/lfstransfer/backend/backend.go modules/lfstransfer/backend/lock.go modules/lfstransfer/backend/util.go modules/lfstransfer/backend/util_test.go modules/log/color.go modules/log/color_console.go modules/log/color_console_other.go modules/log/color_router.go modules/log/event_format.go modules/log/event_format_test.go modules/log/event_writer.go modules/log/event_writer_base.go modules/log/event_writer_conn.go modules/log/event_writer_conn_test.go modules/log/event_writer_console.go modules/log/event_writer_file.go modules/log/flags.go modules/log/flags_test.go modules/log/init.go modules/log/level.go modules/log/level_test.go modules/log/logger.go modules/log/logger_global.go modules/log/logger_impl.go modules/log/logger_test.go modules/log/manager.go modules/log/manager_test.go modules/log/misc.go modules/log/stack.go modules/markup/camo.go modules/markup/camo_test.go modules/markup/html.go modules/markup/html_codepreview.go modules/markup/html_commit.go modules/markup/html_email.go modules/markup/html_emoji.go modules/markup/html_internal_test.go modules/markup/html_issue.go modules/markup/html_link.go modules/markup/html_mention.go modules/markup/html_node.go modules/markup/html_node_test.go modules/markup/render.go modules/markup/render_helper.go modules/markup/render_link.go modules/markup/render_link_test.go modules/markup/render_test.go modules/markup/renderer.go modules/markup/sanitizer.go modules/markup/sanitizer_custom.go modules/markup/sanitizer_default.go modules/markup/sanitizer_default_test.go modules/markup/sanitizer_description.go modules/markup/sanitizer_description_test.go modules/markup/html_codepreview_test.go modules/markup/html_issue_test.go modules/markup/html_test.go modules/markup/html_toc_test.go modules/markup/main_test.go modules/markup/common/footnote.go modules/markup/common/footnote_test.go modules/markup/common/linkify.go modules/markup/console/console.go modules/markup/console/console_test.go modules/markup/csv/csv.go modules/markup/csv/csv_test.go modules/markup/external/external.go modules/markup/external/frontend.go modules/markup/internal/finalprocessor.go modules/markup/internal/internal_test.go modules/markup/internal/renderinternal.go modules/markup/jupyter/jupyter.go modules/markup/jupyter/jupyter_test.go modules/markup/markdown/ast.go modules/markup/markdown/convertyaml.go modules/markup/markdown/goldmark.go modules/markup/markdown/main_test.go modules/markup/markdown/markdown.go modules/markup/markdown/markdown_math_test.go modules/markup/markdown/meta.go modules/markup/markdown/meta_test.go modules/markup/markdown/renderconfig.go modules/markup/markdown/renderconfig_test.go modules/markup/markdown/transform_blockquote.go modules/markup/markdown/transform_codeblock.go modules/markup/markdown/transform_codespan.go modules/markup/markdown/transform_list.go modules/markup/markdown/markdown_attention_test.go modules/markup/markdown/markdown_benchmark_test.go modules/markup/markdown/markdown_test.go modules/markup/markdown/math/block_node.go modules/markup/markdown/math/block_parser.go modules/markup/markdown/math/block_renderer.go modules/markup/markdown/math/inline_node.go modules/markup/markdown/math/inline_parser.go modules/markup/markdown/math/inline_renderer.go modules/markup/markdown/math/math.go modules/markup/mdstripper/mdstripper.go modules/markup/mdstripper/mdstripper_test.go modules/markup/orgmode/orgmode.go modules/markup/orgmode/orgmode_test.go modules/mcaptcha/mcaptcha.go modules/metrics/collector.go modules/migration/comment.go modules/migration/downloader.go modules/migration/error.go modules/migration/file_format.go modules/migration/file_format_test.go modules/migration/issue.go modules/migration/label.go modules/migration/messenger.go modules/migration/milestone.go modules/migration/null_downloader.go modules/migration/options.go modules/migration/pullrequest.go modules/migration/reaction.go modules/migration/release.go modules/migration/repo.go modules/migration/retry_downloader.go modules/migration/review.go modules/migration/schemas_dynamic.go modules/migration/uploader.go modules/nosql/leveldb.go modules/nosql/manager.go modules/nosql/manager_leveldb.go modules/nosql/manager_redis.go modules/nosql/manager_redis_test.go modules/nosql/redis.go modules/nosql/redis_test.go modules/optional/option.go modules/optional/serialization.go modules/optional/option_test.go modules/optional/serialization_test.go modules/options/base.go modules/options/options_dynamic.go modules/packages/content_store.go modules/packages/filelist.go modules/packages/hashed_buffer.go modules/packages/hashed_buffer_test.go modules/packages/multi_hasher.go modules/packages/multi_hasher_test.go modules/packages/alpine/metadata.go modules/packages/alpine/metadata_test.go modules/packages/arch/metadata.go modules/packages/arch/metadata_test.go modules/packages/cargo/parser.go modules/packages/cargo/parser_test.go modules/packages/chef/metadata.go modules/packages/chef/metadata_test.go modules/packages/composer/metadata.go modules/packages/composer/metadata_test.go modules/packages/conan/conanfile_parser.go modules/packages/conan/conanfile_parser_test.go modules/packages/conan/conaninfo_parser.go modules/packages/conan/conaninfo_parser_test.go modules/packages/conan/metadata.go modules/packages/conan/reference.go modules/packages/conan/reference_test.go modules/packages/conda/metadata.go modules/packages/conda/metadata_test.go modules/packages/container/const.go modules/packages/container/metadata.go modules/packages/container/metadata_test.go modules/packages/container/helm/helm.go modules/packages/cran/metadata.go modules/packages/cran/metadata_test.go modules/packages/debian/metadata.go modules/packages/debian/metadata_test.go modules/packages/goproxy/metadata.go modules/packages/goproxy/metadata_test.go modules/packages/helm/metadata.go modules/packages/maven/metadata.go modules/packages/maven/metadata_test.go modules/packages/npm/creator.go modules/packages/npm/creator_test.go modules/packages/npm/metadata.go modules/packages/nuget/metadata.go modules/packages/nuget/metadata_test.go modules/packages/nuget/symbol_extractor.go modules/packages/nuget/symbol_extractor_test.go modules/packages/pub/metadata.go modules/packages/pub/metadata_test.go modules/packages/pypi/metadata.go modules/packages/rpm/metadata.go modules/packages/rpm/metadata_test.go modules/packages/rubygems/marshal.go modules/packages/rubygems/marshal_test.go modules/packages/rubygems/metadata.go modules/packages/rubygems/metadata_test.go modules/packages/swift/metadata.go modules/packages/swift/metadata_test.go modules/packages/terraform/lock.go modules/packages/terraform/state.go modules/packages/vagrant/metadata.go modules/packages/vagrant/metadata_test.go modules/paginator/paginator.go modules/paginator/paginator_test.go modules/pprof/pprof.go modules/private/actions.go modules/private/hook.go modules/private/internal.go modules/private/internal_test.go modules/private/key.go modules/private/mail.go modules/private/manager.go modules/private/pushoptions.go modules/private/pushoptions_test.go modules/private/request.go modules/private/restore_repo.go modules/private/serv.go modules/process/context.go modules/process/error.go modules/process/manager.go modules/process/manager_exec.go modules/process/manager_stacktraces.go modules/process/manager_test.go modules/process/manager_unix.go modules/process/process.go modules/proxy/proxy.go modules/proxyprotocol/conn.go modules/proxyprotocol/errors.go modules/proxyprotocol/listener.go modules/proxyprotocol/util.go modules/public/manifest.go modules/public/manifest_test.go modules/public/mime_types.go modules/public/public.go modules/public/public_dynamic.go modules/public/public_test.go modules/public/vitedev.go modules/queue/backoff.go modules/queue/base.go modules/queue/base_channel.go modules/queue/base_channel_test.go modules/queue/base_dummy.go modules/queue/base_levelqueue.go modules/queue/base_levelqueue_common.go modules/queue/base_levelqueue_test.go modules/queue/base_levelqueue_unique.go modules/queue/base_redis.go modules/queue/base_redis_test.go modules/queue/base_test.go modules/queue/config.go modules/queue/manager.go modules/queue/manager_test.go modules/queue/queue.go modules/queue/testhelper.go modules/queue/workergroup.go modules/queue/workerqueue.go modules/queue/workerqueue_test.go modules/queue/lqinternal/lqinternal.go modules/recaptcha/recaptcha.go modules/references/references.go modules/references/references_test.go modules/regexplru/regexplru.go modules/regexplru/regexplru_test.go modules/repository/branch.go modules/repository/branch_test.go modules/repository/commits.go modules/repository/commits_test.go modules/repository/create.go modules/repository/create_test.go modules/repository/delete.go modules/repository/env.go modules/repository/fork.go modules/repository/fork_test.go modules/repository/init.go modules/repository/init_test.go modules/repository/license.go modules/repository/license_test.go modules/repository/main_test.go modules/repository/push.go modules/repository/repo.go modules/repository/repo_test.go modules/repository/temp.go modules/reqctx/datastore.go modules/secret/secret.go modules/secret/secret_test.go modules/session/db.go modules/session/key.go modules/session/mem.go modules/session/redis.go modules/session/store.go modules/session/virtual.go modules/setting/actions.go modules/setting/actions_test.go modules/setting/admin.go modules/setting/api.go modules/setting/asset_dynamic.go modules/setting/attachment.go modules/setting/attachment_test.go modules/setting/cache.go modules/setting/camo.go modules/setting/config.go modules/setting/config_env.go modules/setting/config_env_test.go modules/setting/config_option_instance.go modules/setting/config_provider.go modules/setting/config_provider_test.go modules/setting/cors.go modules/setting/cron.go modules/setting/cron_test.go modules/setting/database.go modules/setting/federation.go modules/setting/git.go modules/setting/git_test.go modules/setting/gloabl_lock.go modules/setting/glob.go modules/setting/global.go modules/setting/global_lock_test.go modules/setting/highlight.go modules/setting/i18n.go modules/setting/incoming_email.go modules/setting/indexer.go modules/setting/indexer_test.go modules/setting/lfs.go modules/setting/lfs_test.go modules/setting/log.go modules/setting/log_test.go modules/setting/mailer.go modules/setting/mailer_test.go modules/setting/markup.go modules/setting/markup_test.go modules/setting/metrics.go modules/setting/migrations.go modules/setting/mime_type_map.go modules/setting/mirror.go modules/setting/oauth2.go modules/setting/oauth2_test.go modules/setting/other.go modules/setting/packages.go modules/setting/packages_test.go modules/setting/path.go modules/setting/path_test.go modules/setting/picture.go modules/setting/project.go modules/setting/proxy.go modules/setting/queue.go modules/setting/repository.go modules/setting/repository_archive.go modules/setting/repository_archive_test.go modules/setting/repository_test.go modules/setting/security.go modules/setting/security_test.go modules/setting/server.go modules/setting/service.go modules/setting/service_test.go modules/setting/session.go modules/setting/setting.go modules/setting/ssh.go modules/setting/storage.go modules/setting/storage_test.go modules/setting/task.go modules/setting/testenv.go modules/setting/time.go modules/setting/ui.go modules/setting/webhook.go modules/setting/config/getter.go modules/setting/config/value.go modules/sitemap/sitemap.go modules/sitemap/sitemap_test.go modules/ssh/init.go modules/ssh/ssh.go modules/ssh/ssh_graceful.go modules/ssh/ssh_test.go modules/storage/azureblob.go modules/storage/azureblob_test.go modules/storage/helper.go modules/storage/helper_test.go modules/storage/local.go modules/storage/local_test.go modules/storage/minio.go modules/storage/minio_test.go modules/storage/storage.go modules/storage/storage_test.go modules/structs/activity.go modules/structs/admin_user.go modules/structs/attachment.go modules/structs/cron.go modules/structs/doc.go modules/structs/fork.go modules/structs/git_blob.go modules/structs/git_hook.go modules/structs/hook.go modules/structs/hook_test.go modules/structs/issue.go modules/structs/issue_comment.go modules/structs/issue_label.go modules/structs/issue_milestone.go modules/structs/issue_reaction.go modules/structs/issue_stopwatch.go modules/structs/issue_test.go modules/structs/issue_tracked_time.go modules/structs/lfs_lock.go modules/structs/mirror.go modules/structs/miscellaneous.go modules/structs/nodeinfo.go modules/structs/notifications.go modules/structs/org.go modules/structs/org_member.go modules/structs/org_team.go modules/structs/package.go modules/structs/project.go modules/structs/pull.go modules/structs/pull_review.go modules/structs/release.go modules/structs/repo.go modules/structs/repo_actions.go modules/structs/repo_branch.go modules/structs/repo_collaborator.go modules/structs/repo_commit.go modules/structs/repo_compare.go modules/structs/repo_file.go modules/structs/repo_key.go modules/structs/repo_note.go modules/structs/repo_refs.go modules/structs/repo_tag.go modules/structs/repo_topic.go modules/structs/repo_tree.go modules/structs/repo_watch.go modules/structs/repo_wiki.go modules/structs/secret.go modules/structs/settings.go modules/structs/status.go modules/structs/task.go modules/structs/token.go modules/structs/user.go modules/structs/user_app.go modules/structs/user_email.go modules/structs/user_gpgkey.go modules/structs/user_key.go modules/structs/variable.go modules/structs/visible_type.go modules/svg/processor.go modules/svg/processor_test.go modules/svg/svg.go modules/svg/svg_test.go modules/system/appstate.go modules/system/appstate_test.go modules/system/db.go modules/system/item_runtime.go modules/tailmsg/talimsg.go modules/tempdir/tempdir.go modules/tempdir/tempdir_test.go modules/templates/base.go modules/templates/helper.go modules/templates/helper_test.go modules/templates/htmlrenderer.go modules/templates/htmlrenderer_test.go modules/templates/mail.go modules/templates/page.go modules/templates/templates_dynamic.go modules/templates/util_actions.go modules/templates/util_avatar.go modules/templates/util_date.go modules/templates/util_date_test.go modules/templates/util_dict.go modules/templates/util_format.go modules/templates/util_format_test.go modules/templates/util_json.go modules/templates/util_misc.go modules/templates/util_render.go modules/templates/util_render_comment.go modules/templates/util_render_comment_test.go modules/templates/util_render_test.go modules/templates/util_slice.go modules/templates/util_string.go modules/templates/util_test.go modules/templates/eval/eval.go modules/templates/eval/eval_test.go modules/templates/scopedtmpl/scopedtmpl.go modules/templates/scopedtmpl/scopedtmpl_test.go modules/templates/vars/vars.go modules/templates/vars/vars_test.go modules/test/logchecker.go modules/test/logchecker_test.go modules/test/utils.go modules/testlogger/testlogger.go modules/timeutil/since.go modules/timeutil/since_test.go modules/timeutil/timestamp.go modules/timeutil/timestampnano.go modules/translation/mock.go modules/translation/translation.go modules/translation/translation_test.go modules/translation/i18n/format.go modules/translation/i18n/i18n.go modules/translation/i18n/i18n_test.go modules/translation/i18n/localestore.go modules/turnstile/turnstile.go modules/turnstile/turnstile_test.go modules/typesniffer/typesniffer.go modules/typesniffer/typesniffer_test.go modules/updatechecker/update_checker.go modules/uri/uri.go modules/uri/uri_test.go modules/user/user.go modules/user/user_test.go modules/util/buffer.go modules/util/color.go modules/util/color_test.go modules/util/diff_slice_test.go modules/util/error.go modules/util/error_test.go modules/util/file_unix.go modules/util/file_unix_test.go modules/util/io.go modules/util/io_test.go modules/util/keypair.go modules/util/keypair_test.go modules/util/legacy.go modules/util/legacy_test.go modules/util/map.go modules/util/map_test.go modules/util/pack.go modules/util/pack_test.go modules/util/paginate.go modules/util/paginate_test.go modules/util/path.go modules/util/path_test.go modules/util/remove.go modules/util/runtime.go modules/util/runtime_test.go modules/util/sanitize.go modules/util/sanitize_test.go modules/util/sec_to_time.go modules/util/sec_to_time_test.go modules/util/shellquote.go modules/util/shellquote_test.go modules/util/slice.go modules/util/slice_test.go modules/util/string.go modules/util/string_test.go modules/util/sync.go modules/util/sync_test.go modules/util/time_str.go modules/util/time_str_test.go modules/util/timer.go modules/util/timer_test.go modules/util/truncate.go modules/util/truncate_test.go modules/util/url.go modules/util/util.go modules/util/util_test.go modules/util/filebuffer/file_backed_buffer.go modules/util/filebuffer/file_backed_buffer_test.go modules/util/rotatingfilewriter/writer.go modules/util/rotatingfilewriter/writer_test.go modules/validation/binding.go modules/validation/binding_test.go modules/validation/glob_pattern_test.go modules/validation/helpers.go modules/validation/helpers_test.go modules/validation/refname_test.go modules/validation/regex_pattern_test.go modules/validation/validurl_test.go modules/web/handler.go modules/web/routemock.go modules/web/routemock_test.go modules/web/router.go modules/web/router_combo.go modules/web/router_path.go modules/web/router_test.go modules/web/middleware/binding.go modules/web/middleware/cookie.go modules/web/middleware/data.go modules/web/middleware/flash.go modules/web/middleware/locale.go modules/web/middleware/locale_test.go modules/web/routing/context.go modules/web/routing/funcinfo.go modules/web/routing/funcinfo_test.go modules/web/routing/logger.go modules/web/routing/logger_manager.go modules/web/routing/requestinfo.go modules/web/routing/requestrecord.go modules/web/types/premiddleware.go modules/web/types/response.go modules/webhook/events.go modules/webhook/type.go modules/zstd/option.go modules/zstd/zstd.go modules/zstd/zstd_test.go routers/init.go routers/api/actions/actions.go routers/api/actions/artifact.pb.go routers/api/actions/artifacts.go routers/api/actions/artifacts_chunks.go routers/api/actions/artifacts_utils.go routers/api/actions/artifactsv4.go routers/api/actions/job_summary.go routers/api/actions/ping/ping.go routers/api/actions/ping/ping_test.go routers/api/actions/runner/interceptor.go routers/api/actions/runner/runner.go routers/api/actions/runner/runner_test.go routers/api/packages/api.go routers/api/packages/auth.go routers/api/packages/alpine/alpine.go routers/api/packages/arch/arch.go routers/api/packages/cargo/cargo.go routers/api/packages/chef/auth.go routers/api/packages/chef/chef.go routers/api/packages/composer/api.go routers/api/packages/composer/composer.go routers/api/packages/conan/conan.go routers/api/packages/conan/search.go routers/api/packages/conda/conda.go routers/api/packages/container/blob.go routers/api/packages/container/container.go routers/api/packages/container/errors.go routers/api/packages/container/manifest.go routers/api/packages/cran/cran.go routers/api/packages/debian/debian.go routers/api/packages/generic/generic.go routers/api/packages/generic/generic_test.go routers/api/packages/goproxy/goproxy.go routers/api/packages/helm/helm.go routers/api/packages/helper/helper.go routers/api/packages/maven/api.go routers/api/packages/maven/maven.go routers/api/packages/npm/api.go routers/api/packages/npm/npm.go routers/api/packages/nuget/api_v2.go routers/api/packages/nuget/api_v3.go routers/api/packages/nuget/auth.go routers/api/packages/nuget/links.go routers/api/packages/nuget/nuget.go routers/api/packages/pub/pub.go routers/api/packages/pypi/pypi.go routers/api/packages/pypi/pypi_test.go routers/api/packages/rpm/rpm.go routers/api/packages/rubygems/rubygems.go routers/api/packages/rubygems/rubygems_test.go routers/api/packages/swift/swift.go routers/api/packages/terraform/terraform.go routers/api/packages/terraform/terraform_test.go routers/api/packages/vagrant/vagrant.go routers/api/v1/api.go routers/api/v1/activitypub/person.go routers/api/v1/admin/action.go routers/api/v1/admin/adopt.go routers/api/v1/admin/cron.go routers/api/v1/admin/email.go routers/api/v1/admin/hooks.go routers/api/v1/admin/org.go routers/api/v1/admin/repo.go routers/api/v1/admin/runners.go routers/api/v1/admin/user.go routers/api/v1/admin/user_badge.go routers/api/v1/misc/gitignore.go routers/api/v1/misc/label_templates.go routers/api/v1/misc/licenses.go routers/api/v1/misc/markup.go routers/api/v1/misc/markup_test.go routers/api/v1/misc/signing.go routers/api/v1/misc/version.go routers/api/v1/notify/notifications.go routers/api/v1/notify/repo.go routers/api/v1/notify/threads.go routers/api/v1/notify/user.go routers/api/v1/org/action.go routers/api/v1/org/avatar.go routers/api/v1/org/block.go routers/api/v1/org/hook.go routers/api/v1/org/label.go routers/api/v1/org/member.go routers/api/v1/org/org.go routers/api/v1/org/team.go routers/api/v1/packages/package.go routers/api/v1/repo/action.go routers/api/v1/repo/actions_run.go routers/api/v1/repo/avatar.go routers/api/v1/repo/blob.go routers/api/v1/repo/branch.go routers/api/v1/repo/collaborators.go routers/api/v1/repo/commits.go routers/api/v1/repo/compare.go routers/api/v1/repo/download.go routers/api/v1/repo/file.go routers/api/v1/repo/fork.go routers/api/v1/repo/git_hook.go routers/api/v1/repo/git_ref.go routers/api/v1/repo/hook.go routers/api/v1/repo/hook_test.go routers/api/v1/repo/issue.go routers/api/v1/repo/issue_assignee.go routers/api/v1/repo/issue_attachment.go routers/api/v1/repo/issue_comment.go routers/api/v1/repo/issue_comment_attachment.go routers/api/v1/repo/issue_dependency.go routers/api/v1/repo/issue_label.go routers/api/v1/repo/issue_lock.go routers/api/v1/repo/issue_pin.go routers/api/v1/repo/issue_reaction.go routers/api/v1/repo/issue_stopwatch.go routers/api/v1/repo/issue_subscription.go routers/api/v1/repo/issue_tracked_time.go routers/api/v1/repo/key.go routers/api/v1/repo/label.go routers/api/v1/repo/language.go routers/api/v1/repo/license.go routers/api/v1/repo/main_test.go routers/api/v1/repo/migrate.go routers/api/v1/repo/milestone.go routers/api/v1/repo/mirror.go routers/api/v1/repo/mirror_test.go routers/api/v1/repo/notes.go routers/api/v1/repo/patch.go routers/api/v1/repo/pull.go routers/api/v1/repo/pull_review.go routers/api/v1/repo/release.go routers/api/v1/repo/release_attachment.go routers/api/v1/repo/release_tags.go routers/api/v1/repo/repo.go routers/api/v1/repo/repo_test.go routers/api/v1/repo/star.go routers/api/v1/repo/status.go routers/api/v1/repo/subscriber.go routers/api/v1/repo/tag.go routers/api/v1/repo/teams.go routers/api/v1/repo/topic.go routers/api/v1/repo/transfer.go routers/api/v1/repo/tree.go routers/api/v1/repo/wiki.go routers/api/v1/settings/settings.go routers/api/v1/shared/action.go routers/api/v1/shared/block.go routers/api/v1/shared/runners.go routers/api/v1/swagger/action.go routers/api/v1/swagger/activity.go routers/api/v1/swagger/app.go routers/api/v1/swagger/cron.go routers/api/v1/swagger/issue.go routers/api/v1/swagger/key.go routers/api/v1/swagger/misc.go routers/api/v1/swagger/nodeinfo.go routers/api/v1/swagger/notify.go routers/api/v1/swagger/options.go routers/api/v1/swagger/org.go routers/api/v1/swagger/package.go routers/api/v1/swagger/repo.go routers/api/v1/swagger/settings.go routers/api/v1/swagger/user.go routers/api/v1/token/token.go routers/api/v1/user/action.go routers/api/v1/user/app.go routers/api/v1/user/avatar.go routers/api/v1/user/block.go routers/api/v1/user/email.go routers/api/v1/user/follower.go routers/api/v1/user/gpg_key.go routers/api/v1/user/helper.go routers/api/v1/user/hook.go routers/api/v1/user/key.go routers/api/v1/user/repo.go routers/api/v1/user/runners.go routers/api/v1/user/settings.go routers/api/v1/user/star.go routers/api/v1/user/user.go routers/api/v1/user/watch.go routers/api/v1/utils/git.go routers/api/v1/utils/hook.go routers/api/v1/utils/hook_test.go routers/api/v1/utils/main_test.go routers/api/v1/utils/page.go routers/api/v1/utils/sort.go routers/api/v1/utils/sort_test.go routers/common/actions.go routers/common/auth.go routers/common/blockexpensive.go routers/common/blockexpensive_test.go routers/common/codesearch.go routers/common/compare.go routers/common/compare_test.go routers/common/db.go routers/common/deadline.go routers/common/errpage.go routers/common/errpage_test.go routers/common/issue_filter.go routers/common/lfs.go routers/common/maintenancemode.go routers/common/markup.go routers/common/middleware.go routers/common/pagetmpl.go routers/common/qos.go routers/common/qos_test.go routers/common/redirect.go routers/common/redirect_test.go routers/common/serve.go routers/install/install.go routers/install/routes.go routers/install/routes_test.go routers/private/actions.go routers/private/default_branch.go routers/private/hook_post_receive.go routers/private/hook_post_receive_test.go routers/private/hook_pre_receive.go routers/private/hook_pre_receive_test.go routers/private/hook_proc_receive.go routers/private/hook_verification.go routers/private/hook_verification_test.go routers/private/internal.go routers/private/internal_repo.go routers/private/key.go routers/private/mail.go routers/private/main_test.go routers/private/manager.go routers/private/manager_process.go routers/private/manager_unix.go routers/private/restore_repo.go routers/private/serv.go routers/private/ssh_log.go routers/utils/utils.go routers/utils/utils_test.go routers/web/base.go routers/web/githttp.go routers/web/goget.go routers/web/home.go routers/web/metrics.go routers/web/nodeinfo.go routers/web/passkey.go routers/web/swagger_json.go routers/web/web.go routers/web/webfinger.go routers/web/admin/admin.go routers/web/admin/admin_test.go routers/web/admin/applications.go routers/web/admin/auths.go routers/web/admin/badges.go routers/web/admin/config.go routers/web/admin/diagnosis.go routers/web/admin/emails.go routers/web/admin/hooks.go routers/web/admin/main_test.go routers/web/admin/notice.go routers/web/admin/orgs.go routers/web/admin/packages.go routers/web/admin/perftrace.go routers/web/admin/queue.go routers/web/admin/queue_tester.go routers/web/admin/repos.go routers/web/admin/stacktrace.go routers/web/admin/users.go routers/web/admin/users_test.go routers/web/auth/2fa.go routers/web/auth/auth.go routers/web/auth/auth_test.go routers/web/auth/linkaccount.go routers/web/auth/main_test.go routers/web/auth/oauth.go routers/web/auth/oauth2_provider.go routers/web/auth/oauth_signin_sync.go routers/web/auth/oauth_test.go routers/web/auth/openid.go routers/web/auth/password.go routers/web/auth/webauthn.go routers/web/devtest/devtest.go routers/web/devtest/mail_preview.go routers/web/devtest/mock_actions.go routers/web/events/events.go routers/web/explore/code.go routers/web/explore/org.go routers/web/explore/repo.go routers/web/explore/topic.go routers/web/explore/user.go routers/web/feed/branch.go routers/web/feed/convert.go routers/web/feed/file.go routers/web/feed/profile.go routers/web/feed/release.go routers/web/feed/render.go routers/web/feed/repo.go routers/web/feed/profile_test.go routers/web/healthcheck/check.go routers/web/misc/markup.go routers/web/misc/misc.go routers/web/misc/swagger.go routers/web/misc/webtheme.go routers/web/org/block.go routers/web/org/home.go routers/web/org/members.go routers/web/org/mention.go routers/web/org/org.go routers/web/org/org_labels.go routers/web/org/projects.go routers/web/org/setting.go routers/web/org/setting_oauth2.go routers/web/org/setting_packages.go routers/web/org/teams.go routers/web/org/worktime.go routers/web/org/main_test.go routers/web/org/projects_test.go routers/web/repo/activity.go routers/web/repo/attachment.go routers/web/repo/blame.go routers/web/repo/branch.go routers/web/repo/code_frequency.go routers/web/repo/commit.go routers/web/repo/common_recentbranches.go routers/web/repo/compare.go routers/web/repo/compare_test.go routers/web/repo/contributors.go routers/web/repo/download.go routers/web/repo/editor.go routers/web/repo/editor_apply_patch.go routers/web/repo/editor_cherry_pick.go routers/web/repo/editor_error.go routers/web/repo/editor_fork.go routers/web/repo/editor_preview.go routers/web/repo/editor_test.go routers/web/repo/editor_uploader.go routers/web/repo/editor_util.go routers/web/repo/fork.go routers/web/repo/githttp.go routers/web/repo/githttp_test.go routers/web/repo/helper.go routers/web/repo/issue.go routers/web/repo/issue_comment.go routers/web/repo/issue_content_history.go routers/web/repo/issue_dependency.go routers/web/repo/issue_label.go routers/web/repo/issue_label_test.go routers/web/repo/issue_list.go routers/web/repo/issue_lock.go routers/web/repo/issue_new.go routers/web/repo/issue_page_meta.go routers/web/repo/issue_pin.go routers/web/repo/issue_poster.go routers/web/repo/issue_stopwatch.go routers/web/repo/issue_suggestions.go routers/web/repo/issue_test.go routers/web/repo/issue_timetrack.go routers/web/repo/issue_view.go routers/web/repo/issue_watch.go routers/web/repo/main_test.go routers/web/repo/mention.go routers/web/repo/middlewares.go routers/web/repo/middlewares_test.go routers/web/repo/migrate.go routers/web/repo/milestone.go routers/web/repo/packages.go routers/web/repo/projects.go routers/web/repo/projects_test.go routers/web/repo/pull.go routers/web/repo/pull_merge_box.go routers/web/repo/pull_merge_form.go routers/web/repo/pull_review.go routers/web/repo/pull_review_test.go routers/web/repo/recent_commits.go routers/web/repo/release.go routers/web/repo/release_test.go routers/web/repo/render.go routers/web/repo/repo.go routers/web/repo/search.go routers/web/repo/star.go routers/web/repo/topic.go routers/web/repo/transfer.go routers/web/repo/treelist.go routers/web/repo/treelist_test.go routers/web/repo/view.go routers/web/repo/view_file.go routers/web/repo/view_home.go routers/web/repo/view_home_test.go routers/web/repo/view_readme.go routers/web/repo/view_readme_test.go routers/web/repo/view_test.go routers/web/repo/watch.go routers/web/repo/webgit.go routers/web/repo/wiki.go routers/web/repo/wiki_test.go routers/web/repo/actions/actions.go routers/web/repo/actions/actions_test.go routers/web/repo/actions/badge.go routers/web/repo/actions/main_test.go routers/web/repo/actions/view.go routers/web/repo/actions/view_test.go routers/web/repo/setting/actions.go routers/web/repo/setting/avatar.go routers/web/repo/setting/collaboration.go routers/web/repo/setting/default_branch.go routers/web/repo/setting/deploy_key.go routers/web/repo/setting/git_hooks.go routers/web/repo/setting/lfs.go routers/web/repo/setting/main_test.go routers/web/repo/setting/protected_branch.go routers/web/repo/setting/protected_tag.go routers/web/repo/setting/public_access.go routers/web/repo/setting/secrets.go routers/web/repo/setting/setting.go routers/web/repo/setting/settings_test.go routers/web/repo/setting/webhook.go routers/web/repo/setting/webhook_test.go routers/web/shared/actions/general.go routers/web/shared/actions/runners.go routers/web/shared/actions/scoped_workflows.go routers/web/shared/actions/scoped_workflows_test.go routers/web/shared/actions/variables.go routers/web/shared/issue/issue_label.go routers/web/shared/label/label.go routers/web/shared/mention/mention.go routers/web/shared/packages/packages.go routers/web/shared/project/column.go routers/web/shared/secrets/secrets.go routers/web/shared/user/block.go routers/web/shared/user/header.go routers/web/shared/user/helper.go routers/web/shared/user/helper_test.go routers/web/user/avatar.go routers/web/user/code.go routers/web/user/heatmap.go routers/web/user/home.go routers/web/user/home_test.go routers/web/user/main_test.go routers/web/user/notification.go routers/web/user/notification_test.go routers/web/user/package.go routers/web/user/profile.go routers/web/user/search.go routers/web/user/stop_watch.go routers/web/user/setting/account.go routers/web/user/setting/account_test.go routers/web/user/setting/adopt.go routers/web/user/setting/applications.go routers/web/user/setting/block.go routers/web/user/setting/keys.go routers/web/user/setting/main_test.go routers/web/user/setting/notifications.go routers/web/user/setting/oauth2.go routers/web/user/setting/oauth2_common.go routers/web/user/setting/packages.go routers/web/user/setting/profile.go routers/web/user/setting/settings.go routers/web/user/setting/webhooks.go routers/web/user/setting/security/2fa.go routers/web/user/setting/security/main_test.go routers/web/user/setting/security/openid.go routers/web/user/setting/security/openid_test.go routers/web/user/setting/security/security.go routers/web/user/setting/security/webauthn.go services/actions/approve.go services/actions/approve_test.go services/actions/artifacts.go services/actions/auth.go services/actions/auth_test.go services/actions/cleanup.go services/actions/clear_tasks.go services/actions/clear_tasks_test.go services/actions/commit_status.go services/actions/commit_status_test.go services/actions/concurrency.go services/actions/context.go services/actions/context_test.go services/actions/helper.go services/actions/init.go services/actions/init_test.go services/actions/interface.go services/actions/job_emitter.go services/actions/job_emitter_test.go services/actions/notifier.go services/actions/notifier_helper.go services/actions/notifier_helper_test.go services/actions/notify.go services/actions/permission_parser.go services/actions/permission_parser_test.go services/actions/rerun.go services/actions/rerun_test.go services/actions/reusable_workflow.go services/actions/reusable_workflow_test.go services/actions/run.go services/actions/schedule_tasks.go services/actions/schedule_tasks_test.go services/actions/scoped_workflow_cache.go services/actions/task.go services/actions/task_test.go services/actions/variables.go services/actions/workflow.go services/actions/workflow_test.go services/agit/agit.go services/agit/agit_test.go services/asymkey/commit.go services/asymkey/commit_test.go services/asymkey/deploy_key.go services/asymkey/main_test.go services/asymkey/sign.go services/asymkey/sign_test.go services/asymkey/ssh_key.go services/asymkey/ssh_key_authorized_keys.go services/asymkey/ssh_key_authorized_principals.go services/asymkey/ssh_key_principals.go services/asymkey/ssh_key_test.go services/attachment/attachment.go services/attachment/attachment_test.go services/auth/auth.go services/auth/auth_token.go services/auth/auth_token_test.go services/auth/basic.go services/auth/group.go services/auth/httpsign.go services/auth/interface.go services/auth/main_test.go services/auth/oauth2.go services/auth/oauth2_test.go services/auth/reverseproxy.go services/auth/session.go services/auth/signin.go services/auth/source.go services/auth/sspi.go services/auth/sspiauth_posix.go services/auth/sync.go services/auth/source/source_group_sync.go services/auth/source/db/authenticate.go services/auth/source/db/source.go services/auth/source/db/assert_interface_test.go services/auth/source/ldap/security_protocol.go services/auth/source/ldap/source.go services/auth/source/ldap/source_authenticate.go services/auth/source/ldap/source_search.go services/auth/source/ldap/source_sync.go services/auth/source/ldap/util.go services/auth/source/ldap/assert_interface_test.go services/auth/source/oauth2/init.go services/auth/source/oauth2/main_test.go services/auth/source/oauth2/providers.go services/auth/source/oauth2/providers_base.go services/auth/source/oauth2/providers_custom.go services/auth/source/oauth2/providers_openid.go services/auth/source/oauth2/providers_simple.go services/auth/source/oauth2/providers_test.go services/auth/source/oauth2/source.go services/auth/source/oauth2/source_authenticate.go services/auth/source/oauth2/source_callout.go services/auth/source/oauth2/source_name.go services/auth/source/oauth2/source_register.go services/auth/source/oauth2/source_sync.go services/auth/source/oauth2/source_sync_test.go services/auth/source/oauth2/store.go services/auth/source/oauth2/urlmapping.go services/auth/source/oauth2/assert_interface_test.go services/auth/source/pam/source.go services/auth/source/pam/source_authenticate.go services/auth/source/pam/assert_interface_test.go services/auth/source/smtp/auth.go services/auth/source/smtp/source.go services/auth/source/smtp/source_authenticate.go services/auth/source/smtp/assert_interface_test.go services/auth/source/sspi/source.go services/auth/source/sspi/assert_interface_test.go services/automerge/automerge.go services/automerge/notify.go services/automergequeue/automergequeue.go services/context/access_log.go services/context/access_log_test.go services/context/api.go services/context/api_org.go services/context/api_test.go services/context/base.go services/context/base_form.go services/context/base_path.go services/context/base_test.go services/context/captcha.go services/context/context.go services/context/context_cookie.go services/context/context_model.go services/context/context_request.go services/context/context_response.go services/context/context_template.go services/context/context_test.go services/context/org.go services/context/package.go services/context/pagination.go services/context/pagination_test.go services/context/permission.go services/context/private.go services/context/repo.go services/context/response.go services/context/user.go services/context/utils.go services/context/upload/upload.go services/context/upload/upload_test.go services/contexttest/context_tests.go services/convert/action_test.go services/convert/activity.go services/convert/attachment.go services/convert/convert.go services/convert/git_commit.go services/convert/git_commit_test.go services/convert/issue.go services/convert/issue_comment.go services/convert/issue_test.go services/convert/main_test.go services/convert/mirror.go services/convert/notification.go services/convert/notification_test.go services/convert/package.go services/convert/project.go services/convert/pull.go services/convert/pull_review.go services/convert/pull_review_test.go services/convert/pull_test.go services/convert/release.go services/convert/release_test.go services/convert/repository.go services/convert/status.go services/convert/user.go services/convert/user_test.go services/convert/utils.go services/convert/utils_test.go services/convert/wiki.go services/cron/cron.go services/cron/setting.go services/cron/tasks.go services/cron/tasks_actions.go services/cron/tasks_basic.go services/cron/tasks_extended.go services/cron/tasks_extended_test.go services/cron/tasks_test.go services/doctor/dbconsistency.go services/doctor/dbconsistency_test.go services/doctor/doctor.go services/doctor/lfs.go services/doctor/main_test.go services/doctor/misc.go services/doctor/repository.go services/doctor/storage.go services/externalaccount/user.go services/feed/feed.go services/feed/feed_test.go services/feed/notifier.go services/feed/notifier_test.go services/forms/admin.go services/forms/auth_form.go services/forms/org.go services/forms/package_form.go services/forms/repo_branch_form.go services/forms/repo_form.go services/forms/repo_form_editor.go services/forms/repo_form_test.go services/forms/repo_tag_form.go services/forms/runner.go services/forms/user_form.go services/forms/user_form_auth_openid.go services/forms/user_form_hidden_comments.go services/forms/user_form_test.go services/git/commit.go services/git/compare.go services/gitdiff/csv.go services/gitdiff/csv_test.go services/gitdiff/git_diff_tree.go services/gitdiff/git_diff_tree_test.go services/gitdiff/gitdiff.go services/gitdiff/gitdiff_excerpt.go services/gitdiff/gitdiff_excerpt_test.go services/gitdiff/gitdiff_test.go services/gitdiff/highlightdiff.go services/gitdiff/highlightdiff_test.go services/gitdiff/main_test.go services/gitdiff/submodule.go services/gitdiff/submodule_test.go services/indexer/indexer.go services/indexer/notify.go services/issue/assignee.go services/issue/assignee_test.go services/issue/comments.go services/issue/commit.go services/issue/commit_test.go services/issue/content.go services/issue/issue.go services/issue/issue_test.go services/issue/label.go services/issue/label_test.go services/issue/main_test.go services/issue/milestone.go services/issue/milestone_test.go services/issue/pull.go services/issue/reaction.go services/issue/reaction_test.go services/issue/review_request.go services/issue/status.go services/issue/suggestion.go services/issue/suggestion_test.go services/issue/template.go services/lfs/locks.go services/lfs/server.go services/lfs/server_test.go services/mailer/mail.go services/mailer/mail_comment.go services/mailer/mail_issue.go services/mailer/mail_issue_common.go services/mailer/mail_release.go services/mailer/mail_release_test.go services/mailer/mail_repo.go services/mailer/mail_team_invite.go services/mailer/mail_test.go services/mailer/mail_user.go services/mailer/mail_workflow_run.go services/mailer/mailer.go services/mailer/main_test.go services/mailer/notify.go services/mailer/incoming/incoming.go services/mailer/incoming/incoming_handler.go services/mailer/incoming/incoming_test.go services/mailer/incoming/reply.go services/mailer/incoming/payload/payload.go services/mailer/sender/dummy.go services/mailer/sender/main_test.go services/mailer/sender/message.go services/mailer/sender/message_test.go services/mailer/sender/sender.go services/mailer/sender/sendmail.go services/mailer/sender/smtp.go services/mailer/sender/smtp_auth.go services/mailer/sender/smtp_test.go services/mailer/token/token.go services/markup/main_test.go services/markup/renderhelper.go services/markup/renderhelper_codepreview.go services/markup/renderhelper_codepreview_test.go services/markup/renderhelper_issueicontitle.go services/markup/renderhelper_issueicontitle_test.go services/markup/renderhelper_mention_test.go services/migrations/codebase.go services/migrations/codebase_test.go services/migrations/codecommit.go services/migrations/common.go services/migrations/dump.go services/migrations/error.go services/migrations/git.go services/migrations/gitbucket.go services/migrations/gitea_downloader.go services/migrations/gitea_downloader_test.go services/migrations/gitea_uploader.go services/migrations/gitea_uploader_test.go services/migrations/github.go services/migrations/github_test.go services/migrations/gitlab.go services/migrations/gitlab_test.go services/migrations/gogs.go services/migrations/gogs_test.go services/migrations/http_client.go services/migrations/main_test.go services/migrations/migrate.go services/migrations/migrate_test.go services/migrations/onedev.go services/migrations/onedev_test.go services/migrations/restore.go services/migrations/restore_test.go services/migrations/update.go services/mirror/mirror.go services/mirror/mirror_pull.go services/mirror/mirror_pull_test.go services/mirror/mirror_push.go services/mirror/notifier.go services/mirror/queue.go services/notify/notifier.go services/notify/notify.go services/notify/null.go services/oauth2_provider/access_token.go services/oauth2_provider/additional_scopes_test.go services/oauth2_provider/init.go services/oauth2_provider/jwtsigningkey.go services/oauth2_provider/jwtsigningkey_test.go services/oauth2_provider/token.go services/org/org.go services/org/org_test.go services/org/team.go services/org/team_invite.go services/org/team_test.go services/org/user.go services/org/user_test.go services/packages/auth.go services/packages/package_update.go services/packages/packages.go services/packages/spec.go services/packages/alpine/repository.go services/packages/arch/repository.go services/packages/arch/vercmp.go services/packages/arch/vercmp_test.go services/packages/cargo/index.go services/packages/cleanup/cleanup.go services/packages/container/blob_uploader.go services/packages/container/cleanup.go services/packages/container/common.go services/packages/debian/repository.go services/packages/pkgspec/manager.go services/packages/rpm/repository.go services/packages/rpm/sign.go services/packages/terraform/spec.go services/packages/terraform/state.go services/projects/issue.go services/projects/issue_test.go services/projects/main_test.go services/pull/check.go services/pull/check_test.go services/pull/comment.go services/pull/comment_test.go services/pull/commit_status.go services/pull/commit_status_test.go services/pull/edits.go services/pull/lfs.go services/pull/main_test.go services/pull/merge.go services/pull/merge_ff_only.go services/pull/merge_merge.go services/pull/merge_prepare.go services/pull/merge_rebase.go services/pull/merge_squash.go services/pull/merge_test.go services/pull/merge_tree.go services/pull/merge_tree_test.go services/pull/patch.go services/pull/patch_unmerged.go services/pull/protected_branch.go services/pull/pull.go services/pull/pull_test.go services/pull/review.go services/pull/reviewer.go services/pull/temp_repo.go services/pull/update.go services/pull/update_rebase.go services/pull/update_test.go services/pull/review_test.go services/pull/reviewer_test.go services/release/notes.go services/release/notes_test.go services/release/release.go services/release/release_test.go services/release/tag.go services/repository/adopt.go services/repository/adopt_test.go services/repository/avatar.go services/repository/avatar_test.go services/repository/branch.go services/repository/cache.go services/repository/check.go services/repository/collaboration.go services/repository/collaboration_test.go services/repository/commit.go services/repository/contributors_graph.go services/repository/contributors_graph_test.go services/repository/create.go services/repository/create_test.go services/repository/delete.go services/repository/fork.go services/repository/fork_test.go services/repository/generate.go services/repository/generate_test.go services/repository/hooks.go services/repository/init.go services/repository/lfs.go services/repository/license.go services/repository/license_test.go services/repository/main_test.go services/repository/merge_upstream.go services/repository/migrate.go services/repository/push.go services/repository/repo_team.go services/repository/repo_team_test.go services/repository/repository.go services/repository/repository_test.go services/repository/setting.go services/repository/template.go services/repository/transfer.go services/repository/transfer_test.go services/repository/delete_test.go services/repository/lfs_test.go services/repository/archiver/archiver.go services/repository/archiver/archiver_test.go services/repository/commitstatus/commitstatus.go services/repository/files/cherry_pick.go services/repository/files/commit.go services/repository/files/content.go services/repository/files/content_test.go services/repository/files/diff.go services/repository/files/diff_test.go services/repository/files/file.go services/repository/files/file_test.go services/repository/files/patch.go services/repository/files/patch_test.go services/repository/files/temp_repo.go services/repository/files/temp_repo_test.go services/repository/files/tree.go services/repository/files/tree_test.go services/repository/files/update.go services/repository/files/upload.go services/repository/gitgraph/graph.go services/repository/gitgraph/graph_models.go services/repository/gitgraph/graph_test.go services/repository/gitgraph/parser.go services/secrets/secrets.go services/secrets/validation.go services/secrets/validation_test.go services/task/migrate.go services/task/task.go services/uinotification/notify.go services/user/avatar.go services/user/block.go services/user/block_test.go services/user/delete.go services/user/email.go services/user/email_test.go services/user/update.go services/user/update_test.go services/user/user.go services/user/user_test.go services/versioned_migration/migration.go services/webhook/deliver.go services/webhook/deliver_test.go services/webhook/dingtalk.go services/webhook/dingtalk_test.go services/webhook/discord.go services/webhook/discord_test.go services/webhook/feishu.go services/webhook/feishu_test.go services/webhook/general.go services/webhook/general_test.go services/webhook/main_test.go services/webhook/matrix.go services/webhook/matrix_test.go services/webhook/msteams.go services/webhook/msteams_test.go services/webhook/notifier.go services/webhook/packagist.go services/webhook/packagist_test.go services/webhook/payloader.go services/webhook/slack.go services/webhook/slack_test.go services/webhook/telegram.go services/webhook/telegram_test.go services/webhook/webhook.go services/webhook/webhook_test.go services/webhook/wechatwork.go services/webtheme/webtheme.go services/webtheme/webtheme_test.go services/wiki/wiki.go services/wiki/wiki_path.go services/wiki/wiki_test.go tests/test_utils.go tests/fuzz/fuzz_test.go tests/integration/actions_approve_test.go tests/integration/actions_concurrency_test.go tests/integration/actions_concurrent_claim_test.go tests/integration/actions_delete_run_test.go tests/integration/actions_inputs_test.go tests/integration/actions_job_test.go tests/integration/actions_job_token_test.go tests/integration/actions_list_filter_test.go tests/integration/actions_log_finalize_test.go tests/integration/actions_log_test.go tests/integration/actions_rerun_test.go tests/integration/actions_reusable_workflow_test.go tests/integration/actions_route_test.go tests/integration/actions_runner_modify_test.go tests/integration/actions_runner_sort_test.go tests/integration/actions_runner_test.go tests/integration/actions_schedule_test.go tests/integration/actions_scoped_workflow_test.go tests/integration/actions_settings_test.go tests/integration/actions_trigger_test.go tests/integration/actions_variables_test.go tests/integration/admin_config_test.go tests/integration/admin_user_test.go tests/integration/api_actions_artifact_test.go tests/integration/api_actions_artifact_v4_test.go tests/integration/api_actions_permission_test.go tests/integration/api_actions_run_test.go tests/integration/api_actions_runner_test.go tests/integration/api_admin_org_test.go tests/integration/api_admin_test.go tests/integration/api_auth_test.go tests/integration/api_branch_test.go tests/integration/api_comment_attachment_test.go tests/integration/api_comment_test.go tests/integration/api_fork_test.go tests/integration/api_gitignore_templates_test.go tests/integration/api_gpg_keys_test.go tests/integration/api_helper_for_declarative_test.go tests/integration/api_httpsig_test.go tests/integration/api_issue_attachment_test.go tests/integration/api_issue_config_test.go tests/integration/api_issue_dependency_test.go tests/integration/api_issue_label_test.go tests/integration/api_issue_lock_test.go tests/integration/api_issue_milestone_test.go tests/integration/api_issue_pin_test.go tests/integration/api_issue_reaction_test.go tests/integration/api_issue_stopwatch_test.go tests/integration/api_issue_subscription_test.go tests/integration/api_issue_templates_test.go tests/integration/api_issue_test.go tests/integration/api_issue_tracked_time_test.go tests/integration/api_keys_test.go tests/integration/api_label_templates_test.go tests/integration/api_license_templates_test.go tests/integration/api_notification_test.go tests/integration/api_oauth2_apps_test.go tests/integration/api_org_avatar_test.go tests/integration/api_org_test.go tests/integration/api_packages_alpine_test.go tests/integration/api_packages_arch_test.go tests/integration/api_packages_cargo_test.go tests/integration/api_packages_chef_test.go tests/integration/api_packages_composer_test.go tests/integration/api_packages_conan_test.go tests/integration/api_packages_conda_test.go tests/integration/api_packages_container_test.go tests/integration/api_packages_cran_test.go tests/integration/api_packages_debian_test.go tests/integration/api_packages_generic_test.go tests/integration/api_packages_goproxy_test.go tests/integration/api_packages_helm_test.go tests/integration/api_packages_maven_test.go tests/integration/api_packages_npm_test.go tests/integration/api_packages_nuget_test.go tests/integration/api_packages_pub_test.go tests/integration/api_packages_pypi_test.go tests/integration/api_packages_rpm_test.go tests/integration/api_packages_rubygems_test.go tests/integration/api_packages_swift_test.go tests/integration/api_packages_terraform_test.go tests/integration/api_packages_test.go tests/integration/api_packages_vagrant_test.go tests/integration/api_private_serv_test.go tests/integration/api_public_only_test.go tests/integration/api_pull_commits_test.go tests/integration/api_pull_review_test.go tests/integration/api_pull_test.go tests/integration/api_releases_attachment_test.go tests/integration/api_releases_test.go tests/integration/api_repo_archive_test.go tests/integration/api_repo_avatar_test.go tests/integration/api_repo_branch_test.go tests/integration/api_repo_collaborator_test.go tests/integration/api_repo_compare_test.go tests/integration/api_repo_edit_test.go tests/integration/api_repo_file_create_test.go tests/integration/api_repo_file_delete_test.go tests/integration/api_repo_file_diffpatch_test.go tests/integration/api_repo_file_get_test.go tests/integration/api_repo_file_helpers.go tests/integration/api_repo_file_update_test.go tests/integration/api_repo_files_change_test.go tests/integration/api_repo_files_get_test.go tests/integration/api_repo_get_contents_list_test.go tests/integration/api_repo_get_contents_test.go tests/integration/api_repo_git_blobs_test.go tests/integration/api_repo_git_commits_test.go tests/integration/api_repo_git_hook_test.go tests/integration/api_repo_git_notes_test.go tests/integration/api_repo_git_ref_test.go tests/integration/api_repo_git_tags_test.go tests/integration/api_repo_git_trees_test.go tests/integration/api_repo_hook_test.go tests/integration/api_repo_languages_test.go tests/integration/api_repo_lfs_locks_test.go tests/integration/api_repo_lfs_migrate_test.go tests/integration/api_repo_lfs_test.go tests/integration/api_repo_license_test.go tests/integration/api_repo_raw_test.go tests/integration/api_repo_secrets_test.go tests/integration/api_repo_tags_test.go tests/integration/api_repo_teams_test.go tests/integration/api_repo_test.go tests/integration/api_repo_topic_test.go tests/integration/api_repo_variables_test.go tests/integration/api_settings_test.go tests/integration/api_team_test.go tests/integration/api_team_user_test.go tests/integration/api_token_self_test.go tests/integration/api_token_test.go tests/integration/api_twofa_test.go tests/integration/api_user_avatar_test.go tests/integration/api_user_block_test.go tests/integration/api_user_email_test.go tests/integration/api_user_follow_test.go tests/integration/api_user_heatmap_test.go tests/integration/api_user_info_test.go tests/integration/api_user_org_perm_test.go tests/integration/api_user_orgs_test.go tests/integration/api_user_public_only_test.go tests/integration/api_user_search_test.go tests/integration/api_user_secrets_test.go tests/integration/api_user_star_test.go tests/integration/api_user_update_test.go tests/integration/api_user_variables_test.go tests/integration/api_user_watch_test.go tests/integration/api_wiki_test.go tests/integration/attachment_test.go tests/integration/auth_ldap_test.go tests/integration/auth_oauth2_test.go tests/integration/branches_test.go tests/integration/change_default_branch_test.go tests/integration/cmd_keys_test.go tests/integration/compare_test.go tests/integration/config_instance_test.go tests/integration/cors_test.go tests/integration/create_no_session_test.go tests/integration/db_collation_test.go tests/integration/delete_user_test.go tests/integration/download_test.go tests/integration/dump_restore_test.go tests/integration/editor_test.go tests/integration/empty_repo_test.go tests/integration/ephemeral_actions_runner_deletion_test.go tests/integration/eventsource_test.go tests/integration/explore_repos_test.go tests/integration/explore_user_test.go tests/integration/feed_repo_test.go tests/integration/feed_user_test.go tests/integration/git_general_test.go tests/integration/git_helper_for_declarative_test.go tests/integration/git_lfs_ssh_test.go tests/integration/git_misc_test.go tests/integration/git_push_test.go tests/integration/git_smart_http_test.go tests/integration/git_ssh_redirect_test.go tests/integration/goget_test.go tests/integration/gpg_ssh_git_test.go tests/integration/heatmap_test.go tests/integration/html_helper.go tests/integration/incoming_email_test.go tests/integration/integration_test.go tests/integration/issue_label_scope_test.go tests/integration/issue_test.go tests/integration/issue_timetrack_test.go tests/integration/lfs_getobject_test.go tests/integration/lfs_local_endpoint_test.go tests/integration/lfs_view_test.go tests/integration/linguist_test.go tests/integration/links_test.go tests/integration/manual_merge_test.go tests/integration/markup_external_test.go tests/integration/migrate_test.go tests/integration/mirror_pull_test.go tests/integration/mirror_push_test.go tests/integration/nonascii_branches_test.go tests/integration/oauth_avatar_test.go tests/integration/oauth_test.go tests/integration/org_count_test.go tests/integration/org_profile_test.go tests/integration/org_project_test.go tests/integration/org_team_invite_test.go tests/integration/org_test.go tests/integration/packages_service_test.go tests/integration/privateactivity_test.go tests/integration/project_test.go tests/integration/pull_comment_test.go tests/integration/pull_commit_test.go tests/integration/pull_compare_test.go tests/integration/pull_create_test.go tests/integration/pull_diff_test.go tests/integration/pull_merge_test.go tests/integration/pull_review_test.go tests/integration/pull_status_test.go tests/integration/pull_update_test.go tests/integration/release_test.go tests/integration/rename_branch_test.go tests/integration/repo_activity_test.go tests/integration/repo_archive_test.go tests/integration/repo_branch_test.go tests/integration/repo_commits_search_test.go tests/integration/repo_commits_test.go tests/integration/repo_fork_test.go tests/integration/repo_generate_test.go tests/integration/repo_home_token_scope_test.go tests/integration/repo_merge_upstream_test.go tests/integration/repo_migrate_test.go tests/integration/repo_search_test.go tests/integration/repo_tag_test.go tests/integration/repo_test.go tests/integration/repo_topic_test.go tests/integration/repo_visibility_test.go tests/integration/repo_watch_test.go tests/integration/repo_webhook_test.go tests/integration/repofiles_change_test.go tests/integration/session_test.go tests/integration/setting_test.go tests/integration/signin_test.go tests/integration/signout_test.go tests/integration/signup_test.go tests/integration/ssh_key_test.go tests/integration/timetracking_test.go tests/integration/user_avatar_test.go tests/integration/user_settings_test.go tests/integration/user_test.go tests/integration/version_test.go tests/integration/view_test.go tests/integration/wiki_test.go tests/integration/workflow_run_api_check_test.go tests/integration/org_worktime_test.go tests/integration/migration-test/migration_test.go tools/lint-go-all.go CGO_ENABLED="0" CGO_CFLAGS="-Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -O2 -D_LARGEFILE64_SOURCE" go build -v -buildmode=pie -modcacherw -trimpath -buildvcs=false -tags 'tidb sqlite sqlite_unlock_notify' -ldflags '-s -w -X code.gitea.io/gitea/modules/setting.CustomConf=/etc/gitea/app.ini -X code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea/ -X code.gitea.io/gitea/modules/setting.StaticRootPath=/usr/share/webapps/gitea/ -X "main.Version=1.27.1" -X "main.Tags=tidb sqlite sqlite_unlock_notify"' -o gitea internal/byteorder internal/unsafeheader internal/goarch internal/coverage/rtcov internal/profilerecord internal/godebugs internal/goos internal/runtime/pprof/label internal/asan math/bits unicode/utf8 internal/trace/tracev2 internal/msan crypto/internal/fips140/alias cmp crypto/internal/constanttime unicode/utf16 container/list internal/goexperiment log/internal vendor/golang.org/x/crypto/cryptobyte/asn1 google.golang.org/protobuf/internal/flags golang.org/x/crypto/internal/alias unicode golang.org/x/text/internal/utf8internal github.com/lib/pq/internal/pqsql github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/encryption internal/cpu sync/atomic golang.org/x/image/math/f64 golang.org/x/net/html/atom github.com/klauspost/compress/internal/cpuinfo github.com/Azure/azure-sdk-for-go/sdk/azcore/to golang.org/x/text/encoding/internal/identifier github.com/klauspost/compress/internal/race github.com/ProtonMail/go-crypto/internal/byteutil github.com/cyphar/filepath-securejoin/internal/consts github.com/pjbgf/sha1cd/internal github.com/pjbgf/sha1cd/ubc golang.org/x/crypto/cryptobyte/asn1 github.com/lib/pq/pqerror gitea.dev/modules/consts github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud github.com/go-git/go-git/v5/plumbing/color gitea.dev/modules/commitstatus gitea.dev/modules/webhook crypto/internal/fips140deps/byteorder image/color gitea.dev/modules/git/internal internal/nettrace crypto/internal/boring/sig github.com/redis/go-redis/v9/auth encoding internal/runtime/syscall/linux internal/runtime/atomic internal/runtime/gc internal/abi internal/runtime/math vendor/golang.org/x/crypto/internal/alias github.com/lib/pq/oid github.com/klauspost/compress/internal/le internal/runtime/sys log/slog/internal gitea.dev/modules/packages/container/helm github.com/ulikunitz/xz/internal/hash gitea.dev/modules/packages/pypi github.com/pierrec/lz4/v4/internal/lz4errors github.com/bodgit/windows github.com/dsnet/compress/bzip2/internal/sais github.com/dsnet/compress/internal github.com/minio/minlz/internal/race gitea.dev/modules/cachegroup gitea.dev/modules/indexer github.com/blevesearch/gtreap golang.org/x/net/internal/iana github.com/zeebo/blake3/internal/alg/hash/hash_avx2 github.com/aws/smithy-go/endpoints/private/bdd github.com/zeebo/blake3/internal/alg/compress/compress_sse41 google.golang.org/grpc/serviceconfig github.com/markbates/going/defaults image/color/palette github.com/golang/groupcache/lru github.com/SaveTheRbtz/zstd-seekable-format-go/pkg/framecache google.golang.org/protobuf/internal/set crypto/internal/fips140/subtle golang.org/x/image/internal/safemath internal/strconv internal/runtime/exithook internal/bytealg crypto/internal/fips140deps/cpu internal/chacha8rand internal/runtime/gc/scan math crypto/subtle internal/stringslite github.com/blevesearch/go-porterstemmer internal/runtime/cgroup internal/race internal/synctest internal/sync internal/runtime/maps github.com/klauspost/compress runtime internal/reflectlite iter weak sync runtime/metrics maps slices gitea.dev/modules/container errors sort crypto/internal/fips140cache internal/singleflight internal/testlog github.com/minio/minio-go/v7/pkg/kvcache google.golang.org/protobuf/internal/pragma log/slog/internal/buffer github.com/olekukonko/tablewriter/pkg/twcache github.com/aws/smithy-go/sync go.uber.org/zap/internal/pool unique internal/bisect internal/oserror path encoding/json/internal io github.com/go-viper/mapstructure/v2/internal/errors gitea.dev/modules/graceful/releasereopen github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo math/rand/v2 strconv vendor/golang.org/x/net/dns/dnsmessage gitea.dev/modules/auth/pam golang.org/x/crypto/cast5 go.etcd.io/bbolt/errors encoding/json/internal/jsonflags syscall encoding/json/internal/jsonopts internal/godebug github.com/x448/float16 golang.org/x/crypto/blowfish github.com/blevesearch/geo/s1 reflect hash internal/saferio crypto/internal/randutil github.com/aws/smithy-go/transport/http/internal/io github.com/prometheus/client_golang/prometheus/promhttp/internal encoding/base64 encoding/base32 bytes github.com/cloudflare/circl/internal/sha3 github.com/bodgit/plumbing strings container/heap golang.org/x/text/internal/stringset golang.org/x/text/internal/tag github.com/beorn7/perks/quantile github.com/google/flatbuffers/go crypto hash/crc32 hash/fnv hash/adler32 hash/crc64 hash/maphash github.com/Azure/go-ntlmssp/internal/md4 net/netip golang.org/x/crypto/md4 github.com/cloudflare/circl/sign crypto/internal/fips140deps/godebug math/rand github.com/microsoft/go-mssqldb/internal/querytext github.com/syndtr/goleveldb/leveldb/comparer github.com/bodgit/sevenzip/internal/util vendor/golang.org/x/text/transform github.com/aws/smithy-go/io golang.org/x/text/transform github.com/gogs/chardet github.com/bodgit/sevenzip/internal/pool crypto/internal/impl bufio crypto/internal/fips140 encoding/pem github.com/aws/aws-sdk-go-v2/internal/strings regexp/syntax html github.com/kballard/go-shellquote github.com/42wim/sshsig/pem net/http/internal/ascii encoding/json/internal/jsonwire github.com/dsnet/compress/internal/errors github.com/munnerz/goautoneg golang.org/x/mod/semver github.com/huandu/xstrings github.com/microsoft/go-mssqldb/internal/cp crypto/internal/fips140/sha256 crypto/internal/fips140/sha3 crypto/internal/fips140/sha512 golang.org/x/text/encoding golang.org/x/text/runes github.com/couchbase/gomemcached/internal/flatbuffers/systemevents golang.org/x/text/width github.com/dsnet/compress image github.com/clipperhouse/uax29/v2/graphemes github.com/anmitsu/go-shlex compress/bzip2 golang.org/x/text/encoding/internal github.com/emersion/go-imap/utf7 encoding/json/jsontext golang.org/x/text/encoding/unicode golang.org/x/text/encoding/korean golang.org/x/text/encoding/charmap crypto/internal/fips140/hmac crypto/sha3 golang.org/x/text/encoding/simplifiedchinese golang.org/x/text/encoding/japanese golang.org/x/text/encoding/traditionalchinese crypto/internal/fips140/check crypto/internal/fips140hash crypto/fips140 crypto/internal/fips140/edwards25519/field crypto/internal/fips140/hkdf crypto/internal/fips140/bigmod crypto/internal/fips140/tls12 crypto/internal/fips140/aes crypto/internal/fips140/nistec/fiat crypto/internal/fips140/pbkdf2 github.com/clipperhouse/displaywidth internal/syscall/execenv internal/syscall/unix time crypto/internal/fips140/tls13 image/internal/imageutil golang.org/x/image/vp8 golang.org/x/image/vp8l crypto/tls/internal/fips140tls image/draw image/jpeg regexp crypto/internal/fips140/edwards25519 golang.org/x/image/draw github.com/go-enry/go-enry/v2/regex github.com/go-git/go-git/v5/internal/url mvdan.cc/xurls/v2 github.com/microcosm-cc/bluemonday/css github.com/go-enry/go-enry/v2/data/rule github.com/go-enry/go-enry/v2/internal/tokenizer context crypto/internal/fips140deps/time io/fs gitea.dev/modules/tailmsg internal/poll github.com/hashicorp/golang-lru/v2/internal github.com/Azure/azure-sdk-for-go/sdk/internal/temporal golang.org/x/net/internal/httpsfv github.com/aws/smithy-go/ptr github.com/klauspost/compress/gzhttp/writer github.com/aws/aws-sdk-go-v2/internal/timeconv go.uber.org/zap/buffer crypto/internal/entropy/v1.0.0 github.com/hashicorp/golang-lru/v2/simplelru github.com/hashicorp/golang-lru/v2 go.uber.org/zap/internal/bufferpool crypto/internal/fips140/nistec go.uber.org/zap/internal/stacktrace github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing golang.org/x/net/context github.com/go-redsync/redsync/v4/redis github.com/aws/aws-sdk-go-v2/internal/sdk github.com/bohde/codel github.com/aws/smithy-go/context github.com/jbenet/go-context/io golang.org/x/sync/semaphore github.com/go-enry/go-enry/v2/data embed internal/filepathlite github.com/spf13/afero/internal/common github.com/go-git/go-git/v5/utils/ioutil google.golang.org/protobuf/internal/editiondefaults os github.com/hashicorp/errwrap xorm.io/xorm/names github.com/goccy/go-json/internal/runtime internal/fmtsort github.com/blevesearch/bleve/v2/size modernc.org/libc/uuid/uuid modernc.org/libc/sys/types encoding/binary github.com/modern-go/reflect2 vendor/golang.org/x/crypto/internal/poly1305 golang.org/x/crypto/internal/poly1305 github.com/cespare/xxhash/v2 golang.org/x/image/bmp github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/utils github.com/golang/snappy github.com/RoaringBitmap/roaring/v2/internal github.com/klauspost/compress/zstd/internal/xxhash filippo.io/edwards25519/field github.com/klauspost/compress/internal/snapref github.com/pierrec/lz4/v4/internal/xxh32 github.com/zeebo/blake3/internal/utils golang.org/x/sys/unix crypto/internal/sysrand fmt io/ioutil vendor/golang.org/x/sys/cpu google.golang.org/protobuf/internal/detrand internal/sysinfo github.com/philhofer/fwd golang.org/x/sys/cpu github.com/go-git/go-billy/v5 github.com/mattn/go-runewidth os/signal gitea.dev/modules/util/filebuffer github.com/klauspost/compress/internal/godebug github.com/prometheus/procfs/internal/util path/filepath net go.uber.org/zap/internal/exit crypto/internal/fips140/drbg github.com/redis/go-redis/v9/internal/hashtag github.com/ssor/bom golang.org/x/image/riff github.com/cention-sany/utf7 github.com/blakesmith/ar os/exec github.com/cyphar/filepath-securejoin github.com/go-git/go-billy/v5/helper/polyfill github.com/go-git/go-billy/v5/util github.com/bmatcuk/doublestar/v4 github.com/spf13/afero/mem github.com/olekukonko/tablewriter/pkg/twwidth golang.org/x/image/webp crypto/internal/fips140only crypto/internal/fips140/ecdh crypto/internal/fips140/aes/gcm crypto/internal/fips140/ecdsa crypto/internal/fips140/rsa crypto/internal/fips140/ed25519 golang.org/x/crypto/blake2b golang.org/x/crypto/blake2s crypto/internal/fips140/mlkem golang.org/x/crypto/sha3 github.com/klauspost/crc32 crypto/rc4 crypto/md5 crypto/pbkdf2 filippo.io/edwards25519 crypto/hkdf github.com/go-git/go-billy/v5/helper/chroot golang.org/x/crypto/pbkdf2 crypto/cipher golang.org/x/crypto/argon2 github.com/olekukonko/tablewriter/pkg/twwarp crypto/mlkem encoding/hex math/big net/url log encoding/gob vendor/golang.org/x/net/http2/hpack mime crypto/des vendor/golang.org/x/crypto/chacha20 mime/quotedprintable crypto/internal/boring net/http/internal compress/flate google.golang.org/protobuf/internal/errors google.golang.org/protobuf/internal/version database/sql/driver vendor/golang.org/x/text/unicode/norm go/token github.com/syndtr/goleveldb/leveldb/util github.com/syndtr/goleveldb/leveldb/storage os/user golang.org/x/text/internal/language text/tabwriter github.com/lib/pq/internal/proto golang.org/x/crypto/chacha20 github.com/boombuler/barcode text/template/parse golang.org/x/text/unicode/norm github.com/lib/pq/internal/pqtime runtime/debug github.com/microsoft/go-mssqldb/aecmk encoding/xml google.golang.org/protobuf/encoding/protowire compress/lzw crypto/sha512 github.com/golang-sql/civil gopkg.in/ini.v1 flag crypto/aes crypto/sha1 crypto/internal/rand crypto/hmac crypto/sha256 go.yaml.in/yaml/v4/internal/libyaml github.com/klauspost/compress/fse encoding/json/v2 golang.org/x/net/html github.com/boombuler/barcode/utils gitea.dev/modules/git/foreachref golang.org/x/crypto/ssh/internal/bcrypt_pbkdf github.com/Azure/azure-sdk-for-go/sdk/internal/log github.com/Azure/azure-sdk-for-go/sdk/internal/diag vendor/golang.org/x/crypto/chacha20poly1305 golang.org/x/net/http2/hpack gitea.dev/modules/templates/vars github.com/lib/pq/internal/pqutil golang.org/x/crypto/scrypt github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/crypto gitea.dev/modules/avatar/identicon runtime/trace crypto/ecdh github.com/boombuler/barcode/qr gitea.dev/modules/user archive/tar vendor/golang.org/x/text/unicode/bidi image/gif go.yaml.in/yaml/v3 golang.org/x/text/unicode/bidi compress/gzip compress/zlib google.golang.org/protobuf/reflect/protoreflect github.com/minio/minio-go/v7/pkg/singleflight github.com/pquerna/otp/internal github.com/klauspost/compress/flate github.com/aymerick/douceur/css github.com/gorilla/css/scanner database/sql github.com/hashicorp/go-version github.com/yuin/goldmark/util github.com/Azure/azure-sdk-for-go/sdk/azcore/log github.com/klauspost/cpuid/v2 github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/keys github.com/syndtr/goleveldb/leveldb/cache github.com/syndtr/goleveldb/leveldb/filter golang.org/x/sync/errgroup dario.cat/mergo github.com/ProtonMail/go-crypto/openpgp/errors github.com/ProtonMail/go-crypto/openpgp/aes/keywrap github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log github.com/lib/pq/internal/pgpass github.com/lib/pq/internal/pgservice image/png github.com/ProtonMail/go-crypto/eax github.com/ProtonMail/go-crypto/ocb github.com/go-git/go-git/v5/internal/pathutil golang.org/x/crypto/hkdf github.com/go-git/gcfg/token github.com/go-git/gcfg/types github.com/google/pprof/profile runtime/pprof github.com/syndtr/goleveldb/leveldb/errors golang.org/x/crypto/curve25519 github.com/aymerick/douceur/parser github.com/klauspost/compress/huff0 github.com/ProtonMail/go-crypto/openpgp/armor gopkg.in/warnings.v0 github.com/go-git/go-git/v5/internal/revision github.com/go-git/go-git/v5/internal/path_util github.com/go-git/go-git/v5/plumbing/filemode testing github.com/go-git/go-git/v5/utils/sync github.com/emirpasic/gods/utils github.com/syndtr/goleveldb/leveldb/opt github.com/syndtr/goleveldb/leveldb/iterator github.com/syndtr/goleveldb/leveldb/journal github.com/go-git/go-git/v5/utils/merkletrie/noder github.com/sergi/go-diff/diffmatchpatch github.com/go-git/go-git/v5/utils/trace github.com/go-git/go-git/v5/plumbing/protocol/packp/capability github.com/pquerna/otp golang.org/x/sys/execabs github.com/ProtonMail/go-crypto/openpgp/internal/algorithm github.com/kevinburke/ssh_config crypto/hpke golang.org/x/text/internal/language/compact github.com/mattn/go-shellwords github.com/robfig/cron/v3 text/scanner github.com/go-git/gcfg/scanner github.com/emirpasic/gods/containers github.com/go-git/go-git/v5/utils/merkletrie/internal/frame github.com/ulikunitz/xz/internal/xlog github.com/hashicorp/go-multierror archive/zip github.com/opencontainers/go-digest github.com/go-git/go-git/v5/plumbing/format/pktline github.com/opencontainers/image-spec/specs-go github.com/ProtonMail/go-crypto/openpgp/s2k github.com/emirpasic/gods/lists github.com/emirpasic/gods/trees github.com/go-git/go-git/v5/utils/merkletrie github.com/xi2/xz github.com/dlclark/regexp2/v2/syntax github.com/andybalholm/brotli/matchfinder github.com/STARRY-S/zip github.com/bodgit/sevenzip/internal/aes7z github.com/bodgit/sevenzip/internal/bcj2 github.com/syndtr/goleveldb/leveldb/memdb github.com/syndtr/goleveldb/leveldb/table github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband github.com/bodgit/sevenzip/internal/bra github.com/bodgit/sevenzip/internal/bzip2 github.com/yuin/goldmark/text text/template vendor/golang.org/x/text/secure/bidirule github.com/bodgit/sevenzip/internal/delta github.com/pierrec/lz4/v4/internal/lz4block golang.org/x/text/secure/bidirule github.com/stangelandcl/ppmd/internal/h7z github.com/dsnet/compress/internal/prefix github.com/mikelolasagasti/xz github.com/ulikunitz/xz/lzma github.com/nwaples/rardecode/v2 golang.org/x/text/language github.com/git-lfs/pktline encoding/csv github.com/opencontainers/image-spec/specs-go/v1 github.com/blevesearch/bleve/v2/numeric go.etcd.io/bbolt/internal/common github.com/blevesearch/geo/r1 github.com/modern-go/concurrent github.com/mschoch/smat github.com/blevesearch/bleve/v2/index/scorch/mergeplan github.com/blevesearch/vellum/utf8 github.com/yuin/goldmark/ast vendor/golang.org/x/net/idna github.com/blevesearch/geo/r2 golang.org/x/net/idna github.com/blevesearch/segment github.com/pierrec/lz4/v4/internal/lz4stream github.com/blevesearch/snowballstem github.com/couchbase/gomemcached github.com/blevesearch/vellum/regexp github.com/pkg/errors github.com/davecgh/go-spew/spew google.golang.org/protobuf/internal/descfmt google.golang.org/protobuf/internal/strs google.golang.org/protobuf/internal/encoding/messageset google.golang.org/protobuf/internal/descopts google.golang.org/protobuf/internal/order google.golang.org/protobuf/internal/genid google.golang.org/protobuf/runtime/protoiface github.com/go-git/go-git/v5/utils/diff github.com/pierrec/lz4/v4 go.yaml.in/yaml/v4 go.etcd.io/bbolt/internal/freelist github.com/blevesearch/snowballstem/english github.com/olekukonko/cat github.com/goccy/go-json/internal/errors google.golang.org/protobuf/internal/protolazy github.com/minio/minio-go/v7/pkg/sse github.com/editorconfig/editorconfig-core-go/v2 github.com/olekukonko/ll/lx github.com/go-asn1-ber/asn1-ber github.com/aws/aws-sdk-go-v2/internal/sync/singleflight github.com/aws/smithy-go/internal/sync/singleflight github.com/klauspost/compress/gzip google.golang.org/protobuf/internal/encoding/text google.golang.org/protobuf/reflect/protoregistry google.golang.org/protobuf/internal/encoding/json github.com/andybalholm/brotli/flate github.com/bodgit/sevenzip/internal/deflate github.com/microcosm-cc/bluemonday github.com/stangelandcl/ppmd github.com/klauspost/compress/zip github.com/klauspost/compress/zlib github.com/klauspost/pgzip github.com/dsnet/compress/bzip2 github.com/syndtr/goleveldb/leveldb github.com/aws/smithy-go/logging github.com/redis/go-redis/v9/internal/interfaces net/textproto log/syslog github.com/bradfitz/gomemcache/memcache golang.org/x/text/internal golang.org/x/text/internal/number golang.org/x/text/internal/catmsg golang.org/x/text/internal/format golang.org/x/text/encoding/htmlindex golang.org/x/text/internal/colltab github.com/minio/minio-go/v7/pkg/s3utils github.com/klauspost/compress/gzhttp/writer/gzkp golang.org/x/net/internal/socks github.com/minio/crc64nvme github.com/minio/md5-simd golang.org/x/text/cases github.com/zeebo/xxh3 github.com/pjbgf/sha1cd github.com/ulikunitz/xz github.com/bodgit/sevenzip/internal/lz4 github.com/golang-sql/sqlexp modernc.org/sqlite/vtab xorm.io/builder xorm.io/xorm/contexts github.com/bodgit/sevenzip/internal/lzma github.com/bodgit/sevenzip/internal/lzma2 github.com/bodgit/sevenzip/internal/ppmd github.com/sorairolake/lzip-go github.com/blevesearch/bleve_index_api github.com/google/licenseclassifier/v2 github.com/aws/smithy-go/middleware crypto/elliptic crypto/internal/boring/bbig encoding/asn1 crypto/rand crypto/dsa google.golang.org/protobuf/proto github.com/microsoft/go-mssqldb/internal/decimal github.com/mattn/go-isatty crypto/ed25519 golang.org/x/crypto/bcrypt crypto/rsa github.com/lib/pq/scram github.com/dustin/go-humanize github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/algorithms github.com/shopspring/decimal modernc.org/memory xorm.io/xorm/log gitea.dev/modules/secret github.com/remyoudompheng/bigfft github.com/fsnotify/fsnotify/internal golang.org/x/text/message/catalog github.com/fxamacker/cbor/v2 github.com/google/go-tpm/tpmutil github.com/pquerna/otp/hotp github.com/go-webauthn/x/encoding/asn1 google.golang.org/protobuf/internal/encoding/defval gitea.com/go-chi/cache golang.org/x/net/html/charset github.com/Azure/azure-sdk-for-go/sdk/internal/uuid github.com/rs/xid github.com/ProtonMail/go-crypto/openpgp/internal/encoding vendor/golang.org/x/net/http/httpguts vendor/golang.org/x/net/http/httpproxy mime/multipart net/mail xorm.io/xorm/core github.com/klauspost/compress/zstd golang.org/x/text/feature/plural golang.org/x/net/http/httpguts github.com/cloudflare/circl/math golang.org/x/text/collate github.com/ProtonMail/go-crypto/openpgp/elgamal github.com/go-git/go-billy/v5/osfs github.com/go-git/go-git/v5/plumbing/hash github.com/go-git/gcfg golang.org/x/net/proxy github.com/go-redsync/redsync/v4 github.com/mattn/go-colorable github.com/pquerna/otp/totp github.com/sassoftware/go-rpmutils/fileutil go.etcd.io/bbolt github.com/go-git/go-git/v5/plumbing github.com/blevesearch/bleve/v2/analysis modernc.org/mathutil github.com/blevesearch/geo/r3 github.com/minio/minio-go/v7/pkg/replication github.com/blevesearch/mmap-go github.com/aws/aws-sdk-go-v2/internal/rand github.com/fsnotify/fsnotify github.com/aws/smithy-go/document github.com/fatih/color github.com/aws/smithy-go/time golang.org/x/crypto/ed25519 github.com/aws/smithy-go/rand github.com/sassoftware/go-rpmutils/cpio github.com/aws/aws-sdk-go-v2/aws/ratelimit github.com/aws/smithy-go/encoding github.com/google/go-querystring/query golang.org/x/text/message golang.org/x/text/number github.com/ProtonMail/go-crypto/bitcurves github.com/ProtonMail/go-crypto/brainpool google.golang.org/protobuf/internal/filedesc google.golang.org/protobuf/encoding/prototext strk.kbt.io/projects/go/libravatar golang.org/x/time/rate golang.org/x/text/secure/precis github.com/blevesearch/bleve/v2/analysis/tokenizer/character github.com/minio/minio-go/v7/pkg/cors internal/profile google.golang.org/protobuf/encoding/protodelim github.com/jonboulle/clockwork gitea.dev/modules/sitemap github.com/prometheus/procfs/internal/fs github.com/jhillyerd/enmime/v2/internal/coding github.com/jhillyerd/enmime/v2/internal/stringutil github.com/go-git/go-git/v5/plumbing/cache github.com/go-git/go-git/v5/utils/binary github.com/jhillyerd/enmime/v2/internal/textproto github.com/go-git/go-git/v5/plumbing/format/diff github.com/caddyserver/certmagic/internal/atomicfile github.com/blevesearch/geo/s2 github.com/caddyserver/certmagic/internal/filedescriptor github.com/libdns/libdns github.com/prometheus/procfs vendor/golang.org/x/crypto/cryptobyte crypto/x509/pkix golang.org/x/crypto/cryptobyte github.com/go-git/go-git/v5/plumbing/format/index golang.org/x/net/bpf github.com/go-git/go-git/v5/plumbing/format/idxfile golang.org/x/net/internal/socket github.com/aws/smithy-go github.com/zeebo/blake3/internal/consts go.uber.org/multierr go.uber.org/zap/internal/color github.com/russross/blackfriday/v2 github.com/aws/aws-sdk-go-v2/internal/context github.com/niklasfasching/go-org/org github.com/yuin/goldmark/renderer github.com/yuin/goldmark/extension/ast github.com/zeebo/blake3/internal/alg/compress/compress_pure github.com/yuin/goldmark/parser github.com/zeebo/blake3/internal/alg/compress github.com/zeebo/blake3/internal/alg/hash/hash_pure github.com/zeebo/blake3/internal/alg/hash github.com/yuin/goldmark/renderer/html github.com/go-git/go-git/v5/plumbing/format/config github.com/zeebo/blake3/internal/alg github.com/santhosh-tekuri/jsonschema/v6/kind github.com/go-git/go-git/v5/utils/merkletrie/index github.com/go-git/go-git/v5/utils/merkletrie/filesystem github.com/go-git/go-git/v5/plumbing/storer github.com/aws/smithy-go/auth github.com/aws/smithy-go/metrics github.com/aws/smithy-go/traits github.com/aws/smithy-go/tracing github.com/aws/aws-sdk-go-v2/service/codecommit/types github.com/zeebo/blake3 github.com/jhillyerd/enmime/v2/mediatype crypto/ecdsa golang.org/x/net/ipv4 golang.org/x/net/ipv6 github.com/cloudflare/circl/internal/conv github.com/go-git/go-git/v5/plumbing/format/gitignore github.com/go-git/go-git/v5/config github.com/go-git/go-git/v5/plumbing/format/packfile xorm.io/xorm/internal/utils github.com/cloudflare/circl/math/fp448 github.com/cloudflare/circl/math/mlsbset github.com/cloudflare/circl/math/fp25519 xorm.io/xorm/schemas github.com/go-git/go-git/v5/storage encoding/json github.com/dlclark/regexp2/v2/helpers gitea.dev/modules/queue/lqinternal gitea.com/lunny/levelqueue github.com/go-git/go-git/v5/storage/memory github.com/dlclark/regexp2/v2 github.com/cloudflare/circl/sign/ed25519 github.com/cloudflare/circl/dh/x25519 github.com/cloudflare/circl/dh/x448 github.com/cloudflare/circl/ecc/goldilocks gitea.dev/modules/json xorm.io/xorm/caches github.com/google/uuid go.uber.org/atomic html/template xorm.io/xorm/internal/json github.com/minio/minio-go/v7/pkg/tags golang.org/x/oauth2/jws github.com/emirpasic/gods/lists/arraylist github.com/sirupsen/logrus github.com/go-viper/mapstructure/v2 github.com/aws/smithy-go/eventstream github.com/gorilla/securecookie github.com/aws/aws-sdk-go-v2/aws/protocol/restjson github.com/tinylib/msgp/msgp log/slog github.com/santhosh-tekuri/jsonschema/v6 github.com/aws/smithy-go/encoding/json github.com/klauspost/compress/s2 github.com/bits-and-blooms/bitset github.com/json-iterator/go google.golang.org/grpc/grpclog/internal github.com/goccy/go-json/internal/decoder github.com/blevesearch/upsidedown_store_api google.golang.org/protobuf/internal/encoding/tag github.com/couchbase/goutils/logging google.golang.org/protobuf/encoding/protojson github.com/blevesearch/vellum/levenshtein xorm.io/xorm/convert github.com/minio/minio-go/v7/pkg/lifecycle github.com/rhysd/actionlint github.com/goccy/go-json/internal/encoder github.com/yuin/goldmark gitea.dev/modules/optional gitea.dev/modules/structs github.com/go-git/go-git/v5/plumbing/format/objfile github.com/blevesearch/bleve/v2/util gitea.dev/modules/markup/common github.com/gorilla/feeds google.golang.org/grpc/grpclog github.com/yuin/goldmark/extension google.golang.org/protobuf/internal/impl crypto/x509 github.com/google/go-tpm/legacy/tpm2 github.com/emirpasic/gods/trees/binaryheap github.com/go-git/go-git/v5/storage/filesystem/dotgit github.com/emersion/go-sasl github.com/go-git/go-git/v5/plumbing/protocol/packp go.uber.org/zap/zapcore github.com/ProtonMail/go-crypto/openpgp/ed25519 github.com/go-co-op/gocron/v2 github.com/redis/go-redis/v9/internal/util github.com/ProtonMail/go-crypto/openpgp/x25519 modernc.org/libc google.golang.org/grpc/connectivity github.com/cpuguy83/go-md2man/v2/md2man github.com/cloudflare/circl/sign/ed448 github.com/urfave/cli/v3 github.com/redis/go-redis/v9/internal github.com/redis/go-redis/v9/internal/proto github.com/redis/go-redis/v9/internal/hscan github.com/redis/go-redis/v9/internal/routing google.golang.org/grpc/internal github.com/go-webauthn/webauthn/protocol/webauthncbor xorm.io/xorm/dialects github.com/ProtonMail/go-crypto/openpgp/ed448 github.com/redis/go-redis/v9/internal/maintnotifications/logs github.com/ProtonMail/go-crypto/openpgp/internal/ecc github.com/ProtonMail/go-crypto/openpgp/x448 github.com/klauspost/compress/gzhttp/writer/zstdkp github.com/bodgit/sevenzip/internal/zstd google.golang.org/grpc/codes gitea.com/gitea/runner/act/common github.com/wneessen/go-mail/log github.com/SaveTheRbtz/zstd-seekable-format-go/pkg github.com/go-git/go-git/v5/storage/filesystem github.com/ProtonMail/go-crypto/openpgp/ecdh github.com/ProtonMail/go-crypto/openpgp/eddsa github.com/ProtonMail/go-crypto/openpgp/ecdsa gitea.dev/modules/zstd github.com/redis/go-redis/v9/push github.com/redis/go-redis/v9/internal/pool github.com/ProtonMail/go-crypto/openpgp/packet gitea.dev/modules/htmlutil github.com/go-git/go-git/v5/plumbing/transport gitea.dev/modules/templates/scopedtmpl gitea.dev/routers/utils github.com/buildkite/terminal-to-html/v3 gitea.dev/modules/markup/internal go.uber.org/zap/internal github.com/go-git/go-git/v5/plumbing/transport/internal/common github.com/blevesearch/vellum github.com/RoaringBitmap/roaring/v2 github.com/google/go-tpm/tpm2/transport github.com/google/go-tpm/tpm2 github.com/alecthomas/chroma/v2 github.com/goccy/go-json/internal/encoder/vm_color_indent github.com/go-git/go-git/v5/plumbing/transport/git github.com/minio/minlz gitea.dev/modules/util github.com/golang-jwt/jwt/v5 golang.org/x/crypto/ocsp crypto/tls github.com/tstranex/u2f github.com/wneessen/go-mail/internal/pkcs7 golang.org/x/crypto/ssh github.com/tinylib/msgp/msgp/setof github.com/redis/go-redis/v9/internal/otel github.com/redis/go-redis/v9/maintnotifications github.com/redis/go-redis/v9/internal/auth/streaming github.com/ProtonMail/go-crypto/openpgp github.com/alecthomas/chroma/v2/formatters/html github.com/alecthomas/chroma/v2/styles github.com/alecthomas/chroma/v2/lexers gitea.dev/modules/util/rotatingfilewriter gitea.dev/modules/gtprof gitea.dev/modules/glob gitea.dev/models/perm gitea.dev/modules/packages/cran gitea.dev/modules/paginator gitea.dev/modules/templates/eval gitea.dev/modules/auth/httpauth gitea.dev/modules/packages/goproxy gitea.dev/modules/markup/markdown/math gitea.dev/modules/process gitea.dev/modules/actions/workflowpattern github.com/go-git/go-git/v5/plumbing/object github.com/sassoftware/go-rpmutils github.com/ProtonMail/go-crypto/openpgp/clearsign gitea.dev/modules/reqctx gitea.dev/modules/log xorm.io/xorm/tags github.com/blevesearch/geo/geojson github.com/minio/minio-go/v7/pkg/set xorm.io/xorm/internal/statements gitea.dev/modules/setting/config gitea.dev/modules/tempdir gitea.dev/modules/translation/i18n gitea.dev/modules/assetfs gitea.dev/modules/auth/password/hash gitea.dev/modules/auth gitea.dev/modules/proxyprotocol gitea.dev/modules/regexplru gitea.dev/modules/packages/conan gitea.dev/modules/pprof github.com/blevesearch/scorch_segment_api/v2 github.com/RoaringBitmap/roaring/v2/roaring64 github.com/blevesearch/zapx/v11 github.com/blevesearch/zapx/v12 github.com/blevesearch/zapx/v13 github.com/blevesearch/zapx/v14 github.com/blevesearch/zapx/v15 github.com/minio/minio-go/v7/pkg/notification github.com/go-git/go-git/v5/plumbing/revlist github.com/blevesearch/zapx/v16 github.com/blevesearch/zapx/v17 golang.org/x/crypto/ssh/knownhosts gitea.dev/modules/generate golang.org/x/crypto/ssh/agent github.com/gliderlabs/ssh github.com/go-git/go-git/v5/plumbing/transport/server github.com/blevesearch/bleve/v2/geo github.com/skeema/knownhosts github.com/urfave/cli-docs/v3 github.com/go-git/go-git/v5/plumbing/transport/file github.com/blevesearch/bleve/v2/document github.com/blevesearch/bleve/v2/search github.com/42wim/sshsig github.com/xanzy/ssh-agent github.com/go-git/go-git/v5/plumbing/transport/ssh google.golang.org/protobuf/internal/filetype xorm.io/xorm github.com/blevesearch/bleve/v2/search/highlight github.com/blevesearch/bleve/v2/fusion github.com/blevesearch/bleve/v2/search/facet github.com/blevesearch/bleve/v2/search/scorer github.com/blevesearch/bleve/v2/search/collector github.com/blevesearch/bleve/v2/registry github.com/blevesearch/bleve/v2/search/searcher net/http/httptrace github.com/microsoft/go-mssqldb/msdsn net/smtp github.com/wneessen/go-mail/smtp github.com/emersion/go-imap github.com/go-sql-driver/mysql github.com/lib/pq github.com/redis/go-redis/v9 github.com/miekg/dns google.golang.org/protobuf/runtime/protoimpl net/http/internal/httpcommon golang.org/x/net/internal/httpcommon gitea.dev/modules/indexer/code/bleve/token/path github.com/blevesearch/bleve/v2/analysis/datetime/timestamp/microseconds github.com/blevesearch/bleve/v2/analysis/datetime/flexible github.com/blevesearch/bleve/v2/analysis/datetime/timestamp/milliseconds github.com/blevesearch/bleve/v2/analysis/datetime/timestamp/nanoseconds github.com/blevesearch/bleve/v2/analysis/tokenizer/single github.com/blevesearch/bleve/v2/analysis/datetime/timestamp/seconds github.com/blevesearch/bleve/v2/analysis/token/lowercase github.com/blevesearch/bleve/v2/search/highlight/fragmenter/simple github.com/blevesearch/bleve/v2/analysis/tokenizer/unicode github.com/blevesearch/bleve/v2/search/highlight/highlighter/simple github.com/blevesearch/bleve/v2/analysis/token/unicodenorm github.com/blevesearch/bleve/v2/analysis/tokenizer/letter github.com/blevesearch/bleve/v2/search/highlight/format/html github.com/blevesearch/bleve/v2/index/upsidedown github.com/blevesearch/bleve/v2/analysis/token/stop gitea.dev/actions-proto-go/ping/v1 github.com/blevesearch/bleve/v2/analysis/token/porter github.com/blevesearch/bleve/v2/index/upsidedown/store/boltdb github.com/blevesearch/bleve/v2/index/upsidedown/store/gtreap github.com/microsoft/go-mssqldb/integratedauth github.com/blevesearch/bleve/v2/analysis/analyzer/custom github.com/blevesearch/bleve/v2/analysis/token/camelcase google.golang.org/protobuf/types/known/anypb google.golang.org/protobuf/types/known/timestamppb google.golang.org/protobuf/protoadapt google.golang.org/protobuf/types/known/structpb google.golang.org/protobuf/types/known/wrapperspb github.com/blevesearch/bleve/v2/analysis/datetime/optional github.com/blevesearch/bleve/v2/analysis/analyzer/keyword net/http github.com/blevesearch/bleve/v2/analysis/lang/en github.com/yuin/goldmark-highlighting/v2 github.com/wneessen/go-mail github.com/blevesearch/bleve/v2/search/highlight/highlighter/html github.com/microsoft/go-mssqldb/integratedauth/ntlm connectrpc.com/connect/internal/gen/connectext/grpc/status/v1 google.golang.org/genproto/googleapis/rpc/status github.com/blevesearch/bleve/v2/index/scorch github.com/blevesearch/bleve/v2/analysis/analyzer/standard github.com/microsoft/go-mssqldb github.com/blevesearch/bleve/v2/mapping google.golang.org/grpc/internal/status github.com/prometheus/client_model/go gitea.dev/actions-proto-go/runner/v1 github.com/go-webauthn/webauthn/protocol/webauthncose google.golang.org/grpc/status github.com/emersion/go-imap/responses github.com/emersion/go-imap/commands github.com/prometheus/common/model github.com/emersion/go-imap/client github.com/blevesearch/bleve/v2/search/query github.com/prometheus/client_golang/prometheus/internal github.com/goccy/go-json/internal/encoder/vm_color golang.org/x/oauth2/internal gitea.com/go-chi/session github.com/42wim/httpsig gitea.dev/modules/hostmatcher gitea.dev/modules/typesniffer gitea.dev/modules/web/types github.com/go-chi/cors github.com/klauspost/compress/gzhttp github.com/unknwon/com github.com/yohcop/openid-go net/http/httputil github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared github.com/Azure/azure-sdk-for-go/sdk/internal/exported github.com/minio/minio-go/v7/pkg/encrypt github.com/go-webauthn/x/revoke net/http/cookiejar github.com/minio/minio-go/v7/pkg/signer gitea.com/go-chi/binding github.com/go-git/go-git/v5/plumbing/transport/http expvar golang.org/x/net/http2 codeberg.org/gusted/mcaptcha github.com/couchbase/goutils/scramsha github.com/charmbracelet/git-lfs-transfer/transfer github.com/go-chi/chi/v5 github.com/spf13/afero connectrpc.com/connect github.com/gorilla/sessions github.com/Azure/go-ntlmssp github.com/gorilla/mux cloud.google.com/go/compute/metadata github.com/olekukonko/errors gitea.com/lunny/dingtalk_webhook github.com/chi-middleware/proxy github.com/mrjones/oauth gitea.dev/modules/uri github.com/aws/smithy-go/encoding/httpbinding github.com/hashicorp/go-cleanhttp github.com/aws/smithy-go/endpoints github.com/gogs/go-gogs-client github.com/prometheus/common/expfmt net/http/pprof github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header github.com/Azure/azure-sdk-for-go/sdk/internal/poller github.com/andybalholm/brotli github.com/caddyserver/zerossl github.com/mholt/acmez/v3/acme go.uber.org/zap github.com/google/go-github/v88/github github.com/felixge/fgprof net/http/cgi github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported github.com/go-webauthn/webauthn/metadata github.com/hashicorp/go-retryablehttp github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil golang.org/x/oauth2 golang.org/x/net/publicsuffix github.com/go-ldap/ldap/v3 github.com/couchbase/gomemcached/client github.com/minio/minio-go/v7/pkg/credentials gitea.dev/sdk gitea.com/go-chi/session/mysql gitea.com/go-chi/session/postgres gitea.com/go-chi/session/memcache github.com/go-git/go-git/v5/plumbing/transport/client golang.org/x/oauth2/authhandler github.com/markbates/goth golang.org/x/oauth2/google/internal/impersonate golang.org/x/oauth2/jwt golang.org/x/oauth2/google/internal/stsexchange github.com/aws/smithy-go/transport/http gitea.com/go-chi/cache/memcache gitea.com/go-chi/captcha github.com/go-git/go-git/v5 github.com/go-webauthn/webauthn/protocol github.com/go-chi/chi/v5/middleware go4.org/readerutil github.com/blevesearch/bleve/v2 github.com/Azure/azure-sdk-for-go/sdk/azcore/policy github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming github.com/markbates/goth/gothic github.com/markbates/goth/providers/azuread github.com/markbates/goth/providers/azureadv2 github.com/markbates/goth/providers/bitbucket github.com/markbates/goth/providers/discord github.com/markbates/goth/providers/facebook github.com/markbates/goth/providers/gitea github.com/markbates/goth/providers/gitlab github.com/markbates/goth/providers/mastodon github.com/markbates/goth/providers/github github.com/markbates/goth/providers/nextcloud github.com/markbates/goth/providers/openidConnect github.com/markbates/goth/providers/dropbox github.com/markbates/goth/providers/yandex github.com/markbates/goth/providers/microsoftonline golang.org/x/oauth2/google/internal/externalaccountauthorizeduser golang.org/x/oauth2/google/externalaccount github.com/mholt/acmez/v3 gitlab.com/gitlab-org/api/client-go/v2 github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op github.com/prometheus/client_golang/prometheus net/http/fcgi github.com/minio/minio-go/v7 github.com/markbates/goth/providers/twitter golang.org/x/oauth2/google github.com/aws/smithy-go/endpoints/private/rulesfn github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn github.com/aws/aws-sdk-go-v2/internal/auth github.com/aws/smithy-go/auth/bearer github.com/couchbase/go-couchbase github.com/aws/aws-sdk-go-v2/aws github.com/markbates/goth/providers/google github.com/go-webauthn/webauthn/webauthn go.uber.org/zap/exp/zapslog gitea.dev/actions-proto-go/ping/v1/pingv1connect gitea.dev/actions-proto-go/runner/v1/runnerv1connect gitea.com/gitea/runner/act/common/git github.com/caddyserver/certmagic github.com/aws/aws-sdk-go-v2/credentials github.com/aws/aws-sdk-go-v2/internal/endpoints github.com/aws/aws-sdk-go-v2/aws/defaults github.com/aws/aws-sdk-go-v2/internal/configsources github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4 github.com/aws/aws-sdk-go-v2/aws/middleware github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 github.com/aws/aws-sdk-go-v2/service/codecommit/internal/endpoints gitea.dev/routers/api/actions/ping github.com/ethantkoenig/rupture github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime github.com/aws/aws-sdk-go-v2/aws/signer/v4 github.com/aws/aws-sdk-go-v2/aws/transport/http github.com/aws/aws-sdk-go-v2/aws/retry gitea.com/gitea/runner/act/model github.com/aws/aws-sdk-go-v2/internal/auth/smithy github.com/aws/aws-sdk-go-v2/service/codecommit github.com/prometheus/client_golang/prometheus/promhttp gitea.com/gitea/runner/act/exprparser gitea.com/go-chi/session/couchbase github.com/Azure/azure-sdk-for-go/sdk/azcore github.com/goccy/go-json/internal/encoder/vm_indent gitea.dev/modules/actions/jobparser github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared github.com/bodgit/sevenzip/internal/brotli github.com/meilisearch/meilisearch-go github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported github.com/bodgit/sevenzip modernc.org/sqlite/lib github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/base github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob github.com/mholt/archives github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service github.com/Azure/azure-sdk-for-go/sdk/storage/azblob gitea.dev/modules/indexer/internal/meilisearch github.com/go-enry/go-enry/v2 gitea.dev/modules/analyze github.com/goccy/go-json/internal/encoder/vm gitea.dev/modules/nosql github.com/go-redsync/redsync/v4/redis/goredis/v9 gitea.dev/modules/setting gitea.dev/models/unit gitea.dev/modules/mcaptcha gitea.dev/modules/auth/password/pwn gitea.dev/modules/httpcache gitea.dev/modules/markup/mdstripper gitea.dev/modules/proxy gitea.dev/modules/base gitea.dev/modules/recaptcha gitea.dev/modules/hcaptcha gitea.dev/modules/highlight gitea.dev/modules/options gitea.dev/modules/globallock gitea.dev/modules/git/gitcmd gitea.dev/modules/graceful gitea.dev/modules/avatar gitea.dev/modules/emoji gitea.dev/modules/translation gitea.dev/modules/label gitea.dev/modules/turnstile gitea.dev/modules/auth/openid gitea.dev/modules/references gitea.dev/models/shared/types gitea.dev/modules/auth/password gitea.dev/modules/timeutil gitea.dev/modules/charset gitea.dev/modules/dump gitea.dev/modules/cache gitea.dev/modules/web/routing gitea.dev/modules/queue gitea.dev/modules/httplib gitea.dev/modules/git/url gitea.dev/modules/public gitea.dev/modules/testlogger gitea.dev/modules/svg gitea.dev/services/webtheme gitea.dev/modules/storage gitea.dev/modules/markup gitea.dev/modules/git gitea.dev/modules/markup/console gitea.dev/modules/markup/external gitea.dev/modules/markup/orgmode gitea.dev/modules/csv gitea.dev/modules/markup/markdown gitea.dev/modules/markup/csv gitea.dev/modules/packages gitea.dev/modules/markup/jupyter gitea.dev/modules/validation gitea.dev/modules/git/attribute gitea.dev/modules/issue/template gitea.dev/modules/fileicon gitea.dev/modules/git/pipeline gitea.dev/modules/migration gitea.dev/modules/gitrepo gitea.dev/modules/packages/alpine gitea.dev/modules/packages/arch gitea.dev/modules/packages/cargo gitea.dev/modules/packages/conda gitea.dev/modules/packages/chef gitea.dev/modules/packages/debian gitea.dev/modules/packages/nuget gitea.dev/modules/packages/maven gitea.dev/modules/packages/vagrant gitea.dev/modules/packages/rubygems gitea.dev/modules/packages/composer gitea.dev/modules/packages/rpm gitea.dev/modules/packages/container gitea.dev/modules/packages/swift gitea.dev/modules/packages/npm gitea.dev/modules/packages/pub gitea.dev/modules/packages/helm gitea.dev/modules/lfs gitea.dev/modules/git/languagestats modernc.org/sqlite gitea.dev/models/db gitea.dev/models/avatars gitea.dev/models/migrations/base gitea.dev/models/auth gitea.dev/models/migrations/v1_26 gitea.dev/models/dbfs gitea.dev/models/migrations/v1_19 gitea.dev/models/migrations/v1_22 gitea.dev/models/migrations/v1_23 gitea.dev/models/webhook gitea.dev/routers/web/healthcheck gitea.dev/models/migrations/v1_7 gitea.dev/models/system gitea.dev/models/db/install gitea.dev/modules/indexer/internal gitea.dev/models/migrations/v1_10 gitea.dev/modules/indexer/internal/db gitea.dev/modules/indexer/internal/bleve gitea.dev/modules/indexer/internal/elasticsearch gitea.dev/modules/indexer/issues/internal gitea.dev/modules/indexer/issues/meilisearch gitea.dev/modules/indexer/issues/bleve gitea.dev/modules/indexer/issues/elasticsearch gitea.dev/modules/system gitea.dev/models/migrations/v1_25 gitea.dev/models/migrations/v1_6 gitea.dev/models/migrations/v1_24 gitea.dev/models/migrations/v1_11 gitea.dev/models/migrations/v1_15 gitea.dev/models/migrations/v1_8 gitea.dev/models/migrations/v1_20 gitea.dev/models/migrations/v1_14 gitea.dev/models/migrations/v1_13 gitea.dev/models/migrations/v1_27 gitea.dev/models/migrations/v1_16 gitea.dev/modules/updatechecker gitea.dev/services/auth/source/sspi gitea.dev/modules/session gitea.dev/models/user gitea.dev/modules/web/middleware gitea.dev/modules/web github.com/goccy/go-json github.com/olekukonko/ll/lh gitea.dev/models/gituser gitea.dev/modules/auth/webauthn gitea.dev/services/auth/source/db gitea.dev/services/mailer/token gitea.dev/services/auth/source/pam gitea.dev/services/auth/source/smtp gitea.dev/models/organization github.com/olekukonko/ll gitea.dev/services/auth/source/oauth2 github.com/olekukonko/tablewriter/tw gitea.dev/routers/web/shared/mention gitea.dev/services/oauth2_provider gitea.dev/models/repo github.com/olekukonko/tablewriter/renderer github.com/olekukonko/tablewriter gitea.dev/models/pull gitea.dev/models/renderhelper gitea.dev/models/migrations/v1_9 gitea.dev/modules/indexer/code/internal gitea.dev/models/admin gitea.dev/models/project gitea.dev/modules/indexer/stats gitea.dev/models/packages gitea.dev/models/actions gitea.dev/models/asymkey gitea.dev/models/migrations/v1_21 gitea.dev/models/migrations/v1_12 gitea.dev/modules/indexer/code/elasticsearch gitea.dev/modules/indexer/code/bleve gitea.dev/modules/indexer/code gitea.dev/models/packages/conda gitea.dev/models/packages/alpine gitea.dev/models/packages/arch gitea.dev/models/packages/cran gitea.dev/modules/packages/terraform gitea.dev/models/packages/debian gitea.dev/models/packages/conan gitea.dev/models/packages/container gitea.dev/models/packages/nuget gitea.dev/models/packages/rpm gitea.dev/models/migrations/v1_17 gitea.dev/modules/ssh gitea.dev/modules/indexer/code/gitgrep github.com/inbucket/html2text github.com/Necoro/html2text gitea.dev/models/perm/access gitea.dev/modules/badge gitea.dev/services/mailer/sender github.com/jhillyerd/enmime/v2 gitea.dev/models/git gitea.dev/modules/actions gitea.dev/models/issues gitea.dev/models/secret gitea.dev/services/secrets gitea.dev/models/migrations/v1_18 gitea.dev/services/externalaccount gitea.dev/modules/indexer/issues/db gitea.dev/models gitea.dev/services/automergequeue gitea.dev/services/projects gitea.dev/services/mailer/incoming/payload gitea.dev/services/asymkey gitea.dev/modules/repository gitea.dev/models/activities gitea.dev/services/gitdiff gitea.dev/modules/indexer/issues gitea.dev/models/migrations gitea.dev/services/git gitea.dev/services/repository/gitgraph gitea.dev/modules/private gitea.dev/services/notify gitea.dev/services/repository/commitstatus gitea.dev/services/indexer gitea.dev/services/packages gitea.dev/services/uinotification gitea.dev/modules/metrics gitea.dev/services/feed gitea.dev/services/issue gitea.dev/modules/templates gitea.dev/modules/lfstransfer/backend gitea.dev/modules/lfstransfer gitea.dev/services/packages/alpine gitea.dev/services/packages/debian gitea.dev/services/packages/container gitea.dev/services/packages/arch gitea.dev/services/packages/terraform gitea.dev/services/packages/rpm gitea.dev/services/versioned_migration gitea.dev/services/packages/pkgspec gitea.dev/services/pull gitea.dev/services/context gitea.dev/services/agit gitea.dev/routers/api/v1/settings gitea.dev/services/context/upload gitea.dev/routers/api/v1/activitypub gitea.dev/services/repository/archiver gitea.dev/routers/api/v1/token gitea.dev/routers/web/shared/issue gitea.dev/services/markup gitea.dev/routers/web/shared/project gitea.dev/routers/web/feed gitea.dev/routers/api/packages/helper gitea.dev/services/convert gitea.dev/services/attachment gitea.dev/services/release gitea.dev/routers/api/packages/arch gitea.dev/routers/api/packages/cran gitea.dev/routers/api/packages/conda gitea.dev/routers/api/packages/generic gitea.dev/routers/api/packages/goproxy gitea.dev/routers/api/packages/helm gitea.dev/routers/api/packages/maven gitea.dev/routers/api/packages/debian gitea.dev/routers/api/packages/alpine gitea.dev/routers/api/packages/npm gitea.dev/routers/api/packages/pub gitea.dev/routers/api/packages/rpm gitea.dev/routers/api/packages/pypi gitea.dev/routers/api/packages/terraform gitea.dev/routers/api/packages/rubygems gitea.dev/routers/api/packages/swift gitea.dev/routers/api/packages/vagrant gitea.dev/services/mailer/incoming gitea.dev/modules/eventsource gitea.dev/routers/api/packages/composer gitea.dev/services/lfs gitea.dev/services/mailer gitea.dev/services/webhook gitea.dev/services/actions gitea.dev/routers/api/v1/utils gitea.dev/services/forms gitea.dev/routers/api/actions/runner gitea.dev/services/repository gitea.dev/routers/web/shared/secrets gitea.dev/routers/web/shared/label gitea.dev/routers/web/user/setting/security gitea.dev/routers/api/v1/swagger gitea.dev/routers/api/v1/packages gitea.dev/routers/api/v1/notify gitea.dev/services/repository/files gitea.dev/routers/api/actions gitea.dev/services/packages/cargo gitea.dev/services/org gitea.dev/services/automerge gitea.dev/services/wiki gitea.dev/services/doctor gitea.dev/services/migrations gitea.dev/routers/api/packages/cargo gitea.dev/services/packages/cleanup gitea.dev/routers/web/shared/packages gitea.dev/services/auth/source gitea.dev/services/user gitea.dev/routers/api/v1/shared gitea.dev/routers/web/shared/user gitea.dev/services/auth/source/ldap gitea.dev/services/auth gitea.dev/routers/web/shared/actions gitea.dev/routers/api/packages/chef gitea.dev/routers/api/packages/conan gitea.dev/routers/api/packages/container gitea.dev/routers/api/packages/nuget gitea.dev/routers/web/user/setting gitea.dev/routers/common gitea.dev/routers/web/auth gitea.dev/services/task gitea.dev/services/mirror gitea.dev/routers/api/packages gitea.dev/routers/web/misc gitea.dev/routers/api/v1/misc gitea.dev/routers/web/repo/actions gitea.dev/routers/web/explore gitea.dev/services/cron gitea.dev/routers/api/v1/repo gitea.dev/routers/web/repo gitea.dev/routers/web/org gitea.dev/routers/install gitea.dev/routers/private gitea.dev/routers/web/events gitea.dev/routers/web/admin gitea.dev/routers/web/devtest gitea.dev/routers/web/user gitea.dev/routers/api/v1/user gitea.dev/routers/api/v1/admin gitea.dev/routers/api/v1/org gitea.dev/routers/api/v1 gitea.dev/routers/web/repo/setting gitea.dev/routers/web gitea.dev/routers gitea.dev/cmd gitea.dev fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' # cd /home/buildozer/aports/community/gitea/src/gitea-src-1.27.1; git -c log.showsignature=false log -1 --format=%H:%ct fatal: your current branch 'main' does not have any commits yet Running go test with -timeout 40m -tags 'tidb sqlite sqlite_unlock_notify'... ? gitea.dev [no test files] === RUN TestDeriveEnumName_hit --- PASS: TestDeriveEnumName_hit (0.00s) === RUN TestDeriveEnumName_miss --- PASS: TestDeriveEnumName_miss (0.00s) === RUN TestExtractSharedEnums_usesASTMap --- PASS: TestExtractSharedEnums_usesASTMap (0.00s) === RUN TestFixFileSchemas_recursesIntoNested --- PASS: TestFixFileSchemas_recursesIntoNested (0.00s) === RUN TestExtractEnumTypeName_TeamVisibility --- PASS: TestExtractEnumTypeName_TeamVisibility (0.00s) === RUN TestExtractEnumTypeName_ambiguousPrefixTie --- PASS: TestExtractEnumTypeName_ambiguousPrefixTie (0.00s) === RUN TestExtractEnumTypeName_rejectsIncidentalPrefix --- PASS: TestExtractEnumTypeName_rejectsIncidentalPrefix (0.00s) === RUN TestExtractSharedEnums_missReturnsError --- PASS: TestExtractSharedEnums_missReturnsError (0.00s) === RUN TestEnumKey_sortsAndJoins --- PASS: TestEnumKey_sortsAndJoins (0.00s) === RUN TestEnumKey_handlesNonStringValues --- PASS: TestEnumKey_handlesNonStringValues (0.00s) === RUN TestScanSwaggerEnumTypes_basic --- PASS: TestScanSwaggerEnumTypes_basic (0.00s) === RUN TestScanSwaggerEnumTypes_orphanAnnotation --- PASS: TestScanSwaggerEnumTypes_orphanAnnotation (0.00s) === RUN TestScanSwaggerEnumTypes_collision --- PASS: TestScanSwaggerEnumTypes_collision (0.00s) === RUN TestScanSwaggerEnumTypes_parseFailure --- PASS: TestScanSwaggerEnumTypes_parseFailure (0.00s) === RUN TestScanSwaggerEnumTypes_annotationWithoutConsts --- PASS: TestScanSwaggerEnumTypes_annotationWithoutConsts (0.00s) === RUN TestScanSwaggerEnumTypes_constsAndTypeInDifferentFiles --- PASS: TestScanSwaggerEnumTypes_constsAndTypeInDifferentFiles (0.00s) === RUN TestScanSwaggerEnumTypes_constsBeforeType --- PASS: TestScanSwaggerEnumTypes_constsBeforeType (0.00s) === RUN TestScanSwaggerEnumTypes_groupedTypeDecl --- PASS: TestScanSwaggerEnumTypes_groupedTypeDecl (0.00s) PASS ok gitea.dev/build/openapi3gen 0.011s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts === RUN TestAddLdapBindDn --- PASS: TestAddLdapBindDn (0.00s) === RUN TestAddLdapSimpleAuth --- PASS: TestAddLdapSimpleAuth (0.01s) === RUN TestUpdateLdapBindDn --- PASS: TestUpdateLdapBindDn (0.01s) === RUN TestUpdateLdapSimpleAuth --- PASS: TestUpdateLdapSimpleAuth (0.00s) === RUN TestAddOauth === RUN TestAddOauth/valid_config === RUN TestAddOauth/valid_config_with_openid_connect === RUN TestAddOauth/valid_config_with_options --- PASS: TestAddOauth (0.00s) --- PASS: TestAddOauth/valid_config (0.00s) --- PASS: TestAddOauth/valid_config_with_openid_connect (0.00s) --- PASS: TestAddOauth/valid_config_with_options (0.00s) === RUN TestUpdateOauth === RUN TestUpdateOauth/missing_id === RUN TestUpdateOauth/valid_config === RUN TestUpdateOauth/valid_config_with_options --- PASS: TestUpdateOauth (0.00s) --- PASS: TestUpdateOauth/missing_id (0.00s) --- PASS: TestUpdateOauth/valid_config (0.00s) --- PASS: TestUpdateOauth/valid_config_with_options (0.00s) === RUN TestAddSMTP === RUN TestAddSMTP/missing_name admin_auth_smtp_test.go:121: [smtp-test --host localhost --port 25] === RUN TestAddSMTP/missing_host admin_auth_smtp_test.go:121: [smtp-test --name test --port 25] === RUN TestAddSMTP/missing_port admin_auth_smtp_test.go:121: [smtp-test --name test --host localhost] === RUN TestAddSMTP/valid_config admin_auth_smtp_test.go:121: [smtp-test --name test --host localhost --port 25] === RUN TestAddSMTP/valid_config_with_options admin_auth_smtp_test.go:121: [smtp-test --name test --host localhost --port 25 --auth-type LOGIN --force-smtps --skip-verify --helo-hostname example.com --disable-helo=true --allowed-domains example.com,example.org --skip-local-2fa --active=false] --- PASS: TestAddSMTP (0.00s) --- PASS: TestAddSMTP/missing_name (0.00s) --- PASS: TestAddSMTP/missing_host (0.00s) --- PASS: TestAddSMTP/missing_port (0.00s) --- PASS: TestAddSMTP/valid_config (0.00s) --- PASS: TestAddSMTP/valid_config_with_options (0.00s) === RUN TestUpdateSMTP === RUN TestUpdateSMTP/missing_id === RUN TestUpdateSMTP/valid_config === RUN TestUpdateSMTP/valid_config_with_options --- PASS: TestUpdateSMTP (0.00s) --- PASS: TestUpdateSMTP/missing_id (0.00s) --- PASS: TestUpdateSMTP/valid_config (0.00s) --- PASS: TestUpdateSMTP/valid_config_with_options (0.00s) === RUN TestChangePasswordCommand === RUN TestChangePasswordCommand/change_password_successfully generated random password is 'xgpSFxuuDk0C' New user 'testuser' has been successfully created! testuser's password has been successfully updated! testuser's password has been successfully updated! testuser's password has been successfully updated! === RUN TestChangePasswordCommand/failure_cases === RUN TestChangePasswordCommand/failure_cases/user_does_not_exist === RUN TestChangePasswordCommand/failure_cases/missing_username === RUN TestChangePasswordCommand/failure_cases/missing_password === RUN TestChangePasswordCommand/failure_cases/too_short_password --- PASS: TestChangePasswordCommand (0.01s) --- PASS: TestChangePasswordCommand/change_password_successfully (0.01s) --- PASS: TestChangePasswordCommand/failure_cases (0.00s) --- PASS: TestChangePasswordCommand/failure_cases/user_does_not_exist (0.00s) --- PASS: TestChangePasswordCommand/failure_cases/missing_username (0.00s) --- PASS: TestChangePasswordCommand/failure_cases/missing_password (0.00s) --- PASS: TestChangePasswordCommand/failure_cases/too_short_password (0.00s) === RUN TestAdminUserCreate === RUN TestAdminUserCreate/MustChangePassword New user 'u' has been successfully created! 2026/08/11 22:30:46 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:46 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u' has been successfully created! 2026/08/11 22:30:46 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:46 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u' has been successfully created! 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u2' has been successfully created! 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u3' has been successfully created! 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u4' has been successfully created! 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u5' has been successfully created! === RUN TestAdminUserCreate/UserType 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u' has been successfully created! === RUN TestAdminUserCreate/AccessToken 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is '2el5JXdYhVT8' New user 'u' has been successfully created! generated random password is 'KOzyYSkkig1H' 2026/08/11 22:30:47 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:47 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:47 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:47 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u' has been successfully created! Access token was successfully created... e55d50973196061e9741f8ce59861d2942b39605 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is 'CBcJZXHvYACU' New user 'u' has been successfully created! Access token was successfully created... 8887ee92f3885fafdc6f1a1b18a8ab8cf5d0094f 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 generated random password is '5bH0lMvk68Ei' generated random password is 'X55RdTQLSLgc' 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is 'BZ3IuySwCk3N' === RUN TestAdminUserCreate/UserFields generated random password is 'rOHcs4YK4m0j' 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'u-FullNameWithSpace' has been successfully created! 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is 'zfrpzjKs19TH' New user 'u-FullNameEmpty' has been successfully created! --- PASS: TestAdminUserCreate (1.74s) --- PASS: TestAdminUserCreate/MustChangePassword (1.06s) --- PASS: TestAdminUserCreate/UserType (0.01s) --- PASS: TestAdminUserCreate/AccessToken (0.43s) --- PASS: TestAdminUserCreate/UserFields (0.24s) === RUN TestAdminUserDelete === RUN TestAdminUserDelete/delete_user_by_id 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is 'edaPL4Bo0y4k' New user 'testuser' has been successfully created! 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts === RUN TestAdminUserDelete/delete_user_by_username generated random password is 'kyV8xFsYrk6f' 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'testuser' has been successfully created! 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts === RUN TestAdminUserDelete/delete_user_by_email generated random password is 'HvO97GwCTJQs' 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'testuser' has been successfully created! 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts === RUN TestAdminUserDelete/delete_user_by_all_3_attributes 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is 'hXOfU3bY31c8' New user 'testuser' has been successfully created! 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts --- PASS: TestAdminUserDelete (0.41s) --- PASS: TestAdminUserDelete/delete_user_by_id (0.13s) --- PASS: TestAdminUserDelete/delete_user_by_username (0.10s) --- PASS: TestAdminUserDelete/delete_user_by_email (0.08s) --- PASS: TestAdminUserDelete/delete_user_by_all_3_attributes (0.09s) === RUN TestAdminUserDeleteFailure === RUN TestAdminUserDeleteFailure/no_user_to_delete 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts === RUN TestAdminUserDeleteFailure/user_exists_but_provided_username_does_not_match 2026/08/11 22:30:48 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:48 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:48 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:48 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is '0PCKmTuiCtsZ' New user 'testuser' has been successfully created! 2026/08/11 22:30:49 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:49 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:49 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:49 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:49 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:49 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:49 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts === RUN TestAdminUserDeleteFailure/user_exists_but_provided_id_does_not_match 2026/08/11 22:30:49 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:49 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:49 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:49 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is 'SbYYMHasXIhf' New user 'testuser' has been successfully created! 2026/08/11 22:30:49 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/attachments 2026/08/11 22:30:49 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/avatars 2026/08/11 22:30:49 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-avatars 2026/08/11 22:30:49 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/repo-archive 2026/08/11 22:30:49 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/packages 2026/08/11 22:30:49 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_log 2026/08/11 22:30:49 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:49 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4235836394/data/actions_artifacts === RUN TestAdminUserDeleteFailure/no_required_flags_are_provided --- PASS: TestAdminUserDeleteFailure (0.16s) --- PASS: TestAdminUserDeleteFailure/no_user_to_delete (0.00s) --- PASS: TestAdminUserDeleteFailure/user_exists_but_provided_username_does_not_match (0.07s) --- PASS: TestAdminUserDeleteFailure/user_exists_but_provided_id_does_not_match (0.08s) --- PASS: TestAdminUserDeleteFailure/no_required_flags_are_provided (0.00s) === RUN TestMustChangePassword 2026/08/11 22:30:49 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:49 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:49 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:49 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 generated random password is 'wmcEQSZaJs11' New user 'testuser' has been successfully created! 2026/08/11 22:30:49 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/log.go:83:prepareLoggerConfig() [E] Deprecation: config option `[log].XORM` present, please use `[log].logger.xorm.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:49 modules/setting/webhook.go:38:loadWebhookFrom() [E] Deprecation: config option `[webhook].ALLOWED_HOST_LIST` present, please use `[security].ALLOWED_HOST_LIST` instead because this fallback will be/has been removed in v28.0.0 2026/08/11 22:30:49 modules/setting/task.go:13:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_TYPE` present, please use `[queue.task].TYPE` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:49 modules/setting/task.go:14:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_CONN_STR` present, please use `[queue.task].CONN_STR` instead because this fallback will be/has been removed in v1.19.0 generated random password is '6lucFHtekhT5' 2026/08/11 22:30:49 modules/setting/task.go:15:loadTaskFrom() [E] Deprecation: config option `[task].QUEUE_LENGTH` present, please use `[queue.task].LENGTH` instead because this fallback will be/has been removed in v1.19.0 New user 'testuserexclude' has been successfully created! Updated 1 users setting MustChangePassword to false Updated 2 users setting MustChangePassword to true Updated 0 users setting MustChangePassword to false Updated 2 users setting MustChangePassword to false Updated 1 users setting MustChangePassword to true Updated 1 users setting MustChangePassword to false --- PASS: TestMustChangePassword (0.14s) === RUN TestCertCommand === RUN TestCertCommand/RSA_cert_generation Written cert to /home/buildozer/aports/community/gitea/tmp/TestCertCommandRSA_cert_generation920857544/001/cert.pem Written key to /home/buildozer/aports/community/gitea/tmp/TestCertCommandRSA_cert_generation920857544/001/key.pem === RUN TestCertCommand/ECDSA_cert_generation Written cert to /home/buildozer/aports/community/gitea/tmp/TestCertCommandECDSA_cert_generation1799588113/001/cert.pem Written key to /home/buildozer/aports/community/gitea/tmp/TestCertCommandECDSA_cert_generation1799588113/001/key.pem === RUN TestCertCommand/mixed_host,_certificate_authority Written cert to /home/buildozer/aports/community/gitea/tmp/TestCertCommandmixed_host,_certificate_authority4213737504/001/cert.pem Written key to /home/buildozer/aports/community/gitea/tmp/TestCertCommandmixed_host,_certificate_authority4213737504/001/key.pem --- PASS: TestCertCommand (1.00s) --- PASS: TestCertCommand/RSA_cert_generation (0.08s) --- PASS: TestCertCommand/ECDSA_cert_generation (0.00s) --- PASS: TestCertCommand/mixed_host,_certificate_authority (0.92s) === RUN TestCertCommandFailures === RUN TestCertCommandFailures/Start_Date_Parsing_failure === RUN TestCertCommandFailures/Unknown_curve === RUN TestCertCommandFailures/Key_generation_failure === RUN TestCertCommandFailures/Missing_parameters --- PASS: TestCertCommandFailures (1.32s) --- PASS: TestCertCommandFailures/Start_Date_Parsing_failure (1.31s) --- PASS: TestCertCommandFailures/Unknown_curve (0.00s) --- PASS: TestCertCommandFailures/Key_generation_failure (0.00s) --- PASS: TestCertCommandFailures/Missing_parameters (0.00s) === RUN TestConfigEdit === RUN TestConfigEdit/OutputToNewWithEnv === RUN TestConfigEdit/OutputToExisting(environment-to-ini) --- PASS: TestConfigEdit (0.00s) --- PASS: TestConfigEdit/OutputToNewWithEnv (0.00s) --- PASS: TestConfigEdit/OutputToExisting(environment-to-ini) (0.00s) === RUN TestDoctorRun [1] Test Check OK All done (checks: 1). --- PASS: TestDoctorRun (0.00s) === RUN TestPktLine --- PASS: TestPktLine (0.00s) === RUN TestParseGitHookCommitRefLine --- PASS: TestParseGitHookCommitRefLine (0.00s) === RUN TestDefaultCommand --- PASS: TestDefaultCommand (0.00s) === RUN TestMigratePackages --- PASS: TestMigratePackages (0.08s) === RUN TestGetAccessMode === RUN TestGetAccessMode/git-upload-pack/ === RUN TestGetAccessMode/git-upload-archive/ === RUN TestGetAccessMode/git-receive-pack/ === RUN TestGetAccessMode/git-lfs-authenticate/upload === RUN TestGetAccessMode/git-lfs-authenticate/download === RUN TestGetAccessMode/git-lfs-transfer/upload === RUN TestGetAccessMode/git-lfs-transfer/download --- PASS: TestGetAccessMode (0.00s) --- PASS: TestGetAccessMode/git-upload-pack/ (0.00s) --- PASS: TestGetAccessMode/git-upload-archive/ (0.00s) --- PASS: TestGetAccessMode/git-receive-pack/ (0.00s) --- PASS: TestGetAccessMode/git-lfs-authenticate/upload (0.00s) --- PASS: TestGetAccessMode/git-lfs-authenticate/download (0.00s) --- PASS: TestGetAccessMode/git-lfs-transfer/upload (0.00s) --- PASS: TestGetAccessMode/git-lfs-transfer/download (0.00s) === RUN TestGetAccessModeUnknownVerb === RUN TestGetAccessModeUnknownVerb/git-lfs-authenticate/ === RUN TestGetAccessModeUnknownVerb/git-lfs-authenticate/badverb === RUN TestGetAccessModeUnknownVerb/git-lfs-transfer/badverb === RUN TestGetAccessModeUnknownVerb/git-unknown-verb/ --- PASS: TestGetAccessModeUnknownVerb (0.00s) --- PASS: TestGetAccessModeUnknownVerb/git-lfs-authenticate/ (0.00s) --- PASS: TestGetAccessModeUnknownVerb/git-lfs-authenticate/badverb (0.00s) --- PASS: TestGetAccessModeUnknownVerb/git-lfs-transfer/badverb (0.00s) --- PASS: TestGetAccessModeUnknownVerb/git-unknown-verb/ (0.00s) PASS ok gitea.dev/cmd 5.462s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-436169387/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-436169387/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-436169387/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-436169387/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-436169387/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-436169387/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-436169387/data/actions_artifacts === RUN TestCliCmd === RUN TestCliCmd/./gitea_-h === RUN TestCliCmd/./gitea_help === RUN TestCliCmd/./gitea_-c_/dev/null_-h === RUN TestCliCmd/./gitea_-c_/dev/null_help === RUN TestCliCmd/./gitea_help_-c_/dev/null === RUN TestCliCmd/./gitea_-c_/dev/null_test-cmd_-h === RUN TestCliCmd/./gitea_test-cmd_-c_/dev/null_-h === RUN TestCliCmd/./gitea_test-cmd_-h_-c_/dev/null === RUN TestCliCmd/./gitea_-c_/dev/null_test-cmd_help === RUN TestCliCmd/./gitea_test-cmd_-c_/dev/null_help === RUN TestCliCmd/./gitea_test-cmd_help_-c_/dev/null === RUN TestCliCmd/./gitea_test-cmd === RUN TestCliCmd/./gitea_-c_/tmp/app.ini_test-cmd === RUN TestCliCmd/./gitea_test-cmd_-c_/tmp/app.ini === RUN TestCliCmd/./gitea_test-cmd#01 === RUN TestCliCmd/./gitea_test-cmd_--work-path_/tmp/other === RUN TestCliCmd/./gitea_test-cmd_--config_/tmp/app-other.ini --- PASS: TestCliCmd (0.07s) --- PASS: TestCliCmd/./gitea_-h (0.00s) --- PASS: TestCliCmd/./gitea_help (0.00s) --- PASS: TestCliCmd/./gitea_-c_/dev/null_-h (0.00s) --- PASS: TestCliCmd/./gitea_-c_/dev/null_help (0.00s) --- PASS: TestCliCmd/./gitea_help_-c_/dev/null (0.00s) --- PASS: TestCliCmd/./gitea_-c_/dev/null_test-cmd_-h (0.00s) --- PASS: TestCliCmd/./gitea_test-cmd_-c_/dev/null_-h (0.00s) --- PASS: TestCliCmd/./gitea_test-cmd_-h_-c_/dev/null (0.00s) --- PASS: TestCliCmd/./gitea_-c_/dev/null_test-cmd_help (0.00s) --- PASS: TestCliCmd/./gitea_test-cmd_-c_/dev/null_help (0.01s) --- PASS: TestCliCmd/./gitea_test-cmd_help_-c_/dev/null (0.00s) --- PASS: TestCliCmd/./gitea_test-cmd (0.00s) --- PASS: TestCliCmd/./gitea_-c_/tmp/app.ini_test-cmd (0.01s) --- PASS: TestCliCmd/./gitea_test-cmd_-c_/tmp/app.ini (0.01s) --- PASS: TestCliCmd/./gitea_test-cmd#01 (0.00s) --- PASS: TestCliCmd/./gitea_test-cmd_--work-path_/tmp/other (0.00s) --- PASS: TestCliCmd/./gitea_test-cmd_--config_/tmp/app-other.ini (0.00s) === RUN TestCliCmdError --- PASS: TestCliCmdError (0.02s) === RUN TestCliCmdBefore --- PASS: TestCliCmdBefore (0.00s) === RUN TestCliCmdCompletion --- PASS: TestCliCmdCompletion (0.01s) PASS ok gitea.dev/cmd/cmdtest 0.860s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2040896774/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2040896774/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2040896774/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2040896774/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2040896774/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2040896774/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2040896774/data/actions_artifacts === RUN TestFixturesAreConsistent --- PASS: TestFixturesAreConsistent (0.61s) === RUN TestCheckRepoStats --- PASS: TestCheckRepoStats (0.01s) === RUN TestDoctorUserStarNum --- PASS: TestDoctorUserStarNum (0.02s) === RUN Test_repoStatsCorrectIssueNumComments --- PASS: Test_repoStatsCorrectIssueNumComments (0.01s) PASS ok gitea.dev/models 1.292s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-709360324/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-709360324/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-709360324/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-709360324/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-709360324/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-709360324/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-709360324/data/actions_artifacts === RUN TestActionJobList_SortMatrixGroupsByName === RUN TestActionJobList_SortMatrixGroupsByName/matrix_group_sorted_naturally === RUN TestActionJobList_SortMatrixGroupsByName/non-adjacent_same_JobID_stays_in_input_order === RUN TestActionJobList_SortMatrixGroupsByName/groups_stay_in_input_order === RUN TestActionJobList_SortMatrixGroupsByName/empty_and_singleton --- PASS: TestActionJobList_SortMatrixGroupsByName (0.00s) --- PASS: TestActionJobList_SortMatrixGroupsByName/matrix_group_sorted_naturally (0.00s) --- PASS: TestActionJobList_SortMatrixGroupsByName/non-adjacent_same_JobID_stays_in_input_order (0.00s) --- PASS: TestActionJobList_SortMatrixGroupsByName/groups_stay_in_input_order (0.00s) --- PASS: TestActionJobList_SortMatrixGroupsByName/empty_and_singleton (0.00s) === RUN TestAggregateJobStatus --- PASS: TestAggregateJobStatus (0.00s) === RUN TestGetPriorAttemptChildrenByParent === RUN TestGetPriorAttemptChildrenByParent/matrix_instances_and_non-matrix_sibling_are_indexed_by_(JobID,_Name) === RUN TestGetPriorAttemptChildrenByParent/walkback_past_an_attempt_where_the_caller_had_no_children --- PASS: TestGetPriorAttemptChildrenByParent (0.07s) --- PASS: TestGetPriorAttemptChildrenByParent/matrix_instances_and_non-matrix_sibling_are_indexed_by_(JobID,_Name) (0.00s) --- PASS: TestGetPriorAttemptChildrenByParent/walkback_past_an_attempt_where_the_caller_had_no_children (0.00s) === RUN TestCancelJobs_NestedBlockedReusableCaller --- PASS: TestCancelJobs_NestedBlockedReusableCaller (0.02s) === RUN TestGetRunWorkflowIDs --- PASS: TestGetRunWorkflowIDs (0.00s) === RUN TestGetRepoRunWorkflowIDs --- PASS: TestGetRepoRunWorkflowIDs (0.00s) === RUN TestGetStatusInfoList --- PASS: TestGetStatusInfoList (0.00s) === RUN TestFindRunOptions_WorkflowRepoID --- PASS: TestFindRunOptions_WorkflowRepoID (0.00s) === RUN TestFindRunOptions_IsScopedRun --- PASS: TestFindRunOptions_IsScopedRun (0.00s) === RUN TestUpdateRepoRunsNumbers --- PASS: TestUpdateRepoRunsNumbers (0.00s) === RUN TestActionRun_Duration_NonNegative --- PASS: TestActionRun_Duration_NonNegative (0.00s) === RUN TestActionRun_WorkflowLink --- PASS: TestActionRun_WorkflowLink (0.00s) === RUN TestGetWorkflowLatestRun_RepoLevelOnly --- PASS: TestGetWorkflowLatestRun_RepoLevelOnly (0.01s) === RUN TestShouldPersistLastOnline === RUN TestShouldPersistLastOnline/fresh,_skip_write === RUN TestShouldPersistLastOnline/exactly_at_interval,_write === RUN TestShouldPersistLastOnline/stale,_write === RUN TestShouldPersistLastOnline/zero_(never_seen),_write --- PASS: TestShouldPersistLastOnline (0.00s) --- PASS: TestShouldPersistLastOnline/fresh,_skip_write (0.00s) --- PASS: TestShouldPersistLastOnline/exactly_at_interval,_write (0.00s) --- PASS: TestShouldPersistLastOnline/stale,_write (0.00s) --- PASS: TestShouldPersistLastOnline/zero_(never_seen),_write (0.00s) === RUN TestShouldPersistLastActive === RUN TestShouldPersistLastActive/fresh,_skip_write === RUN TestShouldPersistLastActive/exactly_at_interval,_write === RUN TestShouldPersistLastActive/stale,_write === RUN TestShouldPersistLastActive/zero_(never_seen),_write --- PASS: TestShouldPersistLastActive (0.00s) --- PASS: TestShouldPersistLastActive/fresh,_skip_write (0.00s) --- PASS: TestShouldPersistLastActive/exactly_at_interval,_write (0.00s) --- PASS: TestShouldPersistLastActive/stale,_write (0.00s) --- PASS: TestShouldPersistLastActive/zero_(never_seen),_write (0.00s) === RUN TestGetLatestRunnerToken --- PASS: TestGetLatestRunnerToken (0.01s) === RUN TestNewRunnerToken --- PASS: TestNewRunnerToken (0.00s) === RUN TestUpdateRunnerToken --- PASS: TestUpdateRunnerToken (0.00s) === RUN TestActionScheduleSpec_Parse === RUN TestActionScheduleSpec_Parse/regular === RUN TestActionScheduleSpec_Parse/invalid === RUN TestActionScheduleSpec_Parse/with_timezone === RUN TestActionScheduleSpec_Parse/timezone_irrelevant --- PASS: TestActionScheduleSpec_Parse (0.00s) --- PASS: TestActionScheduleSpec_Parse/regular (0.00s) --- PASS: TestActionScheduleSpec_Parse/invalid (0.00s) --- PASS: TestActionScheduleSpec_Parse/with_timezone (0.00s) --- PASS: TestActionScheduleSpec_Parse/timezone_irrelevant (0.00s) === RUN TestScopedWorkflowSource_IsWorkflowRequired --- PASS: TestScopedWorkflowSource_IsWorkflowRequired (0.00s) === RUN TestIsWorkflowRequiredInSources --- PASS: TestIsWorkflowRequiredInSources (0.00s) === RUN TestGetEffectiveScopedWorkflowSources --- PASS: TestGetEffectiveScopedWorkflowSources (0.00s) === RUN TestScopedWorkflowSourceCRUD --- PASS: TestScopedWorkflowSourceCRUD (0.00s) === RUN TestStatusAsResult --- PASS: TestStatusAsResult (0.00s) === RUN TestStatusFromResult --- PASS: TestStatusFromResult (0.00s) === RUN TestAggregateJobStatusContinueOnError === RUN TestAggregateJobStatusContinueOnError/all_success === RUN TestAggregateJobStatusContinueOnError/one_failure_without_continue-on-error === RUN TestAggregateJobStatusContinueOnError/one_failure_with_continue-on-error === RUN TestAggregateJobStatusContinueOnError/only_continued-failure === RUN TestAggregateJobStatusContinueOnError/continued-failure_plus_real_failure === RUN TestAggregateJobStatusContinueOnError/all_skipped === RUN TestAggregateJobStatusContinueOnError/continued-failure_plus_skipped_counts_as_success --- PASS: TestAggregateJobStatusContinueOnError (0.00s) --- PASS: TestAggregateJobStatusContinueOnError/all_success (0.00s) --- PASS: TestAggregateJobStatusContinueOnError/one_failure_without_continue-on-error (0.00s) --- PASS: TestAggregateJobStatusContinueOnError/one_failure_with_continue-on-error (0.00s) --- PASS: TestAggregateJobStatusContinueOnError/only_continued-failure (0.00s) --- PASS: TestAggregateJobStatusContinueOnError/continued-failure_plus_real_failure (0.00s) --- PASS: TestAggregateJobStatusContinueOnError/all_skipped (0.00s) --- PASS: TestAggregateJobStatusContinueOnError/continued-failure_plus_skipped_counts_as_success (0.00s) === RUN TestActionTask_GetRunJobLink --- PASS: TestActionTask_GetRunJobLink (0.00s) === RUN TestMakeTaskStepDisplayName === RUN TestMakeTaskStepDisplayName/explicit_name === RUN TestMakeTaskStepDisplayName/uses_step === RUN TestMakeTaskStepDisplayName/single-line_run === RUN TestMakeTaskStepDisplayName/multi-line_run_block_scalar === RUN TestMakeTaskStepDisplayName/fallback_to_id === RUN TestMakeTaskStepDisplayName/very_long_name_truncated === RUN TestMakeTaskStepDisplayName/very_long_run_truncated --- PASS: TestMakeTaskStepDisplayName (0.00s) --- PASS: TestMakeTaskStepDisplayName/explicit_name (0.00s) --- PASS: TestMakeTaskStepDisplayName/uses_step (0.00s) --- PASS: TestMakeTaskStepDisplayName/single-line_run (0.00s) --- PASS: TestMakeTaskStepDisplayName/multi-line_run_block_scalar (0.00s) --- PASS: TestMakeTaskStepDisplayName/fallback_to_id (0.00s) --- PASS: TestMakeTaskStepDisplayName/very_long_name_truncated (0.00s) --- PASS: TestMakeTaskStepDisplayName/very_long_run_truncated (0.00s) === RUN TestTaskCancellingFinalizesToCancelled === RUN TestTaskCancellingFinalizesToCancelled/runner_reports_success === RUN TestTaskCancellingFinalizesToCancelled/runner_reports_failure --- PASS: TestTaskCancellingFinalizesToCancelled (0.03s) --- PASS: TestTaskCancellingFinalizesToCancelled/runner_reports_success (0.01s) --- PASS: TestTaskCancellingFinalizesToCancelled/runner_reports_failure (0.01s) === RUN TestStopTaskCancellingFallsBackToCancelled === RUN TestStopTaskCancellingFallsBackToCancelled/legacy_runner === RUN TestStopTaskCancellingFallsBackToCancelled/missing_runner === RUN TestStopTaskCancellingFallsBackToCancelled/silent_runner --- PASS: TestStopTaskCancellingFallsBackToCancelled (0.03s) --- PASS: TestStopTaskCancellingFallsBackToCancelled/legacy_runner (0.01s) --- PASS: TestStopTaskCancellingFallsBackToCancelled/missing_runner (0.01s) --- PASS: TestStopTaskCancellingFallsBackToCancelled/silent_runner (0.01s) === RUN TestStopTaskCancellingKeepsReportTime --- PASS: TestStopTaskCancellingKeepsReportTime (0.01s) === RUN TestReleaseTaskForRunner --- PASS: TestReleaseTaskForRunner (0.03s) === RUN TestCreateTaskForRunnerPagination --- PASS: TestCreateTaskForRunnerPagination (0.03s) === RUN TestLogIndexes_ToDB === RUN TestLogIndexes_ToDB/#00 --- PASS: TestLogIndexes_ToDB (0.00s) --- PASS: TestLogIndexes_ToDB/#00 (0.00s) === RUN Test_calculateDuration === RUN Test_calculateDuration/unknown === RUN Test_calculateDuration/running === RUN Test_calculateDuration/done === RUN Test_calculateDuration/done_stopped_zero_no_fallback === RUN Test_calculateDuration/done_stopped_zero_uses_fallback === RUN Test_calculateDuration/done_stopped_before_started_no_fallback === RUN Test_calculateDuration/done_stopped_before_started_uses_fallback --- PASS: Test_calculateDuration (0.00s) --- PASS: Test_calculateDuration/unknown (0.00s) --- PASS: Test_calculateDuration/running (0.00s) --- PASS: Test_calculateDuration/done (0.00s) --- PASS: Test_calculateDuration/done_stopped_zero_no_fallback (0.00s) --- PASS: Test_calculateDuration/done_stopped_zero_uses_fallback (0.00s) --- PASS: Test_calculateDuration/done_stopped_before_started_no_fallback (0.00s) --- PASS: Test_calculateDuration/done_stopped_before_started_uses_fallback (0.00s) PASS ok gitea.dev/models/actions 0.731s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-978727236/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-978727236/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-978727236/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-978727236/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-978727236/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-978727236/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-978727236/data/actions_artifacts === RUN TestAction_GetRepoPath --- PASS: TestAction_GetRepoPath (0.18s) === RUN TestAction_GetRepoLink --- PASS: TestAction_GetRepoLink (0.00s) === RUN TestActivityReadable --- PASS: TestActivityReadable (0.00s) === RUN TestConsistencyUpdateAction --- PASS: TestConsistencyUpdateAction (0.01s) === RUN TestDeleteIssueActions --- PASS: TestDeleteIssueActions (0.00s) === RUN TestCreateOrUpdateIssueNotifications --- PASS: TestCreateOrUpdateIssueNotifications (0.02s) === RUN TestNotificationsForUser --- PASS: TestNotificationsForUser (0.00s) === RUN TestNotification_GetRepo --- PASS: TestNotification_GetRepo (0.00s) === RUN TestNotification_GetIssue --- PASS: TestNotification_GetIssue (0.01s) === RUN TestGetNotificationCount --- PASS: TestGetNotificationCount (0.00s) === RUN TestSetNotificationStatus --- PASS: TestSetNotificationStatus (0.00s) === RUN TestUpdateNotificationStatuses --- PASS: TestUpdateNotificationStatuses (0.00s) === RUN TestSetIssueReadBy --- PASS: TestSetIssueReadBy (0.00s) === RUN TestGetUserHeatmapDataByUser --- PASS: TestGetUserHeatmapDataByUser (0.11s) PASS ok gitea.dev/models/activities 0.962s ? gitea.dev/models/admin [no test files] 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-170061628/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-170061628/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-170061628/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-170061628/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-170061628/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-170061628/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-170061628/data/actions_artifacts === RUN TestCheckArmoredGPGKeyString --- PASS: TestCheckArmoredGPGKeyString (0.00s) === RUN TestCheckArmoredbrainpoolP256r1GPGKeyString --- PASS: TestCheckArmoredbrainpoolP256r1GPGKeyString (0.03s) === RUN TestExtractSignature --- PASS: TestExtractSignature (0.00s) === RUN TestCheckGPGUserEmail --- PASS: TestCheckGPGUserEmail (0.08s) === RUN TestCheckGParseGPGExpire --- PASS: TestCheckGParseGPGExpire (0.01s) === RUN TestTryGetKeyIDFromSignature --- PASS: TestTryGetKeyIDFromSignature (0.00s) === RUN TestParseGPGKey --- PASS: TestParseGPGKey (0.64s) === RUN TestWriteAuthorizedStringForKey === RUN TestWriteAuthorizedStringForKey/PublicKey === RUN TestWriteAuthorizedStringForKey/PublicKeyWithNewLine === RUN TestWriteAuthorizedStringForKey/PublicKeyInvalid === RUN TestWriteAuthorizedStringForKey/Principal === RUN TestWriteAuthorizedStringForKey/PrincipalInvalid --- PASS: TestWriteAuthorizedStringForKey (0.00s) --- PASS: TestWriteAuthorizedStringForKey/PublicKey (0.00s) --- PASS: TestWriteAuthorizedStringForKey/PublicKeyWithNewLine (0.00s) --- PASS: TestWriteAuthorizedStringForKey/PublicKeyInvalid (0.00s) --- PASS: TestWriteAuthorizedStringForKey/Principal (0.00s) --- PASS: TestWriteAuthorizedStringForKey/PrincipalInvalid (0.00s) === RUN Test_SSHParsePublicKey === RUN Test_SSHParsePublicKey/rsa-1024 === RUN Test_SSHParsePublicKey/rsa-1024/Native === RUN Test_SSHParsePublicKey/rsa-2048 === RUN Test_SSHParsePublicKey/rsa-2048/Native === RUN Test_SSHParsePublicKey/ecdsa-256 === RUN Test_SSHParsePublicKey/ecdsa-256/Native === RUN Test_SSHParsePublicKey/ecdsa-384 === RUN Test_SSHParsePublicKey/ecdsa-384/Native === RUN Test_SSHParsePublicKey/ecdsa-sk === RUN Test_SSHParsePublicKey/ecdsa-sk/Native === RUN Test_SSHParsePublicKey/ed25519-sk === RUN Test_SSHParsePublicKey/ed25519-sk/Native --- PASS: Test_SSHParsePublicKey (0.00s) --- PASS: Test_SSHParsePublicKey/rsa-1024 (0.00s) --- PASS: Test_SSHParsePublicKey/rsa-1024/Native (0.00s) --- PASS: Test_SSHParsePublicKey/rsa-2048 (0.00s) --- PASS: Test_SSHParsePublicKey/rsa-2048/Native (0.00s) --- PASS: Test_SSHParsePublicKey/ecdsa-256 (0.00s) --- PASS: Test_SSHParsePublicKey/ecdsa-256/Native (0.00s) --- PASS: Test_SSHParsePublicKey/ecdsa-384 (0.00s) --- PASS: Test_SSHParsePublicKey/ecdsa-384/Native (0.00s) --- PASS: Test_SSHParsePublicKey/ecdsa-sk (0.00s) --- PASS: Test_SSHParsePublicKey/ecdsa-sk/Native (0.00s) --- PASS: Test_SSHParsePublicKey/ed25519-sk (0.00s) --- PASS: Test_SSHParsePublicKey/ed25519-sk/Native (0.00s) === RUN Test_CheckPublicKeyString --- PASS: Test_CheckPublicKeyString (0.00s) === RUN Test_calcFingerprint === RUN Test_calcFingerprint/rsa-1024 === RUN Test_calcFingerprint/rsa-1024/Native === RUN Test_calcFingerprint/rsa-2048 === RUN Test_calcFingerprint/rsa-2048/Native === RUN Test_calcFingerprint/ecdsa-256 === RUN Test_calcFingerprint/ecdsa-256/Native === RUN Test_calcFingerprint/ecdsa-384 === RUN Test_calcFingerprint/ecdsa-384/Native === RUN Test_calcFingerprint/ecdsa-sk === RUN Test_calcFingerprint/ecdsa-sk/Native === RUN Test_calcFingerprint/ed25519-sk === RUN Test_calcFingerprint/ed25519-sk/Native --- PASS: Test_calcFingerprint (0.00s) --- PASS: Test_calcFingerprint/rsa-1024 (0.00s) --- PASS: Test_calcFingerprint/rsa-1024/Native (0.00s) --- PASS: Test_calcFingerprint/rsa-2048 (0.00s) --- PASS: Test_calcFingerprint/rsa-2048/Native (0.00s) --- PASS: Test_calcFingerprint/ecdsa-256 (0.00s) --- PASS: Test_calcFingerprint/ecdsa-256/Native (0.00s) --- PASS: Test_calcFingerprint/ecdsa-384 (0.00s) --- PASS: Test_calcFingerprint/ecdsa-384/Native (0.00s) --- PASS: Test_calcFingerprint/ecdsa-sk (0.00s) --- PASS: Test_calcFingerprint/ecdsa-sk/Native (0.00s) --- PASS: Test_calcFingerprint/ed25519-sk (0.00s) --- PASS: Test_calcFingerprint/ed25519-sk/Native (0.00s) === RUN TestFromOpenSSH === RUN TestFromOpenSSH/rsa ssh_key_test.go:302: cmd /usr/bin/ssh-keygen -Y sign -n file -f /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHrsa2722680185/001/id /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHrsa2722680185/001/data: Signing file /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHrsa2722680185/001/data Write signature to /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHrsa2722680185/001/data.sig === RUN TestFromOpenSSH/ed25519 ssh_key_test.go:302: cmd /usr/bin/ssh-keygen -Y sign -n file -f /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHed25519753818963/001/id /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHed25519753818963/001/data: Signing file /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHed25519753818963/001/data Write signature to /home/buildozer/aports/community/gitea/tmp/TestFromOpenSSHed25519753818963/001/data.sig --- PASS: TestFromOpenSSH (0.04s) --- PASS: TestFromOpenSSH/rsa (0.02s) --- PASS: TestFromOpenSSH/ed25519 (0.01s) === RUN TestToOpenSSH === RUN TestToOpenSSH/rsa ssh_key_test.go:366: cmd /usr/bin/ssh-keygen -Y verify -f /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHrsa3535810811/001/allowed_signer -I test@rekor.dev -n file -s /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHrsa3535810811/001/oursig: Good "file" signature for test@rekor.dev with RSA key SHA256:IkDRT/GXJRFrSruMf8F+ilGMaW+kFf2D4quUApK8p6E ssh_key_test.go:370: cmd /usr/bin/ssh-keygen -Y verify -f /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHrsa3535810811/001/allowed_signer -I othertest@rekor.dev -n file -s /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHrsa3535810811/001/oursig: Could not verify signature. ssh_key_test.go:375: cmd /usr/bin/ssh-keygen -Y check-novalidate -n file -s /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHrsa3535810811/001/oursig: Signature verification failed: incorrect signature Could not verify signature. === RUN TestToOpenSSH/ed25519 ssh_key_test.go:366: cmd /usr/bin/ssh-keygen -Y verify -f /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHed255192657349792/001/allowed_signer -I test@rekor.dev -n file -s /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHed255192657349792/001/oursig: Good "file" signature for test@rekor.dev with ED25519 key SHA256:nTfAQgoE0o29gjmx7bF3pSliPLQ/UVdzeK2QFM4qEw4 ssh_key_test.go:370: cmd /usr/bin/ssh-keygen -Y verify -f /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHed255192657349792/001/allowed_signer -I othertest@rekor.dev -n file -s /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHed255192657349792/001/oursig: Could not verify signature. ssh_key_test.go:375: cmd /usr/bin/ssh-keygen -Y check-novalidate -n file -s /home/buildozer/aports/community/gitea/tmp/TestToOpenSSHed255192657349792/001/oursig: Signature verification failed: incorrect signature Could not verify signature. --- PASS: TestToOpenSSH (0.23s) --- PASS: TestToOpenSSH/rsa (0.14s) --- PASS: TestToOpenSSH/ed25519 (0.09s) === RUN TestRoundTrip === RUN TestRoundTrip/rsa === RUN TestRoundTrip/ed25519 --- PASS: TestRoundTrip (0.09s) --- PASS: TestRoundTrip/rsa (0.04s) --- PASS: TestRoundTrip/ed25519 (0.00s) === RUN TestPublicKeysAreExternallyManaged --- PASS: TestPublicKeysAreExternallyManaged (0.01s) === RUN TestCheckPublicKeyStringOversized --- PASS: TestCheckPublicKeyStringOversized (0.00s) PASS ok gitea.dev/models/asymkey 1.534s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-640628506/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-640628506/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-640628506/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-640628506/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-640628506/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-640628506/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-640628506/data/actions_artifacts === RUN TestAccessTokenScope_Normalize === RUN TestAccessTokenScope_Normalize/#00 === RUN TestAccessTokenScope_Normalize/write:misc,write:notification,read:package,write:notification,public-only === RUN TestAccessTokenScope_Normalize/all === RUN TestAccessTokenScope_Normalize/write:activitypub,write:admin,write:misc,write:notification,write:organization,write:package,write:issue,write:repository,write:user === RUN TestAccessTokenScope_Normalize/write:activitypub,write:admin,write:misc,write:notification,write:organization,write:package,write:issue,write:repository,write:user,public-only === RUN TestAccessTokenScope_Normalize/read:activitypub === RUN TestAccessTokenScope_Normalize/write:activitypub === RUN TestAccessTokenScope_Normalize/write:activitypub,read:activitypub === RUN TestAccessTokenScope_Normalize/read:activitypub,write:activitypub === RUN TestAccessTokenScope_Normalize/read:activitypub,write:activitypub,write:activitypub === RUN TestAccessTokenScope_Normalize/read:admin === RUN TestAccessTokenScope_Normalize/write:admin === RUN TestAccessTokenScope_Normalize/write:admin,read:admin === RUN TestAccessTokenScope_Normalize/read:admin,write:admin === RUN TestAccessTokenScope_Normalize/read:admin,write:admin,write:admin === RUN TestAccessTokenScope_Normalize/read:issue === RUN TestAccessTokenScope_Normalize/write:issue === RUN TestAccessTokenScope_Normalize/write:issue,read:issue === RUN TestAccessTokenScope_Normalize/read:issue,write:issue === RUN TestAccessTokenScope_Normalize/read:issue,write:issue,write:issue === RUN TestAccessTokenScope_Normalize/read:misc === RUN TestAccessTokenScope_Normalize/write:misc === RUN TestAccessTokenScope_Normalize/write:misc,read:misc === RUN TestAccessTokenScope_Normalize/read:misc,write:misc === RUN TestAccessTokenScope_Normalize/read:misc,write:misc,write:misc === RUN TestAccessTokenScope_Normalize/read:notification === RUN TestAccessTokenScope_Normalize/write:notification === RUN TestAccessTokenScope_Normalize/write:notification,read:notification === RUN TestAccessTokenScope_Normalize/read:notification,write:notification === RUN TestAccessTokenScope_Normalize/read:notification,write:notification,write:notification === RUN TestAccessTokenScope_Normalize/read:organization === RUN TestAccessTokenScope_Normalize/write:organization === RUN TestAccessTokenScope_Normalize/write:organization,read:organization === RUN TestAccessTokenScope_Normalize/read:organization,write:organization === RUN TestAccessTokenScope_Normalize/read:organization,write:organization,write:organization === RUN TestAccessTokenScope_Normalize/read:package === RUN TestAccessTokenScope_Normalize/write:package === RUN TestAccessTokenScope_Normalize/write:package,read:package === RUN TestAccessTokenScope_Normalize/read:package,write:package === RUN TestAccessTokenScope_Normalize/read:package,write:package,write:package === RUN TestAccessTokenScope_Normalize/read:repository === RUN TestAccessTokenScope_Normalize/write:repository === RUN TestAccessTokenScope_Normalize/write:repository,read:repository === RUN TestAccessTokenScope_Normalize/read:repository,write:repository === RUN TestAccessTokenScope_Normalize/read:repository,write:repository,write:repository === RUN TestAccessTokenScope_Normalize/read:user === RUN TestAccessTokenScope_Normalize/write:user === RUN TestAccessTokenScope_Normalize/write:user,read:user === RUN TestAccessTokenScope_Normalize/read:user,write:user === RUN TestAccessTokenScope_Normalize/read:user,write:user,write:user --- PASS: TestAccessTokenScope_Normalize (0.00s) --- PASS: TestAccessTokenScope_Normalize/#00 (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:misc,write:notification,read:package,write:notification,public-only (0.00s) --- PASS: TestAccessTokenScope_Normalize/all (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:activitypub,write:admin,write:misc,write:notification,write:organization,write:package,write:issue,write:repository,write:user (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:activitypub,write:admin,write:misc,write:notification,write:organization,write:package,write:issue,write:repository,write:user,public-only (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:activitypub (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:activitypub (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:activitypub,read:activitypub (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:activitypub,write:activitypub (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:activitypub,write:activitypub,write:activitypub (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:admin (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:admin (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:admin,read:admin (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:admin,write:admin (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:admin,write:admin,write:admin (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:issue (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:issue (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:issue,read:issue (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:issue,write:issue (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:issue,write:issue,write:issue (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:misc (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:misc (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:misc,read:misc (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:misc,write:misc (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:misc,write:misc,write:misc (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:notification (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:notification (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:notification,read:notification (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:notification,write:notification (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:notification,write:notification,write:notification (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:organization (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:organization (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:organization,read:organization (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:organization,write:organization (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:organization,write:organization,write:organization (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:package (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:package (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:package,read:package (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:package,write:package (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:package,write:package,write:package (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:repository (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:repository (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:repository,read:repository (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:repository,write:repository (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:repository,write:repository,write:repository (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:user (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:user (0.00s) --- PASS: TestAccessTokenScope_Normalize/write:user,read:user (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:user,write:user (0.00s) --- PASS: TestAccessTokenScope_Normalize/read:user,write:user,write:user (0.00s) === RUN TestAccessTokenScope_HasScope === RUN TestAccessTokenScope_HasScope/read:admin === RUN TestAccessTokenScope_HasScope/all === RUN TestAccessTokenScope_HasScope/write:package === RUN TestAccessTokenScope_HasScope/public-only === RUN TestAccessTokenScope_HasScope/read:activitypub === RUN TestAccessTokenScope_HasScope/write:activitypub === RUN TestAccessTokenScope_HasScope/write:activitypub#01 === RUN TestAccessTokenScope_HasScope/read:activitypub#01 === RUN TestAccessTokenScope_HasScope/read:admin#01 === RUN TestAccessTokenScope_HasScope/write:admin === RUN TestAccessTokenScope_HasScope/write:admin#01 === RUN TestAccessTokenScope_HasScope/read:admin#02 === RUN TestAccessTokenScope_HasScope/read:issue === RUN TestAccessTokenScope_HasScope/write:issue === RUN TestAccessTokenScope_HasScope/write:issue#01 === RUN TestAccessTokenScope_HasScope/read:issue#01 === RUN TestAccessTokenScope_HasScope/read:misc === RUN TestAccessTokenScope_HasScope/write:misc === RUN TestAccessTokenScope_HasScope/write:misc#01 === RUN TestAccessTokenScope_HasScope/read:misc#01 === RUN TestAccessTokenScope_HasScope/read:notification === RUN TestAccessTokenScope_HasScope/write:notification === RUN TestAccessTokenScope_HasScope/write:notification#01 === RUN TestAccessTokenScope_HasScope/read:notification#01 === RUN TestAccessTokenScope_HasScope/read:organization === RUN TestAccessTokenScope_HasScope/write:organization === RUN TestAccessTokenScope_HasScope/write:organization#01 === RUN TestAccessTokenScope_HasScope/read:organization#01 === RUN TestAccessTokenScope_HasScope/read:package === RUN TestAccessTokenScope_HasScope/write:package#01 === RUN TestAccessTokenScope_HasScope/write:package#02 === RUN TestAccessTokenScope_HasScope/read:package#01 === RUN TestAccessTokenScope_HasScope/read:repository === RUN TestAccessTokenScope_HasScope/write:repository === RUN TestAccessTokenScope_HasScope/write:repository#01 === RUN TestAccessTokenScope_HasScope/read:repository#01 === RUN TestAccessTokenScope_HasScope/read:user === RUN TestAccessTokenScope_HasScope/write:user === RUN TestAccessTokenScope_HasScope/write:user#01 === RUN TestAccessTokenScope_HasScope/read:user#01 --- PASS: TestAccessTokenScope_HasScope (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:admin (0.00s) --- PASS: TestAccessTokenScope_HasScope/all (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:package (0.00s) --- PASS: TestAccessTokenScope_HasScope/public-only (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:activitypub (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:activitypub (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:activitypub#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:activitypub#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:admin#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:admin (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:admin#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:admin#02 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:issue (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:issue (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:issue#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:issue#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:misc (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:misc (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:misc#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:misc#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:notification (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:notification (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:notification#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:notification#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:organization (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:organization (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:organization#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:organization#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:package (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:package#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:package#02 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:package#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:repository (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:repository (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:repository#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:repository#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:user (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:user (0.00s) --- PASS: TestAccessTokenScope_HasScope/write:user#01 (0.00s) --- PASS: TestAccessTokenScope_HasScope/read:user#01 (0.00s) === RUN TestAccessTokenScope_EnforcePublicOnlyFrom === RUN TestAccessTokenScope_EnforcePublicOnlyFrom/write:user,public-only->write:user === RUN TestAccessTokenScope_EnforcePublicOnlyFrom/public-only->public-only,read:user === RUN TestAccessTokenScope_EnforcePublicOnlyFrom/write:user->write:user === RUN TestAccessTokenScope_EnforcePublicOnlyFrom/all->all --- PASS: TestAccessTokenScope_EnforcePublicOnlyFrom (0.00s) --- PASS: TestAccessTokenScope_EnforcePublicOnlyFrom/write:user,public-only->write:user (0.00s) --- PASS: TestAccessTokenScope_EnforcePublicOnlyFrom/public-only->public-only,read:user (0.00s) --- PASS: TestAccessTokenScope_EnforcePublicOnlyFrom/write:user->write:user (0.00s) --- PASS: TestAccessTokenScope_EnforcePublicOnlyFrom/all->all (0.00s) === RUN TestNewAccessToken --- PASS: TestNewAccessToken (0.20s) === RUN TestAccessTokenByNameExists --- PASS: TestAccessTokenByNameExists (0.02s) === RUN TestGetAccessTokenBySHA --- PASS: TestGetAccessTokenBySHA (0.02s) === RUN TestListAccessTokens --- PASS: TestListAccessTokens (0.00s) === RUN TestUpdateAccessToken --- PASS: TestUpdateAccessToken (0.02s) === RUN TestDeleteAccessTokenByID --- PASS: TestDeleteAccessTokenByID (0.02s) === RUN TestOAuth2AuthorizationCode === RUN TestOAuth2AuthorizationCode/GenerateSetsValidUntil === RUN TestOAuth2AuthorizationCode/Expired === RUN TestOAuth2AuthorizationCode/Invalidate --- PASS: TestOAuth2AuthorizationCode (0.00s) --- PASS: TestOAuth2AuthorizationCode/GenerateSetsValidUntil (0.00s) --- PASS: TestOAuth2AuthorizationCode/Expired (0.00s) --- PASS: TestOAuth2AuthorizationCode/Invalidate (0.00s) === RUN TestOAuth2Application_GenerateClientSecret --- PASS: TestOAuth2Application_GenerateClientSecret (0.13s) === RUN TestOAuth2Application_ContainsRedirectURI --- PASS: TestOAuth2Application_ContainsRedirectURI (0.00s) === RUN TestOAuth2Application_ContainsRedirectURI_WithPort --- PASS: TestOAuth2Application_ContainsRedirectURI_WithPort (0.00s) === RUN TestOAuth2Application_ContainsRedirect_Slash --- PASS: TestOAuth2Application_ContainsRedirect_Slash (0.00s) === RUN TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization === RUN TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/exact-match === RUN TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/ascii-case-insensitive === RUN TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/non-ascii-not-folded === RUN TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/loopback-strips-port --- PASS: TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization (0.00s) --- PASS: TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/exact-match (0.00s) --- PASS: TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/ascii-case-insensitive (0.00s) --- PASS: TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/non-ascii-not-folded (0.00s) --- PASS: TestOAuth2Application_ContainsRedirectURI_ASCIIOnlyNormalization/loopback-strips-port (0.00s) === RUN TestOAuth2Application_ValidateClientSecret --- PASS: TestOAuth2Application_ValidateClientSecret (0.32s) === RUN TestGetOAuth2ApplicationByClientID --- PASS: TestGetOAuth2ApplicationByClientID (0.00s) === RUN TestCreateOAuth2Application --- PASS: TestCreateOAuth2Application (0.00s) === RUN TestOAuth2Application_TableName --- PASS: TestOAuth2Application_TableName (0.00s) === RUN TestOAuth2Application_GetGrantByUserID --- PASS: TestOAuth2Application_GetGrantByUserID (0.00s) === RUN TestOAuth2Application_CreateGrant --- PASS: TestOAuth2Application_CreateGrant (0.00s) === RUN TestGetOAuth2GrantByID --- PASS: TestGetOAuth2GrantByID (0.00s) === RUN TestOAuth2Grant_IncreaseCounter --- PASS: TestOAuth2Grant_IncreaseCounter (0.00s) === RUN TestOAuth2Grant_IncreaseCounterRejectsStaleCounter --- PASS: TestOAuth2Grant_IncreaseCounterRejectsStaleCounter (0.00s) === RUN TestOAuth2Grant_ScopeContains --- PASS: TestOAuth2Grant_ScopeContains (0.00s) === RUN TestOAuth2Grant_GenerateNewAuthorizationCode --- PASS: TestOAuth2Grant_GenerateNewAuthorizationCode (0.00s) === RUN TestOAuth2Grant_TableName --- PASS: TestOAuth2Grant_TableName (0.00s) === RUN TestGetOAuth2GrantsByUserID --- PASS: TestGetOAuth2GrantsByUserID (0.00s) === RUN TestRevokeOAuth2Grant --- PASS: TestRevokeOAuth2Grant (0.00s) === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/plain-success === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/plain-failure === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/s256-success === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/s256-failure === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/unsupported-method === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/no-pkce-configured === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/s256-missing-verifier === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/plain-missing-verifier === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/missing-method-with-challenge === RUN TestOAuth2AuthorizationCode_ValidateCodeChallenge/missing-method-rejects-even-matching-verifier --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/plain-success (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/plain-failure (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/s256-success (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/s256-failure (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/unsupported-method (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/no-pkce-configured (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/s256-missing-verifier (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/plain-missing-verifier (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/missing-method-with-challenge (0.00s) --- PASS: TestOAuth2AuthorizationCode_ValidateCodeChallenge/missing-method-rejects-even-matching-verifier (0.00s) === RUN TestOAuth2AuthorizationCode_GenerateRedirectURI --- PASS: TestOAuth2AuthorizationCode_GenerateRedirectURI (0.00s) === RUN TestOAuth2AuthorizationCode_TableName --- PASS: TestOAuth2AuthorizationCode_TableName (0.00s) === RUN TestDumpAuthSource --- PASS: TestDumpAuthSource (0.00s) === RUN TestTwoFactorValidateAndConsumeTOTP --- PASS: TestTwoFactorValidateAndConsumeTOTP (0.00s) === RUN TestGetWebAuthnCredentialByID --- PASS: TestGetWebAuthnCredentialByID (0.00s) === RUN TestGetWebAuthnCredentialsByUID --- PASS: TestGetWebAuthnCredentialsByUID (0.00s) === RUN TestWebAuthnCredential_TableName --- PASS: TestWebAuthnCredential_TableName (0.00s) === RUN TestWebAuthnCredential_UpdateSignCount --- PASS: TestWebAuthnCredential_UpdateSignCount (0.00s) === RUN TestWebAuthnCredential_UpdateLargeCounter --- PASS: TestWebAuthnCredential_UpdateLargeCounter (0.00s) === RUN TestCreateCredential --- PASS: TestCreateCredential (0.00s) PASS ok gitea.dev/models/auth 1.358s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4262147848/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4262147848/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4262147848/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4262147848/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4262147848/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4262147848/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4262147848/data/actions_artifacts === RUN TestHashEmail --- PASS: TestHashEmail (0.00s) === RUN TestSizedAvatarLink --- PASS: TestSizedAvatarLink (0.00s) PASS ok gitea.dev/models/avatars 0.540s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2826669835/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2826669835/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2826669835/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2826669835/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2826669835/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2826669835/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2826669835/data/actions_artifacts === RUN TestParsePgSQLHostPort === RUN TestParsePgSQLHostPort/host-port conn_test.go:51: 127.0.0.1:1234 === RUN TestParsePgSQLHostPort/no-port conn_test.go:51: 127.0.0.1 === RUN TestParsePgSQLHostPort/ipv6-port conn_test.go:51: [::1]:1234 === RUN TestParsePgSQLHostPort/ipv6-no-port conn_test.go:51: [::1] === RUN TestParsePgSQLHostPort/unix-socket conn_test.go:51: /tmp/pg.sock:1234 === RUN TestParsePgSQLHostPort/unix-socket-no-port conn_test.go:51: /tmp/pg.sock --- PASS: TestParsePgSQLHostPort (0.00s) --- PASS: TestParsePgSQLHostPort/host-port (0.00s) --- PASS: TestParsePgSQLHostPort/no-port (0.00s) --- PASS: TestParsePgSQLHostPort/ipv6-port (0.00s) --- PASS: TestParsePgSQLHostPort/ipv6-no-port (0.00s) --- PASS: TestParsePgSQLHostPort/unix-socket (0.00s) --- PASS: TestParsePgSQLHostPort/unix-socket-no-port (0.00s) === RUN TestMakePgSQLConnStr --- PASS: TestMakePgSQLConnStr (0.00s) === RUN Test_halfCommitter === RUN Test_halfCommitter/commit_and_close === RUN Test_halfCommitter/rollback_and_close === RUN Test_halfCommitter/close_and_commit --- PASS: Test_halfCommitter (0.00s) --- PASS: Test_halfCommitter/commit_and_close (0.00s) --- PASS: Test_halfCommitter/rollback_and_close (0.00s) --- PASS: Test_halfCommitter/close_and_commit (0.00s) === RUN TestInTransaction --- PASS: TestInTransaction (0.18s) === RUN TestTxContext --- PASS: TestTxContext (0.00s) === RUN TestContextSafety === RUN TestContextSafety/Show-XORM-Bug === RUN TestContextSafety/DenyBadUsage --- PASS: TestContextSafety (0.01s) --- PASS: TestContextSafety/Show-XORM-Bug (0.00s) --- PASS: TestContextSafety/DenyBadUsage (0.00s) === RUN TestDumpDatabase --- PASS: TestDumpDatabase (0.47s) === RUN TestDeleteOrphanedObjects --- PASS: TestDeleteOrphanedObjects (0.00s) === RUN TestPrimaryKeys --- PASS: TestPrimaryKeys (0.00s) === RUN TestSyncMaxResourceIndex --- PASS: TestSyncMaxResourceIndex (0.01s) === RUN TestGetNextResourceIndex --- PASS: TestGetNextResourceIndex (0.04s) === RUN TestIterate --- PASS: TestIterate (0.02s) === RUN TestFind --- PASS: TestFind (0.00s) PASS ok gitea.dev/models/db 1.334s ? gitea.dev/models/db/install [no test files] 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3660028636/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3660028636/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3660028636/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3660028636/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3660028636/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3660028636/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3660028636/data/actions_artifacts === RUN TestPaginator --- PASS: TestPaginator (0.00s) PASS ok gitea.dev/models/db/paginator 0.386s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2884499938/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2884499938/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2884499938/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2884499938/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2884499938/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2884499938/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2884499938/data/actions_artifacts === RUN TestDbfsBasic === RUN TestDbfsBasic/NonExisting === RUN TestDbfsBasic/Existing --- PASS: TestDbfsBasic (0.03s) --- PASS: TestDbfsBasic/NonExisting (0.00s) --- PASS: TestDbfsBasic/Existing (0.00s) === RUN TestDbfsReadWrite --- PASS: TestDbfsReadWrite (0.01s) === RUN TestDbfsSeekWrite --- PASS: TestDbfsSeekWrite (0.01s) PASS ok gitea.dev/models/dbfs 0.412s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3700100125/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3700100125/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3700100125/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3700100125/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3700100125/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3700100125/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3700100125/data/actions_artifacts === RUN TestGetLFSLockByIDAndRepo --- PASS: TestGetLFSLockByIDAndRepo (0.15s) === RUN TestDeleteLFSLockByIDRequiresRepoMatch --- PASS: TestDeleteLFSLockByIDRequiresRepoMatch (0.01s) === RUN TestBranchRuleMatchPriority --- PASS: TestBranchRuleMatchPriority (0.00s) === RUN TestBranchRuleSortLegacy --- PASS: TestBranchRuleSortLegacy (0.00s) === RUN TestBranchRuleSortPriority --- PASS: TestBranchRuleSortPriority (0.00s) === RUN TestBranchRuleMatch --- PASS: TestBranchRuleMatch (0.00s) === RUN TestUpdateProtectBranchPriorities --- PASS: TestUpdateProtectBranchPriorities (0.01s) === RUN TestNewProtectBranchPriority --- PASS: TestNewProtectBranchPriority (0.01s) === RUN TestCanBypassBranchProtection --- PASS: TestCanBypassBranchProtection (0.00s) === RUN TestAddDeletedBranch --- PASS: TestAddDeletedBranch (0.01s) === RUN TestGetDeletedBranches --- PASS: TestGetDeletedBranches (0.00s) === RUN TestGetDeletedBranch --- PASS: TestGetDeletedBranch (0.01s) === RUN TestFindRecentlyPushedNewBranchesUsesPushTime --- PASS: TestFindRecentlyPushedNewBranchesUsesPushTime (0.01s) === RUN TestDeletedBranchLoadUser --- PASS: TestDeletedBranchLoadUser (0.01s) === RUN TestRemoveDeletedBranch --- PASS: TestRemoveDeletedBranch (0.01s) === RUN TestFindRenamedBranch --- PASS: TestFindRenamedBranch (0.00s) === RUN TestRenameBranch --- PASS: TestRenameBranch (0.01s) === RUN TestRenameBranchProtectedRuleConflict --- PASS: TestRenameBranchProtectedRuleConflict (0.02s) === RUN TestOnlyGetDeletedBranchOnCorrectRepo --- PASS: TestOnlyGetDeletedBranchOnCorrectRepo (0.00s) === RUN TestCountBranches --- PASS: TestCountBranches (0.00s) === RUN TestGetCommitStatuses --- PASS: TestGetCommitStatuses (0.02s) === RUN Test_CalcCommitStatus --- PASS: Test_CalcCommitStatus (0.00s) === RUN TestFindRepoRecentCommitStatusContexts --- PASS: TestFindRepoRecentCommitStatusContexts (0.01s) === RUN TestCommitStatusesHideActionsURL --- PASS: TestCommitStatusesHideActionsURL (0.00s) === RUN TestGetCountLatestCommitStatus --- PASS: TestGetCountLatestCommitStatus (0.00s) === RUN TestIterateLFSMetaObjectsForRepoUpdatesDoNotSkip --- PASS: TestIterateLFSMetaObjectsForRepoUpdatesDoNotSkip (0.00s) === RUN TestIsUserAllowed --- PASS: TestIsUserAllowed (0.00s) === RUN TestIsUserAllowedToControlTag === RUN TestIsUserAllowedToControlTag/Glob === RUN TestIsUserAllowedToControlTag/Regex --- PASS: TestIsUserAllowedToControlTag (0.00s) --- PASS: TestIsUserAllowedToControlTag/Glob (0.00s) --- PASS: TestIsUserAllowedToControlTag/Regex (0.00s) PASS ok gitea.dev/models/git 1.040s ? gitea.dev/models/gituser [no test files] 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4035866148/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4035866148/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4035866148/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4035866148/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4035866148/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4035866148/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4035866148/data/actions_artifacts === RUN TestUpdateAssignee --- PASS: TestUpdateAssignee (0.25s) === RUN TestMakeIDsFromAPIAssigneesToAdd --- PASS: TestMakeIDsFromAPIAssigneesToAdd (0.01s) === RUN TestCreateComment --- PASS: TestCreateComment (0.01s) === RUN TestLoadAssigneeUserAndTeam_DeletedTeamBecomesGhostTeam --- PASS: TestLoadAssigneeUserAndTeam_DeletedTeamBecomesGhostTeam (0.00s) === RUN Test_UpdateCommentAttachment --- PASS: Test_UpdateCommentAttachment (0.00s) === RUN TestFetchCodeComments --- PASS: TestFetchCodeComments (0.04s) === RUN TestAsCommentType --- PASS: TestAsCommentType (0.00s) === RUN TestMigrate_InsertIssueComments --- PASS: TestMigrate_InsertIssueComments (0.03s) === RUN Test_UpdateIssueNumComments --- PASS: Test_UpdateIssueNumComments (0.01s) === RUN TestContentHistory [xorm] [warn] 2026/08/11 22:30:47.080126 Table user Column name db nullable is false, struct nullable is true --- PASS: TestContentHistory (0.03s) === RUN TestHasIssueContentHistoryForCommentOnly --- PASS: TestHasIssueContentHistoryForCommentOnly (0.00s) === RUN TestCreateIssueDependency --- PASS: TestCreateIssueDependency (0.03s) === RUN TestNewIssueLabelsScope --- PASS: TestNewIssueLabelsScope (0.04s) === RUN TestIssueList_LoadRepositories --- PASS: TestIssueList_LoadRepositories (0.01s) === RUN TestIssueList_LoadIsRead --- PASS: TestIssueList_LoadIsRead (0.01s) === RUN TestIssueList_LoadAttributes --- PASS: TestIssueList_LoadAttributes (0.06s) === RUN TestIssueMultipleProjects === RUN TestIssueMultipleProjects/GeneralTest === RUN TestIssueMultipleProjects/QueryByMultipleProjectIDs --- PASS: TestIssueMultipleProjects (0.05s) --- PASS: TestIssueMultipleProjects/GeneralTest (0.03s) --- PASS: TestIssueMultipleProjects/QueryByMultipleProjectIDs (0.02s) === RUN TestIssue_ReplaceLabels --- PASS: TestIssue_ReplaceLabels (0.07s) === RUN Test_GetIssueIDsByRepoID --- PASS: Test_GetIssueIDsByRepoID (0.00s) === RUN TestIssueAPIURL --- PASS: TestIssueAPIURL (0.01s) === RUN TestGetIssuesByIDs --- PASS: TestGetIssuesByIDs (0.00s) === RUN TestGetParticipantIDsByIssue --- PASS: TestGetParticipantIDsByIssue (0.00s) === RUN TestIssue_ClearLabels --- PASS: TestIssue_ClearLabels (0.02s) === RUN TestUpdateIssueCols --- PASS: TestUpdateIssueCols (0.00s) === RUN TestIssues --- PASS: TestIssues (0.07s) === RUN TestIssue_loadTotalTimes --- PASS: TestIssue_loadTotalTimes (0.00s) === RUN TestIssue_InsertIssue === RUN TestIssue_InsertIssue/my_issue1 === RUN TestIssue_InsertIssue/my_issue2,_this_is_my_son's_love_\n_\r_\_ --- PASS: TestIssue_InsertIssue (0.01s) --- PASS: TestIssue_InsertIssue/my_issue1 (0.01s) --- PASS: TestIssue_InsertIssue/my_issue2,_this_is_my_son's_love_\n_\r_\_ (0.01s) === RUN TestIssue_ResolveMentions --- PASS: TestIssue_ResolveMentions (0.04s) === RUN TestResourceIndex === RUN TestResourceIndex/issue_10 === RUN TestResourceIndex/issue_4 === RUN TestResourceIndex/issue_1 === RUN TestResourceIndex/issue_7 === RUN TestResourceIndex/issue_5 === RUN TestResourceIndex/issue_6 === RUN TestResourceIndex/issue_2 === RUN TestResourceIndex/issue_3 === RUN TestResourceIndex/issue_8 === RUN TestResourceIndex/issue_9 --- PASS: TestResourceIndex (0.23s) --- PASS: TestResourceIndex/issue_10 (0.08s) --- PASS: TestResourceIndex/issue_8 (0.09s) --- PASS: TestResourceIndex/issue_9 (0.11s) --- PASS: TestResourceIndex/issue_1 (0.12s) --- PASS: TestResourceIndex/issue_3 (0.13s) --- PASS: TestResourceIndex/issue_2 (0.13s) --- PASS: TestResourceIndex/issue_6 (0.15s) --- PASS: TestResourceIndex/issue_5 (0.16s) --- PASS: TestResourceIndex/issue_7 (0.18s) --- PASS: TestResourceIndex/issue_4 (0.23s) === RUN TestCorrectIssueStats === RUN TestCorrectIssueStats/Issue_1 === RUN TestCorrectIssueStats/Issue_2 === RUN TestCorrectIssueStats/Issue_3 === RUN TestCorrectIssueStats/Issue_4 === RUN TestCorrectIssueStats/Issue_5 === RUN TestCorrectIssueStats/Issue_6 === RUN TestCorrectIssueStats/Issue_7 === RUN TestCorrectIssueStats/Issue_8 === RUN TestCorrectIssueStats/Issue_9 === RUN TestCorrectIssueStats/Issue_10 === RUN TestCorrectIssueStats/Issue_11 === RUN TestCorrectIssueStats/Issue_12 === RUN TestCorrectIssueStats/Issue_13 === RUN TestCorrectIssueStats/Issue_14 === RUN TestCorrectIssueStats/Issue_15 === RUN TestCorrectIssueStats/Issue_16 === RUN TestCorrectIssueStats/Issue_17 === RUN TestCorrectIssueStats/Issue_18 === RUN TestCorrectIssueStats/Issue_19 === RUN TestCorrectIssueStats/Issue_20 === RUN TestCorrectIssueStats/Issue_21 === RUN TestCorrectIssueStats/Issue_22 === RUN TestCorrectIssueStats/Issue_23 === RUN TestCorrectIssueStats/Issue_24 === RUN TestCorrectIssueStats/Issue_25 === RUN TestCorrectIssueStats/Issue_26 === RUN TestCorrectIssueStats/Issue_27 === RUN TestCorrectIssueStats/Issue_28 === RUN TestCorrectIssueStats/Issue_29 === RUN TestCorrectIssueStats/Issue_30 === RUN TestCorrectIssueStats/Issue_31 === RUN TestCorrectIssueStats/Issue_32 === RUN TestCorrectIssueStats/Issue_33 === RUN TestCorrectIssueStats/Issue_34 === RUN TestCorrectIssueStats/Issue_35 --- PASS: TestCorrectIssueStats (0.33s) --- PASS: TestCorrectIssueStats/Issue_1 (0.01s) --- PASS: TestCorrectIssueStats/Issue_2 (0.02s) --- PASS: TestCorrectIssueStats/Issue_3 (0.01s) --- PASS: TestCorrectIssueStats/Issue_4 (0.02s) --- PASS: TestCorrectIssueStats/Issue_5 (0.01s) --- PASS: TestCorrectIssueStats/Issue_6 (0.01s) --- PASS: TestCorrectIssueStats/Issue_7 (0.01s) --- PASS: TestCorrectIssueStats/Issue_8 (0.01s) --- PASS: TestCorrectIssueStats/Issue_9 (0.01s) --- PASS: TestCorrectIssueStats/Issue_10 (0.01s) --- PASS: TestCorrectIssueStats/Issue_11 (0.01s) --- PASS: TestCorrectIssueStats/Issue_12 (0.01s) --- PASS: TestCorrectIssueStats/Issue_13 (0.01s) --- PASS: TestCorrectIssueStats/Issue_14 (0.01s) --- PASS: TestCorrectIssueStats/Issue_15 (0.01s) --- PASS: TestCorrectIssueStats/Issue_16 (0.01s) --- PASS: TestCorrectIssueStats/Issue_17 (0.01s) --- PASS: TestCorrectIssueStats/Issue_18 (0.01s) --- PASS: TestCorrectIssueStats/Issue_19 (0.01s) --- PASS: TestCorrectIssueStats/Issue_20 (0.01s) --- PASS: TestCorrectIssueStats/Issue_21 (0.01s) --- PASS: TestCorrectIssueStats/Issue_22 (0.02s) --- PASS: TestCorrectIssueStats/Issue_23 (0.01s) --- PASS: TestCorrectIssueStats/Issue_24 (0.01s) --- PASS: TestCorrectIssueStats/Issue_25 (0.01s) --- PASS: TestCorrectIssueStats/Issue_26 (0.01s) --- PASS: TestCorrectIssueStats/Issue_27 (0.01s) --- PASS: TestCorrectIssueStats/Issue_28 (0.01s) --- PASS: TestCorrectIssueStats/Issue_29 (0.01s) --- PASS: TestCorrectIssueStats/Issue_30 (0.01s) --- PASS: TestCorrectIssueStats/Issue_31 (0.01s) --- PASS: TestCorrectIssueStats/Issue_32 (0.01s) --- PASS: TestCorrectIssueStats/Issue_33 (0.01s) --- PASS: TestCorrectIssueStats/Issue_34 (0.01s) --- PASS: TestCorrectIssueStats/Issue_35 (0.01s) === RUN TestMilestoneList_LoadTotalTrackedTimes --- PASS: TestMilestoneList_LoadTotalTrackedTimes (0.02s) === RUN TestLoadTotalTrackedTime --- PASS: TestLoadTotalTrackedTime (0.00s) === RUN TestCountIssues --- PASS: TestCountIssues (0.00s) === RUN TestIssueLoadAttributes --- PASS: TestIssueLoadAttributes (0.02s) === RUN TestMigrate_CreateIssuesIsPullFalse --- PASS: TestMigrate_CreateIssuesIsPullFalse (0.00s) === RUN TestMigrate_CreateIssuesIsPullTrue --- PASS: TestMigrate_CreateIssuesIsPullTrue (0.01s) === RUN TestUpdateIssueAttachmentsCrossRepo --- PASS: TestUpdateIssueAttachmentsCrossRepo (0.01s) === RUN Test_NewIssueUsers --- PASS: Test_NewIssueUsers (0.00s) === RUN TestUpdateIssueUserByRead --- PASS: TestUpdateIssueUserByRead (0.01s) === RUN TestUpdateIssueUsersByMentions --- PASS: TestUpdateIssueUsersByMentions (0.01s) === RUN TestCreateOrUpdateIssueWatch --- PASS: TestCreateOrUpdateIssueWatch (0.00s) === RUN TestGetIssueWatch --- PASS: TestGetIssueWatch (0.00s) === RUN TestGetIssueWatchers --- PASS: TestGetIssueWatchers (0.00s) === RUN TestXRef_AddCrossReferences --- PASS: TestXRef_AddCrossReferences (0.09s) === RUN TestXRef_NeuterCrossReferences --- PASS: TestXRef_NeuterCrossReferences (0.05s) === RUN TestXRef_ResolveCrossReferences --- PASS: TestXRef_ResolveCrossReferences (0.05s) === RUN TestLabel_CalOpenIssues --- PASS: TestLabel_CalOpenIssues (0.01s) === RUN TestLabel_LoadSelectedLabelsAfterClick --- PASS: TestLabel_LoadSelectedLabelsAfterClick (0.00s) === RUN TestLabel_ExclusiveScope --- PASS: TestLabel_ExclusiveScope (0.00s) === RUN TestNewLabels --- PASS: TestNewLabels (0.08s) === RUN TestGetLabelByID --- PASS: TestGetLabelByID (0.00s) === RUN TestGetLabelInRepoByName --- PASS: TestGetLabelInRepoByName (0.00s) === RUN TestGetLabelInRepoByNames --- PASS: TestGetLabelInRepoByNames (0.00s) === RUN TestGetLabelInRepoByNamesDiscardsNonExistentLabels --- PASS: TestGetLabelInRepoByNamesDiscardsNonExistentLabels (0.00s) === RUN TestGetLabelInRepoByID --- PASS: TestGetLabelInRepoByID (0.00s) === RUN TestGetLabelsInRepoByIDs --- PASS: TestGetLabelsInRepoByIDs (0.00s) === RUN TestGetLabelsByRepoID --- PASS: TestGetLabelsByRepoID (0.00s) === RUN TestGetLabelInOrgByName --- PASS: TestGetLabelInOrgByName (0.00s) === RUN TestGetLabelInOrgByID --- PASS: TestGetLabelInOrgByID (0.00s) === RUN TestGetLabelsInOrgByIDs --- PASS: TestGetLabelsInOrgByIDs (0.00s) === RUN TestGetLabelsByOrgID --- PASS: TestGetLabelsByOrgID (0.00s) === RUN TestGetLabelsByIssueID --- PASS: TestGetLabelsByIssueID (0.00s) === RUN TestUpdateLabel --- PASS: TestUpdateLabel (0.07s) === RUN TestDeleteLabel --- PASS: TestDeleteLabel (0.08s) === RUN TestHasIssueLabel --- PASS: TestHasIssueLabel (0.00s) === RUN TestNewIssueLabel --- PASS: TestNewIssueLabel (0.01s) === RUN TestNewIssueExclusiveLabel --- PASS: TestNewIssueExclusiveLabel (0.01s) === RUN TestNewIssueLabels --- PASS: TestNewIssueLabels (0.02s) === RUN TestDeleteIssueLabel --- PASS: TestDeleteIssueLabel (0.02s) === RUN TestFixturesAreConsistent --- PASS: TestFixturesAreConsistent (0.02s) === RUN TestMilestone_State --- PASS: TestMilestone_State (0.00s) === RUN TestGetMilestoneByRepoID --- PASS: TestGetMilestoneByRepoID (0.00s) === RUN TestGetMilestonesByRepoID --- PASS: TestGetMilestonesByRepoID (0.00s) === RUN TestGetMilestones --- PASS: TestGetMilestones (0.01s) === RUN TestCountRepoMilestones --- PASS: TestCountRepoMilestones (0.00s) === RUN TestCountRepoClosedMilestones --- PASS: TestCountRepoClosedMilestones (0.00s) === RUN TestCountMilestonesByRepoIDs --- PASS: TestCountMilestonesByRepoIDs (0.00s) === RUN TestGetMilestonesByRepoIDs --- PASS: TestGetMilestonesByRepoIDs (0.01s) === RUN TestNewMilestone --- PASS: TestNewMilestone (0.06s) === RUN TestChangeMilestoneStatus --- PASS: TestChangeMilestoneStatus (0.13s) === RUN TestDeleteMilestoneByRepoID --- PASS: TestDeleteMilestoneByRepoID (0.06s) === RUN TestUpdateMilestone --- PASS: TestUpdateMilestone (0.01s) === RUN TestUpdateMilestoneCounters --- PASS: TestUpdateMilestoneCounters (0.00s) === RUN TestMigrate_InsertMilestones --- PASS: TestMigrate_InsertMilestones (0.00s) === RUN TestPullRequestList === RUN TestPullRequestList/LoadAttributes === RUN TestPullRequestList/LoadReviewCommentsCounts === RUN TestPullRequestList/LoadReviews === RUN TestPullRequestList/CanMaintainerWriteToBranch === RUN TestPullRequestList/CanMaintainerWriteToBranch/NoAllowMaintainerEdit === RUN TestPullRequestList/CanMaintainerWriteToBranch/WithAllowMaintainerEdit-HeadPosterReader === RUN TestPullRequestList/CanMaintainerWriteToBranch/WithAllowMaintainerEdit-HeadPosterWriter --- PASS: TestPullRequestList (0.03s) --- PASS: TestPullRequestList/LoadAttributes (0.00s) --- PASS: TestPullRequestList/LoadReviewCommentsCounts (0.00s) --- PASS: TestPullRequestList/LoadReviews (0.00s) --- PASS: TestPullRequestList/CanMaintainerWriteToBranch (0.03s) --- PASS: TestPullRequestList/CanMaintainerWriteToBranch/NoAllowMaintainerEdit (0.00s) --- PASS: TestPullRequestList/CanMaintainerWriteToBranch/WithAllowMaintainerEdit-HeadPosterReader (0.01s) --- PASS: TestPullRequestList/CanMaintainerWriteToBranch/WithAllowMaintainerEdit-HeadPosterWriter (0.01s) === RUN TestPullRequest === RUN TestPullRequest/LoadAttributes === RUN TestPullRequest/LoadIssue === RUN TestPullRequest/LoadBaseRepo === RUN TestPullRequest/LoadHeadRepo === RUN TestPullRequest/PullRequestsNewest === RUN TestPullRequest/PullRequestsOldest === RUN TestPullRequest/GetUnmergedPullRequest === RUN TestPullRequest/HasUnmergedPullRequestsByHeadInfo === RUN TestPullRequest/GetUnmergedPullRequestsByHeadInfo === RUN TestPullRequest/GetUnmergedPullRequestsByBaseInfo === RUN TestPullRequest/GetPullRequestByIndex === RUN TestPullRequest/GetPullRequestByID === RUN TestPullRequest/GetPullRequestByIssueID === RUN TestPullRequest/PullRequest_UpdateCols === RUN TestPullRequest/PullRequest_IsWorkInProgress === RUN TestPullRequest/PullRequest_GetWorkInProgressPrefixWorkInProgress === RUN TestPullRequest/DeleteOrphanedObjects === RUN TestPullRequest/ParseCodeOwnersLine === RUN TestPullRequest/CodeOwnerAbsolutePathPatterns === RUN TestPullRequest/CodeOwnerPatternMatchTimeout === RUN TestPullRequest/GetApprovers === RUN TestPullRequest/GetPullRequestByMergedCommit === RUN TestPullRequest/Migrate_InsertPullRequests === RUN TestPullRequest/PullRequestsClosedRecentSortType === RUN TestPullRequest/PullRequestsClosedRecentSortType/recentupdate === RUN TestPullRequest/PullRequestsClosedRecentSortType/recentclose === RUN TestPullRequest/LoadRequestedReviewers --- PASS: TestPullRequest (0.35s) --- PASS: TestPullRequest/LoadAttributes (0.00s) --- PASS: TestPullRequest/LoadIssue (0.00s) --- PASS: TestPullRequest/LoadBaseRepo (0.00s) --- PASS: TestPullRequest/LoadHeadRepo (0.00s) --- PASS: TestPullRequest/PullRequestsNewest (0.00s) --- PASS: TestPullRequest/PullRequestsOldest (0.00s) --- PASS: TestPullRequest/GetUnmergedPullRequest (0.00s) --- PASS: TestPullRequest/HasUnmergedPullRequestsByHeadInfo (0.00s) --- PASS: TestPullRequest/GetUnmergedPullRequestsByHeadInfo (0.00s) --- PASS: TestPullRequest/GetUnmergedPullRequestsByBaseInfo (0.00s) --- PASS: TestPullRequest/GetPullRequestByIndex (0.00s) --- PASS: TestPullRequest/GetPullRequestByID (0.00s) --- PASS: TestPullRequest/GetPullRequestByIssueID (0.00s) --- PASS: TestPullRequest/PullRequest_UpdateCols (0.00s) --- PASS: TestPullRequest/PullRequest_IsWorkInProgress (0.00s) --- PASS: TestPullRequest/PullRequest_GetWorkInProgressPrefixWorkInProgress (0.00s) --- PASS: TestPullRequest/DeleteOrphanedObjects (0.00s) --- PASS: TestPullRequest/ParseCodeOwnersLine (0.00s) --- PASS: TestPullRequest/CodeOwnerAbsolutePathPatterns (0.00s) --- PASS: TestPullRequest/CodeOwnerPatternMatchTimeout (0.30s) --- PASS: TestPullRequest/GetApprovers (0.00s) --- PASS: TestPullRequest/GetPullRequestByMergedCommit (0.00s) --- PASS: TestPullRequest/Migrate_InsertPullRequests (0.01s) --- PASS: TestPullRequest/PullRequestsClosedRecentSortType (0.00s) --- PASS: TestPullRequest/PullRequestsClosedRecentSortType/recentupdate (0.00s) --- PASS: TestPullRequest/PullRequestsClosedRecentSortType/recentclose (0.00s) --- PASS: TestPullRequest/LoadRequestedReviewers (0.01s) === RUN TestGetReviewByID --- PASS: TestGetReviewByID (0.00s) === RUN TestReview_LoadAttributes --- PASS: TestReview_LoadAttributes (0.00s) === RUN TestReview_LoadCodeComments --- PASS: TestReview_LoadCodeComments (0.00s) === RUN TestReviewType_Icon --- PASS: TestReviewType_Icon (0.00s) === RUN TestFindReviews --- PASS: TestFindReviews (0.00s) === RUN TestFindLatestReviews --- PASS: TestFindLatestReviews (0.00s) === RUN TestGetCurrentReview --- PASS: TestGetCurrentReview (0.00s) === RUN TestCreateReview --- PASS: TestCreateReview (0.00s) === RUN TestGetReviewersByIssueID --- PASS: TestGetReviewersByIssueID (0.01s) === RUN TestDismissReview --- PASS: TestDismissReview (0.00s) === RUN TestDeleteReview --- PASS: TestDeleteReview (0.00s) === RUN TestDeleteDismissedReview --- PASS: TestDeleteDismissedReview (0.01s) === RUN TestSubmitReviewClearsStaleReviewRequest --- PASS: TestSubmitReviewClearsStaleReviewRequest (0.01s) === RUN TestAddReviewRequest --- PASS: TestAddReviewRequest (0.01s) === RUN TestRecalculateReviewsOfficial --- PASS: TestRecalculateReviewsOfficial (0.02s) === RUN TestCancelStopwatch --- PASS: TestCancelStopwatch (0.00s) === RUN TestStopwatchExists --- PASS: TestStopwatchExists (0.00s) === RUN TestHasUserStopwatch --- PASS: TestHasUserStopwatch (0.00s) === RUN TestCreateOrStopIssueStopwatch --- PASS: TestCreateOrStopIssueStopwatch (0.01s) === RUN TestAddTime --- PASS: TestAddTime (0.01s) === RUN TestGetTrackedTimes --- PASS: TestGetTrackedTimes (0.00s) === RUN TestTotalTimesForEachUser --- PASS: TestTotalTimesForEachUser (0.00s) === RUN TestGetIssueTotalTrackedTime --- PASS: TestGetIssueTotalTrackedTime (0.00s) PASS ok gitea.dev/models/issues 3.305s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1896009164/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1896009164/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1896009164/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1896009164/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1896009164/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1896009164/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1896009164/data/actions_artifacts === RUN TestOrgList === RUN TestOrgList/CountOrganizations === RUN TestOrgList/FindOrgs === RUN TestOrgList/GetUserOrgsList === RUN TestOrgList/LoadOrgListTeams === RUN TestOrgList/DoerViewOtherVisibility --- PASS: TestOrgList (0.24s) --- PASS: TestOrgList/CountOrganizations (0.00s) --- PASS: TestOrgList/FindOrgs (0.00s) --- PASS: TestOrgList/GetUserOrgsList (0.00s) --- PASS: TestOrgList/LoadOrgListTeams (0.00s) --- PASS: TestOrgList/DoerViewOtherVisibility (0.00s) === RUN TestUser_IsOwnedBy 2026/08/11 22:30:46 .../organization/org_user.go:64:IsOrganizationOwner() [E] Organization does not have owner team: 2 --- PASS: TestUser_IsOwnedBy (0.00s) === RUN TestUser_IsOrgMember 2026/08/11 22:30:46 .../organization/org_user.go:64:IsOrganizationOwner() [E] Organization does not have owner team: 2 --- PASS: TestUser_IsOrgMember (0.00s) === RUN TestUser_GetTeam --- PASS: TestUser_GetTeam (0.00s) === RUN TestUser_GetOwnerTeam --- PASS: TestUser_GetOwnerTeam (0.00s) === RUN TestUser_GetTeams --- PASS: TestUser_GetTeams (0.00s) === RUN TestUser_GetMembers --- PASS: TestUser_GetMembers (0.00s) === RUN TestGetOrgByName --- PASS: TestGetOrgByName (0.00s) === RUN TestIsOrganizationOwner --- PASS: TestIsOrganizationOwner (0.00s) 2026/08/11 22:30:46 .../organization/org_user.go:64:IsOrganizationOwner() [E] Organization does not have owner team: 9223372036854775807 === RUN TestIsOrganizationMember --- PASS: TestIsOrganizationMember (0.00s) === RUN TestIsPublicMembership --- PASS: TestIsPublicMembership (0.00s) === RUN TestRestrictedUserOrgMembers === RUN TestRestrictedUserOrgMembers/restricted_user_sees_public_members_and_teammates === RUN TestRestrictedUserOrgMembers/restricted_user_sees_only_public_members_when_not_member === RUN TestRestrictedUserOrgMembers/non_logged_in_only_shows_public_members === RUN TestRestrictedUserOrgMembers/non_restricted_user_sees_all_members --- PASS: TestRestrictedUserOrgMembers (0.01s) --- PASS: TestRestrictedUserOrgMembers/restricted_user_sees_public_members_and_teammates (0.00s) --- PASS: TestRestrictedUserOrgMembers/restricted_user_sees_only_public_members_when_not_member (0.00s) --- PASS: TestRestrictedUserOrgMembers/non_logged_in_only_shows_public_members (0.00s) --- PASS: TestRestrictedUserOrgMembers/non_restricted_user_sees_all_members (0.00s) === RUN TestGetOrgUsersByOrgID --- PASS: TestGetOrgUsersByOrgID (0.00s) === RUN TestOrgMembersSearch === RUN TestOrgMembersSearch/match_by_username === RUN TestOrgMembersSearch/match_by_full_name === RUN TestOrgMembersSearch/private_email_hidden === RUN TestOrgMembersSearch/admin_can_search_private_email --- PASS: TestOrgMembersSearch (0.01s) --- PASS: TestOrgMembersSearch/match_by_username (0.00s) --- PASS: TestOrgMembersSearch/match_by_full_name (0.00s) --- PASS: TestOrgMembersSearch/private_email_hidden (0.00s) --- PASS: TestOrgMembersSearch/admin_can_search_private_email (0.00s) === RUN TestChangeOrgUserStatus --- PASS: TestChangeOrgUserStatus (0.00s) === RUN TestUser_GetUserTeamIDs --- PASS: TestUser_GetUserTeamIDs (0.00s) === RUN TestAccessibleReposEnv_CountRepos --- PASS: TestAccessibleReposEnv_CountRepos (0.01s) === RUN TestAccessibleReposEnv_RepoIDs --- PASS: TestAccessibleReposEnv_RepoIDs (0.01s) === RUN TestAccessibleReposEnv_MirrorRepos --- PASS: TestAccessibleReposEnv_MirrorRepos (0.03s) === RUN TestHasOrgVisibleTypePublic --- PASS: TestHasOrgVisibleTypePublic (0.04s) === RUN TestHasOrgVisibleTypeLimited --- PASS: TestHasOrgVisibleTypeLimited (0.05s) === RUN TestHasOrgVisibleTypePrivate --- PASS: TestHasOrgVisibleTypePrivate (0.04s) === RUN TestGetUsersWhoCanCreateOrgRepo --- PASS: TestGetUsersWhoCanCreateOrgRepo (0.02s) === RUN TestCanCreateOrgRepoByOwnerTeamWithoutFlag --- PASS: TestCanCreateOrgRepoByOwnerTeamWithoutFlag (0.00s) === RUN TestUser_RemoveOrgRepo --- PASS: TestUser_RemoveOrgRepo (0.18s) === RUN TestCreateOrganization --- PASS: TestCreateOrganization (0.10s) === RUN TestCreateOrganization2 --- PASS: TestCreateOrganization2 (0.09s) === RUN TestCreateOrganization3 --- PASS: TestCreateOrganization3 (0.04s) === RUN TestCreateOrganization4 --- PASS: TestCreateOrganization4 (0.05s) === RUN TestUserIsPublicMember === RUN TestUserIsPublicMember/UserId2IsPublicMemberOf3 === RUN TestUserIsPublicMember/UserId4IsPublicMemberOf3 === RUN TestUserIsPublicMember/UserId5IsPublicMemberOf6 === RUN TestUserIsPublicMember/UserId5IsPublicMemberOf7 --- PASS: TestUserIsPublicMember (0.00s) --- PASS: TestUserIsPublicMember/UserId2IsPublicMemberOf3 (0.00s) --- PASS: TestUserIsPublicMember/UserId4IsPublicMemberOf3 (0.00s) --- PASS: TestUserIsPublicMember/UserId5IsPublicMemberOf6 (0.00s) --- PASS: TestUserIsPublicMember/UserId5IsPublicMemberOf7 (0.00s) === RUN TestIsUserOrgOwner === RUN TestIsUserOrgOwner/UserId2IsOrgOwnerOf3 === RUN TestIsUserOrgOwner/UserId4IsOrgOwnerOf3 === RUN TestIsUserOrgOwner/UserId5IsOrgOwnerOf6 === RUN TestIsUserOrgOwner/UserId5IsOrgOwnerOf7 --- PASS: TestIsUserOrgOwner (0.00s) --- PASS: TestIsUserOrgOwner/UserId2IsOrgOwnerOf3 (0.00s) --- PASS: TestIsUserOrgOwner/UserId4IsOrgOwnerOf3 (0.00s) --- PASS: TestIsUserOrgOwner/UserId5IsOrgOwnerOf6 (0.00s) --- PASS: TestIsUserOrgOwner/UserId5IsOrgOwnerOf7 (0.00s) === RUN TestUserListIsPublicMember === RUN TestUserListIsPublicMember/IsPublicMemberOfOrgId3 === RUN TestUserListIsPublicMember/IsPublicMemberOfOrgId6 === RUN TestUserListIsPublicMember/IsPublicMemberOfOrgId7 === RUN TestUserListIsPublicMember/IsPublicMemberOfOrgId25 === RUN TestUserListIsPublicMember/IsPublicMemberOfOrgId22 --- PASS: TestUserListIsPublicMember (0.01s) --- PASS: TestUserListIsPublicMember/IsPublicMemberOfOrgId3 (0.00s) --- PASS: TestUserListIsPublicMember/IsPublicMemberOfOrgId6 (0.00s) --- PASS: TestUserListIsPublicMember/IsPublicMemberOfOrgId7 (0.00s) --- PASS: TestUserListIsPublicMember/IsPublicMemberOfOrgId25 (0.00s) --- PASS: TestUserListIsPublicMember/IsPublicMemberOfOrgId22 (0.00s) === RUN TestUserListIsUserOrgOwner === RUN TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId3 === RUN TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId6 === RUN TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId7 === RUN TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId25 === RUN TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId22 --- PASS: TestUserListIsUserOrgOwner (0.01s) --- PASS: TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId3 (0.00s) --- PASS: TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId6 (0.00s) --- PASS: TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId7 (0.00s) --- PASS: TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId25 (0.00s) --- PASS: TestUserListIsUserOrgOwner/IsUserOrgOwnerOfOrgId22 (0.00s) === RUN TestAddOrgUser --- PASS: TestAddOrgUser (0.05s) === RUN TestTeamInvite === RUN TestTeamInvite/MailExistsInTeam === RUN TestTeamInvite/CreateAndRemove --- PASS: TestTeamInvite (0.01s) --- PASS: TestTeamInvite/MailExistsInTeam (0.00s) --- PASS: TestTeamInvite/CreateAndRemove (0.00s) === RUN Test_GetTeamsByIDs --- PASS: Test_GetTeamsByIDs (0.00s) === RUN TestGetTeamsWithAccessToRepoUnit --- PASS: TestGetTeamsWithAccessToRepoUnit (0.00s) === RUN TestTeam_IsOwnerTeam --- PASS: TestTeam_IsOwnerTeam (0.00s) === RUN TestTeam_IsMember --- PASS: TestTeam_IsMember (0.00s) === RUN TestTeam_CanNonMemberReadMeta === RUN TestTeam_CanNonMemberReadMeta/public_team,_public_org,_member === RUN TestTeam_CanNonMemberReadMeta/public_team,_public_org,_outsider === RUN TestTeam_CanNonMemberReadMeta/public_team,_private_org,_org_member === RUN TestTeam_CanNonMemberReadMeta/public_team,_private_org,_outsider === RUN TestTeam_CanNonMemberReadMeta/limited_team,_org_member === RUN TestTeam_CanNonMemberReadMeta/limited_team,_outsider === RUN TestTeam_CanNonMemberReadMeta/private_team,_org_member === RUN TestTeam_CanNonMemberReadMeta/private_team,_outsider --- PASS: TestTeam_CanNonMemberReadMeta (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/public_team,_public_org,_member (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/public_team,_public_org,_outsider (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/public_team,_private_org,_org_member (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/public_team,_private_org,_outsider (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/limited_team,_org_member (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/limited_team,_outsider (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/private_team,_org_member (0.00s) --- PASS: TestTeam_CanNonMemberReadMeta/private_team,_outsider (0.00s) === RUN TestTeam_GetRepositories --- PASS: TestTeam_GetRepositories (0.00s) === RUN TestTeam_GetMembers --- PASS: TestTeam_GetMembers (0.00s) === RUN TestGetTeam --- PASS: TestGetTeam (0.00s) === RUN TestGetTeamByID --- PASS: TestGetTeamByID (0.00s) === RUN TestIsTeamMember --- PASS: TestIsTeamMember (0.00s) === RUN TestGetTeamMembers --- PASS: TestGetTeamMembers (0.00s) === RUN TestGetUserTeams --- PASS: TestGetUserTeams (0.01s) === RUN TestGetUserOrgTeams --- PASS: TestGetUserOrgTeams (0.00s) === RUN TestSearchTeamIncludeVisible --- PASS: TestSearchTeamIncludeVisible (0.00s) === RUN TestHasTeamRepo --- PASS: TestHasTeamRepo (0.01s) === RUN TestUsersInTeamsCount --- PASS: TestUsersInTeamsCount (0.00s) === RUN TestIsUsableTeamName --- PASS: TestIsUsableTeamName (0.00s) PASS ok gitea.dev/models/organization 1.638s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-121599582/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-121599582/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-121599582/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-121599582/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-121599582/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-121599582/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-121599582/data/actions_artifacts === RUN TestGetOrInsertBlobConcurrent --- PASS: TestGetOrInsertBlobConcurrent (0.14s) === RUN TestHasOwnerPackages --- PASS: TestHasOwnerPackages (0.00s) PASS ok gitea.dev/models/packages 0.882s ? gitea.dev/models/packages/alpine [no test files] ? gitea.dev/models/packages/arch [no test files] ? gitea.dev/models/packages/conan [no test files] ? gitea.dev/models/packages/conda [no test files] ? gitea.dev/models/packages/container [no test files] ? gitea.dev/models/packages/cran [no test files] ? gitea.dev/models/packages/debian [no test files] ? gitea.dev/models/packages/nuget [no test files] ? gitea.dev/models/packages/rpm [no test files] === RUN TestAccessMode --- PASS: TestAccessMode (0.00s) PASS ok gitea.dev/models/perm 0.007s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1705491787/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1705491787/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1705491787/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1705491787/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1705491787/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1705491787/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1705491787/data/actions_artifacts === RUN TestGetActionsUserRepoPermission === RUN TestGetActionsUserRepoPermission/SameRepo_Public === RUN TestGetActionsUserRepoPermission/SameRepo_Private === RUN TestGetActionsUserRepoPermission/CrossRepo_Denied_None === RUN TestGetActionsUserRepoPermission/ForkPR_NoCrossRepo === RUN TestGetActionsUserRepoPermission/CollaborativeOwner_ForkPR_Denied === RUN TestGetActionsUserRepoPermission/Inheritance_And_Clamping === RUN TestGetActionsUserRepoPermission/RepoOverride_Clamping --- PASS: TestGetActionsUserRepoPermission (0.28s) --- PASS: TestGetActionsUserRepoPermission/SameRepo_Public (0.01s) --- PASS: TestGetActionsUserRepoPermission/SameRepo_Private (0.02s) --- PASS: TestGetActionsUserRepoPermission/CrossRepo_Denied_None (0.02s) --- PASS: TestGetActionsUserRepoPermission/ForkPR_NoCrossRepo (0.01s) --- PASS: TestGetActionsUserRepoPermission/CollaborativeOwner_ForkPR_Denied (0.02s) --- PASS: TestGetActionsUserRepoPermission/Inheritance_And_Clamping (0.01s) --- PASS: TestGetActionsUserRepoPermission/RepoOverride_Clamping (0.01s) === RUN TestHasAnyUnitAccess --- PASS: TestHasAnyUnitAccess (0.00s) === RUN TestApplyPublicAccessRepoPermission --- PASS: TestApplyPublicAccessRepoPermission (0.00s) === RUN TestUnitAccessMode --- PASS: TestUnitAccessMode (0.00s) === RUN TestGetRepoPermission === RUN TestGetRepoPermission/GetIndividualUserRepoPermission === RUN TestGetRepoPermission/GetIndividualUserRepoPermission/DoerInTeamWithNoRepo === RUN TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithTeamUnitAccessNone === RUN TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithTeamUnitAccessWrite === RUN TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithNoopTeamOnPrivateRepo === RUN TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithReadIssueTeamOnPrivateRepo === RUN TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithReadIssueTeamAndWriteCollaboratorOnPrivateRepo === RUN TestGetRepoPermission/GetDoerRepoPermission --- PASS: TestGetRepoPermission (0.07s) --- PASS: TestGetRepoPermission/GetIndividualUserRepoPermission (0.04s) --- PASS: TestGetRepoPermission/GetIndividualUserRepoPermission/DoerInTeamWithNoRepo (0.01s) --- PASS: TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithTeamUnitAccessNone (0.00s) --- PASS: TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithTeamUnitAccessWrite (0.00s) --- PASS: TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithNoopTeamOnPrivateRepo (0.00s) --- PASS: TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithReadIssueTeamOnPrivateRepo (0.01s) --- PASS: TestGetRepoPermission/GetIndividualUserRepoPermission/DoerWithReadIssueTeamAndWriteCollaboratorOnPrivateRepo (0.00s) --- PASS: TestGetRepoPermission/GetDoerRepoPermission (0.02s) === RUN TestAccess === RUN TestAccess/AccessLevel === RUN TestAccess/HasAccess === RUN TestAccess/RecalculateAccesses === RUN TestAccess/RecalculateAccesses2 === RUN TestAccess/RecalculateAccessesUpdateMode === RUN TestAccess/RecalculateAccessesRemoveAccess --- PASS: TestAccess (0.14s) --- PASS: TestAccess/AccessLevel (0.06s) --- PASS: TestAccess/HasAccess (0.03s) --- PASS: TestAccess/RecalculateAccesses (0.02s) --- PASS: TestAccess/RecalculateAccesses2 (0.01s) --- PASS: TestAccess/RecalculateAccessesUpdateMode (0.00s) --- PASS: TestAccess/RecalculateAccessesRemoveAccess (0.00s) PASS ok gitea.dev/models/perm/access 1.102s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2938883878/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2938883878/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2938883878/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2938883878/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2938883878/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2938883878/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2938883878/data/actions_artifacts === RUN TestGetDefaultColumn --- PASS: TestGetDefaultColumn (0.06s) === RUN Test_moveIssuesToAnotherColumn --- PASS: Test_moveIssuesToAnotherColumn (0.00s) === RUN Test_MoveColumnsOnProject --- PASS: Test_MoveColumnsOnProject (0.00s) === RUN Test_NewColumn --- PASS: Test_NewColumn (0.02s) === RUN TestIsProjectTypeValid --- PASS: TestIsProjectTypeValid (0.00s) === RUN TestGetProjects --- PASS: TestGetProjects (0.00s) === RUN TestProject --- PASS: TestProject (0.01s) === RUN TestProjectsSort --- PASS: TestProjectsSort (0.01s) PASS ok gitea.dev/models/project 0.467s ? gitea.dev/models/pull [no test files] 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-270965589/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-270965589/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-270965589/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-270965589/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-270965589/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-270965589/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-270965589/data/actions_artifacts === RUN TestRepoComment === RUN TestRepoComment/AutoLink === RUN TestRepoComment/AbsoluteAndRelative === RUN TestRepoComment/WithCurrentRefSubURL === RUN TestRepoComment/NoRepo --- PASS: TestRepoComment (0.39s) --- PASS: TestRepoComment/AutoLink (0.05s) --- PASS: TestRepoComment/AbsoluteAndRelative (0.01s) --- PASS: TestRepoComment/WithCurrentRefSubURL (0.00s) --- PASS: TestRepoComment/NoRepo (0.00s) === RUN TestRepoFile === RUN TestRepoFile/AutoLink === RUN TestRepoFile/AbsoluteAndRelative === RUN TestRepoFile/WithCurrentRefSubURL === RUN TestRepoFile/WithCurrentRefSubURLByTag --- PASS: TestRepoFile (0.10s) --- PASS: TestRepoFile/AutoLink (0.00s) --- PASS: TestRepoFile/AbsoluteAndRelative (0.00s) --- PASS: TestRepoFile/WithCurrentRefSubURL (0.00s) --- PASS: TestRepoFile/WithCurrentRefSubURLByTag (0.00s) === RUN TestRepoFileOrgMode === RUN TestRepoFileOrgMode/Links === RUN TestRepoFileOrgMode/CodeHighlight --- PASS: TestRepoFileOrgMode (0.10s) --- PASS: TestRepoFileOrgMode/Links (0.00s) --- PASS: TestRepoFileOrgMode/CodeHighlight (0.01s) === RUN TestRepoWiki === RUN TestRepoWiki/AutoLink === RUN TestRepoWiki/AbsoluteAndRelative === RUN TestRepoWiki/PathInTag --- PASS: TestRepoWiki (0.06s) --- PASS: TestRepoWiki/AutoLink (0.00s) --- PASS: TestRepoWiki/AbsoluteAndRelative (0.00s) --- PASS: TestRepoWiki/PathInTag (0.00s) === RUN TestSimpleDocument --- PASS: TestSimpleDocument (0.10s) PASS ok gitea.dev/models/renderhelper 1.238s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2438569918/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2438569918/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2438569918/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2438569918/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2438569918/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2438569918/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2438569918/data/actions_artifacts === RUN TestArchiveType --- PASS: TestArchiveType (0.00s) === RUN TestRepoAvatarLink --- PASS: TestRepoAvatarLink (0.00s) === RUN TestDefaultTargetBranchSelection --- PASS: TestDefaultTargetBranchSelection (0.24s) === RUN TestPullRequestConfigFromDB === RUN TestPullRequestConfigFromDB/defaults === RUN TestPullRequestConfigFromDB/legacy_without_new_fields === RUN TestPullRequestConfigFromDB/empty_default_style --- PASS: TestPullRequestConfigFromDB (0.00s) --- PASS: TestPullRequestConfigFromDB/defaults (0.00s) --- PASS: TestPullRequestConfigFromDB/legacy_without_new_fields (0.00s) --- PASS: TestPullRequestConfigFromDB/empty_default_style (0.00s) === RUN TestPullRequestConfigValidateUpdateSettingsInvalidArgument === RUN TestPullRequestConfigValidateUpdateSettingsInvalidArgument/invalid_default_style === RUN TestPullRequestConfigValidateUpdateSettingsInvalidArgument/no_update_style_enabled === RUN TestPullRequestConfigValidateUpdateSettingsInvalidArgument/default_update_style_disabled --- PASS: TestPullRequestConfigValidateUpdateSettingsInvalidArgument (0.00s) --- PASS: TestPullRequestConfigValidateUpdateSettingsInvalidArgument/invalid_default_style (0.00s) --- PASS: TestPullRequestConfigValidateUpdateSettingsInvalidArgument/no_update_style_enabled (0.00s) --- PASS: TestPullRequestConfigValidateUpdateSettingsInvalidArgument/default_update_style_disabled (0.00s) === RUN TestMigrate_InsertReleases --- PASS: TestMigrate_InsertReleases (0.01s) === RUN Test_FindTagsByCommitIDs --- PASS: Test_FindTagsByCommitIDs (0.00s) === RUN TestAddReleaseAttachmentsRejectsDifferentRepo --- PASS: TestAddReleaseAttachmentsRejectsDifferentRepo (0.00s) === RUN TestAddReleaseAttachmentsAllowsLegacyMissingRepoID --- PASS: TestAddReleaseAttachmentsAllowsLegacyMissingRepoID (0.00s) === RUN TestAddReleaseAttachmentsRejectsRecentZeroRepoID --- PASS: TestAddReleaseAttachmentsRejectsRecentZeroRepoID (0.00s) === RUN TestGetRepositoryCount --- PASS: TestGetRepositoryCount (0.00s) === RUN TestGetPublicRepositoryCount --- PASS: TestGetPublicRepositoryCount (0.00s) === RUN TestGetPrivateRepositoryCount --- PASS: TestGetPrivateRepositoryCount (0.00s) === RUN TestRepoAPIURL --- PASS: TestRepoAPIURL (0.00s) === RUN TestWatchRepo --- PASS: TestWatchRepo (0.27s) === RUN TestMetas --- PASS: TestMetas (0.01s) === RUN TestGetRepositoryByURL === RUN TestGetRepositoryByURL/InvalidPath === RUN TestGetRepositoryByURL/ValidHttpURL === RUN TestGetRepositoryByURL/ValidGitSshURL === RUN TestGetRepositoryByURL/ValidImplicitSshURL --- PASS: TestGetRepositoryByURL (0.01s) --- PASS: TestGetRepositoryByURL/InvalidPath (0.00s) --- PASS: TestGetRepositoryByURL/ValidHttpURL (0.00s) --- PASS: TestGetRepositoryByURL/ValidGitSshURL (0.00s) --- PASS: TestGetRepositoryByURL/ValidImplicitSshURL (0.00s) === RUN TestComposeSSHCloneURL --- PASS: TestComposeSSHCloneURL (0.00s) === RUN TestIsUsableRepoName --- PASS: TestIsUsableRepoName (0.00s) === RUN TestIsValidSSHAccessRepoName --- PASS: TestIsValidSSHAccessRepoName (0.00s) === RUN TestActionsConfig_ScopedWorkflowOptOut --- PASS: TestActionsConfig_ScopedWorkflowOptOut (0.00s) === RUN TestActionsConfig_ScopedWorkflowSerialization --- PASS: TestActionsConfig_ScopedWorkflowSerialization (0.00s) === RUN TestActionsConfig --- PASS: TestActionsConfig (0.00s) === RUN TestActionsConfigTokenPermissions === RUN TestActionsConfigTokenPermissions/Default_Permission_Mode === RUN TestActionsConfigTokenPermissions/Explicit_Permission_Mode === RUN TestActionsConfigTokenPermissions/Effective_Permissions_-_Permissive_Mode === RUN TestActionsConfigTokenPermissions/Effective_Permissions_-_Restricted_Mode === RUN TestActionsConfigTokenPermissions/Clamp_Permissions --- PASS: TestActionsConfigTokenPermissions (0.00s) --- PASS: TestActionsConfigTokenPermissions/Default_Permission_Mode (0.00s) --- PASS: TestActionsConfigTokenPermissions/Explicit_Permission_Mode (0.00s) --- PASS: TestActionsConfigTokenPermissions/Effective_Permissions_-_Permissive_Mode (0.00s) --- PASS: TestActionsConfigTokenPermissions/Effective_Permissions_-_Restricted_Mode (0.00s) --- PASS: TestActionsConfigTokenPermissions/Clamp_Permissions (0.00s) === RUN TestIncreaseDownloadCount --- PASS: TestIncreaseDownloadCount (0.00s) === RUN TestGetByCommentOrIssueID --- PASS: TestGetByCommentOrIssueID (0.00s) === RUN TestDeleteAttachments --- PASS: TestDeleteAttachments (0.00s) === RUN TestGetAttachmentByID --- PASS: TestGetAttachmentByID (0.00s) === RUN TestAttachment_DownloadURL --- PASS: TestAttachment_DownloadURL (0.00s) === RUN TestUpdateAttachment --- PASS: TestUpdateAttachment (0.00s) === RUN TestGetAttachmentsByUUIDs --- PASS: TestGetAttachmentsByUUIDs (0.00s) === RUN TestGetUnlinkedAttachmentsByUserID --- PASS: TestGetUnlinkedAttachmentsByUserID (0.00s) === RUN TestRepository_GetCollaborators --- PASS: TestRepository_GetCollaborators (0.01s) === RUN TestRepository_IsCollaborator --- PASS: TestRepository_IsCollaborator (0.00s) === RUN TestRepository_ChangeCollaborationAccessMode --- PASS: TestRepository_ChangeCollaborationAccessMode (0.18s) === RUN TestRepository_IsOwnerMemberCollaborator --- PASS: TestRepository_IsOwnerMemberCollaborator (0.01s) === RUN TestRepo_GetCollaboration --- PASS: TestRepo_GetCollaboration (0.00s) === RUN TestGetUserFork --- PASS: TestGetUserFork (0.00s) === RUN TestPushMirrorsIterate --- PASS: TestPushMirrorsIterate (0.00s) === RUN TestLookupRedirect --- PASS: TestLookupRedirect (0.00s) === RUN TestNewRedirect --- PASS: TestNewRedirect (0.00s) === RUN TestNewRedirect2 --- PASS: TestNewRedirect2 (0.00s) === RUN TestNewRedirect3 --- PASS: TestNewRedirect3 (0.00s) === RUN TestSearchRepository === RUN TestSearchRepository/SearchRepositoryPublic === RUN TestSearchRepository/SearchRepositoryPublicRestricted === RUN TestSearchRepository/SearchRepositoryPublicRestricted/RestrictedUser-NoSignInRequirement === RUN TestSearchRepository/SearchRepositoryPublicRestricted/NormalUser-RequiredSignIn === RUN TestSearchRepository/SearchRepositoryPublicRestricted/RestrictedUser-RequiredSignIn === RUN TestSearchRepository/SearchRepositoryPrivate === RUN TestSearchRepository/SearchRepositoryNonExistingOwner === RUN TestSearchRepository/SearchRepositoryWithInDescription === RUN TestSearchRepository/SearchRepositoryNotInDescription === RUN TestSearchRepository/SearchRepositoryCases === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesByName === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByName === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFirstPage === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitSecondPage === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitThirdPage === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFourthPage === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUser === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUser2 === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfOrg3 === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUser === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUser2 === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfOrg3 === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUserIncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUser2IncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfOrg3IncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUserIncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUser2IncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfOrg3IncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfOrganization === RUN TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfOrganization === RUN TestSearchRepository/SearchRepositoryCases/AllPublic/PublicRepositoriesByName === RUN TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesByName === RUN TestSearchRepository/SearchRepositoryCases/AllPublic/PublicRepositoriesOfUserIncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborative === RUN TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborativeByName === RUN TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesOfUser2IncludingCollaborativeByName === RUN TestSearchRepository/SearchRepositoryCases/AllPublic/PublicRepositoriesOfOrganization === RUN TestSearchRepository/SearchRepositoryCases/AllTemplates === RUN TestSearchRepository/SearchRepositoryCases/OwnerSlashRepoSearch === RUN TestSearchRepository/SearchRepositoryCases/OwnerSlashSearch --- PASS: TestSearchRepository (0.24s) --- PASS: TestSearchRepository/SearchRepositoryPublic (0.01s) --- PASS: TestSearchRepository/SearchRepositoryPublicRestricted (0.04s) --- PASS: TestSearchRepository/SearchRepositoryPublicRestricted/RestrictedUser-NoSignInRequirement (0.01s) --- PASS: TestSearchRepository/SearchRepositoryPublicRestricted/NormalUser-RequiredSignIn (0.01s) --- PASS: TestSearchRepository/SearchRepositoryPublicRestricted/RestrictedUser-RequiredSignIn (0.01s) --- PASS: TestSearchRepository/SearchRepositoryPrivate (0.01s) --- PASS: TestSearchRepository/SearchRepositoryNonExistingOwner (0.00s) --- PASS: TestSearchRepository/SearchRepositoryWithInDescription (0.01s) --- PASS: TestSearchRepository/SearchRepositoryNotInDescription (0.01s) --- PASS: TestSearchRepository/SearchRepositoryCases (0.17s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesByName (0.02s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByName (0.02s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFirstPage (0.01s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitSecondPage (0.02s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitThirdPage (0.01s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFourthPage (0.01s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUser (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUser2 (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfOrg3 (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUser (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUser2 (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfOrg3 (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUserIncludingCollaborative (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfUser2IncludingCollaborative (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfOrg3IncludingCollaborative (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUserIncludingCollaborative (0.01s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfUser2IncludingCollaborative (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfOrg3IncludingCollaborative (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicRepositoriesOfOrganization (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/PublicAndPrivateRepositoriesOfOrganization (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllPublic/PublicRepositoriesByName (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesByName (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllPublic/PublicRepositoriesOfUserIncludingCollaborative (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborative (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborativeByName (0.01s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllPublic/PublicAndPrivateRepositoriesOfUser2IncludingCollaborativeByName (0.01s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllPublic/PublicRepositoriesOfOrganization (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/AllTemplates (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/OwnerSlashRepoSearch (0.00s) --- PASS: TestSearchRepository/SearchRepositoryCases/OwnerSlashSearch (0.00s) === RUN TestCountRepository === RUN TestCountRepository/PublicRepositoriesByName === RUN TestCountRepository/PublicAndPrivateRepositoriesByName === RUN TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFirstPage === RUN TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitSecondPage === RUN TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitThirdPage === RUN TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFourthPage === RUN TestCountRepository/PublicRepositoriesOfUser === RUN TestCountRepository/PublicRepositoriesOfUser2 === RUN TestCountRepository/PublicRepositoriesOfOrg3 === RUN TestCountRepository/PublicAndPrivateRepositoriesOfUser === RUN TestCountRepository/PublicAndPrivateRepositoriesOfUser2 === RUN TestCountRepository/PublicAndPrivateRepositoriesOfOrg3 === RUN TestCountRepository/PublicRepositoriesOfUserIncludingCollaborative === RUN TestCountRepository/PublicRepositoriesOfUser2IncludingCollaborative === RUN TestCountRepository/PublicRepositoriesOfOrg3IncludingCollaborative === RUN TestCountRepository/PublicAndPrivateRepositoriesOfUserIncludingCollaborative === RUN TestCountRepository/PublicAndPrivateRepositoriesOfUser2IncludingCollaborative === RUN TestCountRepository/PublicAndPrivateRepositoriesOfOrg3IncludingCollaborative === RUN TestCountRepository/PublicRepositoriesOfOrganization === RUN TestCountRepository/PublicAndPrivateRepositoriesOfOrganization === RUN TestCountRepository/AllPublic/PublicRepositoriesByName === RUN TestCountRepository/AllPublic/PublicAndPrivateRepositoriesByName === RUN TestCountRepository/AllPublic/PublicRepositoriesOfUserIncludingCollaborative === RUN TestCountRepository/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborative === RUN TestCountRepository/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborativeByName === RUN TestCountRepository/AllPublic/PublicAndPrivateRepositoriesOfUser2IncludingCollaborativeByName === RUN TestCountRepository/AllPublic/PublicRepositoriesOfOrganization === RUN TestCountRepository/AllTemplates === RUN TestCountRepository/OwnerSlashRepoSearch === RUN TestCountRepository/OwnerSlashSearch --- PASS: TestCountRepository (0.03s) --- PASS: TestCountRepository/PublicRepositoriesByName (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesByName (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFirstPage (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitSecondPage (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitThirdPage (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesByNameWithPagesizeLimitFourthPage (0.00s) --- PASS: TestCountRepository/PublicRepositoriesOfUser (0.00s) --- PASS: TestCountRepository/PublicRepositoriesOfUser2 (0.00s) --- PASS: TestCountRepository/PublicRepositoriesOfOrg3 (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesOfUser (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesOfUser2 (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesOfOrg3 (0.00s) --- PASS: TestCountRepository/PublicRepositoriesOfUserIncludingCollaborative (0.00s) --- PASS: TestCountRepository/PublicRepositoriesOfUser2IncludingCollaborative (0.00s) --- PASS: TestCountRepository/PublicRepositoriesOfOrg3IncludingCollaborative (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesOfUserIncludingCollaborative (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesOfUser2IncludingCollaborative (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesOfOrg3IncludingCollaborative (0.00s) --- PASS: TestCountRepository/PublicRepositoriesOfOrganization (0.00s) --- PASS: TestCountRepository/PublicAndPrivateRepositoriesOfOrganization (0.00s) --- PASS: TestCountRepository/AllPublic/PublicRepositoriesByName (0.00s) --- PASS: TestCountRepository/AllPublic/PublicAndPrivateRepositoriesByName (0.00s) --- PASS: TestCountRepository/AllPublic/PublicRepositoriesOfUserIncludingCollaborative (0.00s) --- PASS: TestCountRepository/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborative (0.00s) --- PASS: TestCountRepository/AllPublic/PublicAndPrivateRepositoriesOfUserIncludingCollaborativeByName (0.00s) --- PASS: TestCountRepository/AllPublic/PublicAndPrivateRepositoriesOfUser2IncludingCollaborativeByName (0.00s) --- PASS: TestCountRepository/AllPublic/PublicRepositoriesOfOrganization (0.00s) --- PASS: TestCountRepository/AllTemplates (0.00s) --- PASS: TestCountRepository/OwnerSlashRepoSearch (0.00s) --- PASS: TestCountRepository/OwnerSlashSearch (0.00s) === RUN TestSearchRepositoryByTopicName === RUN TestSearchRepositoryByTopicName/AllPublic/SearchPublicRepositoriesFromTopicAndName === RUN TestSearchRepositoryByTopicName/AllPublic/OnlySearchPublicRepositoriesFromTopic === RUN TestSearchRepositoryByTopicName/AllPublic/OnlySearchMultipleKeywordPublicRepositoriesFromTopic --- PASS: TestSearchRepositoryByTopicName (0.01s) --- PASS: TestSearchRepositoryByTopicName/AllPublic/SearchPublicRepositoriesFromTopicAndName (0.00s) --- PASS: TestSearchRepositoryByTopicName/AllPublic/OnlySearchPublicRepositoriesFromTopic (0.00s) --- PASS: TestSearchRepositoryByTopicName/AllPublic/OnlySearchMultipleKeywordPublicRepositoriesFromTopic (0.00s) === RUN TestFindUserActionsAccessibleOwnerRepoIDs --- PASS: TestFindUserActionsAccessibleOwnerRepoIDs (0.00s) === RUN TestUserOrgUnitRepoCondTeamAuthorize --- PASS: TestUserOrgUnitRepoCondTeamAuthorize (0.00s) === RUN TestStarRepo --- PASS: TestStarRepo (0.01s) === RUN TestIsStaring --- PASS: TestIsStaring (0.09s) === RUN TestRepository_GetStargazers --- PASS: TestRepository_GetStargazers (0.00s) === RUN TestRepository_GetStargazers2 --- PASS: TestRepository_GetStargazers2 (0.00s) === RUN TestClearRepoStars --- PASS: TestClearRepoStars (0.01s) === RUN TestAddTopic --- PASS: TestAddTopic (0.04s) === RUN TestTopicValidator --- PASS: TestTopicValidator (0.00s) === RUN TestUserRepo === RUN TestUserRepo/GetIssuePostersWithSearch === RUN TestUserRepo/Assignees === RUN TestUserRepo/AssigneesNoTeamUnit --- PASS: TestUserRepo (0.02s) --- PASS: TestUserRepo/GetIssuePostersWithSearch (0.00s) --- PASS: TestUserRepo/Assignees (0.01s) --- PASS: TestUserRepo/AssigneesNoTeamUnit (0.01s) === RUN TestStarredWatchedReposExcludeNonPublicOwners --- PASS: TestStarredWatchedReposExcludeNonPublicOwners (0.02s) === RUN TestIsWatching --- PASS: TestIsWatching (0.00s) === RUN TestGetWatchers --- PASS: TestGetWatchers (0.00s) === RUN TestRepository_GetWatchers --- PASS: TestRepository_GetWatchers (0.00s) === RUN TestWatchIfAuto --- PASS: TestWatchIfAuto (0.01s) === RUN TestClearRepoWatches --- PASS: TestClearRepoWatches (0.01s) === RUN TestRepository_WikiCloneLink --- PASS: TestRepository_WikiCloneLink (0.01s) === RUN TestRepository_RelativeWikiPath --- PASS: TestRepository_RelativeWikiPath (0.00s) PASS ok gitea.dev/models/repo 1.839s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1240064502/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1240064502/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1240064502/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1240064502/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1240064502/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1240064502/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1240064502/data/actions_artifacts === RUN TestGetScopedSecretsForJob === RUN TestGetScopedSecretsForJob/TopLevelJob_ReturnsBaseUnchanged === RUN TestGetScopedSecretsForJob/CallerInherit_PassesParentScopeThrough === RUN TestGetScopedSecretsForJob/CallerEmptySecrets_ExposesOnlyAutoTokens === RUN TestGetScopedSecretsForJob/CallerMapping_OnlyMappedAliasesPlusTokens === RUN TestGetScopedSecretsForJob/CallerMapping_CaseInsensitiveSource === RUN TestGetScopedSecretsForJob/CallerMapping_UnknownSourceDropsAlias === RUN TestGetScopedSecretsForJob/Nested_InheritThenInherit_FullScope === RUN TestGetScopedSecretsForJob/Nested_InheritThenMapping_InnerNarrows === RUN TestGetScopedSecretsForJob/Nested_MappingThenInherit_OuterNarrows === RUN TestGetScopedSecretsForJob/Nested_MappingThenMapping_InnerSourceMustExistInOuterScope --- PASS: TestGetScopedSecretsForJob (0.09s) --- PASS: TestGetScopedSecretsForJob/TopLevelJob_ReturnsBaseUnchanged (0.00s) --- PASS: TestGetScopedSecretsForJob/CallerInherit_PassesParentScopeThrough (0.00s) --- PASS: TestGetScopedSecretsForJob/CallerEmptySecrets_ExposesOnlyAutoTokens (0.00s) --- PASS: TestGetScopedSecretsForJob/CallerMapping_OnlyMappedAliasesPlusTokens (0.00s) --- PASS: TestGetScopedSecretsForJob/CallerMapping_CaseInsensitiveSource (0.00s) --- PASS: TestGetScopedSecretsForJob/CallerMapping_UnknownSourceDropsAlias (0.00s) --- PASS: TestGetScopedSecretsForJob/Nested_InheritThenInherit_FullScope (0.00s) --- PASS: TestGetScopedSecretsForJob/Nested_InheritThenMapping_InnerNarrows (0.00s) --- PASS: TestGetScopedSecretsForJob/Nested_MappingThenInherit_OuterNarrows (0.00s) --- PASS: TestGetScopedSecretsForJob/Nested_MappingThenMapping_InnerSourceMustExistInOuterScope (0.00s) PASS ok gitea.dev/models/secret 0.725s ? gitea.dev/models/shared/types [no test files] 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3550837284/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3550837284/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3550837284/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3550837284/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3550837284/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3550837284/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3550837284/data/actions_artifacts === RUN TestNotice_TrStr --- PASS: TestNotice_TrStr (0.00s) === RUN TestCreateNotice --- PASS: TestCreateNotice (0.27s) === RUN TestCreateRepositoryNotice --- PASS: TestCreateRepositoryNotice (0.00s) === RUN TestCountNotices --- PASS: TestCountNotices (0.00s) === RUN TestNotices --- PASS: TestNotices (0.00s) === RUN TestDeleteNotices --- PASS: TestDeleteNotices (0.00s) === RUN TestDeleteNotices2 --- PASS: TestDeleteNotices2 (0.00s) === RUN TestDeleteNoticesByIDs --- PASS: TestDeleteNoticesByIDs (0.01s) === RUN TestSettings --- PASS: TestSettings (0.00s) PASS ok gitea.dev/models/system 0.814s === RUN TestLoadUnitConfig === RUN TestLoadUnitConfig/regular === RUN TestLoadUnitConfig/invalid === RUN TestLoadUnitConfig/duplicate === RUN TestLoadUnitConfig/empty_default --- PASS: TestLoadUnitConfig (0.00s) --- PASS: TestLoadUnitConfig/regular (0.00s) --- PASS: TestLoadUnitConfig/invalid (0.00s) --- PASS: TestLoadUnitConfig/duplicate (0.00s) --- PASS: TestLoadUnitConfig/empty_default (0.00s) PASS ok gitea.dev/models/unit 0.008s === RUN TestFixturesLoader === RUN TestFixturesLoader/Internal === RUN TestFixturesLoader/Vendor fixtures_test.go:89: --- PASS: TestFixturesLoader (1.27s) --- PASS: TestFixturesLoader/Internal (0.33s) --- SKIP: TestFixturesLoader/Vendor (0.00s) PASS ok gitea.dev/models/unittest 1.294s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2108206549/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2108206549/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2108206549/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2108206549/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2108206549/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2108206549/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2108206549/data/actions_artifacts === RUN TestUserAvatarLink --- PASS: TestUserAvatarLink (0.00s) === RUN TestUserAvatarGenerate 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /home/buildozer/aports/community/gitea/tmp/TestUserAvatarGenerate203491372/001 --- PASS: TestUserAvatarGenerate (0.27s) === RUN TestSystemUser --- PASS: TestSystemUser (0.00s) === RUN TestBadge === RUN TestBadge/GetBadgeNotExist === RUN TestBadge/CreateBadgeAlreadyExists === RUN TestBadge/GetBadgeUsers === RUN TestBadge/AddAndRemoveUserBadges === RUN TestBadge/SearchBadgesOrderingAndKeyword --- PASS: TestBadge (0.02s) --- PASS: TestBadge/GetBadgeNotExist (0.00s) --- PASS: TestBadge/CreateBadgeAlreadyExists (0.00s) --- PASS: TestBadge/GetBadgeUsers (0.01s) --- PASS: TestBadge/AddAndRemoveUserBadges (0.00s) --- PASS: TestBadge/SearchBadgesOrderingAndKeyword (0.00s) === RUN TestGetEmailAddresses --- PASS: TestGetEmailAddresses (0.00s) === RUN TestIsEmailUsed --- PASS: TestIsEmailUsed (0.00s) === RUN TestMakeEmailPrimary --- PASS: TestMakeEmailPrimary (0.00s) === RUN TestActivate --- PASS: TestActivate (0.01s) === RUN TestListEmails --- PASS: TestListEmails (0.02s) === RUN TestEmailAddressValidate === RUN TestEmailAddressValidate/K === RUN TestEmailAddressValidate/first^last@iana.org === RUN TestEmailAddressValidate/first`last@iana.org === RUN TestEmailAddressValidate/%233@qq.com === RUN TestEmailAddressValidate/&233@qq.com === RUN TestEmailAddressValidate/^233@qq.com === RUN TestEmailAddressValidate/|233@qq.com === RUN TestEmailAddressValidate/~233@qq.com === RUN TestEmailAddressValidate/first#last@iana.org === RUN TestEmailAddressValidate/first'last@iana.org === RUN TestEmailAddressValidate/first}last@iana.org === RUN TestEmailAddressValidate/!233@qq.com === RUN TestEmailAddressValidate/'233@qq.com === RUN TestEmailAddressValidate/-233@qq.com === RUN TestEmailAddressValidate/132@hotmail.com === RUN TestEmailAddressValidate/first.last@iana.org === RUN TestEmailAddressValidate/first*last@iana.org === RUN TestEmailAddressValidate/first=last@iana.org === RUN TestEmailAddressValidate/first;last@iana.org === RUN TestEmailAddressValidate/first$last@iana.org === RUN TestEmailAddressValidate/first|last@iana.org === RUN TestEmailAddressValidate/#233@qq.com === RUN TestEmailAddressValidate/?233@qq.com === RUN TestEmailAddressValidate/_233@qq.com === RUN TestEmailAddressValidate/{233@qq.com === RUN TestEmailAddressValidate/a_123@test.org.cn === RUN TestEmailAddressValidate/first!last@iana.org === RUN TestEmailAddressValidate/first%last@iana.org === RUN TestEmailAddressValidate/first/last@iana.org === RUN TestEmailAddressValidate/first?last@iana.org === RUN TestEmailAddressValidate/first{last@iana.org === RUN TestEmailAddressValidate//233@qq.com === RUN TestEmailAddressValidate/;233@qq.com === RUN TestEmailAddressValidate/}233@qq.com === RUN TestEmailAddressValidate/Foo_ === RUN TestEmailAddressValidate/abc@gmail.com === RUN TestEmailAddressValidate/1-3-2@test.org === RUN TestEmailAddressValidate/1.3.2@test.org === RUN TestEmailAddressValidate/first&last@iana.org === RUN TestEmailAddressValidate/first~last@iana.org === RUN TestEmailAddressValidate/$233@qq.com === RUN TestEmailAddressValidate/+233@qq.com === RUN TestEmailAddressValidate/`233@qq.com === RUN TestEmailAddressValidate/first+last@iana.org === RUN TestEmailAddressValidate/*233@qq.com === RUN TestEmailAddressValidate/=233@qq.com === RUN TestEmailAddressValidate/.233@qq.com --- PASS: TestEmailAddressValidate (0.00s) --- PASS: TestEmailAddressValidate/K (0.00s) --- PASS: TestEmailAddressValidate/first^last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first`last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/%233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/&233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/^233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/|233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/~233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/first#last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first'last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first}last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/!233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/'233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/-233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/132@hotmail.com (0.00s) --- PASS: TestEmailAddressValidate/first.last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first*last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first=last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first;last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first$last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first|last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/#233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/?233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/_233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/{233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/a_123@test.org.cn (0.00s) --- PASS: TestEmailAddressValidate/first!last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first%last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first/last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first?last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first{last@iana.org (0.00s) --- PASS: TestEmailAddressValidate//233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/;233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/}233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/Foo_ (0.00s) --- PASS: TestEmailAddressValidate/abc@gmail.com (0.00s) --- PASS: TestEmailAddressValidate/1-3-2@test.org (0.00s) --- PASS: TestEmailAddressValidate/1.3.2@test.org (0.00s) --- PASS: TestEmailAddressValidate/first&last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/first~last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/$233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/+233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/`233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/first+last@iana.org (0.00s) --- PASS: TestEmailAddressValidate/*233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/=233@qq.com (0.00s) --- PASS: TestEmailAddressValidate/.233@qq.com (0.00s) === RUN TestIsFollowing --- PASS: TestIsFollowing (0.00s) === RUN TestGetUserOpenIDs --- PASS: TestGetUserOpenIDs (0.00s) === RUN TestToggleUserOpenIDVisibility --- PASS: TestToggleUserOpenIDVisibility (0.00s) === RUN TestToggleUserOpenIDVisibilityRequiresOwnership --- PASS: TestToggleUserOpenIDVisibilityRequiresOwnership (0.00s) === RUN TestLookupUserRedirect --- PASS: TestLookupUserRedirect (0.00s) === RUN TestSettings --- PASS: TestSettings (0.00s) === RUN TestIsUsableUsername --- PASS: TestIsUsableUsername (0.00s) === RUN TestOAuth2Application_LoadUser --- PASS: TestOAuth2Application_LoadUser (0.00s) === RUN TestUserEmails === RUN TestUserEmails/GetUserEmailsByNames === RUN TestUserEmails/GetUsersByEmails === RUN TestUserEmails/GetUsersByEmails/UseR1@example.com === RUN TestUserEmails/GetUsersByEmails/user1-2@example.COM === RUN TestUserEmails/GetUsersByEmails/USER2@NoReply.gitea.internal === RUN TestUserEmails/GetUsersByEmails/2+user2@NoReply.gitea.internal === RUN TestUserEmails/GetUsersByEmails/2+oldUser2UsernameWhichDoesNotMatterForQuery@NoReply.gitea.internal === RUN TestUserEmails/GetUsersByEmails/99999+badUser@NoReply.gitea.internal === RUN TestUserEmails/GetUsersByEmails/user4@example.com === RUN TestUserEmails/GetUsersByEmails/no-such === RUN TestUserEmails/GetUsersByEmails/NoReplyConflict === RUN TestUserEmails/GetUserByEmail === RUN TestUserEmails/GetUserByEmail/UseR1@example.com === RUN TestUserEmails/GetUserByEmail/user1-2@example.COM === RUN TestUserEmails/GetUserByEmail/USER2@NoReply.gitea.internal === RUN TestUserEmails/GetUserByEmail/2+user2@NoReply.gitea.internal === RUN TestUserEmails/GetUserByEmail/2+oldUser2UsernameWhichDoesNotMatterForQuery@NoReply.gitea.internal === RUN TestUserEmails/GetUserByEmail/99999+badUser@NoReply.gitea.internal === RUN TestUserEmails/GetUserByEmail/user4@example.com === RUN TestUserEmails/GetUserByEmail/no-such === RUN TestUserEmails/GetUserByEmail/NoReplyConflict --- PASS: TestUserEmails (0.04s) --- PASS: TestUserEmails/GetUserEmailsByNames (0.00s) --- PASS: TestUserEmails/GetUsersByEmails (0.01s) --- PASS: TestUserEmails/GetUsersByEmails/UseR1@example.com (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/user1-2@example.COM (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/USER2@NoReply.gitea.internal (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/2+user2@NoReply.gitea.internal (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/2+oldUser2UsernameWhichDoesNotMatterForQuery@NoReply.gitea.internal (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/99999+badUser@NoReply.gitea.internal (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/user4@example.com (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/no-such (0.00s) --- PASS: TestUserEmails/GetUsersByEmails/NoReplyConflict (0.00s) --- PASS: TestUserEmails/GetUserByEmail (0.03s) --- PASS: TestUserEmails/GetUserByEmail/UseR1@example.com (0.00s) --- PASS: TestUserEmails/GetUserByEmail/user1-2@example.COM (0.00s) --- PASS: TestUserEmails/GetUserByEmail/USER2@NoReply.gitea.internal (0.00s) --- PASS: TestUserEmails/GetUserByEmail/2+user2@NoReply.gitea.internal (0.00s) --- PASS: TestUserEmails/GetUserByEmail/2+oldUser2UsernameWhichDoesNotMatterForQuery@NoReply.gitea.internal (0.00s) --- PASS: TestUserEmails/GetUserByEmail/99999+badUser@NoReply.gitea.internal (0.02s) --- PASS: TestUserEmails/GetUserByEmail/user4@example.com (0.00s) --- PASS: TestUserEmails/GetUserByEmail/no-such (0.00s) --- PASS: TestUserEmails/GetUserByEmail/NoReplyConflict (0.00s) === RUN TestCanCreateOrganization --- PASS: TestCanCreateOrganization (0.01s) === RUN TestSearchUsers --- PASS: TestSearchUsers (0.03s) === RUN TestEmailNotificationPreferences --- PASS: TestEmailNotificationPreferences (0.00s) === RUN TestHashPasswordDeterministic --- PASS: TestHashPasswordDeterministic (0.00s) === RUN TestNewGitSig --- PASS: TestNewGitSig (0.00s) === RUN TestDisplayName --- PASS: TestDisplayName (0.00s) === RUN TestCreateUserInvalidEmail --- PASS: TestCreateUserInvalidEmail (0.00s) === RUN TestCreateUserEmailAlreadyUsed --- PASS: TestCreateUserEmailAlreadyUsed (0.00s) === RUN TestCreateUserCustomTimestamps --- PASS: TestCreateUserCustomTimestamps (0.00s) === RUN TestCreateUserWithoutCustomTimestamps --- PASS: TestCreateUserWithoutCustomTimestamps (0.01s) === RUN TestGetUserIDsByNames --- PASS: TestGetUserIDsByNames (0.01s) === RUN TestGetMaileableUsersByIDs --- PASS: TestGetMaileableUsersByIDs (0.00s) === RUN TestNewUserRedirect --- PASS: TestNewUserRedirect (0.00s) === RUN TestNewUserRedirect2 --- PASS: TestNewUserRedirect2 (0.00s) === RUN TestNewUserRedirect3 --- PASS: TestNewUserRedirect3 (0.00s) === RUN TestGetUserByOpenID --- PASS: TestGetUserByOpenID (0.00s) === RUN TestFollowUser --- PASS: TestFollowUser (0.05s) === RUN TestUnfollowUser --- PASS: TestUnfollowUser (0.03s) === RUN TestIsUserVisibleToViewer --- PASS: TestIsUserVisibleToViewer (0.01s) === RUN Test_ValidateUser --- PASS: Test_ValidateUser (0.00s) === RUN Test_NormalizeUserFromEmail --- PASS: Test_NormalizeUserFromEmail (0.00s) === RUN TestEmailTo === RUN TestEmailTo/Awareness_Hub_ === RUN TestEmailTo/name@example.com === RUN TestEmailTo/Hi_Its_Mee_ === RUN TestEmailTo/=?utf-8?q?Sin=C3=A9ad.O'Connor?=_ === RUN TestEmailTo/=?utf-8?q?=C3=86sir?=_ === RUN TestEmailTo/=?utf-8?q?new=F0=9F=98=80user?=_ === RUN TestEmailTo/quoted_ --- PASS: TestEmailTo (0.00s) --- PASS: TestEmailTo/Awareness_Hub_ (0.00s) --- PASS: TestEmailTo/name@example.com (0.00s) --- PASS: TestEmailTo/Hi_Its_Mee_ (0.00s) --- PASS: TestEmailTo/=?utf-8?q?Sin=C3=A9ad.O'Connor?=_ (0.00s) --- PASS: TestEmailTo/=?utf-8?q?=C3=86sir?=_ (0.00s) --- PASS: TestEmailTo/=?utf-8?q?new=F0=9F=98=80user?=_ (0.00s) --- PASS: TestEmailTo/quoted_ (0.00s) === RUN TestDisabledUserFeatures --- PASS: TestDisabledUserFeatures (0.00s) === RUN TestGetInactiveUsers --- PASS: TestGetInactiveUsers (0.00s) === RUN TestCanCreateRepo === RUN TestCanCreateRepo/NoGlobalLimit === RUN TestCanCreateRepo/GlobalLimit50 === RUN TestCanCreateRepo/UserBlockedOrgsUnlimited === RUN TestCanCreateRepo/OrgGlobalLimitWithPerOrgOverride --- PASS: TestCanCreateRepo (0.00s) --- PASS: TestCanCreateRepo/NoGlobalLimit (0.00s) --- PASS: TestCanCreateRepo/GlobalLimit50 (0.00s) --- PASS: TestCanCreateRepo/UserBlockedOrgsUnlimited (0.00s) --- PASS: TestCanCreateRepo/OrgGlobalLimitWithPerOrgOverride (0.00s) PASS ok gitea.dev/models/user 1.064s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1590362652/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1590362652/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1590362652/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1590362652/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1590362652/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1590362652/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1590362652/data/actions_artifacts === RUN TestListSystemWebhookOptions --- PASS: TestListSystemWebhookOptions (0.00s) === RUN TestWebHookContentType --- PASS: TestWebHookContentType (0.00s) === RUN TestWebhook_History --- PASS: TestWebhook_History (0.00s) === RUN TestWebhook_UpdateEvent --- PASS: TestWebhook_UpdateEvent (0.00s) === RUN TestWebhook_EventsArray --- PASS: TestWebhook_EventsArray (0.00s) === RUN TestCreateWebhook --- PASS: TestCreateWebhook (0.00s) === RUN TestGetWebhookByRepoID --- PASS: TestGetWebhookByRepoID (0.00s) === RUN TestGetWebhookByOwnerID --- PASS: TestGetWebhookByOwnerID (0.00s) === RUN TestGetActiveWebhooksByRepoID --- PASS: TestGetActiveWebhooksByRepoID (0.00s) === RUN TestGetWebhooksByRepoID --- PASS: TestGetWebhooksByRepoID (0.00s) === RUN TestGetActiveWebhooksByOwnerID --- PASS: TestGetActiveWebhooksByOwnerID (0.00s) === RUN TestGetWebhooksByOwnerID --- PASS: TestGetWebhooksByOwnerID (0.00s) === RUN TestUpdateWebhook --- PASS: TestUpdateWebhook (0.00s) === RUN TestDeleteWebhookByRepoID --- PASS: TestDeleteWebhookByRepoID (0.00s) === RUN TestDeleteWebhookByOwnerID --- PASS: TestDeleteWebhookByOwnerID (0.00s) === RUN TestHookTasks --- PASS: TestHookTasks (0.00s) === RUN TestCreateHookTask --- PASS: TestCreateHookTask (0.00s) === RUN TestUpdateHookTask --- PASS: TestUpdateHookTask (0.00s) === RUN TestCleanupHookTaskTable_PerWebhook_DeletesDelivered --- PASS: TestCleanupHookTaskTable_PerWebhook_DeletesDelivered (0.00s) === RUN TestCleanupHookTaskTable_PerWebhook_LeavesUndelivered --- PASS: TestCleanupHookTaskTable_PerWebhook_LeavesUndelivered (0.02s) === RUN TestCleanupHookTaskTable_PerWebhook_LeavesMostRecentTask --- PASS: TestCleanupHookTaskTable_PerWebhook_LeavesMostRecentTask (0.01s) === RUN TestCleanupHookTaskTable_OlderThan_DeletesDelivered --- PASS: TestCleanupHookTaskTable_OlderThan_DeletesDelivered (0.00s) === RUN TestCleanupHookTaskTable_OlderThan_LeavesUndelivered --- PASS: TestCleanupHookTaskTable_OlderThan_LeavesUndelivered (0.00s) === RUN TestCleanupHookTaskTable_OlderThan_LeavesTaskEarlierThanAgeToDelete --- PASS: TestCleanupHookTaskTable_OlderThan_LeavesTaskEarlierThanAgeToDelete (0.00s) PASS ok gitea.dev/models/webhook 0.378s === RUN TestBuildSignature --- PASS: TestBuildSignature (0.00s) === RUN TestCanGithubEventMatch === RUN TestCanGithubEventMatch/registry_package_matches === RUN TestCanGithubEventMatch/registry_package_cannot_match === RUN TestCanGithubEventMatch/issue_matches === RUN TestCanGithubEventMatch/issue_cannot_match === RUN TestCanGithubEventMatch/issue_comment_matches === RUN TestCanGithubEventMatch/issue_comment_cannot_match === RUN TestCanGithubEventMatch/pull_request_matches === RUN TestCanGithubEventMatch/pull_request_cannot_match === RUN TestCanGithubEventMatch/pull_request_target_matches === RUN TestCanGithubEventMatch/pull_request_target_cannot_match === RUN TestCanGithubEventMatch/pull_request_review_matches === RUN TestCanGithubEventMatch/pull_request_review_cannot_match === RUN TestCanGithubEventMatch/create_event === RUN TestCanGithubEventMatch/create_pull_request_comment --- PASS: TestCanGithubEventMatch (0.00s) --- PASS: TestCanGithubEventMatch/registry_package_matches (0.00s) --- PASS: TestCanGithubEventMatch/registry_package_cannot_match (0.00s) --- PASS: TestCanGithubEventMatch/issue_matches (0.00s) --- PASS: TestCanGithubEventMatch/issue_cannot_match (0.00s) --- PASS: TestCanGithubEventMatch/issue_comment_matches (0.00s) --- PASS: TestCanGithubEventMatch/issue_comment_cannot_match (0.00s) --- PASS: TestCanGithubEventMatch/pull_request_matches (0.00s) --- PASS: TestCanGithubEventMatch/pull_request_cannot_match (0.00s) --- PASS: TestCanGithubEventMatch/pull_request_target_matches (0.00s) --- PASS: TestCanGithubEventMatch/pull_request_target_cannot_match (0.00s) --- PASS: TestCanGithubEventMatch/pull_request_review_matches (0.00s) --- PASS: TestCanGithubEventMatch/pull_request_review_cannot_match (0.00s) --- PASS: TestCanGithubEventMatch/create_event (0.00s) --- PASS: TestCanGithubEventMatch/create_pull_request_comment (0.00s) === RUN TestIsWorkflowInDirs === RUN TestIsWorkflowInDirs/default_scoped_dir_with_yml === RUN TestIsWorkflowInDirs/default_scoped_dir_with_yaml === RUN TestIsWorkflowInDirs/normal_workflow_path_is_not_a_scoped_workflow === RUN TestIsWorkflowInDirs/non-yaml_file === RUN TestIsWorkflowInDirs/feature_disabled_(no_scoped_dirs) === RUN TestIsWorkflowInDirs/directory_boundary --- PASS: TestIsWorkflowInDirs (0.00s) --- PASS: TestIsWorkflowInDirs/default_scoped_dir_with_yml (0.00s) --- PASS: TestIsWorkflowInDirs/default_scoped_dir_with_yaml (0.00s) --- PASS: TestIsWorkflowInDirs/normal_workflow_path_is_not_a_scoped_workflow (0.00s) --- PASS: TestIsWorkflowInDirs/non-yaml_file (0.00s) --- PASS: TestIsWorkflowInDirs/feature_disabled_(no_scoped_dirs) (0.00s) --- PASS: TestIsWorkflowInDirs/directory_boundary (0.00s) === RUN TestFullSteps === RUN TestFullSteps/regular === RUN TestFullSteps/failed_step === RUN TestFullSteps/first_step_is_running === RUN TestFullSteps/first_step_has_canceled === RUN TestFullSteps/empty_steps === RUN TestFullSteps/all_steps_finished_but_task_is_running === RUN TestFullSteps/skipped_task === RUN TestFullSteps/first_step_is_skipped --- PASS: TestFullSteps (0.00s) --- PASS: TestFullSteps/regular (0.00s) --- PASS: TestFullSteps/failed_step (0.00s) --- PASS: TestFullSteps/first_step_is_running (0.00s) --- PASS: TestFullSteps/first_step_has_canceled (0.00s) --- PASS: TestFullSteps/empty_steps (0.00s) --- PASS: TestFullSteps/all_steps_finished_but_task_is_running (0.00s) --- PASS: TestFullSteps/skipped_task (0.00s) --- PASS: TestFullSteps/first_step_is_skipped (0.00s) === RUN TestIsWorkflow === RUN TestIsWorkflow/default_with_yml_extension === RUN TestIsWorkflow/default_with_yaml_extension === RUN TestIsWorkflow/only_gitea_configured,_github_path_rejected === RUN TestIsWorkflow/only_github_configured,_gitea_path_rejected === RUN TestIsWorkflow/custom_workflow_dir === RUN TestIsWorkflow/non-workflow_file === RUN TestIsWorkflow/directory_boundary === RUN TestIsWorkflow/unrelated_path --- PASS: TestIsWorkflow (0.00s) --- PASS: TestIsWorkflow/default_with_yml_extension (0.00s) --- PASS: TestIsWorkflow/default_with_yaml_extension (0.00s) --- PASS: TestIsWorkflow/only_gitea_configured,_github_path_rejected (0.00s) --- PASS: TestIsWorkflow/only_github_configured,_gitea_path_rejected (0.00s) --- PASS: TestIsWorkflow/custom_workflow_dir (0.00s) --- PASS: TestIsWorkflow/non-workflow_file (0.00s) --- PASS: TestIsWorkflow/directory_boundary (0.00s) --- PASS: TestIsWorkflow/unrelated_path (0.00s) === RUN TestDetectMatched === RUN TestDetectMatched/HookEventCreate(create)_matches_GithubEventCreate(create) === RUN TestDetectMatched/HookEventIssues(issues)_`opened`_action_matches_GithubEventIssues(issues) === RUN TestDetectMatched/HookEventIssues(issues)_`milestoned`_action_matches_GithubEventIssues(issues) === RUN TestDetectMatched/HookEventPullRequestSync(pull_request_sync)_matches_GithubEventPullRequest(pull_request) === RUN TestDetectMatched/HookEventPullRequest(pull_request)_`label_updated`_action_doesn't_match_GithubEventPullRequest(pull_request)_with_no_activity_type === RUN TestDetectMatched/HookEventPullRequest(pull_request)_`closed`_action_doesn't_match_GithubEventPullRequest(pull_request)_with_no_activity_type === RUN TestDetectMatched/HookEventPullRequest(pull_request)_`closed`_action_doesn't_match_GithubEventPullRequest(pull_request)_with_branches === RUN TestDetectMatched/HookEventPullRequest(pull_request)_`label_updated`_action_matches_GithubEventPullRequest(pull_request)_with_`label`_activity_type === RUN TestDetectMatched/HookEventPullRequestReviewComment(pull_request_review_comment)_matches_GithubEventPullRequestReviewComment(pull_request_review_comment) === RUN TestDetectMatched/HookEventPullRequestReviewRejected(pull_request_review_rejected)_doesn't_match_GithubEventPullRequestReview(pull_request_review)_with_`dismissed`_activity_type_(we_don't_support_`dismissed`_at_present) === RUN TestDetectMatched/HookEventRelease(release)_`published`_action_matches_GithubEventRelease(release)_with_`published`_activity_type === RUN TestDetectMatched/HookEventPackage(package)_`created`_action_doesn't_match_GithubEventRegistryPackage(registry_package)_with_`updated`_activity_type === RUN TestDetectMatched/HookEventWiki(wiki)_matches_GithubEventGollum(gollum) === RUN TestDetectMatched/HookEventSchedule(schedule)_matches_GithubEventSchedule(schedule) === RUN TestDetectMatched/push_to_tag_matches_workflow_with_paths_condition_(should_skip_paths_check) === RUN TestDetectMatched/push_branch_filter_excludes_->_filtered_out --- PASS: TestDetectMatched (0.01s) --- PASS: TestDetectMatched/HookEventCreate(create)_matches_GithubEventCreate(create) (0.00s) --- PASS: TestDetectMatched/HookEventIssues(issues)_`opened`_action_matches_GithubEventIssues(issues) (0.00s) --- PASS: TestDetectMatched/HookEventIssues(issues)_`milestoned`_action_matches_GithubEventIssues(issues) (0.00s) --- PASS: TestDetectMatched/HookEventPullRequestSync(pull_request_sync)_matches_GithubEventPullRequest(pull_request) (0.00s) --- PASS: TestDetectMatched/HookEventPullRequest(pull_request)_`label_updated`_action_doesn't_match_GithubEventPullRequest(pull_request)_with_no_activity_type (0.00s) --- PASS: TestDetectMatched/HookEventPullRequest(pull_request)_`closed`_action_doesn't_match_GithubEventPullRequest(pull_request)_with_no_activity_type (0.00s) --- PASS: TestDetectMatched/HookEventPullRequest(pull_request)_`closed`_action_doesn't_match_GithubEventPullRequest(pull_request)_with_branches (0.00s) --- PASS: TestDetectMatched/HookEventPullRequest(pull_request)_`label_updated`_action_matches_GithubEventPullRequest(pull_request)_with_`label`_activity_type (0.00s) --- PASS: TestDetectMatched/HookEventPullRequestReviewComment(pull_request_review_comment)_matches_GithubEventPullRequestReviewComment(pull_request_review_comment) (0.00s) --- PASS: TestDetectMatched/HookEventPullRequestReviewRejected(pull_request_review_rejected)_doesn't_match_GithubEventPullRequestReview(pull_request_review)_with_`dismissed`_activity_type_(we_don't_support_`dismissed`_at_present) (0.00s) --- PASS: TestDetectMatched/HookEventRelease(release)_`published`_action_matches_GithubEventRelease(release)_with_`published`_activity_type (0.00s) --- PASS: TestDetectMatched/HookEventPackage(package)_`created`_action_doesn't_match_GithubEventRegistryPackage(registry_package)_with_`updated`_activity_type (0.00s) --- PASS: TestDetectMatched/HookEventWiki(wiki)_matches_GithubEventGollum(gollum) (0.00s) --- PASS: TestDetectMatched/HookEventSchedule(schedule)_matches_GithubEventSchedule(schedule) (0.00s) --- PASS: TestDetectMatched/push_to_tag_matches_workflow_with_paths_condition_(should_skip_paths_check) (0.00s) --- PASS: TestDetectMatched/push_branch_filter_excludes_->_filtered_out (0.00s) === RUN TestMatchIssuesEvent === RUN TestMatchIssuesEvent/Label_deletion_should_trigger_unlabeled_event === RUN TestMatchIssuesEvent/Label_deletion_with_existing_labels_should_trigger_unlabeled_event === RUN TestMatchIssuesEvent/Label_addition_should_trigger_labeled_event === RUN TestMatchIssuesEvent/Label_clear_should_trigger_unlabeled_event === RUN TestMatchIssuesEvent/Both_adding_and_removing_labels_should_trigger_labeled_event === RUN TestMatchIssuesEvent/Both_adding_and_removing_labels_should_trigger_unlabeled_event === RUN TestMatchIssuesEvent/Both_adding_and_removing_labels_should_trigger_both_events --- PASS: TestMatchIssuesEvent (0.00s) --- PASS: TestMatchIssuesEvent/Label_deletion_should_trigger_unlabeled_event (0.00s) --- PASS: TestMatchIssuesEvent/Label_deletion_with_existing_labels_should_trigger_unlabeled_event (0.00s) --- PASS: TestMatchIssuesEvent/Label_addition_should_trigger_labeled_event (0.00s) --- PASS: TestMatchIssuesEvent/Label_clear_should_trigger_unlabeled_event (0.00s) --- PASS: TestMatchIssuesEvent/Both_adding_and_removing_labels_should_trigger_labeled_event (0.00s) --- PASS: TestMatchIssuesEvent/Both_adding_and_removing_labels_should_trigger_unlabeled_event (0.00s) --- PASS: TestMatchIssuesEvent/Both_adding_and_removing_labels_should_trigger_both_events (0.00s) PASS ok gitea.dev/modules/actions 0.116s === RUN TestParse === RUN TestParse/multiple_jobs === RUN TestParse/multiple_matrix === RUN TestParse/has_needs === RUN TestParse/has_with === RUN TestParse/has_secrets === RUN TestParse/empty_step === RUN TestParse/job_name_with_matrix === RUN TestParse/prefixed_newline === RUN TestParse/continue_on_error_expr === RUN TestParse/null_job_implicit === RUN TestParse/null_job_explicit --- PASS: TestParse (0.02s) --- PASS: TestParse/multiple_jobs (0.00s) --- PASS: TestParse/multiple_matrix (0.00s) --- PASS: TestParse/has_needs (0.00s) --- PASS: TestParse/has_with (0.00s) --- PASS: TestParse/has_secrets (0.00s) --- PASS: TestParse/empty_step (0.00s) --- PASS: TestParse/job_name_with_matrix (0.01s) --- PASS: TestParse/prefixed_newline (0.00s) --- PASS: TestParse/continue_on_error_expr (0.00s) --- PASS: TestParse/null_job_implicit (0.00s) --- PASS: TestParse/null_job_explicit (0.00s) === RUN TestParseRawOn === RUN TestParseRawOn/on:_issue_comment === RUN TestParseRawOn/on:___push === RUN TestParseRawOn/on:___-_push___-_pull_request === RUN TestParseRawOn/on:___push:_____branches:_______-_master === RUN TestParseRawOn/on:___push:_____branches:_main === RUN TestParseRawOn/on:___branch_protection_rule:_____types:_[created,_deleted] === RUN TestParseRawOn/on:___project:_____types:_[created,_deleted]___milestone:_____types:_[opened,_deleted] === RUN TestParseRawOn/on:___pull_request:_____types:_______-_opened_____branches:_______-_'releases/**' === RUN TestParseRawOn/on:___push:_____branches:_______-_main___pull_request:_____types:_______-_opened_____branches:_______-_'**' === RUN TestParseRawOn/on:___push:_____branches:_______-_'main'_______-_'releases/**' === RUN TestParseRawOn/on:___push:_____tags:_______-_v1.** === RUN TestParseRawOn/on:_[pull_request,_workflow_dispatch] === RUN TestParseRawOn/on:___schedule:_____-_cron:_'20_6_*_*_*' === RUN TestParseRawOn/on:___workflow_dispatch:_____inputs:_______logLevel:_________description:_'Log_level'_________required:_true_________default:_'warning'_________type:_choice_________options:_________-_info_________-_warning_________-_debug_______tags:_________description:_'Test_scenario_tags'_________required:_false_________type:_boolean_______environment:_________description:_'Environment_to_run_tests_against'_________type:_environment_________required:_true___push:_ === RUN TestParseRawOn/on:___workflow_call:_____inputs:_______env:_________type:_string_________required:_true_____outputs:_______sha:_________value:_${{_jobs.build.outputs.commit_}}_____secrets:_______DEPLOY_KEY:_________required:_true_ === RUN TestParseRawOn/on:___workflow_call:_____inputs:_______env:_________type:_string___push:_____branches:_[main]_ === RUN TestParseRawOn/on:_workflow_call === RUN TestParseRawOn/on:___-_push___-_workflow_call___-_pull_request --- PASS: TestParseRawOn (0.00s) --- PASS: TestParseRawOn/on:_issue_comment (0.00s) --- PASS: TestParseRawOn/on:___push (0.00s) --- PASS: TestParseRawOn/on:___-_push___-_pull_request (0.00s) --- PASS: TestParseRawOn/on:___push:_____branches:_______-_master (0.00s) --- PASS: TestParseRawOn/on:___push:_____branches:_main (0.00s) --- PASS: TestParseRawOn/on:___branch_protection_rule:_____types:_[created,_deleted] (0.00s) --- PASS: TestParseRawOn/on:___project:_____types:_[created,_deleted]___milestone:_____types:_[opened,_deleted] (0.00s) --- PASS: TestParseRawOn/on:___pull_request:_____types:_______-_opened_____branches:_______-_'releases/**' (0.00s) --- PASS: TestParseRawOn/on:___push:_____branches:_______-_main___pull_request:_____types:_______-_opened_____branches:_______-_'**' (0.00s) --- PASS: TestParseRawOn/on:___push:_____branches:_______-_'main'_______-_'releases/**' (0.00s) --- PASS: TestParseRawOn/on:___push:_____tags:_______-_v1.** (0.00s) --- PASS: TestParseRawOn/on:_[pull_request,_workflow_dispatch] (0.00s) --- PASS: TestParseRawOn/on:___schedule:_____-_cron:_'20_6_*_*_*' (0.00s) --- PASS: TestParseRawOn/on:___workflow_dispatch:_____inputs:_______logLevel:_________description:_'Log_level'_________required:_true_________default:_'warning'_________type:_choice_________options:_________-_info_________-_warning_________-_debug_______tags:_________description:_'Test_scenario_tags'_________required:_false_________type:_boolean_______environment:_________description:_'Environment_to_run_tests_against'_________type:_environment_________required:_true___push:_ (0.00s) --- PASS: TestParseRawOn/on:___workflow_call:_____inputs:_______env:_________type:_string_________required:_true_____outputs:_______sha:_________value:_${{_jobs.build.outputs.commit_}}_____secrets:_______DEPLOY_KEY:_________required:_true_ (0.00s) --- PASS: TestParseRawOn/on:___workflow_call:_____inputs:_______env:_________type:_string___push:_____branches:_[main]_ (0.00s) --- PASS: TestParseRawOn/on:_workflow_call (0.00s) --- PASS: TestParseRawOn/on:___-_push___-_workflow_call___-_pull_request (0.00s) === RUN TestSingleWorkflow_SetJob === RUN TestSingleWorkflow_SetJob/erase_needs --- PASS: TestSingleWorkflow_SetJob (0.00s) --- PASS: TestSingleWorkflow_SetJob/erase_needs (0.00s) === RUN TestGetContinueOnError === RUN TestGetContinueOnError/absent === RUN TestGetContinueOnError/static_true === RUN TestGetContinueOnError/static_false === RUN TestGetContinueOnError/matrix_expression --- PASS: TestGetContinueOnError (0.00s) --- PASS: TestGetContinueOnError/absent (0.00s) --- PASS: TestGetContinueOnError/static_true (0.00s) --- PASS: TestGetContinueOnError/static_false (0.00s) --- PASS: TestGetContinueOnError/matrix_expression (0.00s) === RUN TestParseMappingNode === RUN TestParseMappingNode/on:___push:_____branches:_______-_master === RUN TestParseMappingNode/on:___branch_protection_rule:_____types:_[created,_deleted] === RUN TestParseMappingNode/on:___project:_____types:_[created,_deleted]___milestone:_____types:_[opened,_deleted] === RUN TestParseMappingNode/on:___pull_request:_____types:_______-_opened_____branches:_______-_'releases/**' === RUN TestParseMappingNode/on:___push:_____branches:_______-_main___pull_request:_____types:_______-_opened_____branches:_______-_'**' === RUN TestParseMappingNode/on:___schedule:_____-_cron:_'20_6_*_*_*' --- PASS: TestParseMappingNode (0.00s) --- PASS: TestParseMappingNode/on:___push:_____branches:_______-_master (0.00s) --- PASS: TestParseMappingNode/on:___branch_protection_rule:_____types:_[created,_deleted] (0.00s) --- PASS: TestParseMappingNode/on:___project:_____types:_[created,_deleted]___milestone:_____types:_[opened,_deleted] (0.00s) --- PASS: TestParseMappingNode/on:___pull_request:_____types:_______-_opened_____branches:_______-_'releases/**' (0.00s) --- PASS: TestParseMappingNode/on:___push:_____branches:_______-_main___pull_request:_____types:_______-_opened_____branches:_______-_'**' (0.00s) --- PASS: TestParseMappingNode/on:___schedule:_____-_cron:_'20_6_*_*_*' (0.00s) === RUN TestEvaluateJobIfExpressionMatrix === RUN TestEvaluateJobIfExpressionMatrix/${{_contains(fromJSON('["linux","windows"]'),_matrix.target)_}} === RUN TestEvaluateJobIfExpressionMatrix/${{_contains('["linux","windows"]',_matrix.target)_}} --- PASS: TestEvaluateJobIfExpressionMatrix (0.01s) --- PASS: TestEvaluateJobIfExpressionMatrix/${{_contains(fromJSON('["linux","windows"]'),_matrix.target)_}} (0.01s) --- PASS: TestEvaluateJobIfExpressionMatrix/${{_contains('["linux","windows"]',_matrix.target)_}} (0.00s) === RUN TestEvaluateJobIfExpression === RUN TestEvaluateJobIfExpression/empty_need_success === RUN TestEvaluateJobIfExpression/always === RUN TestEvaluateJobIfExpression/failure_true === RUN TestEvaluateJobIfExpression/failure_false === RUN TestEvaluateJobIfExpression/success_true === RUN TestEvaluateJobIfExpression/cancelled === RUN TestEvaluateJobIfExpression/not_cancelled_or_failure === RUN TestEvaluateJobIfExpression/not_cancelled_or_failure,_need_failed --- PASS: TestEvaluateJobIfExpression (0.01s) --- PASS: TestEvaluateJobIfExpression/empty_need_success (0.00s) --- PASS: TestEvaluateJobIfExpression/always (0.00s) --- PASS: TestEvaluateJobIfExpression/failure_true (0.00s) --- PASS: TestEvaluateJobIfExpression/failure_false (0.00s) --- PASS: TestEvaluateJobIfExpression/success_true (0.00s) --- PASS: TestEvaluateJobIfExpression/cancelled (0.00s) --- PASS: TestEvaluateJobIfExpression/not_cancelled_or_failure (0.00s) --- PASS: TestEvaluateJobIfExpression/not_cancelled_or_failure,_need_failed (0.00s) === RUN TestSingleWorkflowRoundTripRunBlockLeadingBlankLines --- PASS: TestSingleWorkflowRoundTripRunBlockLeadingBlankLines (0.00s) === RUN TestParseUses === RUN TestParseUses/LocalSameRepo === RUN TestParseUses/LocalSameRepo/gitea_dir,_.yml === RUN TestParseUses/LocalSameRepo/github_dir,_.yml === RUN TestParseUses/LocalSameRepo/gitea_dir,_.yaml === RUN TestParseUses/LocalSameRepo/filename_containing_dots_is_allowed === RUN TestParseUses/LocalSameRepo/nested_subdirectory === RUN TestParseUses/LocalSameRepo/scoped_workflows_dir_parses === RUN TestParseUses/LocalSameRepo/non-default_dir_parses_(allowlist_enforced_downstream) === RUN TestParseUses/LocalSameRepo/leading/trailing_whitespace_is_trimmed === RUN TestParseUses/LocalCrossRepo === RUN TestParseUses/LocalCrossRepo/gitea_dir,_simple_ref === RUN TestParseUses/LocalCrossRepo/github_dir,_branch_ref === RUN TestParseUses/LocalCrossRepo/.yaml_extension === RUN TestParseUses/LocalCrossRepo/ref_with_slashes_(refs/heads/feature) === RUN TestParseUses/LocalCrossRepo/nested_subdirectory_under_workflows === RUN TestParseUses/LocalCrossRepo/scoped_workflows_dir_parses_(allowlist_enforced_by_ResolveUses) === RUN TestParseUses/Errors === RUN TestParseUses/Errors/empty_string === RUN TestParseUses/Errors/whitespace_only === RUN TestParseUses/Errors/same-repo_with_@ref === RUN TestParseUses/Errors/same-repo_wrong_extension === RUN TestParseUses/Errors/same-repo_missing_extension === RUN TestParseUses/Errors/same-repo_absolute_path === RUN TestParseUses/Errors/same-repo_path_traversal === RUN TestParseUses/Errors/same-repo_double_slash === RUN TestParseUses/Errors/same-repo_redundant_./ === RUN TestParseUses/Errors/cross-repo_missing_@ref === RUN TestParseUses/Errors/cross-repo_empty_ref === RUN TestParseUses/Errors/cross-repo_missing_owner === RUN TestParseUses/Errors/cross-repo_missing_repo === RUN TestParseUses/Errors/cross-repo_wrong_extension === RUN TestParseUses/Errors/cross-repo_path_traversal === RUN TestParseUses/Errors/cross-repo_double_slash_in_path === RUN TestParseUses/Errors/cross-repo_owner_with_space === RUN TestParseUses/Errors/cross-repo_repo_with_@ --- PASS: TestParseUses (0.00s) --- PASS: TestParseUses/LocalSameRepo (0.00s) --- PASS: TestParseUses/LocalSameRepo/gitea_dir,_.yml (0.00s) --- PASS: TestParseUses/LocalSameRepo/github_dir,_.yml (0.00s) --- PASS: TestParseUses/LocalSameRepo/gitea_dir,_.yaml (0.00s) --- PASS: TestParseUses/LocalSameRepo/filename_containing_dots_is_allowed (0.00s) --- PASS: TestParseUses/LocalSameRepo/nested_subdirectory (0.00s) --- PASS: TestParseUses/LocalSameRepo/scoped_workflows_dir_parses (0.00s) --- PASS: TestParseUses/LocalSameRepo/non-default_dir_parses_(allowlist_enforced_downstream) (0.00s) --- PASS: TestParseUses/LocalSameRepo/leading/trailing_whitespace_is_trimmed (0.00s) --- PASS: TestParseUses/LocalCrossRepo (0.00s) --- PASS: TestParseUses/LocalCrossRepo/gitea_dir,_simple_ref (0.00s) --- PASS: TestParseUses/LocalCrossRepo/github_dir,_branch_ref (0.00s) --- PASS: TestParseUses/LocalCrossRepo/.yaml_extension (0.00s) --- PASS: TestParseUses/LocalCrossRepo/ref_with_slashes_(refs/heads/feature) (0.00s) --- PASS: TestParseUses/LocalCrossRepo/nested_subdirectory_under_workflows (0.00s) --- PASS: TestParseUses/LocalCrossRepo/scoped_workflows_dir_parses_(allowlist_enforced_by_ResolveUses) (0.00s) --- PASS: TestParseUses/Errors (0.00s) --- PASS: TestParseUses/Errors/empty_string (0.00s) --- PASS: TestParseUses/Errors/whitespace_only (0.00s) --- PASS: TestParseUses/Errors/same-repo_with_@ref (0.00s) --- PASS: TestParseUses/Errors/same-repo_wrong_extension (0.00s) --- PASS: TestParseUses/Errors/same-repo_missing_extension (0.00s) --- PASS: TestParseUses/Errors/same-repo_absolute_path (0.00s) --- PASS: TestParseUses/Errors/same-repo_path_traversal (0.00s) --- PASS: TestParseUses/Errors/same-repo_double_slash (0.00s) --- PASS: TestParseUses/Errors/same-repo_redundant_./ (0.00s) --- PASS: TestParseUses/Errors/cross-repo_missing_@ref (0.00s) --- PASS: TestParseUses/Errors/cross-repo_empty_ref (0.00s) --- PASS: TestParseUses/Errors/cross-repo_missing_owner (0.00s) --- PASS: TestParseUses/Errors/cross-repo_missing_repo (0.00s) --- PASS: TestParseUses/Errors/cross-repo_wrong_extension (0.00s) --- PASS: TestParseUses/Errors/cross-repo_path_traversal (0.00s) --- PASS: TestParseUses/Errors/cross-repo_double_slash_in_path (0.00s) --- PASS: TestParseUses/Errors/cross-repo_owner_with_space (0.00s) --- PASS: TestParseUses/Errors/cross-repo_repo_with_@ (0.00s) === RUN TestParseWorkflowCallSpec === RUN TestParseWorkflowCallSpec/malformed_YAML_surfaces_a_parse_error === RUN TestParseWorkflowCallSpec/workflow_without_on.workflow_call_is_rejected === RUN TestParseWorkflowCallSpec/input_missing_the_required_type_field_is_rejected === RUN TestParseWorkflowCallSpec/inputs/secrets/outputs_are_decoded --- PASS: TestParseWorkflowCallSpec (0.00s) --- PASS: TestParseWorkflowCallSpec/malformed_YAML_surfaces_a_parse_error (0.00s) --- PASS: TestParseWorkflowCallSpec/workflow_without_on.workflow_call_is_rejected (0.00s) --- PASS: TestParseWorkflowCallSpec/input_missing_the_required_type_field_is_rejected (0.00s) --- PASS: TestParseWorkflowCallSpec/inputs/secrets/outputs_are_decoded (0.00s) === RUN TestEvaluateCallerWith === RUN TestEvaluateCallerWith/empty_with:_returns_empty_map === RUN TestEvaluateCallerWith/non-string_raw_values_pass_through_unchanged === RUN TestEvaluateCallerWith/expressions_resolve_against_vars/inputs/results === RUN TestEvaluateCallerWith/matrix.X_resolves_to_this_caller_row's_matrix_instance --- PASS: TestEvaluateCallerWith (0.00s) --- PASS: TestEvaluateCallerWith/empty_with:_returns_empty_map (0.00s) --- PASS: TestEvaluateCallerWith/non-string_raw_values_pass_through_unchanged (0.00s) --- PASS: TestEvaluateCallerWith/expressions_resolve_against_vars/inputs/results (0.00s) --- PASS: TestEvaluateCallerWith/matrix.X_resolves_to_this_caller_row's_matrix_instance (0.00s) === RUN TestMatchCallerInputsAgainstSpec === RUN TestMatchCallerInputsAgainstSpec/default_is_filled_when_caller_does_not_provide_the_input === RUN TestMatchCallerInputsAgainstSpec/caller-provided_value_wins_over_default === RUN TestMatchCallerInputsAgainstSpec/required_input_must_be_provided === RUN TestMatchCallerInputsAgainstSpec/required_input_is_satisfied_by_a_default_value === RUN TestMatchCallerInputsAgainstSpec/boolean_inputs_accept_native_bool_values_and_bool_defaults === RUN TestMatchCallerInputsAgainstSpec/boolean_input_rejects_strings === RUN TestMatchCallerInputsAgainstSpec/number_inputs_accept_native_numeric_values_and_number_defaults === RUN TestMatchCallerInputsAgainstSpec/number_input_rejects_strings === RUN TestMatchCallerInputsAgainstSpec/unknown_caller-with_key_is_silently_dropped --- PASS: TestMatchCallerInputsAgainstSpec (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/default_is_filled_when_caller_does_not_provide_the_input (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/caller-provided_value_wins_over_default (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/required_input_must_be_provided (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/required_input_is_satisfied_by_a_default_value (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/boolean_inputs_accept_native_bool_values_and_bool_defaults (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/boolean_input_rejects_strings (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/number_inputs_accept_native_numeric_values_and_number_defaults (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/number_input_rejects_strings (0.00s) --- PASS: TestMatchCallerInputsAgainstSpec/unknown_caller-with_key_is_silently_dropped (0.00s) === RUN TestParseCallerSecrets === RUN TestParseCallerSecrets/zero_node_returns_no_inherit,_no_mapping === RUN TestParseCallerSecrets/"inherit"_scalar_sets_inherit=true === RUN TestParseCallerSecrets/non-inherit_scalar_is_rejected === RUN TestParseCallerSecrets/mapping_of_secrets-style_references_is_parsed === RUN TestParseCallerSecrets/alias_and_source_names_are_upper-cased === RUN TestParseCallerSecrets/mapping_value_not_in_${{_secrets.NAME_}}_form_is_rejected --- PASS: TestParseCallerSecrets (0.00s) --- PASS: TestParseCallerSecrets/zero_node_returns_no_inherit,_no_mapping (0.00s) --- PASS: TestParseCallerSecrets/"inherit"_scalar_sets_inherit=true (0.00s) --- PASS: TestParseCallerSecrets/non-inherit_scalar_is_rejected (0.00s) --- PASS: TestParseCallerSecrets/mapping_of_secrets-style_references_is_parsed (0.00s) --- PASS: TestParseCallerSecrets/alias_and_source_names_are_upper-cased (0.00s) --- PASS: TestParseCallerSecrets/mapping_value_not_in_${{_secrets.NAME_}}_form_is_rejected (0.00s) === RUN TestValidateCallerSecrets === RUN TestValidateCallerSecrets/explicit_mapping_with_all_required_+_only_declared_aliases_is_accepted === RUN TestValidateCallerSecrets/alias_not_in_callee_schema_is_rejected === RUN TestValidateCallerSecrets/missing_required_secret_is_rejected === RUN TestValidateCallerSecrets/callee_with_no_secrets_schema_accepts_an_empty_mapping === RUN TestValidateCallerSecrets/callee_with_no_secrets_schema_rejects_a_non-empty_mapping === RUN TestValidateCallerSecrets/name_matching_is_case-insensitive === RUN TestValidateCallerSecrets/nil_spec_is_rejected --- PASS: TestValidateCallerSecrets (0.00s) --- PASS: TestValidateCallerSecrets/explicit_mapping_with_all_required_+_only_declared_aliases_is_accepted (0.00s) --- PASS: TestValidateCallerSecrets/alias_not_in_callee_schema_is_rejected (0.00s) --- PASS: TestValidateCallerSecrets/missing_required_secret_is_rejected (0.00s) --- PASS: TestValidateCallerSecrets/callee_with_no_secrets_schema_accepts_an_empty_mapping (0.00s) --- PASS: TestValidateCallerSecrets/callee_with_no_secrets_schema_rejects_a_non-empty_mapping (0.00s) --- PASS: TestValidateCallerSecrets/name_matching_is_case-insensitive (0.00s) --- PASS: TestValidateCallerSecrets/nil_spec_is_rejected (0.00s) === RUN TestEvaluateWorkflowCallOutputs === RUN TestEvaluateWorkflowCallOutputs/nil_spec_returns_empty_map === RUN TestEvaluateWorkflowCallOutputs/spec_with_no_outputs_returns_empty_map === RUN TestEvaluateWorkflowCallOutputs/plain_string_value_passes_through_unchanged === RUN TestEvaluateWorkflowCallOutputs/output_references_jobs..outputs. === RUN TestEvaluateWorkflowCallOutputs/output_references_inputs. === RUN TestEvaluateWorkflowCallOutputs/multiple_outputs_are_all_evaluated === RUN TestEvaluateWorkflowCallOutputs/expression_referencing_an_undefined_symbol_surfaces_an_error --- PASS: TestEvaluateWorkflowCallOutputs (0.00s) --- PASS: TestEvaluateWorkflowCallOutputs/nil_spec_returns_empty_map (0.00s) --- PASS: TestEvaluateWorkflowCallOutputs/spec_with_no_outputs_returns_empty_map (0.00s) --- PASS: TestEvaluateWorkflowCallOutputs/plain_string_value_passes_through_unchanged (0.00s) --- PASS: TestEvaluateWorkflowCallOutputs/output_references_jobs..outputs. (0.00s) --- PASS: TestEvaluateWorkflowCallOutputs/output_references_inputs. (0.00s) --- PASS: TestEvaluateWorkflowCallOutputs/multiple_outputs_are_all_evaluated (0.00s) --- PASS: TestEvaluateWorkflowCallOutputs/expression_referencing_an_undefined_symbol_surfaces_an_error (0.00s) PASS ok gitea.dev/modules/actions/jobparser 0.098s === RUN TestMatchPattern --- PASS: TestMatchPattern (0.00s) PASS ok gitea.dev/modules/actions/workflowpattern 0.007s === RUN TestIsVendor === RUN TestIsVendor/cache/ === RUN TestIsVendor/random/cache/ === RUN TestIsVendor/cache === RUN TestIsVendor/dependencies/ === RUN TestIsVendor/Dependencies/ === RUN TestIsVendor/dependency/ === RUN TestIsVendor/dist/ === RUN TestIsVendor/dist === RUN TestIsVendor/random/dist/ === RUN TestIsVendor/random/dist === RUN TestIsVendor/deps/ === RUN TestIsVendor/configure === RUN TestIsVendor/a/configure === RUN TestIsVendor/config.guess === RUN TestIsVendor/config.guess/ === RUN TestIsVendor/.vscode/ === RUN TestIsVendor/doc/_build/ === RUN TestIsVendor/a/docs/_build/ === RUN TestIsVendor/a/dasdocs/_build-vsdoc.js === RUN TestIsVendor/a/dasdocs/_build-vsdoc.j === RUN TestIsVendor/.gitignore === RUN TestIsVendor/.gitattributes === RUN TestIsVendor/.gitmodules === RUN TestIsVendor/src/.gitignore === RUN TestIsVendor/.github/workflows/ci.yml === RUN TestIsVendor/.gitea/workflows/ci.yml --- PASS: TestIsVendor (0.01s) --- PASS: TestIsVendor/cache/ (0.00s) --- PASS: TestIsVendor/random/cache/ (0.00s) --- PASS: TestIsVendor/cache (0.00s) --- PASS: TestIsVendor/dependencies/ (0.00s) --- PASS: TestIsVendor/Dependencies/ (0.00s) --- PASS: TestIsVendor/dependency/ (0.00s) --- PASS: TestIsVendor/dist/ (0.00s) --- PASS: TestIsVendor/dist (0.00s) --- PASS: TestIsVendor/random/dist/ (0.00s) --- PASS: TestIsVendor/random/dist (0.00s) --- PASS: TestIsVendor/deps/ (0.00s) --- PASS: TestIsVendor/configure (0.00s) --- PASS: TestIsVendor/a/configure (0.00s) --- PASS: TestIsVendor/config.guess (0.00s) --- PASS: TestIsVendor/config.guess/ (0.00s) --- PASS: TestIsVendor/.vscode/ (0.00s) --- PASS: TestIsVendor/doc/_build/ (0.00s) --- PASS: TestIsVendor/a/docs/_build/ (0.00s) --- PASS: TestIsVendor/a/dasdocs/_build-vsdoc.js (0.00s) --- PASS: TestIsVendor/a/dasdocs/_build-vsdoc.j (0.00s) --- PASS: TestIsVendor/.gitignore (0.00s) --- PASS: TestIsVendor/.gitattributes (0.00s) --- PASS: TestIsVendor/.gitmodules (0.00s) --- PASS: TestIsVendor/src/.gitignore (0.00s) --- PASS: TestIsVendor/.github/workflows/ci.yml (0.00s) --- PASS: TestIsVendor/.gitea/workflows/ci.yml (0.00s) PASS ok gitea.dev/modules/analyze 0.122s === RUN TestEmbed --- PASS: TestEmbed (0.01s) === RUN TestLayered --- PASS: TestLayered (0.10s) PASS ok gitea.dev/modules/assetfs 0.114s ? gitea.dev/modules/auth [no test files] === RUN TestParseAuthorizationHeader --- PASS: TestParseAuthorizationHeader (0.00s) PASS ok gitea.dev/modules/auth/httpauth 0.010s === RUN TestTimedDiscoveryCache --- PASS: TestTimedDiscoveryCache (0.08s) === RUN TestOpenIDDiscoveryBlocksInternalHost --- PASS: TestOpenIDDiscoveryBlocksInternalHost (0.00s) PASS ok gitea.dev/modules/auth/openid 0.117s ? gitea.dev/modules/auth/pam [no test files] === RUN TestComplexity_IsComplexEnough --- PASS: TestComplexity_IsComplexEnough (0.00s) === RUN TestComplexity_Generate --- PASS: TestComplexity_Generate (0.01s) PASS ok gitea.dev/modules/auth/password 0.022s === RUN TestDummyHasher --- PASS: TestDummyHasher (0.00s) === RUN Test_registerHasher --- PASS: Test_registerHasher (0.00s) === RUN TestParse === RUN TestParse/argon2 === RUN TestParse/bcrypt === RUN TestParse/pbkdf2 === RUN TestParse/scrypt === RUN TestParse/argon2$2$65536$8$50 === RUN TestParse/bcrypt$10 === RUN TestParse/scrypt$65536$16$2$50 === RUN TestParse/pbkdf2$10000$50 === RUN TestParse/pbkdf2$50000$50 === RUN TestParse/pbkdf2$320000$50 --- PASS: TestParse (0.00s) --- PASS: TestParse/argon2 (0.00s) --- PASS: TestParse/bcrypt (0.00s) --- PASS: TestParse/pbkdf2 (0.00s) --- PASS: TestParse/scrypt (0.00s) --- PASS: TestParse/argon2$2$65536$8$50 (0.00s) --- PASS: TestParse/bcrypt$10 (0.00s) --- PASS: TestParse/scrypt$65536$16$2$50 (0.00s) --- PASS: TestParse/pbkdf2$10000$50 (0.00s) --- PASS: TestParse/pbkdf2$50000$50 (0.00s) --- PASS: TestParse/pbkdf2$320000$50 (0.00s) === RUN TestHashing === RUN TestHashing/bcrypt === PAUSE TestHashing/bcrypt === RUN TestHashing/pbkdf2 === PAUSE TestHashing/pbkdf2 === RUN TestHashing/scrypt === PAUSE TestHashing/scrypt === RUN TestHashing/argon2 === PAUSE TestHashing/argon2 === RUN TestHashing/argon2$2$65536$8$50 === PAUSE TestHashing/argon2$2$65536$8$50 === RUN TestHashing/bcrypt$10 === PAUSE TestHashing/bcrypt$10 === RUN TestHashing/scrypt$65536$16$2$50 === PAUSE TestHashing/scrypt$65536$16$2$50 === RUN TestHashing/pbkdf2$10000$50 === PAUSE TestHashing/pbkdf2$10000$50 === RUN TestHashing/pbkdf2$50000$50 === PAUSE TestHashing/pbkdf2$50000$50 === RUN TestHashing/pbkdf2$320000$50 === PAUSE TestHashing/pbkdf2$320000$50 === RUN TestHashing/bcrypt#01 === PAUSE TestHashing/bcrypt#01 === RUN TestHashing/pbkdf2#01 === PAUSE TestHashing/pbkdf2#01 === RUN TestHashing/scrypt#01 === PAUSE TestHashing/scrypt#01 === RUN TestHashing/argon2#01 === PAUSE TestHashing/argon2#01 === RUN TestHashing/argon2$2$65536$8$50#01 === PAUSE TestHashing/argon2$2$65536$8$50#01 === RUN TestHashing/bcrypt$10#01 === PAUSE TestHashing/bcrypt$10#01 === RUN TestHashing/scrypt$65536$16$2$50#01 === PAUSE TestHashing/scrypt$65536$16$2$50#01 === RUN TestHashing/pbkdf2$10000$50#01 === PAUSE TestHashing/pbkdf2$10000$50#01 === RUN TestHashing/pbkdf2$50000$50#01 === PAUSE TestHashing/pbkdf2$50000$50#01 === RUN TestHashing/pbkdf2$320000$50#01 === PAUSE TestHashing/pbkdf2$320000$50#01 === RUN TestHashing/bcrypt#02 === PAUSE TestHashing/bcrypt#02 === RUN TestHashing/pbkdf2#02 === PAUSE TestHashing/pbkdf2#02 === RUN TestHashing/scrypt#02 === PAUSE TestHashing/scrypt#02 === RUN TestHashing/argon2#02 === PAUSE TestHashing/argon2#02 === RUN TestHashing/argon2$2$65536$8$50#02 === PAUSE TestHashing/argon2$2$65536$8$50#02 === RUN TestHashing/bcrypt$10#02 === PAUSE TestHashing/bcrypt$10#02 === RUN TestHashing/scrypt$65536$16$2$50#02 === PAUSE TestHashing/scrypt$65536$16$2$50#02 === RUN TestHashing/pbkdf2$10000$50#02 === PAUSE TestHashing/pbkdf2$10000$50#02 === RUN TestHashing/pbkdf2$50000$50#02 === PAUSE TestHashing/pbkdf2$50000$50#02 === RUN TestHashing/pbkdf2$320000$50#02 === PAUSE TestHashing/pbkdf2$320000$50#02 === CONT TestHashing/bcrypt === CONT TestHashing/bcrypt$10#01 === CONT TestHashing/argon2#02 === CONT TestHashing/pbkdf2$320000$50#02 === CONT TestHashing/pbkdf2$50000$50#02 === CONT TestHashing/pbkdf2$10000$50#02 === CONT TestHashing/scrypt$65536$16$2$50#02 === CONT TestHashing/bcrypt$10#02 === CONT TestHashing/argon2$2$65536$8$50#02 === CONT TestHashing/pbkdf2$320000$50#01 === CONT TestHashing/pbkdf2$10000$50#01 === CONT TestHashing/pbkdf2$50000$50#01 === CONT TestHashing/argon2$2$65536$8$50#01 === CONT TestHashing/pbkdf2#02 === CONT TestHashing/pbkdf2$10000$50 === CONT TestHashing/scrypt#02 === CONT TestHashing/argon2#01 === CONT TestHashing/bcrypt#02 === CONT TestHashing/scrypt#01 === CONT TestHashing/argon2 === CONT TestHashing/pbkdf2$320000$50 === CONT TestHashing/bcrypt#01 === CONT TestHashing/scrypt$65536$16$2$50 === CONT TestHashing/pbkdf2$50000$50 === CONT TestHashing/bcrypt$10 === CONT TestHashing/pbkdf2 === CONT TestHashing/argon2$2$65536$8$50 === CONT TestHashing/scrypt === CONT TestHashing/pbkdf2#01 === CONT TestHashing/scrypt$65536$16$2$50#01 --- PASS: TestHashing (0.00s) --- PASS: TestHashing/argon2#02 (0.00s) --- PASS: TestHashing/pbkdf2$320000$50#02 (0.00s) --- PASS: TestHashing/pbkdf2$50000$50#02 (0.00s) --- PASS: TestHashing/pbkdf2$10000$50#02 (0.00s) --- PASS: TestHashing/scrypt$65536$16$2$50#02 (0.00s) --- PASS: TestHashing/bcrypt$10#02 (0.00s) --- PASS: TestHashing/argon2$2$65536$8$50#02 (0.00s) --- PASS: TestHashing/pbkdf2#02 (0.00s) --- PASS: TestHashing/scrypt#02 (0.00s) --- PASS: TestHashing/bcrypt#02 (0.00s) --- PASS: TestHashing/pbkdf2#01 (0.08s) --- PASS: TestHashing/pbkdf2$10000$50 (0.11s) --- PASS: TestHashing/pbkdf2 (0.06s) --- PASS: TestHashing/pbkdf2$10000$50#01 (0.14s) --- PASS: TestHashing/bcrypt$10#01 (0.23s) --- PASS: TestHashing/bcrypt#01 (0.18s) --- PASS: TestHashing/pbkdf2$50000$50#01 (0.33s) --- PASS: TestHashing/pbkdf2$50000$50 (0.32s) --- PASS: TestHashing/bcrypt (0.41s) --- PASS: TestHashing/argon2#01 (0.41s) --- PASS: TestHashing/argon2 (0.38s) --- PASS: TestHashing/argon2$2$65536$8$50#01 (0.42s) --- PASS: TestHashing/argon2$2$65536$8$50 (0.37s) --- PASS: TestHashing/bcrypt$10 (0.37s) --- PASS: TestHashing/pbkdf2$320000$50 (1.92s) --- PASS: TestHashing/pbkdf2$320000$50#01 (1.96s) --- PASS: TestHashing/scrypt#01 (3.21s) --- PASS: TestHashing/scrypt$65536$16$2$50#01 (3.27s) --- PASS: TestHashing/scrypt$65536$16$2$50 (3.28s) --- PASS: TestHashing/scrypt (3.34s) === RUN TestVectors === RUN TestVectors/0:_bcrypt === PAUSE TestVectors/0:_bcrypt === RUN TestVectors/0:_bcrypt$10 === PAUSE TestVectors/0:_bcrypt$10 === RUN TestVectors/1:_scrypt === PAUSE TestVectors/1:_scrypt === RUN TestVectors/1:_scrypt$65536$16$2$50 === PAUSE TestVectors/1:_scrypt$65536$16$2$50 === RUN TestVectors/2:_argon2 === PAUSE TestVectors/2:_argon2 === RUN TestVectors/2:_argon2$2$65536$8$50 === PAUSE TestVectors/2:_argon2$2$65536$8$50 === RUN TestVectors/3:_pbkdf2 === PAUSE TestVectors/3:_pbkdf2 === RUN TestVectors/3:_pbkdf2$10000$50 === PAUSE TestVectors/3:_pbkdf2$10000$50 === RUN TestVectors/4:_bcrypt === PAUSE TestVectors/4:_bcrypt === RUN TestVectors/4:_bcrypt$10 === PAUSE TestVectors/4:_bcrypt$10 === RUN TestVectors/5:_scrypt === PAUSE TestVectors/5:_scrypt === RUN TestVectors/5:_scrypt$65536$16$2$50 === PAUSE TestVectors/5:_scrypt$65536$16$2$50 === RUN TestVectors/6:_argon2 === PAUSE TestVectors/6:_argon2 === RUN TestVectors/6:_argon2$2$65536$8$50 === PAUSE TestVectors/6:_argon2$2$65536$8$50 === RUN TestVectors/7:_pbkdf2 === PAUSE TestVectors/7:_pbkdf2 === RUN TestVectors/7:_pbkdf2$10000$50 === PAUSE TestVectors/7:_pbkdf2$10000$50 === RUN TestVectors/8:_pbkdf2$320000$50 === PAUSE TestVectors/8:_pbkdf2$320000$50 === RUN TestVectors/9:_pbkdf2 === PAUSE TestVectors/9:_pbkdf2 === RUN TestVectors/9:_pbkdf2$10000$50 === PAUSE TestVectors/9:_pbkdf2$10000$50 === CONT TestVectors/0:_bcrypt === CONT TestVectors/2:_argon2$2$65536$8$50 === CONT TestVectors/9:_pbkdf2 === CONT TestVectors/7:_pbkdf2 === CONT TestVectors/8:_pbkdf2$320000$50 === CONT TestVectors/7:_pbkdf2$10000$50 === CONT TestVectors/3:_pbkdf2$10000$50 === CONT TestVectors/6:_argon2 === CONT TestVectors/4:_bcrypt$10 === CONT TestVectors/1:_scrypt$65536$16$2$50 === CONT TestVectors/2:_argon2 === CONT TestVectors/5:_scrypt$65536$16$2$50 === CONT TestVectors/3:_pbkdf2 === CONT TestVectors/5:_scrypt === CONT TestVectors/4:_bcrypt === CONT TestVectors/1:_scrypt === CONT TestVectors/9:_pbkdf2$10000$50 === CONT TestVectors/0:_bcrypt$10 === CONT TestVectors/6:_argon2$2$65536$8$50 --- PASS: TestVectors (0.00s) --- PASS: TestVectors/7:_pbkdf2 (0.02s) --- PASS: TestVectors/7:_pbkdf2$10000$50 (0.02s) --- PASS: TestVectors/9:_pbkdf2 (0.02s) --- PASS: TestVectors/3:_pbkdf2 (0.03s) --- PASS: TestVectors/9:_pbkdf2$10000$50 (0.02s) --- PASS: TestVectors/3:_pbkdf2$10000$50 (0.03s) --- PASS: TestVectors/2:_argon2$2$65536$8$50 (0.05s) --- PASS: TestVectors/2:_argon2 (0.06s) --- PASS: TestVectors/6:_argon2 (0.06s) --- PASS: TestVectors/6:_argon2$2$65536$8$50 (0.06s) --- PASS: TestVectors/4:_bcrypt (0.08s) --- PASS: TestVectors/0:_bcrypt (0.08s) --- PASS: TestVectors/4:_bcrypt$10 (0.09s) --- PASS: TestVectors/0:_bcrypt$10 (0.09s) --- PASS: TestVectors/8:_pbkdf2$320000$50 (0.52s) --- PASS: TestVectors/1:_scrypt$65536$16$2$50 (1.03s) --- PASS: TestVectors/5:_scrypt (1.06s) --- PASS: TestVectors/5:_scrypt$65536$16$2$50 (1.06s) --- PASS: TestVectors/1:_scrypt (1.06s) === RUN TestCheckSettingPasswordHashAlgorithm === RUN TestCheckSettingPasswordHashAlgorithm/pbkdf2_is_pbkdf2_v2 === RUN TestCheckSettingPasswordHashAlgorithm/scrypt=scrypt$65536$16$2$50 === RUN TestCheckSettingPasswordHashAlgorithm/pbkdf2=pbkdf2_v2 === RUN TestCheckSettingPasswordHashAlgorithm/pbkdf2_v1=pbkdf2$10000$50 === RUN TestCheckSettingPasswordHashAlgorithm/pbkdf2_v2=pbkdf2$50000$50 === RUN TestCheckSettingPasswordHashAlgorithm/pbkdf2_hi=pbkdf2$320000$50 === RUN TestCheckSettingPasswordHashAlgorithm/argon2=argon2$2$65536$8$50 === RUN TestCheckSettingPasswordHashAlgorithm/bcrypt=bcrypt$10 === RUN TestCheckSettingPasswordHashAlgorithm/pbkdf2_v2_is_the_default_when_default_password_hash_algorithm_is_empty --- PASS: TestCheckSettingPasswordHashAlgorithm (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/pbkdf2_is_pbkdf2_v2 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/scrypt=scrypt$65536$16$2$50 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/pbkdf2=pbkdf2_v2 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/pbkdf2_v1=pbkdf2$10000$50 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/pbkdf2_v2=pbkdf2$50000$50 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/pbkdf2_hi=pbkdf2$320000$50 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/argon2=argon2$2$65536$8$50 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/bcrypt=bcrypt$10 (0.00s) --- PASS: TestCheckSettingPasswordHashAlgorithm/pbkdf2_v2_is_the_default_when_default_password_hash_algorithm_is_empty (0.00s) PASS ok gitea.dev/modules/auth/password/hash 4.478s === RUN TestPassword --- PASS: TestPassword (0.00s) PASS ok gitea.dev/modules/auth/password/pwn 0.015s === RUN TestInit --- PASS: TestInit (0.00s) PASS ok gitea.dev/modules/auth/webauthn 0.019s === RUN Test_ProcessAvatarPNG --- PASS: Test_ProcessAvatarPNG (0.00s) === RUN Test_ProcessAvatarJPEG --- PASS: Test_ProcessAvatarJPEG (0.00s) === RUN Test_ProcessAvatarInvalidData --- PASS: Test_ProcessAvatarInvalidData (0.00s) === RUN Test_ProcessAvatarInvalidImageSize --- PASS: Test_ProcessAvatarInvalidImageSize (0.00s) === RUN Test_ProcessAvatarImage --- PASS: Test_ProcessAvatarImage (0.22s) === RUN Test_HashAvatar --- PASS: Test_HashAvatar (0.00s) PASS ok gitea.dev/modules/avatar 0.231s ? gitea.dev/modules/avatar/identicon [no test files] ? gitea.dev/modules/badge [no test files] === RUN TestNaturalSortLess --- PASS: TestNaturalSortLess (0.00s) === RUN TestEncodeSha256 --- PASS: TestEncodeSha256 (0.00s) === RUN TestShortSha --- PASS: TestShortSha (0.00s) === RUN TestVerifyTimeLimitCode === RUN TestVerifyTimeLimitCode/TestGenericParameter === RUN TestVerifyTimeLimitCode/TestInvalidCode === RUN TestVerifyTimeLimitCode/TestCreateAndVerify === RUN TestVerifyTimeLimitCode/TestDifferentSecret --- PASS: TestVerifyTimeLimitCode (0.00s) --- PASS: TestVerifyTimeLimitCode/TestGenericParameter (0.00s) --- PASS: TestVerifyTimeLimitCode/TestInvalidCode (0.00s) --- PASS: TestVerifyTimeLimitCode/TestCreateAndVerify (0.00s) --- PASS: TestVerifyTimeLimitCode/TestDifferentSecret (0.00s) === RUN TestFileSize --- PASS: TestFileSize (0.00s) === RUN TestStringsToInt64s --- PASS: TestStringsToInt64s (0.00s) === RUN TestInt64sToStrings --- PASS: TestInt64sToStrings (0.00s) PASS ok gitea.dev/modules/base 0.018s === RUN TestNewContext --- PASS: TestNewContext (0.00s) === RUN TestTest --- PASS: TestTest (0.00s) === RUN TestGetCache --- PASS: TestGetCache (0.00s) === RUN TestGetString --- PASS: TestGetString (0.00s) === RUN TestGetInt64 --- PASS: TestGetInt64 (0.00s) === RUN TestWithCacheContext --- PASS: TestWithCacheContext (0.00s) 2026/08/11 22:30:46 modules/cache/ephemeral.go:37:(*EphemeralCache).checkExceededLifeTime() [W] EphemeralCache is expired, is highly likely to be abused for long-life tasks: system_setting, my_config1 PASS ok gitea.dev/modules/cache 0.010s ? gitea.dev/modules/cachegroup [no test files] === RUN TestAmbiguousCharacters --- PASS: TestAmbiguousCharacters (0.00s) === RUN TestMaybeRemoveBOM --- PASS: TestMaybeRemoveBOM (0.00s) === RUN TestToUTF8 --- PASS: TestToUTF8 (0.00s) === RUN TestToUTF8WithFallback --- PASS: TestToUTF8WithFallback (0.00s) === RUN TestToUTF8DropErrors --- PASS: TestToUTF8DropErrors (0.01s) === RUN TestDetectEncoding --- PASS: TestDetectEncoding (0.00s) === RUN TestToUTF8WithFallbackReader --- PASS: TestToUTF8WithFallbackReader (0.00s) === RUN TestEscapeControlReader === RUN TestEscapeControlReader/ === RUN TestEscapeControlReader/single_line_western === RUN TestEscapeControlReader/multi_line_western === RUN TestEscapeControlReader/multi_line_western_non-breaking_space === RUN TestEscapeControlReader/mixed_scripts:_western_+_japanese === RUN TestEscapeControlReader/japanese === RUN TestEscapeControlReader/hebrew === RUN TestEscapeControlReader/more_hebrew === RUN TestEscapeControlReader/Mixed_RTL+LTR === RUN TestEscapeControlReader/Mixed_RTL+LTR+BIDI === RUN TestEscapeControlReader/Accented_characters === RUN TestEscapeControlReader/Program === RUN TestEscapeControlReader/CVE_testcase === RUN TestEscapeControlReader/Mixed_testcase_with_fail === RUN TestEscapeControlReader/UTF_BOM === RUN TestEscapeControlReader/ambiguous --- PASS: TestEscapeControlReader (0.00s) --- PASS: TestEscapeControlReader/ (0.00s) --- PASS: TestEscapeControlReader/single_line_western (0.00s) --- PASS: TestEscapeControlReader/multi_line_western (0.00s) --- PASS: TestEscapeControlReader/multi_line_western_non-breaking_space (0.00s) --- PASS: TestEscapeControlReader/mixed_scripts:_western_+_japanese (0.00s) --- PASS: TestEscapeControlReader/japanese (0.00s) --- PASS: TestEscapeControlReader/hebrew (0.00s) --- PASS: TestEscapeControlReader/more_hebrew (0.00s) --- PASS: TestEscapeControlReader/Mixed_RTL+LTR (0.00s) --- PASS: TestEscapeControlReader/Mixed_RTL+LTR+BIDI (0.00s) --- PASS: TestEscapeControlReader/Accented_characters (0.00s) --- PASS: TestEscapeControlReader/Program (0.00s) --- PASS: TestEscapeControlReader/CVE_testcase (0.00s) --- PASS: TestEscapeControlReader/Mixed_testcase_with_fail (0.00s) --- PASS: TestEscapeControlReader/UTF_BOM (0.00s) --- PASS: TestEscapeControlReader/ambiguous (0.00s) === RUN TestSettingAmbiguousUnicodeDetection --- PASS: TestSettingAmbiguousUnicodeDetection (0.00s) === RUN TestHTMLChunkReader --- PASS: TestHTMLChunkReader (0.00s) PASS ok gitea.dev/modules/charset 0.121s ? gitea.dev/modules/charset/generate [no test files] === RUN TestCombine === RUN TestCombine/empty === RUN TestCombine/pending === RUN TestCombine/success === RUN TestCombine/error === RUN TestCombine/failure === RUN TestCombine/warning === RUN TestCombine/pending_and_success === RUN TestCombine/pending_and_error === RUN TestCombine/pending_and_failure === RUN TestCombine/pending_and_warning === RUN TestCombine/success_and_error === RUN TestCombine/success_and_failure === RUN TestCombine/success_and_warning === RUN TestCombine/error_and_failure === RUN TestCombine/error_and_warning === RUN TestCombine/failure_and_warning === RUN TestCombine/pending,_success_and_warning === RUN TestCombine/pending,_success_and_error === RUN TestCombine/pending,_success_and_failure === RUN TestCombine/pending,_error_and_failure === RUN TestCombine/success,_error_and_warning === RUN TestCombine/success,_failure_and_warning === RUN TestCombine/error,_failure_and_warning === RUN TestCombine/success,_warning_and_skipped === RUN TestCombine/all_success === RUN TestCombine/all_pending === RUN TestCombine/all_skipped === RUN TestCombine/pending,_success,_error_and_warning === RUN TestCombine/pending,_success,_failure_and_warning === RUN TestCombine/pending,_error,_failure_and_warning === RUN TestCombine/success,_error,_failure_and_warning === RUN TestCombine/mixed_states === RUN TestCombine/mixed_states_with_all_success === RUN TestCombine/all_success_with_warning --- PASS: TestCombine (0.00s) --- PASS: TestCombine/empty (0.00s) --- PASS: TestCombine/pending (0.00s) --- PASS: TestCombine/success (0.00s) --- PASS: TestCombine/error (0.00s) --- PASS: TestCombine/failure (0.00s) --- PASS: TestCombine/warning (0.00s) --- PASS: TestCombine/pending_and_success (0.00s) --- PASS: TestCombine/pending_and_error (0.00s) --- PASS: TestCombine/pending_and_failure (0.00s) --- PASS: TestCombine/pending_and_warning (0.00s) --- PASS: TestCombine/success_and_error (0.00s) --- PASS: TestCombine/success_and_failure (0.00s) --- PASS: TestCombine/success_and_warning (0.00s) --- PASS: TestCombine/error_and_failure (0.00s) --- PASS: TestCombine/error_and_warning (0.00s) --- PASS: TestCombine/failure_and_warning (0.00s) --- PASS: TestCombine/pending,_success_and_warning (0.00s) --- PASS: TestCombine/pending,_success_and_error (0.00s) --- PASS: TestCombine/pending,_success_and_failure (0.00s) --- PASS: TestCombine/pending,_error_and_failure (0.00s) --- PASS: TestCombine/success,_error_and_warning (0.00s) --- PASS: TestCombine/success,_failure_and_warning (0.00s) --- PASS: TestCombine/error,_failure_and_warning (0.00s) --- PASS: TestCombine/success,_warning_and_skipped (0.00s) --- PASS: TestCombine/all_success (0.00s) --- PASS: TestCombine/all_pending (0.00s) --- PASS: TestCombine/all_skipped (0.00s) --- PASS: TestCombine/pending,_success,_error_and_warning (0.00s) --- PASS: TestCombine/pending,_success,_failure_and_warning (0.00s) --- PASS: TestCombine/pending,_error,_failure_and_warning (0.00s) --- PASS: TestCombine/success,_error,_failure_and_warning (0.00s) --- PASS: TestCombine/mixed_states (0.00s) --- PASS: TestCombine/mixed_states_with_all_success (0.00s) --- PASS: TestCombine/all_success_with_warning (0.00s) PASS ok gitea.dev/modules/commitstatus 0.007s ? gitea.dev/modules/consts [no test files] === RUN TestFilterMapUnique --- PASS: TestFilterMapUnique (0.00s) === RUN TestSet --- PASS: TestSet (0.00s) PASS ok gitea.dev/modules/container 0.014s === RUN TestCreateReader --- PASS: TestCreateReader (0.00s) === RUN TestCreateReaderAndDetermineDelimiter --- PASS: TestCreateReaderAndDetermineDelimiter (0.00s) === RUN TestDetermineDelimiterShortBufferError --- PASS: TestDetermineDelimiterShortBufferError (0.00s) === RUN TestDetermineDelimiter --- PASS: TestDetermineDelimiter (0.01s) === RUN TestRemoveQuotedString --- PASS: TestRemoveQuotedString (0.00s) === RUN TestGuessDelimiter --- PASS: TestGuessDelimiter (0.00s) === RUN TestGuessFromBeforeAfterQuotes --- PASS: TestGuessFromBeforeAfterQuotes (0.00s) === RUN TestFormatError --- PASS: TestFormatError (0.00s) PASS ok gitea.dev/modules/csv 0.110s === RUN TestPrepareFileNameAndType --- PASS: TestPrepareFileNameAndType (0.00s) === RUN TestIsSubDir --- PASS: TestIsSubDir (0.00s) === RUN TestDumperIntegration --- PASS: TestDumperIntegration (0.00s) === RUN TestDumper === RUN TestDumper/IncludesWithExcludes === RUN TestDumper/IncludesAll --- PASS: TestDumper (0.00s) --- PASS: TestDumper/IncludesWithExcludes (0.00s) --- PASS: TestDumper/IncludesAll (0.00s) PASS ok gitea.dev/modules/dump 0.017s === RUN TestLookup --- PASS: TestLookup (0.02s) === RUN TestReplacers --- PASS: TestReplacers (0.02s) === RUN TestFindEmojiSubmatchIndex --- PASS: TestFindEmojiSubmatchIndex (0.00s) PASS ok gitea.dev/modules/emoji 0.096s === RUN Test_wrapNewlines === RUN Test_wrapNewlines/check_no_new_lines === RUN Test_wrapNewlines/check_simple_newline === RUN Test_wrapNewlines/check_pathological_newlines --- PASS: Test_wrapNewlines (0.00s) --- PASS: Test_wrapNewlines/check_no_new_lines (0.00s) --- PASS: Test_wrapNewlines/check_simple_newline (0.00s) --- PASS: Test_wrapNewlines/check_pathological_newlines (0.00s) PASS ok gitea.dev/modules/eventsource 0.159s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3502780535/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3502780535/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3502780535/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3502780535/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3502780535/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3502780535/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3502780535/data/actions_artifacts === RUN TestFindIconName --- PASS: TestFindIconName (0.43s) === RUN TestRenderEntryIconHTML_WithDifferentThemes === RUN TestRenderEntryIconHTML_WithDifferentThemes/FolderUsesBasicTheme === RUN TestRenderEntryIconHTML_WithDifferentThemes/FileUsesMaterialTheme === RUN TestRenderEntryIconHTML_WithDifferentThemes/SymlinkToFolderUsesBasicTheme === RUN TestRenderEntryIconHTML_WithDifferentThemes/BothMaterialTheme --- PASS: TestRenderEntryIconHTML_WithDifferentThemes (0.00s) --- PASS: TestRenderEntryIconHTML_WithDifferentThemes/FolderUsesBasicTheme (0.00s) --- PASS: TestRenderEntryIconHTML_WithDifferentThemes/FileUsesMaterialTheme (0.00s) --- PASS: TestRenderEntryIconHTML_WithDifferentThemes/SymlinkToFolderUsesBasicTheme (0.00s) --- PASS: TestRenderEntryIconHTML_WithDifferentThemes/BothMaterialTheme (0.00s) PASS ok gitea.dev/modules/fileicon 0.813s === RUN TestDecodeJwtSecretBase64 --- PASS: TestDecodeJwtSecretBase64 (0.00s) === RUN TestNewJwtSecretWithBase64 --- PASS: TestNewJwtSecretWithBase64 (0.00s) PASS ok gitea.dev/modules/generate 0.013s === RUN TestBlob_Data --- PASS: TestBlob_Data (0.01s) === RUN TestCatFileBatch === RUN TestCatFileBatch/LegacyCheck === RUN TestCatFileBatch/LegacyCheck/CorruptedGitRepo === RUN TestCatFileBatch/LegacyCheck/QueryTerminated 2026/08/11 22:30:46 .../catfile_batch_reader.go:62:newCatFileBatch.2() [E] cat-file --batch command failed in repo tests/repos/repo1_bare, error: signal: killed - 2026/08/11 22:30:46 .../catfile_batch_reader.go:62:newCatFileBatch.2() [E] cat-file --batch command failed in repo tests/repos/repo1_bare, error: signal: killed - === RUN TestCatFileBatch/LegacyCheck/QueryInfo === RUN TestCatFileBatch/LegacyCheck/QueryContent === RUN TestCatFileBatch/BatchCommand === RUN TestCatFileBatch/BatchCommand/CorruptedGitRepo === RUN TestCatFileBatch/BatchCommand/QueryTerminated 2026/08/11 22:30:46 .../catfile_batch_reader.go:62:newCatFileBatch.2() [E] cat-file --batch command failed in repo tests/repos/repo1_bare, error: signal: killed - === RUN TestCatFileBatch/BatchCommand/QueryInfo 2026/08/11 22:30:46 .../catfile_batch_reader.go:62:newCatFileBatch.2() [E] cat-file --batch command failed in repo tests/repos/repo1_bare, error: signal: killed - === RUN TestCatFileBatch/BatchCommand/QueryContent --- PASS: TestCatFileBatch (0.05s) --- PASS: TestCatFileBatch/LegacyCheck (0.04s) --- PASS: TestCatFileBatch/LegacyCheck/CorruptedGitRepo (0.01s) --- PASS: TestCatFileBatch/LegacyCheck/QueryTerminated (0.03s) --- PASS: TestCatFileBatch/LegacyCheck/QueryInfo (0.01s) --- PASS: TestCatFileBatch/LegacyCheck/QueryContent (0.00s) --- PASS: TestCatFileBatch/BatchCommand (0.01s) --- PASS: TestCatFileBatch/BatchCommand/CorruptedGitRepo (0.00s) --- PASS: TestCatFileBatch/BatchCommand/QueryTerminated (0.00s) --- PASS: TestCatFileBatch/BatchCommand/QueryInfo (0.00s) --- PASS: TestCatFileBatch/BatchCommand/QueryContent (0.00s) === RUN TestEntries_GetCommitsInfo_ContextErr --- PASS: TestEntries_GetCommitsInfo_ContextErr (0.02s) === RUN TestEntries_GetCommitsInfo === RUN TestEntries_GetCommitsInfo/NonExistingSubmoduleAsNil --- PASS: TestEntries_GetCommitsInfo (0.13s) --- PASS: TestEntries_GetCommitsInfo/NonExistingSubmoduleAsNil (0.00s) === RUN TestCommitMessageSanitizesInvalidUTF8 --- PASS: TestCommitMessageSanitizesInvalidUTF8 (0.00s) === RUN TestCommitMessageTrailer --- PASS: TestCommitMessageTrailer (0.00s) === RUN TestCommitMessageParticipants === RUN TestCommitMessageParticipants/AllParticipants === RUN TestCommitMessageParticipants/CoAuthors --- PASS: TestCommitMessageParticipants (0.00s) --- PASS: TestCommitMessageParticipants/AllParticipants (0.00s) --- PASS: TestCommitMessageParticipants/CoAuthors (0.00s) === RUN TestCommitMessageMerge --- PASS: TestCommitMessageMerge (0.00s) === RUN TestGetFullCommitIDSha256 --- PASS: TestGetFullCommitIDSha256 (0.00s) === RUN TestGetFullCommitIDErrorSha256 --- PASS: TestGetFullCommitIDErrorSha256 (0.00s) === RUN TestCommitFromReaderSha256 --- PASS: TestCommitFromReaderSha256 (0.00s) === RUN TestHasPreviousCommitSha256 --- PASS: TestHasPreviousCommitSha256 (0.03s) === RUN TestCommitSubmoduleLink === RUN TestCommitSubmoduleLink/GitHubRepo === RUN TestCommitSubmoduleLink/RelativePath --- PASS: TestCommitSubmoduleLink (0.00s) --- PASS: TestCommitSubmoduleLink/GitHubRepo (0.00s) --- PASS: TestCommitSubmoduleLink/RelativePath (0.00s) === RUN TestGetFullCommitID --- PASS: TestGetFullCommitID (0.00s) === RUN TestGetFullCommitIDError --- PASS: TestGetFullCommitIDError (0.00s) === RUN TestCommitFromReader --- PASS: TestCommitFromReader (0.00s) === RUN TestCommitWithEncodingFromReader --- PASS: TestCommitWithEncodingFromReader (0.00s) === RUN TestHasPreviousCommit --- PASS: TestHasPreviousCommit (0.04s) === RUN Test_GetCommitBranchStart --- PASS: Test_GetCommitBranchStart (0.04s) === RUN TestIsStringLikelyCommitID --- PASS: TestIsStringLikelyCommitID (0.00s) === RUN TestConfigSubmodule --- PASS: TestConfigSubmodule (0.00s) === RUN TestGitConfig --- PASS: TestGitConfig (0.04s) === RUN TestSyncGitConfig --- PASS: TestSyncGitConfig (0.06s) === RUN TestCutDiffAroundLineIssue17875 --- PASS: TestCutDiffAroundLineIssue17875 (0.00s) === RUN TestCutDiffAroundLine --- PASS: TestCutDiffAroundLine (0.00s) === RUN TestParseDiffHunkString --- PASS: TestParseDiffHunkString (0.00s) === RUN TestParseGitVersion --- PASS: TestParseGitVersion (0.00s) === RUN TestCheckGitVersionCompatibility --- PASS: TestCheckGitVersionCompatibility (0.00s) === RUN TestGrepSearch --- PASS: TestGrepSearch (0.06s) === RUN TestGetNotes --- PASS: TestGetNotes (0.10s) === RUN TestGetNestedNotes --- PASS: TestGetNestedNotes (0.02s) === RUN TestGetNonExistentNotes --- PASS: TestGetNonExistentNotes (0.01s) === RUN TestIsValidSHAPattern --- PASS: TestIsValidSHAPattern (0.00s) === RUN TestParseTreeEntriesLong --- PASS: TestParseTreeEntriesLong (0.00s) === RUN TestParseTreeEntriesShort --- PASS: TestParseTreeEntriesShort (0.00s) === RUN TestParseTreeEntriesInvalid --- PASS: TestParseTreeEntriesInvalid (0.00s) === RUN TestParseCatFileTreeLine --- PASS: TestParseCatFileTreeLine (0.00s) === RUN TestRefName --- PASS: TestRefName (0.00s) === RUN TestRefWebLinkPath --- PASS: TestRefWebLinkPath (0.00s) === RUN TestParseRefSuffix --- PASS: TestParseRefSuffix (0.00s) === RUN TestRepoCatFileBatch === RUN TestRepoCatFileBatch/MissingRepoAndClose --- PASS: TestRepoCatFileBatch (0.00s) --- PASS: TestRepoCatFileBatch/MissingRepoAndClose (0.00s) === RUN TestRepository_GetBlob_Found --- PASS: TestRepository_GetBlob_Found (0.00s) === RUN TestRepository_GetBlob_NotExist --- PASS: TestRepository_GetBlob_NotExist (0.00s) === RUN TestRepository_GetBlob_NoId --- PASS: TestRepository_GetBlob_NoId (0.00s) === RUN TestRepository_GetBranches --- PASS: TestRepository_GetBranches (0.01s) === RUN TestGetRefsBySha --- PASS: TestGetRefsBySha (0.01s) === RUN TestRepository_IsObjectExist === RUN TestRepository_IsObjectExist/empty === RUN TestRepository_IsObjectExist/branch === RUN TestRepository_IsObjectExist/commit_hash === RUN TestRepository_IsObjectExist/short_commit_hash === RUN TestRepository_IsObjectExist/blob_hash === RUN TestRepository_IsObjectExist/short_blob_hash --- PASS: TestRepository_IsObjectExist (0.00s) --- PASS: TestRepository_IsObjectExist/empty (0.00s) --- PASS: TestRepository_IsObjectExist/branch (0.00s) --- PASS: TestRepository_IsObjectExist/commit_hash (0.00s) --- PASS: TestRepository_IsObjectExist/short_commit_hash (0.00s) --- PASS: TestRepository_IsObjectExist/blob_hash (0.00s) --- PASS: TestRepository_IsObjectExist/short_blob_hash (0.00s) === RUN TestRepository_IsReferenceExist === RUN TestRepository_IsReferenceExist/empty === RUN TestRepository_IsReferenceExist/branch === RUN TestRepository_IsReferenceExist/commit_hash === RUN TestRepository_IsReferenceExist/short_commit_hash === RUN TestRepository_IsReferenceExist/blob_hash === RUN TestRepository_IsReferenceExist/short_blob_hash --- PASS: TestRepository_IsReferenceExist (0.00s) --- PASS: TestRepository_IsReferenceExist/empty (0.00s) --- PASS: TestRepository_IsReferenceExist/branch (0.00s) --- PASS: TestRepository_IsReferenceExist/commit_hash (0.00s) --- PASS: TestRepository_IsReferenceExist/short_commit_hash (0.00s) --- PASS: TestRepository_IsReferenceExist/blob_hash (0.00s) --- PASS: TestRepository_IsReferenceExist/short_blob_hash (0.00s) === RUN TestRepository_GetCommitBranches --- PASS: TestRepository_GetCommitBranches (0.03s) === RUN TestGetTagCommitWithSignature --- PASS: TestGetTagCommitWithSignature (0.03s) === RUN TestGetCommitWithBadCommitID --- PASS: TestGetCommitWithBadCommitID (0.02s) === RUN TestIsCommitInBranch --- PASS: TestIsCommitInBranch (0.01s) === RUN TestRepository_CommitsBetween --- PASS: TestRepository_CommitsBetween (0.02s) === RUN TestGetRefCommitID --- PASS: TestGetRefCommitID (0.02s) === RUN TestCommitsByFileAndRange --- PASS: TestCommitsByFileAndRange (0.05s) === RUN TestGetFormatPatch --- PASS: TestGetFormatPatch (0.04s) === RUN TestReadPatch --- PASS: TestReadPatch (0.00s) === RUN TestReadWritePullHead --- PASS: TestReadWritePullHead (0.09s) === RUN TestGetCommitFilesChanged --- PASS: TestGetCommitFilesChanged (0.01s) === RUN TestRepository_GetRefs --- PASS: TestRepository_GetRefs (0.01s) === RUN TestRepository_GetRefsFiltered --- PASS: TestRepository_GetRefsFiltered (0.00s) === RUN TestRepository_GetCodeActivityStats --- PASS: TestRepository_GetCodeActivityStats (0.01s) === RUN TestRepository_GetTagInfos --- PASS: TestRepository_GetTagInfos (0.01s) === RUN TestRepository_GetTag --- PASS: TestRepository_GetTag (0.11s) === RUN TestRepository_GetAnnotatedTag --- PASS: TestRepository_GetAnnotatedTag (0.09s) === RUN TestRepository_parseTagRef === RUN TestRepository_parseTagRef/lightweight_tag === RUN TestRepository_parseTagRef/annotated_tag === RUN TestRepository_parseTagRef/annotated_tag_with_signature --- PASS: TestRepository_parseTagRef (0.00s) --- PASS: TestRepository_parseTagRef/lightweight_tag (0.00s) --- PASS: TestRepository_parseTagRef/annotated_tag (0.00s) --- PASS: TestRepository_parseTagRef/annotated_tag_with_signature (0.00s) === RUN TestRepoIsEmpty --- PASS: TestRepoIsEmpty (0.00s) === RUN TestCloneRefusesRedirects repo_test.go:29: FIXME: GIT-CLONE-HTTP-REDIRECT-SSRF: need a complete solution in the future --- SKIP: TestCloneRefusesRedirects (0.00s) === RUN TestParseSignatureFromCommitLine --- PASS: TestParseSignatureFromCommitLine (0.00s) === RUN TestGetTemplateSubmoduleCommits --- PASS: TestGetTemplateSubmoduleCommits (0.00s) === RUN TestAddTemplateSubmoduleIndexes --- PASS: TestAddTemplateSubmoduleIndexes (0.03s) === RUN Test_parseTagData --- PASS: Test_parseTagData (0.00s) === RUN TestFollowLink --- PASS: TestFollowLink (0.02s) === RUN TestEntriesCustomSort --- PASS: TestEntriesCustomSort (0.00s) === RUN TestParseEntryMode --- PASS: TestParseEntryMode (0.00s) === RUN TestSubTree_Issue29101 --- PASS: TestSubTree_Issue29101 (0.01s) === RUN Test_GetTreePathLatestCommit --- PASS: Test_GetTreePathLatestCommit (0.01s) === RUN TestHashFilePathForWebUI --- PASS: TestHashFilePathForWebUI (0.00s) === RUN TestSplitCommitTitleBody --- PASS: TestSplitCommitTitleBody (0.00s) PASS ok gitea.dev/modules/git 1.458s === RUN Test_Attribute --- PASS: Test_Attribute (0.00s) === RUN Test_nulSeparatedAttributeWriter_ReadAttribute --- PASS: Test_nulSeparatedAttributeWriter_ReadAttribute (0.20s) === RUN Test_BatchChecker === RUN Test_BatchChecker/Create_index_file_to_run_git_check-attr === RUN Test_BatchChecker/Run_git_check-attr_on_git_work_tree === RUN Test_BatchChecker/Run_git_check-attr_in_bare_repository --- PASS: Test_BatchChecker (0.08s) --- PASS: Test_BatchChecker/Create_index_file_to_run_git_check-attr (0.02s) --- PASS: Test_BatchChecker/Run_git_check-attr_on_git_work_tree (0.06s) --- PASS: Test_BatchChecker/Run_git_check-attr_in_bare_repository (0.00s) === RUN Test_Checker === RUN Test_Checker/Create_index_file_to_run_git_check-attr === RUN Test_Checker/Run_git_check-attr_on_git_work_tree === RUN Test_Checker/Run_git_check-attr_in_bare_repository_using_index === RUN Test_Checker/Run_git_check-attr_in_bare_repository --- PASS: Test_Checker (0.12s) --- PASS: Test_Checker/Create_index_file_to_run_git_check-attr (0.02s) --- PASS: Test_Checker/Run_git_check-attr_on_git_work_tree (0.09s) --- PASS: Test_Checker/Run_git_check-attr_in_bare_repository_using_index (0.00s) --- PASS: Test_Checker/Run_git_check-attr_in_bare_repository (0.00s) PASS ok gitea.dev/modules/git/attribute 0.497s === RUN TestFormat_Flag === RUN TestFormat_Flag/references_are_delimited_by_dual_null_chars === RUN TestFormat_Flag/a_field_is_a_space-separated_key-value_pair === RUN TestFormat_Flag/fields_are_separated_by_a_null_char_field-delimiter === RUN TestFormat_Flag/multiple_fields --- PASS: TestFormat_Flag (0.00s) --- PASS: TestFormat_Flag/references_are_delimited_by_dual_null_chars (0.00s) --- PASS: TestFormat_Flag/a_field_is_a_space-separated_key-value_pair (0.00s) --- PASS: TestFormat_Flag/fields_are_separated_by_a_null_char_field-delimiter (0.00s) --- PASS: TestFormat_Flag/multiple_fields (0.00s) === RUN TestParser === RUN TestParser/no_references_on_empty_input === RUN TestParser/single_field_requested,_single_reference_in_output === RUN TestParser/single_field_requested,_multiple_references_in_output === RUN TestParser/multiple_fields_requested_for_each_reference === RUN TestParser/must_handle_multi-line_fields_such_as_'content' === RUN TestParser/must_handle_fields_without_values === RUN TestParser/must_fail_when_the_number_of_fields_in_the_input_doesn't_match_expected_format === RUN TestParser/must_fail_input_fields_don't_match_expected_format --- PASS: TestParser (0.00s) --- PASS: TestParser/no_references_on_empty_input (0.00s) --- PASS: TestParser/single_field_requested,_single_reference_in_output (0.00s) --- PASS: TestParser/single_field_requested,_multiple_references_in_output (0.00s) --- PASS: TestParser/multiple_fields_requested_for_each_reference (0.00s) --- PASS: TestParser/must_handle_multi-line_fields_such_as_'content' (0.00s) --- PASS: TestParser/must_handle_fields_without_values (0.00s) --- PASS: TestParser/must_fail_when_the_number_of_fields_in_the_input_doesn't_match_expected_format (0.00s) --- PASS: TestParser/must_fail_input_fields_don't_match_expected_format (0.00s) PASS ok gitea.dev/modules/git/foreachref 0.102s === RUN TestRunWithContextStd 2026/08/11 22:30:46 .../git/gitcmd/command.go:410:(*Command).Start() [E] git command: git, error: broken git command argument "-test" 2026/08/11 22:30:46 .../git/gitcmd/command.go:410:(*Command).Start() [E] git command: git, error: broken git command argument "--test" --- PASS: TestRunWithContextStd (0.01s) === RUN TestGitArgument --- PASS: TestGitArgument (0.00s) === RUN TestCommandString --- PASS: TestCommandString (0.00s) === RUN TestRunStdError --- PASS: TestRunStdError (0.00s) === RUN TestRunWithContextTimeout === RUN TestRunWithContextTimeout/NoTimeout === RUN TestRunWithContextTimeout/WithTimeout --- PASS: TestRunWithContextTimeout (0.00s) --- PASS: TestRunWithContextTimeout/NoTimeout (0.00s) --- PASS: TestRunWithContextTimeout/WithTimeout (0.00s) === RUN TestIsStderr --- PASS: TestIsStderr (0.00s) PASS ok gitea.dev/modules/git/gitcmd 0.121s ? gitea.dev/modules/git/internal [no test files] === RUN TestRepository_GetLanguageStats --- PASS: TestRepository_GetLanguageStats (0.02s) === RUN TestMergeLanguageStats --- PASS: TestMergeLanguageStats (0.00s) PASS ok gitea.dev/modules/git/languagestats 0.252s === RUN TestFindLFSFile --- PASS: TestFindLFSFile (0.01s) PASS ok gitea.dev/modules/git/pipeline 0.109s === RUN TestParseGitURLs === RUN TestParseGitURLs/git@127.0.0.1:go-gitea/gitea.git === RUN TestParseGitURLs/git@[fe80::14fc:cec5:c174:d88%2510]:go-gitea/gitea.git === RUN TestParseGitURLs/git@[::1]:go-gitea/gitea.git === RUN TestParseGitURLs/git@github.com:go-gitea/gitea.git === RUN TestParseGitURLs/ssh://git@github.com/go-gitea/gitea.git === RUN TestParseGitURLs/ssh://git@[::1]/go-gitea/gitea.git === RUN TestParseGitURLs//repositories/go-gitea/gitea.git === RUN TestParseGitURLs/file:///repositories/go-gitea/gitea.git === RUN TestParseGitURLs/https://github.com/go-gitea/gitea.git === RUN TestParseGitURLs/https://git:git@github.com/go-gitea/gitea.git === RUN TestParseGitURLs/https://[fe80::14fc:cec5:c174:d88%2510]:20/go-gitea/gitea.git === RUN TestParseGitURLs/git://github.com/go-gitea/gitea.git --- PASS: TestParseGitURLs (0.00s) --- PASS: TestParseGitURLs/git@127.0.0.1:go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/git@[fe80::14fc:cec5:c174:d88%2510]:go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/git@[::1]:go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/git@github.com:go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/ssh://git@github.com/go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/ssh://git@[::1]/go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs//repositories/go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/file:///repositories/go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/https://github.com/go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/https://git:git@github.com/go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/https://[fe80::14fc:cec5:c174:d88%2510]:20/go-gitea/gitea.git (0.00s) --- PASS: TestParseGitURLs/git://github.com/go-gitea/gitea.git (0.00s) === RUN TestParseRepositoryURL === RUN TestParseRepositoryURL//user/repo === RUN TestParseRepositoryURL/https://localhost:3000/user/repo === RUN TestParseRepositoryURL/https://external:3000/user/repo === RUN TestParseRepositoryURL/https://localhost:3000/user/repo.git/other === RUN TestParseRepositoryURL/https://gitea/user/repo === RUN TestParseRepositoryURL/https://gitea:3333/user/repo === RUN TestParseRepositoryURL/ssh://try.gitea.io:2222/user/repo === RUN TestParseRepositoryURL/ssh://external:2222/user/repo === RUN TestParseRepositoryURL/git+ssh://user@try.gitea.io/user/repo.git === RUN TestParseRepositoryURL/git+ssh://user@external/user/repo.git === RUN TestParseRepositoryURL/root@try.gitea.io:user/repo.git === RUN TestParseRepositoryURL/root@gitea:user/repo.git === RUN TestParseRepositoryURL/root@external:user/repo.git === RUN TestParseRepositoryURL/WithSubpath === RUN TestParseRepositoryURL/WithSubpath/https://localhost:3000/user/repo === RUN TestParseRepositoryURL/WithSubpath/https://localhost:3000/subpath/user/repo.git/other === RUN TestParseRepositoryURL/WithSubpath/ssh://try.gitea.io:2222/user/repo === RUN TestParseRepositoryURL/WithSubpath/ssh://external:2222/user/repo === RUN TestParseRepositoryURL/WithSubpath/git+ssh://user@try.gitea.io/user/repo.git === RUN TestParseRepositoryURL/WithSubpath/git+ssh://user@external/user/repo.git === RUN TestParseRepositoryURL/WithSubpath/root@try.gitea.io:user/repo.git === RUN TestParseRepositoryURL/WithSubpath/root@external:user/repo.git --- PASS: TestParseRepositoryURL (0.00s) --- PASS: TestParseRepositoryURL//user/repo (0.00s) --- PASS: TestParseRepositoryURL/https://localhost:3000/user/repo (0.00s) --- PASS: TestParseRepositoryURL/https://external:3000/user/repo (0.00s) --- PASS: TestParseRepositoryURL/https://localhost:3000/user/repo.git/other (0.00s) --- PASS: TestParseRepositoryURL/https://gitea/user/repo (0.00s) --- PASS: TestParseRepositoryURL/https://gitea:3333/user/repo (0.00s) --- PASS: TestParseRepositoryURL/ssh://try.gitea.io:2222/user/repo (0.00s) --- PASS: TestParseRepositoryURL/ssh://external:2222/user/repo (0.00s) --- PASS: TestParseRepositoryURL/git+ssh://user@try.gitea.io/user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/git+ssh://user@external/user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/root@try.gitea.io:user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/root@gitea:user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/root@external:user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/https://localhost:3000/user/repo (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/https://localhost:3000/subpath/user/repo.git/other (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/ssh://try.gitea.io:2222/user/repo (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/ssh://external:2222/user/repo (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/git+ssh://user@try.gitea.io/user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/git+ssh://user@external/user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/root@try.gitea.io:user/repo.git (0.00s) --- PASS: TestParseRepositoryURL/WithSubpath/root@external:user/repo.git (0.00s) === RUN TestMakeRepositoryBaseLink --- PASS: TestMakeRepositoryBaseLink (0.00s) PASS ok gitea.dev/modules/git/url 0.008s === RUN TestReadingBlameOutputSha256 === RUN TestReadingBlameOutputSha256/Without_.git-blame-ignore-revs === RUN TestReadingBlameOutputSha256/With_.git-blame-ignore-revs --- PASS: TestReadingBlameOutputSha256 (0.04s) --- PASS: TestReadingBlameOutputSha256/Without_.git-blame-ignore-revs (0.02s) --- PASS: TestReadingBlameOutputSha256/With_.git-blame-ignore-revs (0.02s) === RUN TestReadingBlameOutput === RUN TestReadingBlameOutput/Without_.git-blame-ignore-revs === RUN TestReadingBlameOutput/With_.git-blame-ignore-revs --- PASS: TestReadingBlameOutput (0.06s) --- PASS: TestReadingBlameOutput/Without_.git-blame-ignore-revs (0.02s) --- PASS: TestReadingBlameOutput/With_.git-blame-ignore-revs (0.04s) === RUN TestParseCommitFileStatus --- PASS: TestParseCommitFileStatus (0.00s) === RUN TestGetCommitFileStatusMerges --- PASS: TestGetCommitFileStatusMerges (0.01s) === RUN TestGetCommitFileStatusMergesSha256 --- PASS: TestGetCommitFileStatusMergesSha256 (0.01s) === RUN TestCommitsCount --- PASS: TestCommitsCount (0.00s) === RUN TestCommitsCountWithSinceUntil === RUN TestCommitsCountWithSinceUntil/no_filter === RUN TestCommitsCountWithSinceUntil/since_keeps_newer_commits === RUN TestCommitsCountWithSinceUntil/until_keeps_older_commits === RUN TestCommitsCountWithSinceUntil/since_and_until_bound_the_range --- PASS: TestCommitsCountWithSinceUntil (0.02s) --- PASS: TestCommitsCountWithSinceUntil/no_filter (0.01s) --- PASS: TestCommitsCountWithSinceUntil/since_keeps_newer_commits (0.00s) --- PASS: TestCommitsCountWithSinceUntil/until_keeps_older_commits (0.00s) --- PASS: TestCommitsCountWithSinceUntil/since_and_until_bound_the_range (0.00s) === RUN TestCommitsCountWithoutBase --- PASS: TestCommitsCountWithoutBase (0.02s) === RUN TestGetLatestCommitTime --- PASS: TestGetLatestCommitTime (0.02s) === RUN TestMergeBaseNoCommonHistory --- PASS: TestMergeBaseNoCommonHistory (0.10s) === RUN TestRepoGetDivergingCommits --- PASS: TestRepoGetDivergingCommits (0.01s) === RUN TestGetCommitIDsBetweenReverse --- PASS: TestGetCommitIDsBetweenReverse (0.02s) === RUN TestMergeTreeDirectoryRenameConflictWithoutFiles --- PASS: TestMergeTreeDirectoryRenameConflictWithoutFiles (0.20s) PASS ok gitea.dev/modules/gitrepo 0.622s === RUN TestGlob --- PASS: TestGlob (0.00s) === RUN TestQuoteMeta --- PASS: TestQuoteMeta (0.00s) PASS ok gitea.dev/modules/glob 0.013s === RUN TestLockAndDo === RUN TestLockAndDo/redis redis: 2026/08/11 22:30:46 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:47 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:47 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:48 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused globallock_test.go:17: no redis server for testing, skipped === RUN TestLockAndDo/memory --- PASS: TestLockAndDo (1.75s) --- SKIP: TestLockAndDo/redis (1.75s) --- PASS: TestLockAndDo/memory (0.00s) === RUN TestLocker === RUN TestLocker/redis redis: 2026/08/11 22:30:48 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:48 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:49 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:49 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused locker_test.go:36: no redis server for testing, skipped === RUN TestLocker/memory === RUN TestLocker/memory/lock === RUN TestLocker/memory/try_lock === RUN TestLocker/memory/wait_and_acquired === RUN TestLocker/memory/multiple_release --- PASS: TestLocker (4.77s) --- SKIP: TestLocker/redis (1.67s) --- PASS: TestLocker/memory (3.10s) --- PASS: TestLocker/memory/lock (1.00s) --- PASS: TestLocker/memory/try_lock (0.00s) --- PASS: TestLocker/memory/wait_and_acquired (2.10s) --- PASS: TestLocker/memory/multiple_release (0.00s) PASS ok gitea.dev/modules/globallock 6.526s ? gitea.dev/modules/graceful [no test files] === RUN TestManager --- PASS: TestManager (0.00s) PASS ok gitea.dev/modules/graceful/releasereopen 0.006s === RUN TestTraceStarter --- PASS: TestTraceStarter (0.00s) PASS ok gitea.dev/modules/gtprof 0.004s === RUN TestCaptcha === RUN TestCaptcha/Success === RUN TestCaptcha/Missing_Secret === RUN TestCaptcha/Missing_Token === RUN TestCaptcha/Invalid_Token --- PASS: TestCaptcha (0.00s) --- PASS: TestCaptcha/Success (0.00s) --- PASS: TestCaptcha/Missing_Secret (0.00s) --- PASS: TestCaptcha/Missing_Token (0.00s) --- PASS: TestCaptcha/Invalid_Token (0.00s) PASS ok gitea.dev/modules/hcaptcha 0.015s === RUN TestFile === RUN TestFile/empty.py === RUN TestFile/empty.js === RUN TestFile/empty.yaml === RUN TestFile/tags.txt === RUN TestFile/tags.py === RUN TestFile/eol-no.py === RUN TestFile/eol-newline1.py === RUN TestFile/eol-newline2.py === RUN TestFile/empty-line-with-space.py === RUN TestFile/test.sql === RUN TestFile/test.http --- PASS: TestFile (0.04s) --- PASS: TestFile/empty.py (0.01s) --- PASS: TestFile/empty.js (0.00s) --- PASS: TestFile/empty.yaml (0.00s) --- PASS: TestFile/tags.txt (0.00s) --- PASS: TestFile/tags.py (0.00s) --- PASS: TestFile/eol-no.py (0.00s) --- PASS: TestFile/eol-newline1.py (0.00s) --- PASS: TestFile/eol-newline2.py (0.00s) --- PASS: TestFile/empty-line-with-space.py (0.00s) --- PASS: TestFile/test.sql (0.01s) --- PASS: TestFile/test.http (0.00s) === RUN TestPlainText === RUN TestPlainText/empty.py === RUN TestPlainText/tags.py === RUN TestPlainText/eol-no.py === RUN TestPlainText/eol-newline1.py === RUN TestPlainText/eol-newline2.py === RUN TestPlainText/empty-line-with-space.py --- PASS: TestPlainText (0.00s) --- PASS: TestPlainText/empty.py (0.00s) --- PASS: TestPlainText/tags.py (0.00s) --- PASS: TestPlainText/eol-no.py (0.00s) --- PASS: TestPlainText/eol-newline1.py (0.00s) --- PASS: TestPlainText/eol-newline2.py (0.00s) --- PASS: TestPlainText/empty-line-with-space.py (0.00s) === RUN TestUnsafeSplitHighlightedLines --- PASS: TestUnsafeSplitHighlightedLines (0.00s) === RUN TestDetectChromaLexer --- PASS: TestDetectChromaLexer (0.00s) PASS ok gitea.dev/modules/highlight 0.147s === RUN TestHostOrIPMatchesList --- PASS: TestHostOrIPMatchesList (0.00s) === RUN TestReservedRanges --- PASS: TestReservedRanges (0.00s) PASS ok gitea.dev/modules/hostmatcher 0.009s === RUN TestHTMLFormat --- PASS: TestHTMLFormat (0.00s) === RUN TestHTMLBuilder --- PASS: TestHTMLBuilder (0.00s) === RUN TestHTMLWriter --- PASS: TestHTMLWriter (0.00s) PASS ok gitea.dev/modules/htmlutil 0.007s === RUN TestHandleGenericETagCache === RUN TestHandleGenericETagCache/No_If-None-Match === RUN TestHandleGenericETagCache/Mismatched_If-None-Match === RUN TestHandleGenericETagCache/Matched_If-None-Match === RUN TestHandleGenericETagCache/Multiple_Mismatched_If-None-Match === RUN TestHandleGenericETagCache/Multiple_Matched_If-None-Match --- PASS: TestHandleGenericETagCache (0.00s) --- PASS: TestHandleGenericETagCache/No_If-None-Match (0.00s) --- PASS: TestHandleGenericETagCache/Mismatched_If-None-Match (0.00s) --- PASS: TestHandleGenericETagCache/Matched_If-None-Match (0.00s) --- PASS: TestHandleGenericETagCache/Multiple_Mismatched_If-None-Match (0.00s) --- PASS: TestHandleGenericETagCache/Multiple_Matched_If-None-Match (0.00s) PASS ok gitea.dev/modules/httpcache 0.009s === RUN TestContentDisposition === RUN TestContentDisposition/inline_test.txt === RUN TestContentDisposition/inline_test❌.txt === RUN TestContentDisposition/inline_test_❌.txt === RUN TestContentDisposition/inline_"test.txt === RUN TestContentDisposition/inline_hello_world.txt === RUN TestContentDisposition/attachment_hello_world.txt === RUN TestContentDisposition/attachment_hello_world.txt#01 === RUN TestContentDisposition/attachment_hello_world.txt#02 === RUN TestContentDisposition/inline_hello_world.txt#01 === RUN TestContentDisposition/inline_hello!world.txt === RUN TestContentDisposition/inline_hello"world.txt === RUN TestContentDisposition/inline_hello#world.txt === RUN TestContentDisposition/inline_hello$world.txt === RUN TestContentDisposition/inline_hello%world.txt === RUN TestContentDisposition/inline_hello&world.txt === RUN TestContentDisposition/inline_hello'world.txt === RUN TestContentDisposition/inline_hello(world.txt === RUN TestContentDisposition/inline_hello)world.txt === RUN TestContentDisposition/inline_hello*world.txt === RUN TestContentDisposition/inline_hello+world.txt === RUN TestContentDisposition/inline_hello,world.txt === RUN TestContentDisposition/inline_hello-world.txt === RUN TestContentDisposition/inline_hello.world.txt === RUN TestContentDisposition/inline_hello/world.txt === RUN TestContentDisposition/inline_hello0world.txt === RUN TestContentDisposition/inline_hello1world.txt === RUN TestContentDisposition/inline_hello2world.txt === RUN TestContentDisposition/inline_hello3world.txt === RUN TestContentDisposition/inline_hello4world.txt === RUN TestContentDisposition/inline_hello5world.txt === RUN TestContentDisposition/inline_hello6world.txt === RUN TestContentDisposition/inline_hello7world.txt === RUN TestContentDisposition/inline_hello8world.txt === RUN TestContentDisposition/inline_hello9world.txt === RUN TestContentDisposition/inline_hello:world.txt === RUN TestContentDisposition/inline_hello;world.txt === RUN TestContentDisposition/inline_helloworld.txt === RUN TestContentDisposition/inline_hello?world.txt === RUN TestContentDisposition/inline_hello@world.txt === RUN TestContentDisposition/inline_helloAworld.txt === RUN TestContentDisposition/inline_helloBworld.txt === RUN TestContentDisposition/inline_helloCworld.txt === RUN TestContentDisposition/inline_helloDworld.txt === RUN TestContentDisposition/inline_helloEworld.txt === RUN TestContentDisposition/inline_helloFworld.txt === RUN TestContentDisposition/inline_helloGworld.txt === RUN TestContentDisposition/inline_helloHworld.txt === RUN TestContentDisposition/inline_helloIworld.txt === RUN TestContentDisposition/inline_helloJworld.txt === RUN TestContentDisposition/inline_helloKworld.txt === RUN TestContentDisposition/inline_helloLworld.txt === RUN TestContentDisposition/inline_helloMworld.txt === RUN TestContentDisposition/inline_helloNworld.txt === RUN TestContentDisposition/inline_helloOworld.txt === RUN TestContentDisposition/inline_helloPworld.txt === RUN TestContentDisposition/inline_helloQworld.txt === RUN TestContentDisposition/inline_helloRworld.txt === RUN TestContentDisposition/inline_helloSworld.txt === RUN TestContentDisposition/inline_helloTworld.txt === RUN TestContentDisposition/inline_helloUworld.txt === RUN TestContentDisposition/inline_helloVworld.txt === RUN TestContentDisposition/inline_helloWworld.txt === RUN TestContentDisposition/inline_helloXworld.txt === RUN TestContentDisposition/inline_helloYworld.txt === RUN TestContentDisposition/inline_helloZworld.txt === RUN TestContentDisposition/inline_hello[world.txt === RUN TestContentDisposition/inline_hello\world.txt === RUN TestContentDisposition/inline_hello]world.txt === RUN TestContentDisposition/inline_hello^world.txt === RUN TestContentDisposition/inline_hello_world.txt#02 === RUN TestContentDisposition/inline_hello`world.txt === RUN TestContentDisposition/inline_helloaworld.txt === RUN TestContentDisposition/inline_hellobworld.txt === RUN TestContentDisposition/inline_hellocworld.txt === RUN TestContentDisposition/inline_hellodworld.txt === RUN TestContentDisposition/inline_helloeworld.txt === RUN TestContentDisposition/inline_hellofworld.txt === RUN TestContentDisposition/inline_hellogworld.txt === RUN TestContentDisposition/inline_hellohworld.txt === RUN TestContentDisposition/inline_helloiworld.txt === RUN TestContentDisposition/inline_hellojworld.txt === RUN TestContentDisposition/inline_hellokworld.txt === RUN TestContentDisposition/inline_hellolworld.txt === RUN TestContentDisposition/inline_hellomworld.txt === RUN TestContentDisposition/inline_hellonworld.txt === RUN TestContentDisposition/inline_hellooworld.txt === RUN TestContentDisposition/inline_hellopworld.txt === RUN TestContentDisposition/inline_helloqworld.txt === RUN TestContentDisposition/inline_hellorworld.txt === RUN TestContentDisposition/inline_hellosworld.txt === RUN TestContentDisposition/inline_hellotworld.txt === RUN TestContentDisposition/inline_hellouworld.txt === RUN TestContentDisposition/inline_hellovworld.txt === RUN TestContentDisposition/inline_hellowworld.txt === RUN TestContentDisposition/inline_helloxworld.txt === RUN TestContentDisposition/inline_helloyworld.txt === RUN TestContentDisposition/inline_hellozworld.txt === RUN TestContentDisposition/inline_hello{world.txt === RUN TestContentDisposition/inline_hello|world.txt === RUN TestContentDisposition/inline_hello}world.txt === RUN TestContentDisposition/inline_hello~world.txt --- PASS: TestContentDisposition (0.01s) --- PASS: TestContentDisposition/inline_test.txt (0.00s) --- PASS: TestContentDisposition/inline_test❌.txt (0.00s) --- PASS: TestContentDisposition/inline_test_❌.txt (0.00s) --- PASS: TestContentDisposition/inline_"test.txt (0.00s) --- PASS: TestContentDisposition/inline_hello_world.txt (0.00s) --- PASS: TestContentDisposition/attachment_hello_world.txt (0.00s) --- PASS: TestContentDisposition/attachment_hello_world.txt#01 (0.00s) --- PASS: TestContentDisposition/attachment_hello_world.txt#02 (0.00s) --- PASS: TestContentDisposition/inline_hello_world.txt#01 (0.00s) --- PASS: TestContentDisposition/inline_hello!world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello"world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello#world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello$world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello%world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello&world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello'world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello(world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello)world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello*world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello+world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello,world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello-world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello.world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello/world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello0world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello1world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello2world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello3world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello4world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello5world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello6world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello7world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello8world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello9world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello:world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello;world.txt (0.00s) --- PASS: TestContentDisposition/inline_helloworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hello?world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello@world.txt (0.00s) --- PASS: TestContentDisposition/inline_helloAworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloBworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloCworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloDworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloEworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloFworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloGworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloHworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloIworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloJworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloKworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloLworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloMworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloNworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloOworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloPworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloQworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloRworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloSworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloTworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloUworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloVworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloWworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloXworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloYworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloZworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hello[world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello\world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello]world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello^world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello_world.txt#02 (0.00s) --- PASS: TestContentDisposition/inline_hello`world.txt (0.00s) --- PASS: TestContentDisposition/inline_helloaworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellobworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellocworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellodworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloeworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellofworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellogworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellohworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloiworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellojworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellokworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellolworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellomworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellonworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellooworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellopworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloqworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellorworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellosworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellotworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellouworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellovworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellowworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloxworld.txt (0.00s) --- PASS: TestContentDisposition/inline_helloyworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hellozworld.txt (0.00s) --- PASS: TestContentDisposition/inline_hello{world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello|world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello}world.txt (0.00s) --- PASS: TestContentDisposition/inline_hello~world.txt (0.00s) === RUN TestServeUserContentByReader === RUN TestServeUserContentByReader/_range_ === RUN TestServeUserContentByReader/_range_0- === RUN TestServeUserContentByReader/_range_0-15 === RUN TestServeUserContentByReader/_range_1- === RUN TestServeUserContentByReader/_range_1-3 === RUN TestServeUserContentByReader/_range_16- === RUN TestServeUserContentByReader/_range_1-99999 --- PASS: TestServeUserContentByReader (0.00s) --- PASS: TestServeUserContentByReader/_range_ (0.00s) --- PASS: TestServeUserContentByReader/_range_0- (0.00s) --- PASS: TestServeUserContentByReader/_range_0-15 (0.00s) --- PASS: TestServeUserContentByReader/_range_1- (0.00s) --- PASS: TestServeUserContentByReader/_range_1-3 (0.00s) --- PASS: TestServeUserContentByReader/_range_16- (0.00s) --- PASS: TestServeUserContentByReader/_range_1-99999 (0.00s) === RUN TestServeUserContentByFile === RUN TestServeUserContentByFile/_range_ === RUN TestServeUserContentByFile/_range_0- === RUN TestServeUserContentByFile/_range_0-15 === RUN TestServeUserContentByFile/_range_1- === RUN TestServeUserContentByFile/_range_1-3 === RUN TestServeUserContentByFile/_range_16- === RUN TestServeUserContentByFile/_range_1-99999 --- PASS: TestServeUserContentByFile (0.00s) --- PASS: TestServeUserContentByFile/_range_ (0.00s) --- PASS: TestServeUserContentByFile/_range_0- (0.00s) --- PASS: TestServeUserContentByFile/_range_0-15 (0.00s) --- PASS: TestServeUserContentByFile/_range_1- (0.00s) --- PASS: TestServeUserContentByFile/_range_1-3 (0.00s) --- PASS: TestServeUserContentByFile/_range_16- (0.00s) --- PASS: TestServeUserContentByFile/_range_1-99999 (0.00s) === RUN TestServeSetHeaderContentRelated --- PASS: TestServeSetHeaderContentRelated (0.00s) === RUN TestServeSetHeaders --- PASS: TestServeSetHeaders (0.00s) === RUN TestIsRelativeURL --- PASS: TestIsRelativeURL (0.00s) === RUN TestGuessCurrentHostURL === RUN TestGuessCurrentHostURL/Legacy === RUN TestGuessCurrentHostURL/Auto === RUN TestGuessCurrentHostURL/Never --- PASS: TestGuessCurrentHostURL (0.00s) --- PASS: TestGuessCurrentHostURL/Legacy (0.00s) --- PASS: TestGuessCurrentHostURL/Auto (0.00s) --- PASS: TestGuessCurrentHostURL/Never (0.00s) === RUN TestMakeAbsoluteURL --- PASS: TestMakeAbsoluteURL (0.00s) === RUN TestIsCurrentGiteaSiteURL --- PASS: TestIsCurrentGiteaSiteURL (0.00s) === RUN TestParseGiteaSiteURL --- PASS: TestParseGiteaSiteURL (0.00s) PASS ok gitea.dev/modules/httplib 0.021s ? gitea.dev/modules/indexer [no test files] 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3261771401/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3261771401/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3261771401/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3261771401/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3261771401/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3261771401/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3261771401/data/actions_artifacts === RUN TestBleveIndexAndSearch === RUN TestBleveIndexAndSearch/bleve === RUN TestBleveIndexAndSearch/bleve/Description === RUN TestBleveIndexAndSearch/bleve/Description#01 === RUN TestBleveIndexAndSearch/bleve/repo1 === RUN TestBleveIndexAndSearch/bleve/repo1#01 === RUN TestBleveIndexAndSearch/bleve/non-exist === RUN TestBleveIndexAndSearch/bleve/pineaple === RUN TestBleveIndexAndSearch/bleve/avocado.md === RUN TestBleveIndexAndSearch/bleve/avo === RUN TestBleveIndexAndSearch/bleve/cucumber === RUN TestBleveIndexAndSearch/bleve/ham === RUN TestBleveIndexAndSearch/bleve/This_is_not_cheese === RUN TestBleveIndexAndSearch/bleve/dESCRIPTION === RUN TestBleveIndexAndSearch/bleve/AVOCADO.MD === RUN TestBleveIndexAndSearch/bleve/console.log === RUN TestBleveIndexAndSearch/bleve/log --- PASS: TestBleveIndexAndSearch (0.32s) --- PASS: TestBleveIndexAndSearch/bleve (0.07s) --- PASS: TestBleveIndexAndSearch/bleve/Description (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/Description#01 (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/repo1 (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/repo1#01 (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/non-exist (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/pineaple (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/avocado.md (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/avo (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/cucumber (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/ham (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/This_is_not_cheese (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/dESCRIPTION (0.01s) --- PASS: TestBleveIndexAndSearch/bleve/AVOCADO.MD (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/console.log (0.00s) --- PASS: TestBleveIndexAndSearch/bleve/log (0.00s) === RUN TestESIndexAndSearch --- SKIP: TestESIndexAndSearch (0.06s) PASS ok gitea.dev/modules/indexer/code 0.990s ? gitea.dev/modules/indexer/code/bleve [no test files] === RUN TestTokenFilter === RUN TestTokenFilter/ensure_terms_of_'Dockerfile' === RUN TestTokenFilter/ensure_terms_of_'Dockerfile.rootless' === RUN TestTokenFilter/ensure_terms_of_'a/b/c/Dockerfile.rootless' === RUN TestTokenFilter/ensure_terms_of_'' --- PASS: TestTokenFilter (0.00s) --- PASS: TestTokenFilter/ensure_terms_of_'Dockerfile' (0.00s) --- PASS: TestTokenFilter/ensure_terms_of_'Dockerfile.rootless' (0.00s) --- PASS: TestTokenFilter/ensure_terms_of_'a/b/c/Dockerfile.rootless' (0.00s) --- PASS: TestTokenFilter/ensure_terms_of_'' (0.00s) PASS ok gitea.dev/modules/indexer/code/bleve/token/path 0.014s === RUN TestIndexPos --- PASS: TestIndexPos (0.00s) PASS ok gitea.dev/modules/indexer/code/elasticsearch 0.194s === RUN TestIndexSettingToGitGrepPathspecList --- PASS: TestIndexSettingToGitGrepPathspecList (0.00s) PASS ok gitea.dev/modules/indexer/code/gitgrep 0.161s ? gitea.dev/modules/indexer/code/internal [no test files] ? gitea.dev/modules/indexer/internal [no test files] === RUN TestBleveGuessFuzzinessByKeyword === RUN TestBleveGuessFuzzinessByKeyword/Fuziniess:=0 === RUN TestBleveGuessFuzzinessByKeyword/Fuziniess:Avocado=1 === RUN TestBleveGuessFuzzinessByKeyword/Fuziniess:Geschwindigkeit=2 === RUN TestBleveGuessFuzzinessByKeyword/Fuziniess:non-exist=0 === RUN TestBleveGuessFuzzinessByKeyword/Fuziniess:갃갃갃=0 === RUN TestBleveGuessFuzzinessByKeyword/Fuziniess:repo1=0 === RUN TestBleveGuessFuzzinessByKeyword/Fuziniess:avocado.md=0 --- PASS: TestBleveGuessFuzzinessByKeyword (0.00s) --- PASS: TestBleveGuessFuzzinessByKeyword/Fuziniess:=0 (0.00s) --- PASS: TestBleveGuessFuzzinessByKeyword/Fuziniess:Avocado=1 (0.00s) --- PASS: TestBleveGuessFuzzinessByKeyword/Fuziniess:Geschwindigkeit=2 (0.00s) --- PASS: TestBleveGuessFuzzinessByKeyword/Fuziniess:non-exist=0 (0.00s) --- PASS: TestBleveGuessFuzzinessByKeyword/Fuziniess:갃갃갃=0 (0.00s) --- PASS: TestBleveGuessFuzzinessByKeyword/Fuziniess:repo1=0 (0.00s) --- PASS: TestBleveGuessFuzzinessByKeyword/Fuziniess:avocado.md=0 (0.00s) PASS ok gitea.dev/modules/indexer/internal/bleve 0.040s ? gitea.dev/modules/indexer/internal/db [no test files] === RUN TestPing indexer_test.go:27: skipping test because http://elasticsearch:9200 is not ready --- SKIP: TestPing (0.00s) === RUN TestDeleteSwallows404 indexer_test.go:32: skipping test because http://elasticsearch:9200 is not ready --- SKIP: TestDeleteSwallows404 (0.00s) === RUN TestBulkAcceptsDelete404 indexer_test.go:37: skipping test because http://elasticsearch:9200 is not ready --- SKIP: TestBulkAcceptsDelete404 (0.00s) PASS ok gitea.dev/modules/indexer/internal/elasticsearch 0.033s ? gitea.dev/modules/indexer/internal/meilisearch [no test files] 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-855953383/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-855953383/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-855953383/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-855953383/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-855953383/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-855953383/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-855953383/data/actions_artifacts === RUN TestDBSearchIssues 2026/08/11 22:30:46 .../indexer/issues/indexer.go:78:InitIssueIndexer.1() [I] PID 1792178: Initializing Issue Indexer: db === RUN TestDBSearchIssues/search_issues_with_keyword === RUN TestDBSearchIssues/search_issues_with_keyword/issue2 === RUN TestDBSearchIssues/search_issues_with_keyword/first === RUN TestDBSearchIssues/search_issues_with_keyword/for === RUN TestDBSearchIssues/search_issues_with_keyword/good === RUN TestDBSearchIssues/search_issues_by_index === RUN TestDBSearchIssues/search_issues_in_repo === RUN TestDBSearchIssues/search_issues_by_ID === RUN TestDBSearchIssues/search_issues_is_pr === RUN TestDBSearchIssues/search_issues_is_closed === RUN TestDBSearchIssues/search_issues_is_archived === RUN TestDBSearchIssues/search_issues_by_milestone === RUN TestDBSearchIssues/search_issues_by_label === RUN TestDBSearchIssues/search_issues_by_time === RUN TestDBSearchIssues/search_issues_with_order === RUN TestDBSearchIssues/search_issues_in_project === RUN TestDBSearchIssues/search_issues_in_project/no_project_assigned === RUN TestDBSearchIssues/search_issues_with_paginator === RUN TestDBSearchIssues/search_issues_with_any_assignee --- PASS: TestDBSearchIssues (0.18s) --- PASS: TestDBSearchIssues/search_issues_with_keyword (0.01s) --- PASS: TestDBSearchIssues/search_issues_with_keyword/issue2 (0.00s) --- PASS: TestDBSearchIssues/search_issues_with_keyword/first (0.00s) --- PASS: TestDBSearchIssues/search_issues_with_keyword/for (0.00s) --- PASS: TestDBSearchIssues/search_issues_with_keyword/good (0.00s) --- PASS: TestDBSearchIssues/search_issues_by_index (0.00s) --- PASS: TestDBSearchIssues/search_issues_in_repo (0.00s) --- PASS: TestDBSearchIssues/search_issues_by_ID (0.01s) --- PASS: TestDBSearchIssues/search_issues_is_pr (0.00s) --- PASS: TestDBSearchIssues/search_issues_is_closed (0.00s) --- PASS: TestDBSearchIssues/search_issues_is_archived (0.00s) --- PASS: TestDBSearchIssues/search_issues_by_milestone (0.00s) --- PASS: TestDBSearchIssues/search_issues_by_label (0.00s) --- PASS: TestDBSearchIssues/search_issues_by_time (0.00s) --- PASS: TestDBSearchIssues/search_issues_with_order (0.00s) --- PASS: TestDBSearchIssues/search_issues_in_project (0.03s) --- PASS: TestDBSearchIssues/search_issues_in_project/no_project_assigned (0.03s) --- PASS: TestDBSearchIssues/search_issues_with_paginator (0.00s) --- PASS: TestDBSearchIssues/search_issues_with_any_assignee (0.00s) PASS ok gitea.dev/modules/indexer/issues 0.781s === RUN TestBleveIndexer === RUN TestBleveIndexer/default === RUN TestBleveIndexer/empty === RUN TestBleveIndexer/with_limit === RUN TestBleveIndexer/single-doc_index === RUN TestBleveIndexer/Keyword === RUN TestBleveIndexer/RepoIDs === RUN TestBleveIndexer/RepoIDs_and_AllPublic === RUN TestBleveIndexer/issue_only === RUN TestBleveIndexer/pull_only === RUN TestBleveIndexer/opened_only === RUN TestBleveIndexer/closed_only === RUN TestBleveIndexer/labels === RUN TestBleveIndexer/include_any_labels === RUN TestBleveIndexer/MilestoneIDs === RUN TestBleveIndexer/no_MilestoneIDs === RUN TestBleveIndexer/ProjectIDs === RUN TestBleveIndexer/no_ProjectIDs_(empty_array) === RUN TestBleveIndexer/PosterID === RUN TestBleveIndexer/AssigneeID === RUN TestBleveIndexer/no_AssigneeID === RUN TestBleveIndexer/MentionID === RUN TestBleveIndexer/ReviewedID === RUN TestBleveIndexer/ReviewRequestedID === RUN TestBleveIndexer/SubscriberID === RUN TestBleveIndexer/updated === RUN TestBleveIndexer/SortByCreatedDesc === RUN TestBleveIndexer/SortByUpdatedDesc === RUN TestBleveIndexer/SortByCommentsDesc === RUN TestBleveIndexer/SortByDeadlineDesc === RUN TestBleveIndexer/SortByCreatedAsc === RUN TestBleveIndexer/SortByUpdatedAsc === RUN TestBleveIndexer/SortByCommentsAsc === RUN TestBleveIndexer/SortByDeadlineAsc === RUN TestBleveIndexer/SearchAnyAssignee --- PASS: TestBleveIndexer (1.56s) --- PASS: TestBleveIndexer/default (0.00s) --- PASS: TestBleveIndexer/empty (0.00s) --- PASS: TestBleveIndexer/with_limit (0.00s) --- PASS: TestBleveIndexer/single-doc_index (0.05s) --- PASS: TestBleveIndexer/Keyword (0.07s) --- PASS: TestBleveIndexer/RepoIDs (0.08s) --- PASS: TestBleveIndexer/RepoIDs_and_AllPublic (0.03s) --- PASS: TestBleveIndexer/issue_only (0.02s) --- PASS: TestBleveIndexer/pull_only (0.00s) --- PASS: TestBleveIndexer/opened_only (0.01s) --- PASS: TestBleveIndexer/closed_only (0.00s) --- PASS: TestBleveIndexer/labels (0.06s) --- PASS: TestBleveIndexer/include_any_labels (0.03s) --- PASS: TestBleveIndexer/MilestoneIDs (0.00s) --- PASS: TestBleveIndexer/no_MilestoneIDs (0.00s) --- PASS: TestBleveIndexer/ProjectIDs (0.00s) --- PASS: TestBleveIndexer/no_ProjectIDs_(empty_array) (0.00s) --- PASS: TestBleveIndexer/PosterID (0.00s) --- PASS: TestBleveIndexer/AssigneeID (0.00s) --- PASS: TestBleveIndexer/no_AssigneeID (0.00s) --- PASS: TestBleveIndexer/MentionID (0.00s) --- PASS: TestBleveIndexer/ReviewedID (0.01s) --- PASS: TestBleveIndexer/ReviewRequestedID (0.00s) --- PASS: TestBleveIndexer/SubscriberID (0.00s) --- PASS: TestBleveIndexer/updated (0.00s) --- PASS: TestBleveIndexer/SortByCreatedDesc (0.00s) --- PASS: TestBleveIndexer/SortByUpdatedDesc (0.01s) --- PASS: TestBleveIndexer/SortByCommentsDesc (0.01s) --- PASS: TestBleveIndexer/SortByDeadlineDesc (0.00s) --- PASS: TestBleveIndexer/SortByCreatedAsc (0.00s) --- PASS: TestBleveIndexer/SortByUpdatedAsc (0.01s) --- PASS: TestBleveIndexer/SortByCommentsAsc (0.01s) --- PASS: TestBleveIndexer/SortByDeadlineAsc (0.00s) --- PASS: TestBleveIndexer/SearchAnyAssignee (0.00s) === RUN TestBleveIndexerNoAssignee === RUN TestBleveIndexerNoAssignee/none === RUN TestBleveIndexerNoAssignee/any === RUN TestBleveIndexerNoAssignee/specific === RUN TestBleveIndexerNoAssignee/specific_first_multi-assignee === RUN TestBleveIndexerNoAssignee/specific_second_multi-assignee --- PASS: TestBleveIndexerNoAssignee (0.02s) --- PASS: TestBleveIndexerNoAssignee/none (0.00s) --- PASS: TestBleveIndexerNoAssignee/any (0.00s) --- PASS: TestBleveIndexerNoAssignee/specific (0.00s) --- PASS: TestBleveIndexerNoAssignee/specific_first_multi-assignee (0.00s) --- PASS: TestBleveIndexerNoAssignee/specific_second_multi-assignee (0.00s) PASS ok gitea.dev/modules/indexer/issues/bleve 1.636s ? gitea.dev/modules/indexer/issues/db [no test files] === RUN TestElasticsearchIndexer elasticsearch_test.go:21: skipping test because http://elastic:changeme@elasticsearch:9200 is not ready --- SKIP: TestElasticsearchIndexer (0.01s) PASS ok gitea.dev/modules/indexer/issues/elasticsearch 0.020s ? gitea.dev/modules/indexer/issues/internal [no test files] ? gitea.dev/modules/indexer/issues/internal/tests [no test files] === RUN TestMeilisearchIndexer meilisearch_test.go:25: skipping test because http://meilisearch:7700 is not ready --- SKIP: TestMeilisearchIndexer (0.02s) === RUN TestConvertHits --- PASS: TestConvertHits (0.00s) === RUN TestDoubleQuoteKeyword --- PASS: TestDoubleQuoteKeyword (0.00s) PASS ok gitea.dev/modules/indexer/issues/meilisearch 0.043s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3363291064/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3363291064/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3363291064/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3363291064/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3363291064/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3363291064/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3363291064/data/actions_artifacts === RUN TestRepoStatsIndex 2026/08/11 22:30:47 .../indexer/stats/indexer.go:41:populateRepoIndexer() [I] Populating the repo stats indexer with existing repositories 2026/08/11 22:30:47 .../indexer/stats/indexer.go:87:populateRepoIndexer() [I] Done (re)populating the repo stats indexer with existing repositories 2026/08/11 22:30:47 .../git/attribute/batch.go:82:NewBatchChecker.4() [E] Attribute checker for commit cdaca8cf1d36e1e4e508a940f6e157e239beccfa exits with error: exit status 128 - fatal: this operation must be run in a work tree 2026/08/11 22:30:47 .../git/attribute/batch.go:82:NewBatchChecker.4() [E] Attribute checker for commit cdaca8cf1d36e1e4e508a940f6e157e239beccfa exits with error: exit status 128 - fatal: this operation must be run in a work tree 2026/08/11 22:30:47 .../git/attribute/batch.go:82:NewBatchChecker.4() [E] Attribute checker for commit cdaca8cf1d36e1e4e508a940f6e157e239beccfa exits with error: exit status 128 - fatal: this operation must be run in a work tree --- PASS: TestRepoStatsIndex (0.82s) PASS ok gitea.dev/modules/indexer/stats 1.428s === RUN TestValidate === RUN TestValidate/miss_name === RUN TestValidate/miss_about === RUN TestValidate/miss_body === RUN TestValidate/markdown_miss_value === RUN TestValidate/markdown_invalid_value === RUN TestValidate/markdown_empty_value === RUN TestValidate/textarea_invalid_id === RUN TestValidate/textarea_miss_label === RUN TestValidate/textarea_conflict_id === RUN TestValidate/textarea_invalid_description === RUN TestValidate/textarea_invalid_required === RUN TestValidate/input_invalid_description === RUN TestValidate/input_invalid_is_number === RUN TestValidate/input_invalid_regex === RUN TestValidate/dropdown_invalid_description === RUN TestValidate/dropdown_invalid_multiple === RUN TestValidate/dropdown_invalid_list === RUN TestValidate/checkboxes_invalid_description === RUN TestValidate/invalid_type === RUN TestValidate/dropdown_miss_options === RUN TestValidate/dropdown_invalid_options === RUN TestValidate/checkboxes_invalid_options === RUN TestValidate/checkboxes_option_miss_label === RUN TestValidate/checkboxes_option_invalid_required === RUN TestValidate/field_is_required_but_hidden === RUN TestValidate/checkboxes_is_required_but_hidden === RUN TestValidate/dropdown_default_is_not_an_integer === RUN TestValidate/dropdown_default_is_out_of_range === RUN TestValidate/dropdown_without_default_is_valid === RUN TestValidate/valid === RUN TestValidate/single_label === RUN TestValidate/comma-delimited_labels === RUN TestValidate/empty_string_as_labels === RUN TestValidate/comma_delimited_labels_in_markdown --- PASS: TestValidate (0.02s) --- PASS: TestValidate/miss_name (0.00s) --- PASS: TestValidate/miss_about (0.00s) --- PASS: TestValidate/miss_body (0.00s) --- PASS: TestValidate/markdown_miss_value (0.00s) --- PASS: TestValidate/markdown_invalid_value (0.00s) --- PASS: TestValidate/markdown_empty_value (0.00s) --- PASS: TestValidate/textarea_invalid_id (0.00s) --- PASS: TestValidate/textarea_miss_label (0.00s) --- PASS: TestValidate/textarea_conflict_id (0.00s) --- PASS: TestValidate/textarea_invalid_description (0.00s) --- PASS: TestValidate/textarea_invalid_required (0.00s) --- PASS: TestValidate/input_invalid_description (0.00s) --- PASS: TestValidate/input_invalid_is_number (0.00s) --- PASS: TestValidate/input_invalid_regex (0.00s) --- PASS: TestValidate/dropdown_invalid_description (0.00s) --- PASS: TestValidate/dropdown_invalid_multiple (0.00s) --- PASS: TestValidate/dropdown_invalid_list (0.00s) --- PASS: TestValidate/checkboxes_invalid_description (0.00s) --- PASS: TestValidate/invalid_type (0.00s) --- PASS: TestValidate/dropdown_miss_options (0.00s) --- PASS: TestValidate/dropdown_invalid_options (0.00s) --- PASS: TestValidate/checkboxes_invalid_options (0.00s) --- PASS: TestValidate/checkboxes_option_miss_label (0.00s) --- PASS: TestValidate/checkboxes_option_invalid_required (0.00s) --- PASS: TestValidate/field_is_required_but_hidden (0.00s) --- PASS: TestValidate/checkboxes_is_required_but_hidden (0.00s) --- PASS: TestValidate/dropdown_default_is_not_an_integer (0.00s) --- PASS: TestValidate/dropdown_default_is_out_of_range (0.00s) --- PASS: TestValidate/dropdown_without_default_is_valid (0.01s) --- PASS: TestValidate/valid (0.00s) --- PASS: TestValidate/single_label (0.00s) --- PASS: TestValidate/comma-delimited_labels (0.00s) --- PASS: TestValidate/empty_string_as_labels (0.00s) --- PASS: TestValidate/comma_delimited_labels_in_markdown (0.00s) === RUN TestRenderToMarkdown === RUN TestRenderToMarkdown/normal --- PASS: TestRenderToMarkdown (0.00s) --- PASS: TestRenderToMarkdown/normal (0.00s) === RUN Test_minQuotes === RUN Test_minQuotes/without_quote === RUN Test_minQuotes/with_1_quote === RUN Test_minQuotes/with_3_quotes === RUN Test_minQuotes/with_more_quotes === RUN Test_minQuotes/not_leading_quotes --- PASS: Test_minQuotes (0.00s) --- PASS: Test_minQuotes/without_quote (0.00s) --- PASS: Test_minQuotes/with_1_quote (0.00s) --- PASS: Test_minQuotes/with_3_quotes (0.00s) --- PASS: Test_minQuotes/with_more_quotes (0.00s) --- PASS: Test_minQuotes/not_leading_quotes (0.00s) PASS ok gitea.dev/modules/issue/template 0.109s === RUN TestGiteaDBJSONUnmarshal --- PASS: TestGiteaDBJSONUnmarshal (0.00s) === RUN TestIndent --- PASS: TestIndent (0.00s) PASS ok gitea.dev/modules/json 0.030s === RUN TestYamlParser --- PASS: TestYamlParser (0.00s) === RUN TestLegacyParser --- PASS: TestLegacyParser (0.00s) PASS ok gitea.dev/modules/label 0.016s === RUN TestNewClient --- PASS: TestNewClient (0.00s) === RUN TestNewClientFromEndpoint --- PASS: TestNewClientFromEndpoint (0.00s) === RUN TestDetermineEndpoint 2026/08/11 22:30:46 modules/lfs/endpoint.go:82:endpointFromURL() [E] lfs.endpointFromUrl: unknown url --- PASS: TestDetermineEndpoint (0.00s) === RUN TestHTTPClientDownload === RUN TestHTTPClientDownload/https://status-not-ok.io === RUN TestHTTPClientDownload/https://invalid-json-response.io 2026/08/11 22:30:46 modules/lfs/http_client.go:282:handleErrorResponse() [E] Error decoding json: jsontext: unexpected EOF === RUN TestHTTPClientDownload/https://valid-batch-request-download.io 2026/08/11 22:30:46 modules/lfs/http_client.go:104:(*HTTPClient).batch() [E] Error decoding json: jsontext: invalid character 'i' at start of value === RUN TestHTTPClientDownload/https://response-no-objects.io === RUN TestHTTPClientDownload/https://unknown-transfer-adapter.io === RUN TestHTTPClientDownload/https://error-in-response-objects.io === RUN TestHTTPClientDownload/https://empty-actions-map.io === RUN TestHTTPClientDownload/https://download-actions-map.io === RUN TestHTTPClientDownload/https://upload-actions-map.io === RUN TestHTTPClientDownload/https://verify-actions-map.io === RUN TestHTTPClientDownload/https://unknown-actions-map.io === RUN TestHTTPClientDownload/https://legacy-batch-request-download.io --- PASS: TestHTTPClientDownload (0.00s) --- PASS: TestHTTPClientDownload/https://status-not-ok.io (0.00s) --- PASS: TestHTTPClientDownload/https://invalid-json-response.io (0.00s) --- PASS: TestHTTPClientDownload/https://valid-batch-request-download.io (0.00s) --- PASS: TestHTTPClientDownload/https://response-no-objects.io (0.00s) --- PASS: TestHTTPClientDownload/https://unknown-transfer-adapter.io (0.00s) --- PASS: TestHTTPClientDownload/https://error-in-response-objects.io (0.00s) --- PASS: TestHTTPClientDownload/https://empty-actions-map.io (0.00s) --- PASS: TestHTTPClientDownload/https://download-actions-map.io (0.00s) --- PASS: TestHTTPClientDownload/https://upload-actions-map.io (0.00s) --- PASS: TestHTTPClientDownload/https://verify-actions-map.io (0.00s) --- PASS: TestHTTPClientDownload/https://unknown-actions-map.io (0.00s) --- PASS: TestHTTPClientDownload/https://legacy-batch-request-download.io (0.00s) === RUN TestHTTPClientUpload === RUN TestHTTPClientUpload/https://status-not-ok.io === RUN TestHTTPClientUpload/https://invalid-json-response.io 2026/08/11 22:30:46 modules/lfs/http_client.go:282:handleErrorResponse() [E] Error decoding json: jsontext: unexpected EOF === RUN TestHTTPClientUpload/https://valid-batch-request-upload.io 2026/08/11 22:30:46 modules/lfs/http_client.go:104:(*HTTPClient).batch() [E] Error decoding json: jsontext: invalid character 'i' at start of value === RUN TestHTTPClientUpload/https://response-no-objects.io === RUN TestHTTPClientUpload/https://unknown-transfer-adapter.io === RUN TestHTTPClientUpload/https://error-in-response-objects.io === RUN TestHTTPClientUpload/https://empty-actions-map.io === RUN TestHTTPClientUpload/https://download-actions-map.io === RUN TestHTTPClientUpload/https://upload-actions-map.io === RUN TestHTTPClientUpload/https://verify-actions-map.io === RUN TestHTTPClientUpload/https://unknown-actions-map.io --- PASS: TestHTTPClientUpload (0.00s) --- PASS: TestHTTPClientUpload/https://status-not-ok.io (0.00s) --- PASS: TestHTTPClientUpload/https://invalid-json-response.io (0.00s) --- PASS: TestHTTPClientUpload/https://valid-batch-request-upload.io (0.00s) --- PASS: TestHTTPClientUpload/https://response-no-objects.io (0.00s) --- PASS: TestHTTPClientUpload/https://unknown-transfer-adapter.io (0.00s) --- PASS: TestHTTPClientUpload/https://error-in-response-objects.io (0.00s) --- PASS: TestHTTPClientUpload/https://empty-actions-map.io (0.00s) --- PASS: TestHTTPClientUpload/https://download-actions-map.io (0.00s) --- PASS: TestHTTPClientUpload/https://upload-actions-map.io (0.00s) --- PASS: TestHTTPClientUpload/https://verify-actions-map.io (0.00s) --- PASS: TestHTTPClientUpload/https://unknown-actions-map.io (0.00s) === RUN TestStringContent --- PASS: TestStringContent (0.00s) === RUN TestRelativePath --- PASS: TestRelativePath (0.00s) === RUN TestIsValid --- PASS: TestIsValid (0.00s) === RUN TestGeneratePointer --- PASS: TestGeneratePointer (0.00s) === RUN TestReadPointerFromBuffer --- PASS: TestReadPointerFromBuffer (0.00s) === RUN TestReadPointer --- PASS: TestReadPointer (0.00s) === RUN TestBasicTransferAdapterName --- PASS: TestBasicTransferAdapterName (0.00s) === RUN TestBasicTransferAdapter === RUN TestBasicTransferAdapter/Download === RUN TestBasicTransferAdapter/Upload === RUN TestBasicTransferAdapter/Verify --- PASS: TestBasicTransferAdapter (0.00s) --- PASS: TestBasicTransferAdapter/Download (0.00s) --- PASS: TestBasicTransferAdapter/Upload (0.00s) --- PASS: TestBasicTransferAdapter/Verify (0.00s) PASS ok gitea.dev/modules/lfs 0.049s ? gitea.dev/modules/lfstransfer [no test files] === RUN TestToInternalLFSURL --- PASS: TestToInternalLFSURL (0.00s) === RUN TestIsInternalLFSURL --- PASS: TestIsInternalLFSURL (0.00s) PASS ok gitea.dev/modules/lfstransfer/backend 0.116s === RUN TestItoa --- PASS: TestItoa (0.00s) === RUN TestEventFormatTextMessage --- PASS: TestEventFormatTextMessage (0.00s) === RUN TestConnLogger --- PASS: TestConnLogger (0.00s) === RUN TestFlags --- PASS: TestFlags (0.00s) === RUN TestLevelMarshalUnmarshalJSON --- PASS: TestLevelMarshalUnmarshalJSON (0.00s) === RUN TestLogger --- PASS: TestLogger (0.20s) === RUN TestLoggerPause --- PASS: TestLoggerPause (0.25s) === RUN TestLoggerOutput === RUN TestLoggerOutput/LogString === RUN TestLoggerOutput/Caller --- PASS: TestLoggerOutput (0.00s) --- PASS: TestLoggerOutput/LogString (0.00s) --- PASS: TestLoggerOutput/Caller (0.00s) === RUN TestLoggerExpressionFilter --- PASS: TestLoggerExpressionFilter (0.00s) === RUN TestProtectSensitiveInfo --- PASS: TestProtectSensitiveInfo (0.00s) === RUN TestSharedWorker --- PASS: TestSharedWorker (0.00s) PASS ok gitea.dev/modules/log 0.546s === RUN TestCamoHandleLink --- PASS: TestCamoHandleLink (0.00s) === RUN TestRender_IssueIndexPattern --- PASS: TestRender_IssueIndexPattern (0.00s) === RUN TestRender_IssueIndexPattern2 --- PASS: TestRender_IssueIndexPattern2 (0.02s) === RUN TestRender_IssueIndexPattern3 --- PASS: TestRender_IssueIndexPattern3 (0.00s) === RUN TestRender_IssueIndexPattern4 --- PASS: TestRender_IssueIndexPattern4 (0.00s) === RUN TestRender_IssueIndexPattern5 --- PASS: TestRender_IssueIndexPattern5 (0.00s) === RUN TestRender_IssueIndexPattern_NoShortPattern --- PASS: TestRender_IssueIndexPattern_NoShortPattern (0.00s) === RUN TestRender_PostProcessIssueTitle --- PASS: TestRender_PostProcessIssueTitle (0.00s) === RUN TestRender_AutoLink --- PASS: TestRender_AutoLink (0.00s) === RUN TestRender_FullIssueURLs --- PASS: TestRender_FullIssueURLs (0.00s) === RUN TestRegExp_sha1CurrentPattern --- PASS: TestRegExp_sha1CurrentPattern (0.00s) === RUN TestRegExp_anySHA1Pattern --- PASS: TestRegExp_anySHA1Pattern (0.00s) === RUN TestRegExp_shortLinkPattern --- PASS: TestRegExp_shortLinkPattern (0.00s) === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID/h1_without_id === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID/h2_without_id === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID/h3_without_id === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID/h1_with_existing_id_should_keep_it === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID/h1_with_user-content_prefix_should_not_double_prefix === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID/heading_with_special_characters === RUN TestProcessNodeAttrID_HTMLHeadingWithoutID/heading_with_nested_elements --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID (0.00s) --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID/h1_without_id (0.00s) --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID/h2_without_id (0.00s) --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID/h3_without_id (0.00s) --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID/h1_with_existing_id_should_keep_it (0.00s) --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID/h1_with_user-content_prefix_should_not_double_prefix (0.00s) --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID/heading_with_special_characters (0.00s) --- PASS: TestProcessNodeAttrID_HTMLHeadingWithoutID/heading_with_nested_elements (0.00s) === RUN TestProcessNodeAttrID_SkipHeadingIDForComments === RUN TestProcessNodeAttrID_SkipHeadingIDForComments/h1_without_id_in_comment_context === RUN TestProcessNodeAttrID_SkipHeadingIDForComments/h2_without_id_in_comment_context === RUN TestProcessNodeAttrID_SkipHeadingIDForComments/h1_with_existing_id_should_still_be_prefixed --- PASS: TestProcessNodeAttrID_SkipHeadingIDForComments (0.00s) --- PASS: TestProcessNodeAttrID_SkipHeadingIDForComments/h1_without_id_in_comment_context (0.00s) --- PASS: TestProcessNodeAttrID_SkipHeadingIDForComments/h2_without_id_in_comment_context (0.00s) --- PASS: TestProcessNodeAttrID_SkipHeadingIDForComments/h1_with_existing_id_should_still_be_prefixed (0.00s) === RUN TestResolveLinkRelative --- PASS: TestResolveLinkRelative (0.00s) === RUN TestRenderIFrame --- PASS: TestRenderIFrame (0.00s) === RUN TestSanitizer --- PASS: TestSanitizer (0.00s) === RUN TestDescriptionSanitizer --- PASS: TestDescriptionSanitizer (0.00s) === RUN TestRenderCodePreview --- PASS: TestRenderCodePreview (0.00s) === RUN TestRender_IssueList === RUN TestRender_IssueList/NormalIssueRef === RUN TestRender_IssueList/ListIssueRef === RUN TestRender_IssueList/ListIssueRefNormal === RUN TestRender_IssueList/ListTodoIssueRef === RUN TestRender_IssueList/IssueFootnote --- PASS: TestRender_IssueList (0.00s) --- PASS: TestRender_IssueList/NormalIssueRef (0.00s) --- PASS: TestRender_IssueList/ListIssueRef (0.00s) --- PASS: TestRender_IssueList/ListIssueRefNormal (0.00s) --- PASS: TestRender_IssueList/ListTodoIssueRef (0.00s) --- PASS: TestRender_IssueList/IssueFootnote (0.00s) === RUN TestRender_Commits --- PASS: TestRender_Commits (0.03s) === RUN TestRender_CrossReferences --- PASS: TestRender_CrossReferences (0.01s) === RUN TestRender_links === RUN TestRender_links/LinkEllipsis --- PASS: TestRender_links (0.02s) --- PASS: TestRender_links/LinkEllipsis (0.00s) === RUN TestRender_email --- PASS: TestRender_email (0.02s) === RUN TestRender_emoji --- PASS: TestRender_emoji (2.57s) === RUN TestRender_ShortLinks --- PASS: TestRender_ShortLinks (0.01s) === RUN Test_ParseClusterFuzz --- PASS: Test_ParseClusterFuzz (0.00s) === RUN TestPostProcess --- PASS: TestPostProcess (0.00s) === RUN TestIssue16020 --- PASS: TestIssue16020 (0.00s) === RUN TestFuzz --- PASS: TestFuzz (0.00s) === RUN TestIssue18471 --- PASS: TestIssue18471 (0.00s) === RUN TestIsFullURL --- PASS: TestIsFullURL (0.00s) === RUN TestToCWithHTML 2026/08/11 22:30:49 .../translation/translation.go:178:NewLocale() [E] Failed to parse language tag from name "": language: tag is not well-formed --- PASS: TestToCWithHTML (0.00s) PASS ok gitea.dev/modules/markup 2.799s === RUN TestCleanValue --- PASS: TestCleanValue (0.00s) PASS ok gitea.dev/modules/markup/common 0.009s === RUN TestRenderConsole --- PASS: TestRenderConsole (0.00s) PASS ok gitea.dev/modules/markup/console 0.023s === RUN TestRenderCSV --- PASS: TestRenderCSV (0.00s) PASS ok gitea.dev/modules/markup/csv 0.051s ? gitea.dev/modules/markup/external [no test files] === RUN TestRenderInternalAttrs --- PASS: TestRenderInternalAttrs (0.00s) === RUN TestRenderInternalExtraHead === RUN TestRenderInternalExtraHead/HeadExists === RUN TestRenderInternalExtraHead/HeadNotExists === RUN TestRenderInternalExtraHead/NotHTML --- PASS: TestRenderInternalExtraHead (0.00s) --- PASS: TestRenderInternalExtraHead/HeadExists (0.00s) --- PASS: TestRenderInternalExtraHead/HeadNotExists (0.00s) --- PASS: TestRenderInternalExtraHead/NotHTML (0.00s) PASS ok gitea.dev/modules/markup/internal 0.026s === RUN TestRender === RUN TestRender/Basic_notebook === RUN TestRender/Markdown_cell_with_XSS_Protection === RUN TestRender/Cell_limit_truncation_guardrail === RUN TestRender/Image_output === RUN TestRender/HTML_output_with_style_tag === RUN TestRender/Error_output === RUN TestRender/Old_nbformat_version --- PASS: TestRender (0.06s) --- PASS: TestRender/Basic_notebook (0.01s) --- PASS: TestRender/Markdown_cell_with_XSS_Protection (0.03s) --- PASS: TestRender/Cell_limit_truncation_guardrail (0.02s) --- PASS: TestRender/Image_output (0.00s) --- PASS: TestRender/HTML_output_with_style_tag (0.00s) --- PASS: TestRender/Error_output (0.00s) --- PASS: TestRender/Old_nbformat_version (0.00s) === RUN TestJoinSource === RUN TestJoinSource/String_input === RUN TestJoinSource/Array_input === RUN TestJoinSource/Empty_array === RUN TestJoinSource/Single_element_array --- PASS: TestJoinSource (0.00s) --- PASS: TestJoinSource/String_input (0.00s) --- PASS: TestJoinSource/Array_input (0.00s) --- PASS: TestJoinSource/Empty_array (0.00s) --- PASS: TestJoinSource/Single_element_array (0.00s) === RUN TestIntegrationAndSanitization --- PASS: TestIntegrationAndSanitization (0.00s) PASS ok gitea.dev/modules/markup/jupyter 0.261s === RUN TestMathRender === RUN TestMathRender/$a$ === RUN TestMathRender/$_a_$ === RUN TestMathRender/$a$$b$ === RUN TestMathRender/$a$_$b$ === RUN TestMathRender/\(a\)_\(b\) === RUN TestMathRender/$a$. === RUN TestMathRender/.$a$ === RUN TestMathRender/$a_a$b_b$ === RUN TestMathRender/a_a$b_b === RUN TestMathRender/a$b_$a_a$b_b$ === RUN TestMathRender/a$x$ === RUN TestMathRender/$x$a === RUN TestMathRender/$a$_($b$)_[$c$]_{$d$} === RUN TestMathRender/[$a$](link) === RUN TestMathRender/$$a$$ === RUN TestMathRender/$$a$$_test === RUN TestMathRender/test_$$a$$ === RUN TestMathRender/foo_$x=\$$_bar === RUN TestMathRender/$\text{$b$}$ === RUN TestMathRender/a$`b`$c === RUN TestMathRender/a_$`b`$_c === RUN TestMathRender/a$``b``$c_x$```y```$z --- PASS: TestMathRender (0.07s) --- PASS: TestMathRender/$a$ (0.05s) --- PASS: TestMathRender/$_a_$ (0.00s) --- PASS: TestMathRender/$a$$b$ (0.00s) --- PASS: TestMathRender/$a$_$b$ (0.00s) --- PASS: TestMathRender/\(a\)_\(b\) (0.00s) --- PASS: TestMathRender/$a$. (0.00s) --- PASS: TestMathRender/.$a$ (0.00s) --- PASS: TestMathRender/$a_a$b_b$ (0.00s) --- PASS: TestMathRender/a_a$b_b (0.00s) --- PASS: TestMathRender/a$b_$a_a$b_b$ (0.00s) --- PASS: TestMathRender/a$x$ (0.00s) --- PASS: TestMathRender/$x$a (0.00s) --- PASS: TestMathRender/$a$_($b$)_[$c$]_{$d$} (0.00s) --- PASS: TestMathRender/[$a$](link) (0.00s) --- PASS: TestMathRender/$$a$$ (0.00s) --- PASS: TestMathRender/$$a$$_test (0.00s) --- PASS: TestMathRender/test_$$a$$ (0.00s) --- PASS: TestMathRender/foo_$x=\$$_bar (0.00s) --- PASS: TestMathRender/$\text{$b$}$ (0.00s) --- PASS: TestMathRender/a$`b`$c (0.00s) --- PASS: TestMathRender/a_$`b`$_c (0.00s) --- PASS: TestMathRender/a$``b``$c_x$```y```$z (0.00s) === RUN TestMathRenderBlockIndent === RUN TestMathRenderBlockIndent/indent-0 === RUN TestMathRenderBlockIndent/indent-1 === RUN TestMathRenderBlockIndent/indent-2-mismatch === RUN TestMathRenderBlockIndent/indent-2 === RUN TestMathRenderBlockIndent/indent-0-oneline === RUN TestMathRenderBlockIndent/indent-3-oneline === RUN TestMathRenderBlockIndent/quote-block === RUN TestMathRenderBlockIndent/list-block === RUN TestMathRenderBlockIndent/inline-non-math --- PASS: TestMathRenderBlockIndent (0.00s) --- PASS: TestMathRenderBlockIndent/indent-0 (0.00s) --- PASS: TestMathRenderBlockIndent/indent-1 (0.00s) --- PASS: TestMathRenderBlockIndent/indent-2-mismatch (0.00s) --- PASS: TestMathRenderBlockIndent/indent-2 (0.00s) --- PASS: TestMathRenderBlockIndent/indent-0-oneline (0.00s) --- PASS: TestMathRenderBlockIndent/indent-3-oneline (0.00s) --- PASS: TestMathRenderBlockIndent/quote-block (0.00s) --- PASS: TestMathRenderBlockIndent/list-block (0.00s) --- PASS: TestMathRenderBlockIndent/inline-non-math (0.00s) === RUN TestMathRenderOptions --- PASS: TestMathRenderOptions (0.01s) === RUN TestExtractMetadata === RUN TestExtractMetadata/ValidFrontAndBody === RUN TestExtractMetadata/NoFirstSeparator === RUN TestExtractMetadata/NoLastSeparator === RUN TestExtractMetadata/NoBody --- PASS: TestExtractMetadata (0.00s) --- PASS: TestExtractMetadata/ValidFrontAndBody (0.00s) --- PASS: TestExtractMetadata/NoFirstSeparator (0.00s) --- PASS: TestExtractMetadata/NoLastSeparator (0.00s) --- PASS: TestExtractMetadata/NoBody (0.00s) === RUN TestExtractMetadataBytes === RUN TestExtractMetadataBytes/ValidFrontAndBody === RUN TestExtractMetadataBytes/NoFirstSeparator === RUN TestExtractMetadataBytes/NoLastSeparator === RUN TestExtractMetadataBytes/NoBody --- PASS: TestExtractMetadataBytes (0.00s) --- PASS: TestExtractMetadataBytes/ValidFrontAndBody (0.00s) --- PASS: TestExtractMetadataBytes/NoFirstSeparator (0.00s) --- PASS: TestExtractMetadataBytes/NoLastSeparator (0.00s) --- PASS: TestExtractMetadataBytes/NoBody (0.00s) === RUN TestRenderConfig_UnmarshalYAML === RUN TestRenderConfig_UnmarshalYAML/empty === RUN TestRenderConfig_UnmarshalYAML/lang === RUN TestRenderConfig_UnmarshalYAML/metatable === RUN TestRenderConfig_UnmarshalYAML/metanone === RUN TestRenderConfig_UnmarshalYAML/metadetails === RUN TestRenderConfig_UnmarshalYAML/metawrong === RUN TestRenderConfig_UnmarshalYAML/toc === RUN TestRenderConfig_UnmarshalYAML/tocfalse === RUN TestRenderConfig_UnmarshalYAML/toclang === RUN TestRenderConfig_UnmarshalYAML/complexlang === RUN TestRenderConfig_UnmarshalYAML/complexlang2 === RUN TestRenderConfig_UnmarshalYAML/complexlang#01 === RUN TestRenderConfig_UnmarshalYAML/complex2 --- PASS: TestRenderConfig_UnmarshalYAML (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/empty (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/lang (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/metatable (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/metanone (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/metadetails (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/metawrong (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/toc (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/tocfalse (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/toclang (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/complexlang (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/complexlang2 (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/complexlang#01 (0.00s) --- PASS: TestRenderConfig_UnmarshalYAML/complex2 (0.00s) === RUN TestAttention --- PASS: TestAttention (0.01s) === RUN TestRender_StandardLinks --- PASS: TestRender_StandardLinks (0.00s) === RUN TestRender_Images --- PASS: TestRender_Images (0.00s) === RUN TestTotal_RenderString --- PASS: TestTotal_RenderString (0.02s) === RUN TestRender_RenderParagraphs --- PASS: TestRender_RenderParagraphs (0.01s) === RUN TestMarkdownRenderRaw 2026/08/11 22:30:46 .../markdown/markdown_test.go:307:TestMarkdownRenderRaw() [I] Test markdown render error with fuzzy data: 2a202d0a0920605b0a0920605b, the following errors can be recovered 2026/08/11 22:30:46 .../markdown/markdown_test.go:307:TestMarkdownRenderRaw() [I] Test markdown render error with fuzzy data: 2d202d0d09600d0960, the following errors can be recovered 2026/08/11 22:30:46 .../markdown/markdown_test.go:307:TestMarkdownRenderRaw() [I] Test markdown render error with fuzzy data: 7b636c6173733d357d0a3d, the following errors can be recovered --- PASS: TestMarkdownRenderRaw (0.00s) === RUN TestRenderSiblingImages_Issue12925 --- PASS: TestRenderSiblingImages_Issue12925 (0.00s) === RUN TestRenderEmojiInLinks_Issue12331 --- PASS: TestRenderEmojiInLinks_Issue12331 (0.00s) === RUN TestColorPreview --- PASS: TestColorPreview (0.01s) === RUN TestMarkdownFrontmatter === RUN TestMarkdownFrontmatter/MapInFrontmatter === RUN TestMarkdownFrontmatter/ListInFrontmatter === RUN TestMarkdownFrontmatter/StringInFrontmatter === RUN TestMarkdownFrontmatter/ListAfterFrontmatter === RUN TestMarkdownFrontmatter/InvalidFrontmatter --- PASS: TestMarkdownFrontmatter (0.00s) --- PASS: TestMarkdownFrontmatter/MapInFrontmatter (0.00s) --- PASS: TestMarkdownFrontmatter/ListInFrontmatter (0.00s) --- PASS: TestMarkdownFrontmatter/StringInFrontmatter (0.00s) --- PASS: TestMarkdownFrontmatter/ListAfterFrontmatter (0.00s) --- PASS: TestMarkdownFrontmatter/InvalidFrontmatter (0.00s) === RUN TestRenderLinks === RUN TestRenderLinks/LocalCommitAndCompare --- PASS: TestRenderLinks (0.00s) --- PASS: TestRenderLinks/LocalCommitAndCompare (0.00s) === RUN TestMarkdownLink --- PASS: TestMarkdownLink (0.00s) === RUN TestMarkdownUlDir --- PASS: TestMarkdownUlDir (0.00s) === RUN TestMarkdownCodeBlock --- PASS: TestMarkdownCodeBlock (0.00s) PASS ok gitea.dev/modules/markup/markdown 0.241s ? gitea.dev/modules/markup/markdown/math [no test files] === RUN TestMarkdownStripper --- PASS: TestMarkdownStripper (0.00s) PASS ok gitea.dev/modules/markup/mdstripper 0.013s === RUN TestRender_StandardLinks --- PASS: TestRender_StandardLinks (0.00s) === RUN TestRender_InternalLinks --- PASS: TestRender_InternalLinks (0.00s) === RUN TestRender_Media --- PASS: TestRender_Media (0.00s) === RUN TestRender_Source --- PASS: TestRender_Source (0.01s) === RUN TestRender_IncludeLink --- PASS: TestRender_IncludeLink (0.00s) PASS ok gitea.dev/modules/markup/orgmode 0.243s ? gitea.dev/modules/mcaptcha [no test files] ? gitea.dev/modules/metrics [no test files] === RUN TestMigrationJSON_IssueOK --- PASS: TestMigrationJSON_IssueOK (0.01s) === RUN TestMigrationJSON_IssueFail --- PASS: TestMigrationJSON_IssueFail (0.00s) === RUN TestMigrationJSON_MilestoneOK 2026/08/11 22:30:46 .../migration/file_format.go:86:validate() [E] migration validation with issue.json failed: jsonschema validation failed with 'file:///home/buildozer/aports/community/gitea/src/gitea-src-1.27.1/modules/migration/issue.json#' - at '/0' [S#/items/required]: missing properties 'poster_id', 'poster_name', 'title', 'content', 'state', 'is_locked', 'created', 'updated' --- PASS: TestMigrationJSON_MilestoneOK (0.00s) PASS ok gitea.dev/modules/migration 0.066s === RUN TestRedisUsernameOpt --- PASS: TestRedisUsernameOpt (0.00s) === RUN TestRedisPasswordOpt --- PASS: TestRedisPasswordOpt (0.00s) === RUN TestSkipVerifyOpt --- PASS: TestSkipVerifyOpt (0.00s) === RUN TestInsecureSkipVerifyOpt --- PASS: TestInsecureSkipVerifyOpt (0.00s) === RUN TestRedisSentinelUsernameOpt --- PASS: TestRedisSentinelUsernameOpt (0.00s) === RUN TestRedisSentinelPasswordOpt --- PASS: TestRedisSentinelPasswordOpt (0.00s) === RUN TestRedisDatabaseIndexTcp --- PASS: TestRedisDatabaseIndexTcp (0.00s) === RUN TestRedisDatabaseIndexUnix --- PASS: TestRedisDatabaseIndexUnix (0.00s) === RUN TestToRedisURI === RUN TestToRedisURI/old_default === RUN TestToRedisURI/old_macaron_session_default --- PASS: TestToRedisURI (0.00s) --- PASS: TestToRedisURI/old_default (0.00s) --- PASS: TestToRedisURI/old_macaron_session_default (0.00s) PASS ok gitea.dev/modules/nosql 0.008s === RUN TestOption --- PASS: TestOption (0.00s) === RUN Test_ParseBool --- PASS: Test_ParseBool (0.00s) === RUN TestOptionalToJson === RUN TestOptionalToJson/empty === RUN TestOptionalToJson/some --- PASS: TestOptionalToJson (0.00s) --- PASS: TestOptionalToJson/empty (0.00s) --- PASS: TestOptionalToJson/some (0.00s) === RUN TestOptionalFromJson === RUN TestOptionalFromJson/empty === RUN TestOptionalFromJson/some --- PASS: TestOptionalFromJson (0.00s) --- PASS: TestOptionalFromJson/empty (0.00s) --- PASS: TestOptionalFromJson/some (0.00s) === RUN TestOptionalToYaml === RUN TestOptionalToYaml/empty === RUN TestOptionalToYaml/some --- PASS: TestOptionalToYaml (0.00s) --- PASS: TestOptionalToYaml/empty (0.00s) --- PASS: TestOptionalToYaml/some (0.00s) === RUN TestOptionalFromYaml === RUN TestOptionalFromYaml/empty === RUN TestOptionalFromYaml/empty_but_init === RUN TestOptionalFromYaml/some --- PASS: TestOptionalFromYaml (0.00s) --- PASS: TestOptionalFromYaml/empty (0.00s) --- PASS: TestOptionalFromYaml/empty_but_init (0.00s) --- PASS: TestOptionalFromYaml/some (0.00s) PASS ok gitea.dev/modules/optional 0.017s ? gitea.dev/modules/options [no test files] === RUN TestHashedBuffer --- PASS: TestHashedBuffer (0.00s) === RUN TestMultiHasherSums === RUN TestMultiHasherSums/Sums === RUN TestMultiHasherSums/State --- PASS: TestMultiHasherSums (0.00s) --- PASS: TestMultiHasherSums/Sums (0.00s) --- PASS: TestMultiHasherSums/State (0.00s) PASS ok gitea.dev/modules/packages 0.023s === RUN TestParsePackage === RUN TestParsePackage/MissingPKGINFOFile === RUN TestParsePackage/InvalidPKGINFOFile === RUN TestParsePackage/Valid --- PASS: TestParsePackage (0.01s) --- PASS: TestParsePackage/MissingPKGINFOFile (0.00s) --- PASS: TestParsePackage/InvalidPKGINFOFile (0.01s) --- PASS: TestParsePackage/Valid (0.01s) === RUN TestParsePackageInfo === RUN TestParsePackageInfo/InvalidName === RUN TestParsePackageInfo/InvalidVersion === RUN TestParsePackageInfo/Valid --- PASS: TestParsePackageInfo (0.00s) --- PASS: TestParsePackageInfo/InvalidName (0.00s) --- PASS: TestParsePackageInfo/InvalidVersion (0.00s) --- PASS: TestParsePackageInfo/Valid (0.00s) PASS ok gitea.dev/modules/packages/alpine 0.036s === RUN TestParsePackage === RUN TestParsePackage/gz === RUN TestParsePackage/gz/MissingPKGINFOFile === RUN TestParsePackage/gz/InvalidPKGINFOFile === RUN TestParsePackage/gz/Valid === RUN TestParsePackage/xz === RUN TestParsePackage/xz/MissingPKGINFOFile === RUN TestParsePackage/xz/InvalidPKGINFOFile === RUN TestParsePackage/xz/Valid === RUN TestParsePackage/zst === RUN TestParsePackage/zst/MissingPKGINFOFile === RUN TestParsePackage/zst/InvalidPKGINFOFile === RUN TestParsePackage/zst/Valid --- PASS: TestParsePackage (0.06s) --- PASS: TestParsePackage/gz (0.01s) --- PASS: TestParsePackage/gz/MissingPKGINFOFile (0.00s) --- PASS: TestParsePackage/gz/InvalidPKGINFOFile (0.01s) --- PASS: TestParsePackage/gz/Valid (0.00s) --- PASS: TestParsePackage/xz (0.04s) --- PASS: TestParsePackage/xz/MissingPKGINFOFile (0.01s) --- PASS: TestParsePackage/xz/InvalidPKGINFOFile (0.01s) --- PASS: TestParsePackage/xz/Valid (0.02s) --- PASS: TestParsePackage/zst (0.00s) --- PASS: TestParsePackage/zst/MissingPKGINFOFile (0.00s) --- PASS: TestParsePackage/zst/InvalidPKGINFOFile (0.00s) --- PASS: TestParsePackage/zst/Valid (0.00s) === RUN TestParsePackageInfo === RUN TestParsePackageInfo/InvalidName === RUN TestParsePackageInfo/Regexp === RUN TestParsePackageInfo/InvalidVersion === RUN TestParsePackageInfo/Valid --- PASS: TestParsePackageInfo (0.00s) --- PASS: TestParsePackageInfo/InvalidName (0.00s) --- PASS: TestParsePackageInfo/Regexp (0.00s) --- PASS: TestParsePackageInfo/InvalidVersion (0.00s) --- PASS: TestParsePackageInfo/Valid (0.00s) === RUN TestParsePackageTooManyFiles --- PASS: TestParsePackageTooManyFiles (0.00s) PASS ok gitea.dev/modules/packages/arch 0.084s === RUN TestParsePackage === RUN TestParsePackage/InvalidName === RUN TestParsePackage/InvalidVersion === RUN TestParsePackage/Valid === RUN TestParsePackage/Renamed --- PASS: TestParsePackage (0.00s) --- PASS: TestParsePackage/InvalidName (0.00s) --- PASS: TestParsePackage/InvalidVersion (0.00s) --- PASS: TestParsePackage/Valid (0.00s) --- PASS: TestParsePackage/Renamed (0.00s) PASS ok gitea.dev/modules/packages/cargo 0.024s === RUN TestParsePackage === RUN TestParsePackage/MissingMetadataFile === RUN TestParsePackage/Valid --- PASS: TestParsePackage (0.00s) --- PASS: TestParsePackage/MissingMetadataFile (0.00s) --- PASS: TestParsePackage/Valid (0.00s) === RUN TestParseChefMetadata === RUN TestParseChefMetadata/InvalidName === RUN TestParseChefMetadata/InvalidVersion === RUN TestParseChefMetadata/Valid --- PASS: TestParseChefMetadata (0.00s) --- PASS: TestParseChefMetadata/InvalidName (0.00s) --- PASS: TestParseChefMetadata/InvalidVersion (0.00s) --- PASS: TestParseChefMetadata/Valid (0.00s) PASS ok gitea.dev/modules/packages/chef 0.028s === RUN TestLicenseUnmarshal --- PASS: TestLicenseUnmarshal (0.00s) === RUN TestCommentsUnmarshal --- PASS: TestCommentsUnmarshal (0.00s) === RUN TestParsePackage === RUN TestParsePackage/MissingComposerFile === RUN TestParsePackage/MissingComposerFileInRoot === RUN TestParsePackage/InvalidComposerFile === RUN TestParsePackage/InvalidPackageName === RUN TestParsePackage/InvalidPackageVersion === RUN TestParsePackage/InvalidReadmePath === RUN TestParsePackage/ValidZip === RUN TestParsePackage/ValidTarBz2 === RUN TestParsePackage/ValidTarGz --- PASS: TestParsePackage (0.01s) --- PASS: TestParsePackage/MissingComposerFile (0.00s) --- PASS: TestParsePackage/MissingComposerFileInRoot (0.00s) --- PASS: TestParsePackage/InvalidComposerFile (0.00s) --- PASS: TestParsePackage/InvalidPackageName (0.00s) --- PASS: TestParsePackage/InvalidPackageVersion (0.00s) --- PASS: TestParsePackage/InvalidReadmePath (0.00s) --- PASS: TestParsePackage/ValidZip (0.00s) --- PASS: TestParsePackage/ValidTarBz2 (0.01s) --- PASS: TestParsePackage/ValidTarGz (0.00s) PASS ok gitea.dev/modules/packages/composer 0.023s === RUN TestParseConanfile --- PASS: TestParseConanfile (0.00s) === RUN TestParseConaninfo --- PASS: TestParseConaninfo (0.00s) === RUN TestNewRecipeReference --- PASS: TestNewRecipeReference (0.00s) === RUN TestRecipeReferenceRevisionOrDefault --- PASS: TestRecipeReferenceRevisionOrDefault (0.00s) === RUN TestRecipeReferenceString --- PASS: TestRecipeReferenceString (0.00s) === RUN TestRecipeReferenceLinkName --- PASS: TestRecipeReferenceLinkName (0.00s) === RUN TestNewPackageReference --- PASS: TestNewPackageReference (0.00s) === RUN TestPackageReferenceRevisionOrDefault --- PASS: TestPackageReferenceRevisionOrDefault (0.00s) === RUN TestPackageReferenceLinkName --- PASS: TestPackageReferenceLinkName (0.00s) PASS ok gitea.dev/modules/packages/conan 0.009s === RUN TestParsePackage === RUN TestParsePackage/MissingIndexFile === RUN TestParsePackage/MissingAboutFile === RUN TestParsePackage/InvalidName === RUN TestParsePackage/InvalidVersion === RUN TestParsePackage/Valid === RUN TestParsePackage/.tar.bz2 === RUN TestParsePackage/.conda --- PASS: TestParsePackage (0.02s) --- PASS: TestParsePackage/MissingIndexFile (0.00s) --- PASS: TestParsePackage/MissingAboutFile (0.00s) --- PASS: TestParsePackage/InvalidName (0.00s) --- PASS: TestParsePackage/InvalidVersion (0.00s) --- PASS: TestParsePackage/Valid (0.00s) --- PASS: TestParsePackage/.tar.bz2 (0.01s) --- PASS: TestParsePackage/.conda (0.01s) PASS ok gitea.dev/modules/packages/conda 0.076s === RUN TestParseImageConfig --- PASS: TestParseImageConfig (0.00s) PASS ok gitea.dev/modules/packages/container 0.014s ? gitea.dev/modules/packages/container/helm [no test files] === RUN TestParsePackage === RUN TestParsePackage/.tar.gz === RUN TestParsePackage/.tar.gz/MissingDescriptionFile === RUN TestParsePackage/.tar.gz/Valid === RUN TestParsePackage/.zip === RUN TestParsePackage/.zip/MissingDescriptionFile === RUN TestParsePackage/.zip/Valid --- PASS: TestParsePackage (0.01s) --- PASS: TestParsePackage/.tar.gz (0.00s) --- PASS: TestParsePackage/.tar.gz/MissingDescriptionFile (0.00s) --- PASS: TestParsePackage/.tar.gz/Valid (0.00s) --- PASS: TestParsePackage/.zip (0.00s) --- PASS: TestParsePackage/.zip/MissingDescriptionFile (0.00s) --- PASS: TestParsePackage/.zip/Valid (0.00s) === RUN TestParseDescription === RUN TestParseDescription/InvalidName === RUN TestParseDescription/InvalidVersion === RUN TestParseDescription/ValidVersionManyComponents === RUN TestParseDescription/Valid --- PASS: TestParseDescription (0.00s) --- PASS: TestParseDescription/InvalidName (0.00s) --- PASS: TestParseDescription/InvalidVersion (0.00s) --- PASS: TestParseDescription/ValidVersionManyComponents (0.00s) --- PASS: TestParseDescription/Valid (0.00s) PASS ok gitea.dev/modules/packages/cran 0.022s === RUN TestParsePackage === RUN TestParsePackage/MissingControlFile === RUN TestParsePackage/Compression === RUN TestParsePackage/Compression/Unsupported === RUN TestParsePackage/Compression/#00 === RUN TestParsePackage/Compression/#00/TrailingSlash === RUN TestParsePackage/Compression/.gz === RUN TestParsePackage/Compression/.gz/TrailingSlash === RUN TestParsePackage/Compression/.xz === RUN TestParsePackage/Compression/.xz/TrailingSlash === RUN TestParsePackage/Compression/.zst === RUN TestParsePackage/Compression/.zst/TrailingSlash --- PASS: TestParsePackage (0.04s) --- PASS: TestParsePackage/MissingControlFile (0.00s) --- PASS: TestParsePackage/Compression (0.04s) --- PASS: TestParsePackage/Compression/Unsupported (0.00s) --- PASS: TestParsePackage/Compression/#00 (0.00s) --- PASS: TestParsePackage/Compression/#00/TrailingSlash (0.00s) --- PASS: TestParsePackage/Compression/.gz (0.00s) --- PASS: TestParsePackage/Compression/.gz/TrailingSlash (0.00s) --- PASS: TestParsePackage/Compression/.xz (0.04s) --- PASS: TestParsePackage/Compression/.xz/TrailingSlash (0.00s) --- PASS: TestParsePackage/Compression/.zst (0.00s) --- PASS: TestParsePackage/Compression/.zst/TrailingSlash (0.00s) === RUN TestParseControlFile === RUN TestParseControlFile/InvalidName === RUN TestParseControlFile/InvalidVersion === RUN TestParseControlFile/InvalidArchitecture === RUN TestParseControlFile/Valid === RUN TestParseControlFile/ValidVersions === RUN TestParseControlFile/SingleStanzaOnly --- PASS: TestParseControlFile (0.00s) --- PASS: TestParseControlFile/InvalidName (0.00s) --- PASS: TestParseControlFile/InvalidVersion (0.00s) --- PASS: TestParseControlFile/InvalidArchitecture (0.00s) --- PASS: TestParseControlFile/Valid (0.00s) --- PASS: TestParseControlFile/ValidVersions (0.00s) --- PASS: TestParseControlFile/SingleStanzaOnly (0.00s) === RUN TestValidateDistributionOrComponent --- PASS: TestValidateDistributionOrComponent (0.00s) === RUN TestParseControlFileMultilineDescription --- PASS: TestParseControlFileMultilineDescription (0.00s) PASS ok gitea.dev/modules/packages/debian 0.058s === RUN TestParsePackage === RUN TestParsePackage/EmptyPackage === RUN TestParsePackage/InvalidNameOrVersionStructure === RUN TestParsePackage/GoModFileInWrongDirectory === RUN TestParsePackage/InvalidVersion === RUN TestParsePackage/Valid --- PASS: TestParsePackage (0.00s) --- PASS: TestParsePackage/EmptyPackage (0.00s) --- PASS: TestParsePackage/InvalidNameOrVersionStructure (0.00s) --- PASS: TestParsePackage/GoModFileInWrongDirectory (0.00s) --- PASS: TestParsePackage/InvalidVersion (0.00s) --- PASS: TestParsePackage/Valid (0.00s) PASS ok gitea.dev/modules/packages/goproxy 0.008s ? gitea.dev/modules/packages/helm [no test files] === RUN TestParsePackageMetaData === RUN TestParsePackageMetaData/InvalidFile === RUN TestParsePackageMetaData/Valid === RUN TestParsePackageMetaData/Encoding === RUN TestParsePackageMetaData/ParentInherit === RUN TestParsePackageMetaData/ParentInherit#01 --- PASS: TestParsePackageMetaData (0.00s) --- PASS: TestParsePackageMetaData/InvalidFile (0.00s) --- PASS: TestParsePackageMetaData/Valid (0.00s) --- PASS: TestParsePackageMetaData/Encoding (0.00s) --- PASS: TestParsePackageMetaData/ParentInherit (0.00s) --- PASS: TestParsePackageMetaData/ParentInherit#01 (0.00s) PASS ok gitea.dev/modules/packages/maven 0.016s === RUN TestParsePackage === RUN TestParsePackage/InvalidUpload === RUN TestParsePackage/InvalidUploadNoData === RUN TestParsePackage/InvalidPackageName === RUN TestParsePackage/ValidPackageName === RUN TestParsePackage/InvalidPackageVersion === RUN TestParsePackage/InvalidAttachment === RUN TestParsePackage/InvalidData === RUN TestParsePackage/InvalidIntegrity === RUN TestParsePackage/InvalidIntegrity2 === RUN TestParsePackage/Valid === RUN TestParsePackage/ValidLicenseMap === RUN TestParsePackage/ValidRepositoryAndBinAsString --- PASS: TestParsePackage (0.00s) --- PASS: TestParsePackage/InvalidUpload (0.00s) --- PASS: TestParsePackage/InvalidUploadNoData (0.00s) --- PASS: TestParsePackage/InvalidPackageName (0.00s) --- PASS: TestParsePackage/ValidPackageName (0.00s) --- PASS: TestParsePackage/InvalidPackageVersion (0.00s) --- PASS: TestParsePackage/InvalidAttachment (0.00s) --- PASS: TestParsePackage/InvalidData (0.00s) --- PASS: TestParsePackage/InvalidIntegrity (0.00s) --- PASS: TestParsePackage/InvalidIntegrity2 (0.00s) --- PASS: TestParsePackage/Valid (0.00s) --- PASS: TestParsePackage/ValidLicenseMap (0.00s) --- PASS: TestParsePackage/ValidRepositoryAndBinAsString (0.00s) PASS ok gitea.dev/modules/packages/npm 0.019s === RUN TestParsePackageMetaData === RUN TestParsePackageMetaData/MissingNuspecFile === RUN TestParsePackageMetaData/MissingNuspecFileInRoot === RUN TestParsePackageMetaData/InvalidNuspecFile === RUN TestParsePackageMetaData/InvalidPackageId === RUN TestParsePackageMetaData/InvalidPackageVersion === RUN TestParsePackageMetaData/MissingReadme === RUN TestParsePackageMetaData/Dependency_Package === RUN TestParsePackageMetaData/Dependency_Package/NormalizedVersion === RUN TestParsePackageMetaData/Symbols_Package --- PASS: TestParsePackageMetaData (0.01s) --- PASS: TestParsePackageMetaData/MissingNuspecFile (0.00s) --- PASS: TestParsePackageMetaData/MissingNuspecFileInRoot (0.00s) --- PASS: TestParsePackageMetaData/InvalidNuspecFile (0.00s) --- PASS: TestParsePackageMetaData/InvalidPackageId (0.00s) --- PASS: TestParsePackageMetaData/InvalidPackageVersion (0.00s) --- PASS: TestParsePackageMetaData/MissingReadme (0.00s) --- PASS: TestParsePackageMetaData/Dependency_Package (0.00s) --- PASS: TestParsePackageMetaData/Dependency_Package/NormalizedVersion (0.00s) --- PASS: TestParsePackageMetaData/Symbols_Package (0.00s) === RUN TestExtractPortablePdb === RUN TestExtractPortablePdb/MissingPdbFiles === RUN TestExtractPortablePdb/InvalidFiles === RUN TestExtractPortablePdb/Valid --- PASS: TestExtractPortablePdb (0.01s) --- PASS: TestExtractPortablePdb/MissingPdbFiles (0.00s) --- PASS: TestExtractPortablePdb/InvalidFiles (0.00s) --- PASS: TestExtractPortablePdb/Valid (0.00s) === RUN TestParseDebugHeaderID === RUN TestParseDebugHeaderID/InvalidPdbMagicNumber === RUN TestParseDebugHeaderID/MissingPdbStream === RUN TestParseDebugHeaderID/Valid --- PASS: TestParseDebugHeaderID (0.00s) --- PASS: TestParseDebugHeaderID/InvalidPdbMagicNumber (0.00s) --- PASS: TestParseDebugHeaderID/MissingPdbStream (0.00s) --- PASS: TestParseDebugHeaderID/Valid (0.00s) PASS ok gitea.dev/modules/packages/nuget 0.034s === RUN TestParsePackage === RUN TestParsePackage/MissingPubspecFile === RUN TestParsePackage/PubspecFileTooLarge === RUN TestParsePackage/InvalidPubspecFile === RUN TestParsePackage/Valid === RUN TestParsePackage/ValidWithReadme --- PASS: TestParsePackage (0.03s) --- PASS: TestParsePackage/MissingPubspecFile (0.00s) --- PASS: TestParsePackage/PubspecFileTooLarge (0.01s) --- PASS: TestParsePackage/InvalidPubspecFile (0.00s) --- PASS: TestParsePackage/Valid (0.00s) --- PASS: TestParsePackage/ValidWithReadme (0.02s) === RUN TestParsePubspecMetadata === RUN TestParsePubspecMetadata/InvalidName === RUN TestParsePubspecMetadata/InvalidVersion === RUN TestParsePubspecMetadata/Valid --- PASS: TestParsePubspecMetadata (0.00s) --- PASS: TestParsePubspecMetadata/InvalidName (0.00s) --- PASS: TestParsePubspecMetadata/InvalidVersion (0.00s) --- PASS: TestParsePubspecMetadata/Valid (0.00s) PASS ok gitea.dev/modules/packages/pub 0.042s ? gitea.dev/modules/packages/pypi [no test files] === RUN TestParsePackage --- PASS: TestParsePackage (0.00s) PASS ok gitea.dev/modules/packages/rpm 0.021s === RUN TestMinimalEncoder --- PASS: TestMinimalEncoder (0.00s) === RUN TestParsePackageMetaData === RUN TestParsePackageMetaData/MissingMetadataFile === RUN TestParsePackageMetaData/Valid === RUN TestParsePackageMetaData/InvalidName --- PASS: TestParsePackageMetaData (0.01s) --- PASS: TestParsePackageMetaData/MissingMetadataFile (0.00s) --- PASS: TestParsePackageMetaData/Valid (0.00s) --- PASS: TestParsePackageMetaData/InvalidName (0.01s) === RUN TestParseMetadataFile --- PASS: TestParseMetadataFile (0.00s) PASS ok gitea.dev/modules/packages/rubygems 0.026s === RUN TestParsePackage === RUN TestParsePackage/MissingManifestFile === RUN TestParsePackage/ManifestFileTooLarge === RUN TestParsePackage/WithoutMetadata === RUN TestParsePackage/WithMetadata === RUN TestParsePackage/WithExplicitNameField === RUN TestParsePackage/WithEmptyJSONMetadata === RUN TestParsePackage/NameFieldGeneration --- PASS: TestParsePackage (0.02s) --- PASS: TestParsePackage/MissingManifestFile (0.00s) --- PASS: TestParsePackage/ManifestFileTooLarge (0.00s) --- PASS: TestParsePackage/WithoutMetadata (0.00s) --- PASS: TestParsePackage/WithMetadata (0.02s) --- PASS: TestParsePackage/WithExplicitNameField (0.00s) --- PASS: TestParsePackage/WithEmptyJSONMetadata (0.00s) --- PASS: TestParsePackage/NameFieldGeneration (0.00s) === RUN TestTrimmedVersionString --- PASS: TestTrimmedVersionString (0.00s) === RUN TestPersonNameString === RUN TestPersonNameString/GivenNameOnly === RUN TestPersonNameString/GivenAndFamily === RUN TestPersonNameString/FullName === RUN TestPersonNameString/MiddleAndFamily === RUN TestPersonNameString/Empty --- PASS: TestPersonNameString (0.00s) --- PASS: TestPersonNameString/GivenNameOnly (0.00s) --- PASS: TestPersonNameString/GivenAndFamily (0.00s) --- PASS: TestPersonNameString/FullName (0.00s) --- PASS: TestPersonNameString/MiddleAndFamily (0.00s) --- PASS: TestPersonNameString/Empty (0.00s) PASS ok gitea.dev/modules/packages/swift 0.062s ? gitea.dev/modules/packages/terraform [no test files] === RUN TestParseMetadataFromBox === RUN TestParseMetadataFromBox/MissingInfoFile === RUN TestParseMetadataFromBox/Valid --- PASS: TestParseMetadataFromBox (0.00s) --- PASS: TestParseMetadataFromBox/MissingInfoFile (0.00s) --- PASS: TestParseMetadataFromBox/Valid (0.00s) === RUN TestParseInfoFile === RUN TestParseInfoFile/UnknownKeys === RUN TestParseInfoFile/Valid --- PASS: TestParseInfoFile (0.00s) --- PASS: TestParseInfoFile/UnknownKeys (0.00s) --- PASS: TestParseInfoFile/Valid (0.00s) PASS ok gitea.dev/modules/packages/vagrant 0.011s === RUN TestPaginator === RUN TestPaginator/Basic_logics === RUN TestPaginator/Generate_pages === RUN TestPaginator/Only_current_page === RUN TestPaginator/Total_page_number_is_less_or_equal === RUN TestPaginator/Has_more_previous_pages_ === RUN TestPaginator/Has_more_next_pages === RUN TestPaginator/Has_both_more_previous_and_next_pages --- PASS: TestPaginator (0.00s) --- PASS: TestPaginator/Basic_logics (0.00s) --- PASS: TestPaginator/Generate_pages (0.00s) --- PASS: TestPaginator/Only_current_page (0.00s) --- PASS: TestPaginator/Total_page_number_is_less_or_equal (0.00s) --- PASS: TestPaginator/Has_more_previous_pages_ (0.00s) --- PASS: TestPaginator/Has_more_next_pages (0.00s) --- PASS: TestPaginator/Has_both_more_previous_and_next_pages (0.00s) PASS ok gitea.dev/modules/paginator 0.006s ? gitea.dev/modules/pprof [no test files] === RUN TestInternalAPIConnectionIsLocal === RUN TestInternalAPIConnectionIsLocal/unix_socket === RUN TestInternalAPIConnectionIsLocal/localhost === RUN TestInternalAPIConnectionIsLocal/loopback_ipv4 === RUN TestInternalAPIConnectionIsLocal/loopback_ipv6 === RUN TestInternalAPIConnectionIsLocal/remote_host === RUN TestInternalAPIConnectionIsLocal/remote_ip === RUN TestInternalAPIConnectionIsLocal/invalid_url --- PASS: TestInternalAPIConnectionIsLocal (0.00s) --- PASS: TestInternalAPIConnectionIsLocal/unix_socket (0.00s) --- PASS: TestInternalAPIConnectionIsLocal/localhost (0.00s) --- PASS: TestInternalAPIConnectionIsLocal/loopback_ipv4 (0.00s) --- PASS: TestInternalAPIConnectionIsLocal/loopback_ipv6 (0.00s) --- PASS: TestInternalAPIConnectionIsLocal/remote_host (0.00s) --- PASS: TestInternalAPIConnectionIsLocal/remote_ip (0.00s) --- PASS: TestInternalAPIConnectionIsLocal/invalid_url (0.00s) === RUN TestGitPushOptions --- PASS: TestGitPushOptions (0.00s) PASS ok gitea.dev/modules/private 0.146s === RUN TestGetManager --- PASS: TestGetManager (0.00s) === RUN TestManager_AddContext --- PASS: TestManager_AddContext (0.00s) === RUN TestManager_Cancel --- PASS: TestManager_Cancel (0.00s) === RUN TestManager_Remove --- PASS: TestManager_Remove (0.00s) === RUN TestExecTimeoutNever --- PASS: TestExecTimeoutNever (0.02s) === RUN TestExecTimeoutAlways --- PASS: TestExecTimeoutAlways (0.17s) PASS ok gitea.dev/modules/process 0.205s ? gitea.dev/modules/proxy [no test files] ? gitea.dev/modules/proxyprotocol [no test files] === RUN TestViteManifest === RUN TestViteManifest/EmptyManifest === RUN TestViteManifest/ParseManifest --- PASS: TestViteManifest (0.00s) --- PASS: TestViteManifest/EmptyManifest (0.00s) --- PASS: TestViteManifest/ParseManifest (0.00s) === RUN TestParseAcceptEncoding === RUN TestParseAcceptEncoding/deflate,_gzip;q=1.0,_*;q=0.5 === RUN TestParseAcceptEncoding/_gzip,_deflate,_br --- PASS: TestParseAcceptEncoding (0.00s) --- PASS: TestParseAcceptEncoding/deflate,_gzip;q=1.0,_*;q=0.5 (0.00s) --- PASS: TestParseAcceptEncoding/_gzip,_deflate,_br (0.00s) PASS 2026/08/11 22:30:46 modules/public/manifest.go:45:parseManifest() [E] Failed to parse frontend manifest: jsontext: unexpected EOF ok gitea.dev/modules/public 0.031s === RUN TestBaseChannel === RUN TestBaseChannel/testQueueBasic-baseChannel-unique:false === RUN TestBaseChannel/testQueueBasic-baseChannel-unique:true --- PASS: TestBaseChannel (0.11s) --- PASS: TestBaseChannel/testQueueBasic-baseChannel-unique:false (0.05s) --- PASS: TestBaseChannel/testQueueBasic-baseChannel-unique:true (0.05s) === RUN TestBaseLevelDB === RUN TestBaseLevelDB/testQueueBasic-baseLevelQueue-unique:false === RUN TestBaseLevelDB/testQueueBasic-baseLevelQueueUnique-unique:true --- PASS: TestBaseLevelDB (0.28s) --- PASS: TestBaseLevelDB/testQueueBasic-baseLevelQueue-unique:false (0.20s) --- PASS: TestBaseLevelDB/testQueueBasic-baseLevelQueueUnique-unique:true (0.07s) === RUN TestCorruptedLevelQueue --- PASS: TestCorruptedLevelQueue (0.01s) === RUN TestBaseRedis redis: 2026/08/11 22:30:47 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:47 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:48 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused redis: 2026/08/11 22:30:48 pool.go:724: redis: connection pool: failed to dial after 5 attempts: dial tcp 127.0.0.1:6379: connect: connection refused base_redis_test.go:62: redis server command not found, skipped --- SKIP: TestBaseRedis (1.80s) === RUN TestBaseDummy --- PASS: TestBaseDummy (0.00s) === RUN TestManager --- PASS: TestManager (0.09s) === RUN TestWorkerPoolQueueUnhandled === RUN TestWorkerPoolQueueUnhandled/1/1 === RUN TestWorkerPoolQueueUnhandled/3/1 === RUN TestWorkerPoolQueueUnhandled/4/5 --- PASS: TestWorkerPoolQueueUnhandled (0.25s) --- PASS: TestWorkerPoolQueueUnhandled/1/1 (0.09s) --- PASS: TestWorkerPoolQueueUnhandled/3/1 (0.08s) --- PASS: TestWorkerPoolQueueUnhandled/4/5 (0.08s) === RUN TestWorkerPoolQueuePersistence === RUN TestWorkerPoolQueuePersistence/1/1 === RUN TestWorkerPoolQueuePersistence/3/1 === RUN TestWorkerPoolQueuePersistence/4/5 --- PASS: TestWorkerPoolQueuePersistence (1.57s) --- PASS: TestWorkerPoolQueuePersistence/1/1 (0.75s) --- PASS: TestWorkerPoolQueuePersistence/3/1 (0.46s) --- PASS: TestWorkerPoolQueuePersistence/4/5 (0.36s) === RUN TestWorkerPoolQueueActiveWorkers --- PASS: TestWorkerPoolQueueActiveWorkers (1.70s) === RUN TestWorkerPoolQueueShutdown 2026/08/11 22:30:52 .../queue/workergroup.go:110:(*WorkerPoolQueue).doWorkerHandle() [E] Queue "test-workpoolqueue" failed to handle batch of 3 items, backoff for a few seconds 2026/08/11 22:30:52 .../queue/workergroup.go:110:(*WorkerPoolQueue).doWorkerHandle() [E] Queue "test-workpoolqueue" failed to handle batch of 3 items, backoff for a few seconds 2026/08/11 22:30:52 .../queue/workergroup.go:110:(*WorkerPoolQueue).doWorkerHandle() [E] Queue "test-workpoolqueue" failed to handle batch of 3 items, backoff for a few seconds 2026/08/11 22:30:52 .../queue/workergroup.go:110:(*WorkerPoolQueue).doWorkerHandle() [E] Queue "test-workpoolqueue" failed to handle batch of 3 items, backoff for a few seconds --- PASS: TestWorkerPoolQueueShutdown (0.41s) === RUN TestWorkerPoolQueueWorkerIdleReset --- PASS: TestWorkerPoolQueueWorkerIdleReset (0.55s) PASS ok gitea.dev/modules/queue 6.809s ? gitea.dev/modules/queue/lqinternal [no test files] ? gitea.dev/modules/recaptcha [no test files] === RUN TestConvertFullHTMLReferencesToShortRefs --- PASS: TestConvertFullHTMLReferencesToShortRefs (0.00s) === RUN TestFindAllIssueReferences === RUN TestFindAllIssueReferences/Fixes_bare_URL === RUN TestFindAllIssueReferences/Fixes_with_colon === RUN TestFindAllIssueReferences/Closes_bare_URL === RUN TestFindAllIssueReferences/Closes_with_colon --- PASS: TestFindAllIssueReferences (0.00s) --- PASS: TestFindAllIssueReferences/Fixes_bare_URL (0.00s) --- PASS: TestFindAllIssueReferences/Fixes_with_colon (0.00s) --- PASS: TestFindAllIssueReferences/Closes_bare_URL (0.00s) --- PASS: TestFindAllIssueReferences/Closes_with_colon (0.00s) === RUN TestFindAllMentions --- PASS: TestFindAllMentions (0.00s) === RUN TestFindRenderizableCommitCrossReference --- PASS: TestFindRenderizableCommitCrossReference (0.00s) === RUN TestRegExp_mentionPattern --- PASS: TestRegExp_mentionPattern (0.00s) === RUN TestRegExp_issueNumericPattern --- PASS: TestRegExp_issueNumericPattern (0.00s) === RUN TestRegExp_issueAlphanumericPattern --- PASS: TestRegExp_issueAlphanumericPattern (0.00s) === RUN TestCustomizeCloseKeywords --- PASS: TestCustomizeCloseKeywords (0.00s) === RUN TestParseCloseKeywords 2026/08/11 22:30:46 .../references/references.go:154:parseKeywords() [I] Invalid keyword: 2026/08/11 22:30:46 .../references/references.go:154:parseKeywords() [I] Invalid keyword: 99 2026/08/11 22:30:46 .../references/references.go:154:parseKeywords() [I] Invalid keyword: # 2026/08/11 22:30:46 .../references/references.go:154:parseKeywords() [I] Invalid keyword: 2026/08/11 22:30:46 .../references/references.go:154:parseKeywords() [I] Invalid keyword: this is 2026/08/11 22:30:46 .../references/references.go:154:parseKeywords() [I] Invalid keyword: ,$! --- PASS: TestParseCloseKeywords (0.01s) PASS 2026/08/11 22:30:46 .../references/references.go:154:parseKeywords() [I] Invalid keyword: 1234 ok gitea.dev/modules/references 0.064s === RUN TestRegexpLru --- PASS: TestRegexpLru (0.00s) PASS ok gitea.dev/modules/regexplru 0.009s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-104635194/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-104635194/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-104635194/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-104635194/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-104635194/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-104635194/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-104635194/data/actions_artifacts === RUN TestSyncRepoBranches --- PASS: TestSyncRepoBranches (0.14s) === RUN TestPushCommits_ToAPIPayloadCommits --- PASS: TestPushCommits_ToAPIPayloadCommits (0.04s) === RUN TestCommitToPushCommit --- PASS: TestCommitToPushCommit (0.00s) === RUN TestListToPushCommits --- PASS: TestListToPushCommits (0.00s) === RUN TestGetDirectorySize --- PASS: TestGetDirectorySize (0.00s) === RUN TestCanUserForkBetweenOwners --- PASS: TestCanUserForkBetweenOwners (0.00s) === RUN TestMergeCustomLabels --- PASS: TestMergeCustomLabels (0.00s) === RUN Test_getLicense === RUN Test_getLicense/regular === RUN Test_getLicense/license_not_found --- PASS: Test_getLicense (0.00s) --- PASS: Test_getLicense/regular (0.00s) --- PASS: Test_getLicense/license_not_found (0.00s) === RUN Test_fillLicensePlaceholder === RUN Test_fillLicensePlaceholder/owner === RUN Test_fillLicensePlaceholder/email === RUN Test_fillLicensePlaceholder/repo === RUN Test_fillLicensePlaceholder/year === RUN Test_fillLicensePlaceholder/0BSD --- PASS: Test_fillLicensePlaceholder (0.00s) --- PASS: Test_fillLicensePlaceholder/owner (0.00s) --- PASS: Test_fillLicensePlaceholder/email (0.00s) --- PASS: Test_fillLicensePlaceholder/repo (0.00s) --- PASS: Test_fillLicensePlaceholder/year (0.00s) --- PASS: Test_fillLicensePlaceholder/0BSD (0.00s) === RUN Test_calcSync --- PASS: Test_calcSync (0.00s) PASS ok gitea.dev/modules/repository 0.714s ? gitea.dev/modules/reqctx [no test files] === RUN TestEncryptDecrypt --- PASS: TestEncryptDecrypt (0.00s) PASS ok gitea.dev/modules/secret 0.011s ? gitea.dev/modules/session [no test files] === RUN Test_getStorageInheritNameSectionTypeForActions --- PASS: Test_getStorageInheritNameSectionTypeForActions (0.00s) === RUN Test_WorkflowDirs === RUN Test_WorkflowDirs/default === RUN Test_WorkflowDirs/single_dir === RUN Test_WorkflowDirs/custom_order === RUN Test_WorkflowDirs/whitespace_trimming === RUN Test_WorkflowDirs/trailing_slash_normalization === RUN Test_WorkflowDirs/only_commas_and_whitespace --- PASS: Test_WorkflowDirs (0.00s) --- PASS: Test_WorkflowDirs/default (0.00s) --- PASS: Test_WorkflowDirs/single_dir (0.00s) --- PASS: Test_WorkflowDirs/custom_order (0.00s) --- PASS: Test_WorkflowDirs/whitespace_trimming (0.00s) --- PASS: Test_WorkflowDirs/trailing_slash_normalization (0.00s) --- PASS: Test_WorkflowDirs/only_commas_and_whitespace (0.00s) === RUN Test_getDefaultActionsURLForActions === RUN Test_getDefaultActionsURLForActions/default === RUN Test_getDefaultActionsURLForActions/github === RUN Test_getDefaultActionsURLForActions/self === RUN Test_getDefaultActionsURLForActions/custom_url === RUN Test_getDefaultActionsURLForActions/custom_urls === RUN Test_getDefaultActionsURLForActions/invalid --- PASS: Test_getDefaultActionsURLForActions (0.00s) --- PASS: Test_getDefaultActionsURLForActions/default (0.00s) --- PASS: Test_getDefaultActionsURLForActions/github (0.00s) --- PASS: Test_getDefaultActionsURLForActions/self (0.00s) --- PASS: Test_getDefaultActionsURLForActions/custom_url (0.00s) --- PASS: Test_getDefaultActionsURLForActions/custom_urls (0.00s) --- PASS: Test_getDefaultActionsURLForActions/invalid (0.00s) === RUN Test_ScopedWorkflowDirs === RUN Test_ScopedWorkflowDirs/default === RUN Test_ScopedWorkflowDirs/custom_dir === RUN Test_ScopedWorkflowDirs/empty_disables_the_feature === RUN Test_ScopedWorkflowDirs/overlap_equal_with_workflow_dir === RUN Test_ScopedWorkflowDirs/scoped_dir_nested_under_workflow_dir === RUN Test_ScopedWorkflowDirs/workflow_dir_nested_under_scoped_dir === RUN Test_ScopedWorkflowDirs/no_overlap --- PASS: Test_ScopedWorkflowDirs (0.00s) --- PASS: Test_ScopedWorkflowDirs/default (0.00s) --- PASS: Test_ScopedWorkflowDirs/custom_dir (0.00s) --- PASS: Test_ScopedWorkflowDirs/empty_disables_the_feature (0.00s) --- PASS: Test_ScopedWorkflowDirs/overlap_equal_with_workflow_dir (0.00s) --- PASS: Test_ScopedWorkflowDirs/scoped_dir_nested_under_workflow_dir (0.00s) --- PASS: Test_ScopedWorkflowDirs/workflow_dir_nested_under_scoped_dir (0.00s) --- PASS: Test_ScopedWorkflowDirs/no_overlap (0.00s) === RUN Test_getStorageCustomType --- PASS: Test_getStorageCustomType (0.00s) 2026/08/11 22:30:46 modules/setting/actions.go:98:loadActionsFrom() [E] [actions] DEFAULT_ACTIONS_URL does not support "https://gitea.com" as custom URL any longer, fallback to "github" 2026/08/11 22:30:46 modules/setting/actions.go:98:loadActionsFrom() [E] [actions] DEFAULT_ACTIONS_URL does not support "https://gitea.com,https://github.com" as custom URL any longer, fallback to "github" === RUN Test_getStorageTypeSectionOverridesStorageSection --- PASS: Test_getStorageTypeSectionOverridesStorageSection (0.00s) === RUN Test_getStorageSpecificOverridesStorage --- PASS: Test_getStorageSpecificOverridesStorage (0.00s) === RUN Test_getStorageGetDefaults --- PASS: Test_getStorageGetDefaults (0.00s) === RUN Test_getStorageInheritNameSectionType --- PASS: Test_getStorageInheritNameSectionType (0.00s) === RUN Test_AttachmentStorage --- PASS: Test_AttachmentStorage (0.00s) === RUN Test_AttachmentStorage1 --- PASS: Test_AttachmentStorage1 (0.00s) === RUN TestDecodeEnvSectionKey --- PASS: TestDecodeEnvSectionKey (0.00s) === RUN TestDecodeEnvironmentKey --- PASS: TestDecodeEnvironmentKey (0.00s) === RUN TestEnvironmentToConfig --- PASS: TestEnvironmentToConfig (0.03s) === RUN TestEnvironmentToConfigSubSecKey --- PASS: TestEnvironmentToConfigSubSecKey (0.00s) === RUN TestConfigProviderBehaviors === RUN TestConfigProviderBehaviors/BuggyKeyOverwritten === RUN TestConfigProviderBehaviors/SubsectionSeeParentKeys === RUN TestConfigProviderBehaviors/TrailingSlash --- PASS: TestConfigProviderBehaviors (0.00s) --- PASS: TestConfigProviderBehaviors/BuggyKeyOverwritten (0.00s) --- PASS: TestConfigProviderBehaviors/SubsectionSeeParentKeys (0.00s) --- PASS: TestConfigProviderBehaviors/TrailingSlash (0.00s) === RUN TestConfigProviderHelper --- PASS: TestConfigProviderHelper (0.00s) === RUN TestNewConfigProviderFromFile --- PASS: TestNewConfigProviderFromFile (0.01s) === RUN TestDisableSaving --- PASS: TestDisableSaving (0.00s) === RUN Test_getCronSettings --- PASS: Test_getCronSettings (0.00s) === RUN Test_getCronSettings2 --- PASS: Test_getCronSettings2 (0.00s) === RUN TestGitConfig --- PASS: TestGitConfig (0.00s) === RUN TestGitReflog 2026/08/11 22:30:46 modules/setting/git.go:96:loadGitFrom() [E] Deprecation: config option `[git.reflog].ENABLED` present, please use `[git.config].core.logAllRefUpdates` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/git.go:100:loadGitFrom() [E] Deprecation: config option `[git.reflog].EXPIRATION` present, please use `[git.config].core.reflogExpire` instead because this fallback will be/has been removed in 1.21 --- PASS: TestGitReflog (0.00s) === RUN TestLoadGlobalLockConfig === RUN TestLoadGlobalLockConfig/DefaultGlobalLockConfig === RUN TestLoadGlobalLockConfig/RedisGlobalLockConfig --- PASS: TestLoadGlobalLockConfig (0.00s) --- PASS: TestLoadGlobalLockConfig/DefaultGlobalLockConfig (0.00s) --- PASS: TestLoadGlobalLockConfig/RedisGlobalLockConfig (0.00s) === RUN Test_newIndexerGlobSettings --- PASS: Test_newIndexerGlobSettings (0.00s) === RUN Test_getStorageInheritNameSectionTypeForLFS --- PASS: Test_getStorageInheritNameSectionTypeForLFS (0.00s) === RUN Test_LFSStorage1 --- PASS: Test_LFSStorage1 (0.00s) === RUN Test_LFSClientServerConfigs --- PASS: Test_LFSClientServerConfigs (0.00s) === RUN TestLogConfigDefault 2026/08/11 22:30:46 modules/setting/lfs.go:46:loadLFSFrom() [E] Deprecation: config option `[server].LFS_CONTENT_PATH` present, please use `[lfs].PATH` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/lfs.go:46:loadLFSFrom() [E] Deprecation: config option `[server].LFS_CONTENT_PATH` present, please use `[lfs].PATH` instead because this fallback will be/has been removed in v1.19.0 --- PASS: TestLogConfigDefault (0.00s) === RUN TestLogConfigDisable --- PASS: TestLogConfigDisable (0.00s) === RUN TestLogConfigLegacyDefault --- PASS: TestLogConfigLegacyDefault (0.00s) === RUN TestLogConfigLegacyMode 2026/08/11 22:30:46 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 --- PASS: TestLogConfigLegacyMode (0.01s) === RUN TestLogConfigLegacyModeDisable 2026/08/11 22:30:46 modules/setting/log.go:62:prepareLoggerConfig() [E] Deprecation: config option `[log].ACCESS` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:63:prepareLoggerConfig() [E] Deprecation: config option `[log].ENABLE_ACCESS_LOG` present, please use `[log].logger.access.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:71:prepareLoggerConfig() [E] Deprecation: config option `[log].ROUTER` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 2026/08/11 22:30:46 modules/setting/log.go:72:prepareLoggerConfig() [E] Deprecation: config option `[log].DISABLE_ROUTER_LOG` present, please use `[log].logger.router.MODE` instead because this fallback will be/has been removed in 1.21 --- PASS: TestLogConfigLegacyModeDisable (0.00s) === RUN TestLogConfigNewConfig --- PASS: TestLogConfigNewConfig (0.00s) === RUN TestLogConfigModeFile --- PASS: TestLogConfigModeFile (0.00s) === RUN Test_loadMailerFrom === RUN Test_loadMailerFrom/smtp.mydomain.test 2026/08/11 22:30:46 modules/setting/mailer.go:86:loadMailerFrom() [E] Deprecation: config option `[mailer].HOST` present, please use `[mailer].SMTP_ADDR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/mailer.go:194:loadMailerFrom() [E] unable to infer unspecified mailer.PROTOCOL from mailer.SMTP_PORT = "", assume using smtps 2026/08/11 22:30:46 modules/setting/mailer.go:296:tryResolveAddr() [W] could not look up mailer.SMTP_ADDR: lookup smtp.mydomain.test on 172.16.32.1:53: no such host 2026/08/11 22:30:46 modules/setting/mailer.go:234:loadMailerFrom() [E] no mailer.FROM provided, email system may not work. === RUN Test_loadMailerFrom/smtp.mydomain.test:123 2026/08/11 22:30:46 modules/setting/mailer.go:86:loadMailerFrom() [E] Deprecation: config option `[mailer].HOST` present, please use `[mailer].SMTP_ADDR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/mailer.go:194:loadMailerFrom() [E] unable to infer unspecified mailer.PROTOCOL from mailer.SMTP_PORT = "123", assume using smtps === RUN Test_loadMailerFrom/:123 --- PASS: Test_loadMailerFrom (0.02s) --- PASS: Test_loadMailerFrom/smtp.mydomain.test (0.02s) --- PASS: Test_loadMailerFrom/smtp.mydomain.test:123 (0.00s) --- PASS: Test_loadMailerFrom/:123 (0.00s) === RUN TestLoadSettingsForInstallMailServiceFlags 2026/08/11 22:30:46 modules/setting/mailer.go:296:tryResolveAddr() [W] could not look up mailer.SMTP_ADDR: lookup smtp.mydomain.test on 172.16.32.1:53: no such host 2026/08/11 22:30:46 modules/setting/mailer.go:234:loadMailerFrom() [E] no mailer.FROM provided, email system may not work. 2026/08/11 22:30:46 modules/setting/mailer.go:86:loadMailerFrom() [E] Deprecation: config option `[mailer].HOST` present, please use `[mailer].SMTP_ADDR` instead because this fallback will be/has been removed in v1.19.0 2026/08/11 22:30:46 modules/setting/mailer.go:194:loadMailerFrom() [E] unable to infer unspecified mailer.PROTOCOL from mailer.SMTP_PORT = "123", assume using smtps 2026/08/11 22:30:46 modules/setting/mailer.go:234:loadMailerFrom() [E] no mailer.FROM provided, email system may not work. --- PASS: TestLoadSettingsForInstallMailServiceFlags (0.00s) === RUN TestLoadMarkup === RUN TestLoadMarkup/Math === RUN TestLoadMarkup/Render --- PASS: TestLoadMarkup (0.00s) --- PASS: TestLoadMarkup/Math (0.00s) --- PASS: TestLoadMarkup/Render (0.00s) === RUN TestGetGeneralSigningSecret --- PASS: TestGetGeneralSigningSecret (0.00s) === RUN TestGetGeneralSigningSecretSave --- PASS: TestGetGeneralSigningSecretSave (0.01s) === RUN TestOauth2DefaultApplications --- PASS: TestOauth2DefaultApplications (0.00s) === RUN TestMustBytes --- PASS: TestMustBytes (0.00s) === RUN Test_getStorageInheritNameSectionTypeForPackages --- PASS: Test_getStorageInheritNameSectionTypeForPackages (0.00s) === RUN Test_PackageStorage1 --- PASS: Test_PackageStorage1 (0.00s) === RUN Test_PackageStorage2 --- PASS: Test_PackageStorage2 (0.00s) === RUN Test_PackageStorage3 --- PASS: Test_PackageStorage3 (0.00s) === RUN Test_PackageStorage4 --- PASS: Test_PackageStorage4 (0.00s) === RUN TestInitWorkPathAndCommonConfig === RUN TestInitWorkPathAndCommonConfig/Default === RUN TestInitWorkPathAndCommonConfig/WorkDir(env) === RUN TestInitWorkPathAndCommonConfig/WorkDir(env,arg) === RUN TestInitWorkPathAndCommonConfig/CustomPath(env) === RUN TestInitWorkPathAndCommonConfig/CustomPath(env,arg) 2026/08/11 22:30:46 modules/setting/path.go:152:InitWorkPathAndCfgProvider.3() [E] --custom-path must be absolute path === RUN TestInitWorkPathAndCommonConfig/CustomConf === RUN TestInitWorkPathAndCommonConfig/CustomConfOverrideWorkPath === RUN TestInitWorkPathAndCommonConfig/Builtin --- PASS: TestInitWorkPathAndCommonConfig (0.04s) --- PASS: TestInitWorkPathAndCommonConfig/Default (0.00s) --- PASS: TestInitWorkPathAndCommonConfig/WorkDir(env) (0.00s) --- PASS: TestInitWorkPathAndCommonConfig/WorkDir(env,arg) (0.00s) --- PASS: TestInitWorkPathAndCommonConfig/CustomPath(env) (0.00s) --- PASS: TestInitWorkPathAndCommonConfig/CustomPath(env,arg) (0.00s) --- PASS: TestInitWorkPathAndCommonConfig/CustomConf (0.00s) --- PASS: TestInitWorkPathAndCommonConfig/CustomConfOverrideWorkPath (0.02s) --- PASS: TestInitWorkPathAndCommonConfig/Builtin (0.01s) === RUN Test_getStorageInheritNameSectionTypeForRepoArchive --- PASS: Test_getStorageInheritNameSectionTypeForRepoArchive (0.00s) === RUN Test_RepoArchiveStorage --- PASS: Test_RepoArchiveStorage (0.00s) === RUN TestLoadRepositoryCreationLimits === RUN TestLoadRepositoryCreationLimits/ShortcutPropagatesToBoth === RUN TestLoadRepositoryCreationLimits/PerTypeKeysOverrideShortcut === RUN TestLoadRepositoryCreationLimits/PartialOverrideOtherInheritsShortcut === RUN TestLoadRepositoryCreationLimits/NoKeyDefaultsToNoLimit --- PASS: TestLoadRepositoryCreationLimits (0.00s) --- PASS: TestLoadRepositoryCreationLimits/ShortcutPropagatesToBoth (0.00s) --- PASS: TestLoadRepositoryCreationLimits/PerTypeKeysOverrideShortcut (0.00s) --- PASS: TestLoadRepositoryCreationLimits/PartialOverrideOtherInheritsShortcut (0.00s) --- PASS: TestLoadRepositoryCreationLimits/NoKeyDefaultsToNoLimit (0.00s) === RUN TestLoadSecurityFrom --- PASS: TestLoadSecurityFrom (0.00s) === RUN TestLoadServices 2026/08/11 22:30:46 modules/setting/service.go:164:loadServiceFrom() [E] Deprecation: config option `[service].EMAIL_DOMAIN_WHITELIST` present, please use `[service].EMAIL_DOMAIN_ALLOWLIST` instead because this fallback will be/has been removed in 1.21 --- PASS: TestLoadServices (0.00s) === RUN TestLoadServiceVisibilityModes === RUN TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_public_ALLOWED_USER_VISIBILITY_MODES_=_limited,private_ 2026/08/11 22:30:46 modules/setting/service.go:243:loadServiceFrom() [W] DEFAULT_USER_VISIBILITY public is wrong or not in ALLOWED_USER_VISIBILITY_MODES, using first allowed === RUN TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_my_type_ALLOWED_USER_VISIBILITY_MODES_=_limited,private_ 2026/08/11 22:30:46 modules/setting/service.go:243:loadServiceFrom() [W] DEFAULT_USER_VISIBILITY my_type is wrong or not in ALLOWED_USER_VISIBILITY_MODES, using first allowed === RUN TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_public_ALLOWED_USER_VISIBILITY_MODES_=_public,_limit,_privated_ 2026/08/11 22:30:46 modules/setting/service.go:229:loadServiceFrom() [W] ALLOWED_USER_VISIBILITY_MODES limit is unsupported 2026/08/11 22:30:46 modules/setting/service.go:229:loadServiceFrom() [W] ALLOWED_USER_VISIBILITY_MODES privated is unsupported === RUN TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_public_ALLOWED_USER_VISIBILITY_MODES_=_public,limited,private_ === RUN TestLoadServiceVisibilityModes/___[service]___DEFAULT_USER_VISIBILITY_=_public___ === RUN TestLoadServiceVisibilityModes/___[service]___DEFAULT_USER_VISIBILITY_=_limited___ === RUN TestLoadServiceVisibilityModes/_[service]_ALLOWED_USER_VISIBILITY_MODES_=_public,limited,private_ --- PASS: TestLoadServiceVisibilityModes (0.00s) --- PASS: TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_public_ALLOWED_USER_VISIBILITY_MODES_=_limited,private_ (0.00s) --- PASS: TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_my_type_ALLOWED_USER_VISIBILITY_MODES_=_limited,private_ (0.00s) --- PASS: TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_public_ALLOWED_USER_VISIBILITY_MODES_=_public,_limit,_privated_ (0.00s) --- PASS: TestLoadServiceVisibilityModes/_[service]_DEFAULT_USER_VISIBILITY_=_public_ALLOWED_USER_VISIBILITY_MODES_=_public,limited,private_ (0.00s) --- PASS: TestLoadServiceVisibilityModes/___[service]___DEFAULT_USER_VISIBILITY_=_public___ (0.00s) --- PASS: TestLoadServiceVisibilityModes/___[service]___DEFAULT_USER_VISIBILITY_=_limited___ (0.00s) --- PASS: TestLoadServiceVisibilityModes/_[service]_ALLOWED_USER_VISIBILITY_MODES_=_public,limited,private_ (0.00s) === RUN TestLoadServiceRequireSignInView --- PASS: TestLoadServiceRequireSignInView (0.00s) === RUN Test_getStorageMultipleName --- PASS: Test_getStorageMultipleName (0.00s) === RUN Test_getStorageUseOtherNameAsType --- PASS: Test_getStorageUseOtherNameAsType (0.00s) === RUN Test_getStorageInheritStorageType --- PASS: Test_getStorageInheritStorageType (0.00s) === RUN Test_getStorageInheritStorageTypeAzureBlob --- PASS: Test_getStorageInheritStorageTypeAzureBlob (0.00s) === RUN Test_getStorageInheritStorageTypeLocal --- PASS: Test_getStorageInheritStorageTypeLocal (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPath --- PASS: Test_getStorageInheritStorageTypeLocalPath (0.00s) === RUN Test_getStorageInheritStorageTypeLocalRelativePath --- PASS: Test_getStorageInheritStorageTypeLocalRelativePath (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPathOverride --- PASS: Test_getStorageInheritStorageTypeLocalPathOverride (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPathOverrideEmpty --- PASS: Test_getStorageInheritStorageTypeLocalPathOverrideEmpty (0.00s) === RUN Test_getStorageInheritStorageTypeLocalRelativePathOverride --- PASS: Test_getStorageInheritStorageTypeLocalRelativePathOverride (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPathOverride3 --- PASS: Test_getStorageInheritStorageTypeLocalPathOverride3 (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPathOverride3_5 --- PASS: Test_getStorageInheritStorageTypeLocalPathOverride3_5 (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPathOverride4 --- PASS: Test_getStorageInheritStorageTypeLocalPathOverride4 (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPathOverride5 --- PASS: Test_getStorageInheritStorageTypeLocalPathOverride5 (0.00s) === RUN Test_getStorageInheritStorageTypeLocalPathOverride72 --- PASS: Test_getStorageInheritStorageTypeLocalPathOverride72 (0.00s) === RUN Test_getStorageConfiguration20 --- PASS: Test_getStorageConfiguration20 (0.00s) === RUN Test_getStorageConfiguration21 --- PASS: Test_getStorageConfiguration21 (0.00s) === RUN Test_getStorageConfiguration22 --- PASS: Test_getStorageConfiguration22 (0.00s) === RUN Test_getStorageConfiguration23 --- PASS: Test_getStorageConfiguration23 (0.00s) === RUN Test_getStorageConfiguration24 --- PASS: Test_getStorageConfiguration24 (0.00s) === RUN Test_getStorageConfiguration25 --- PASS: Test_getStorageConfiguration25 (0.00s) === RUN Test_getStorageConfiguration26 --- PASS: Test_getStorageConfiguration26 (0.00s) === RUN Test_getStorageConfiguration27 --- PASS: Test_getStorageConfiguration27 (0.00s) === RUN Test_getStorageConfiguration28 --- PASS: Test_getStorageConfiguration28 (0.00s) === RUN Test_getStorageConfiguration29 --- PASS: Test_getStorageConfiguration29 (0.00s) === RUN Test_getStorageConfiguration30 --- PASS: Test_getStorageConfiguration30 (0.00s) === RUN Test_getStorageConfiguration31 --- PASS: Test_getStorageConfiguration31 (0.00s) PASS ok gitea.dev/modules/setting 0.162s ? gitea.dev/modules/setting/config [no test files] === RUN TestNewSitemap === RUN TestNewSitemap/empty === RUN TestNewSitemap/regular === RUN TestNewSitemap/without_lastmod === RUN TestNewSitemap/multiple === RUN TestNewSitemap/too_many_urls === RUN TestNewSitemap/too_big_file --- PASS: TestNewSitemap (0.50s) --- PASS: TestNewSitemap/empty (0.00s) --- PASS: TestNewSitemap/regular (0.00s) --- PASS: TestNewSitemap/without_lastmod (0.00s) --- PASS: TestNewSitemap/multiple (0.00s) --- PASS: TestNewSitemap/too_many_urls (0.01s) --- PASS: TestNewSitemap/too_big_file (0.47s) === RUN TestNewSitemapIndex === RUN TestNewSitemapIndex/empty === RUN TestNewSitemapIndex/regular === RUN TestNewSitemapIndex/without_lastmod === RUN TestNewSitemapIndex/multiple === RUN TestNewSitemapIndex/too_many_sitemaps === RUN TestNewSitemapIndex/too_big_file --- PASS: TestNewSitemapIndex (0.58s) --- PASS: TestNewSitemapIndex/empty (0.00s) --- PASS: TestNewSitemapIndex/regular (0.00s) --- PASS: TestNewSitemapIndex/without_lastmod (0.00s) --- PASS: TestNewSitemapIndex/multiple (0.00s) --- PASS: TestNewSitemapIndex/too_many_sitemaps (0.00s) --- PASS: TestNewSitemapIndex/too_big_file (0.54s) PASS ok gitea.dev/modules/sitemap 1.091s === RUN TestGenKeyPair === RUN TestGenKeyPair/Generate_gitea.rsa === RUN TestGenKeyPair/Generate_gitea.ed25519 === RUN TestGenKeyPair/Generate_gitea.ecdsa === RUN TestGenKeyPair/Generate_unknown_key_type --- PASS: TestGenKeyPair (3.38s) --- PASS: TestGenKeyPair/Generate_gitea.rsa (3.37s) --- PASS: TestGenKeyPair/Generate_gitea.ed25519 (0.00s) --- PASS: TestGenKeyPair/Generate_gitea.ecdsa (0.00s) --- PASS: TestGenKeyPair/Generate_unknown_key_type (0.00s) === RUN TestInitKeys --- PASS: TestInitKeys (0.76s) PASS ok gitea.dev/modules/ssh 4.240s === RUN TestAzureBlobStorage azureblob_test.go:18: skipping test because http://devstoreaccount1.azurite.local:10000 is not ready --- SKIP: TestAzureBlobStorage (0.01s) === RUN TestAzureBlobStoragePath --- PASS: TestAzureBlobStoragePath (0.00s) === RUN Test_azureBlobObject azureblob_test.go:77: skipping test because http://devstoreaccount1.azurite.local:10000 is not ready --- SKIP: Test_azureBlobObject (0.00s) === RUN Test_discardStorage === RUN Test_discardStorage/uninitialized_storage === RUN Test_discardStorage/empty --- PASS: Test_discardStorage (0.00s) --- PASS: Test_discardStorage/uninitialized_storage (0.00s) --- PASS: Test_discardStorage/empty (0.00s) === RUN TestBuildLocalPath === RUN TestBuildLocalPath/0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 === RUN TestBuildLocalPath/../0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 === RUN TestBuildLocalPath/0\a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 === RUN TestBuildLocalPath/a/../0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 === RUN TestBuildLocalPath/a\..\0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 --- PASS: TestBuildLocalPath (0.00s) --- PASS: TestBuildLocalPath/0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 (0.00s) --- PASS: TestBuildLocalPath/../0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 (0.00s) --- PASS: TestBuildLocalPath/0\a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 (0.00s) --- PASS: TestBuildLocalPath/a/../0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 (0.00s) --- PASS: TestBuildLocalPath/a\..\0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14 (0.00s) === RUN TestLocalStorageDelete 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /home/buildozer/aports/community/gitea/tmp/TestLocalStorageDelete1133384222/001 --- PASS: TestLocalStorageDelete (0.02s) === RUN TestLocalStorageIterator 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /home/buildozer/aports/community/gitea/tmp/TestLocalStorageIterator2973386932/001 --- PASS: TestLocalStorageIterator (0.02s) === RUN TestMinioStorage minio_test.go:18: skipping test because minio:9000 is not ready --- SKIP: TestMinioStorage (0.02s) === RUN TestMinioStoragePath --- PASS: TestMinioStoragePath (0.00s) === RUN TestS3StorageBadRequest minio_test.go:84: skipping test because minio:9000 is not ready --- SKIP: TestS3StorageBadRequest (0.00s) === RUN TestMinioCredentials === RUN TestMinioCredentials/Static_Credentials === RUN TestMinioCredentials/Chain === RUN TestMinioCredentials/Chain/EnvMinio === RUN TestMinioCredentials/Chain/EnvAWS === RUN TestMinioCredentials/Chain/FileMinio === RUN TestMinioCredentials/Chain/FileAWS === RUN TestMinioCredentials/Chain/IAM --- PASS: TestMinioCredentials (0.01s) --- PASS: TestMinioCredentials/Static_Credentials (0.00s) --- PASS: TestMinioCredentials/Chain (0.01s) --- PASS: TestMinioCredentials/Chain/EnvMinio (0.00s) --- PASS: TestMinioCredentials/Chain/EnvAWS (0.00s) --- PASS: TestMinioCredentials/Chain/FileMinio (0.00s) --- PASS: TestMinioCredentials/Chain/FileAWS (0.00s) --- PASS: TestMinioCredentials/Chain/IAM (0.00s) PASS ok gitea.dev/modules/storage 0.086s === RUN TestPullRequestPayloadSynchronizeBeforeAfter --- PASS: TestPullRequestPayloadSynchronizeBeforeAfter (0.00s) === RUN TestPullRequestPayloadNonSynchronizeOmitsBeforeAfter --- PASS: TestPullRequestPayloadNonSynchronizeOmitsBeforeAfter (0.00s) === RUN TestIssueTemplate_Type === RUN TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/bug_report.yaml === RUN TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/bug_report.md === RUN TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/bug_report.txt === RUN TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/config.yaml --- PASS: TestIssueTemplate_Type (0.00s) --- PASS: TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/bug_report.yaml (0.00s) --- PASS: TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/bug_report.md (0.00s) --- PASS: TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/bug_report.txt (0.00s) --- PASS: TestIssueTemplate_Type/.gitea/ISSUE_TEMPLATE/config.yaml (0.00s) === RUN TestIssueTemplateStringSlice_UnmarshalYAML === RUN TestIssueTemplateStringSlice_UnmarshalYAML/array === RUN TestIssueTemplateStringSlice_UnmarshalYAML/string === RUN TestIssueTemplateStringSlice_UnmarshalYAML/empty === RUN TestIssueTemplateStringSlice_UnmarshalYAML/error --- PASS: TestIssueTemplateStringSlice_UnmarshalYAML (0.00s) --- PASS: TestIssueTemplateStringSlice_UnmarshalYAML/array (0.00s) --- PASS: TestIssueTemplateStringSlice_UnmarshalYAML/string (0.00s) --- PASS: TestIssueTemplateStringSlice_UnmarshalYAML/empty (0.00s) --- PASS: TestIssueTemplateStringSlice_UnmarshalYAML/error (0.00s) PASS ok gitea.dev/modules/structs 0.011s === RUN TestNormalize --- PASS: TestNormalize (0.00s) === RUN TestRenderHTMLCache === RUN TestRenderHTMLCache/CacheWithLimit --- PASS: TestRenderHTMLCache (0.00s) --- PASS: TestRenderHTMLCache/CacheWithLimit (0.00s) PASS ok gitea.dev/modules/svg 0.016s 2026/08/11 22:30:46 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2483116110/data/attachments 2026/08/11 22:30:46 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2483116110/data/avatars 2026/08/11 22:30:46 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2483116110/data/repo-avatars 2026/08/11 22:30:46 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2483116110/data/repo-archive 2026/08/11 22:30:46 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2483116110/data/packages 2026/08/11 22:30:46 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2483116110/data/actions_log 2026/08/11 22:30:46 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:46 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2483116110/data/actions_artifacts === RUN TestAppStateDB --- PASS: TestAppStateDB (0.00s) PASS ok gitea.dev/modules/system 0.297s ? gitea.dev/modules/tailmsg [no test files] === RUN TestTempDir === RUN TestTempDir/Create === RUN TestTempDir/Create/MkdirTempRandom === RUN TestTempDir/Create/CreateTempFileRandom === RUN TestTempDir/Create/RemoveOutDated === RUN TestTempDir/BaseNotExist --- PASS: TestTempDir (0.00s) --- PASS: TestTempDir/Create (0.00s) --- PASS: TestTempDir/Create/MkdirTempRandom (0.00s) --- PASS: TestTempDir/Create/CreateTempFileRandom (0.00s) --- PASS: TestTempDir/Create/RemoveOutDated (0.00s) --- PASS: TestTempDir/BaseNotExist (0.00s) PASS ok gitea.dev/modules/tempdir 0.015s === RUN TestSubjectBodySeparator --- PASS: TestSubjectBodySeparator (0.00s) === RUN TestSanitizeHTML --- PASS: TestSanitizeHTML (0.00s) === RUN TestTemplateIif --- PASS: TestTemplateIif (0.00s) === RUN TestTemplateEscape === RUN TestTemplateEscape/Golang_URL_Escape === RUN TestTemplateEscape/Golang_URL_No-escape === RUN TestTemplateEscape/QueryBuild === RUN TestTemplateEscape/HTMLFormat --- PASS: TestTemplateEscape (0.00s) --- PASS: TestTemplateEscape/Golang_URL_Escape (0.00s) --- PASS: TestTemplateEscape/Golang_URL_No-escape (0.00s) --- PASS: TestTemplateEscape/QueryBuild (0.00s) --- PASS: TestTemplateEscape/HTMLFormat (0.00s) === RUN TestQueryBuild === RUN TestQueryBuild/construct === RUN TestQueryBuild/replace === RUN TestQueryBuild/replace-& === RUN TestQueryBuild/delete === RUN TestQueryBuild/delete-& --- PASS: TestQueryBuild (0.00s) --- PASS: TestQueryBuild/construct (0.00s) --- PASS: TestQueryBuild/replace (0.00s) --- PASS: TestQueryBuild/replace-& (0.00s) --- PASS: TestQueryBuild/delete (0.00s) --- PASS: TestQueryBuild/delete-& (0.00s) === RUN TestQueryEscape --- PASS: TestQueryEscape (0.00s) === RUN TestPathEscape --- PASS: TestPathEscape (0.00s) === RUN TestExtractErrorLine --- PASS: TestExtractErrorLine (0.00s) === RUN TestHandleError --- PASS: TestHandleError (0.13s) === RUN TestDateTime --- PASS: TestDateTime (0.00s) === RUN TestTimeSince --- PASS: TestTimeSince (0.00s) === RUN TestCountFmt --- PASS: TestCountFmt (0.00s) === RUN TestRenderTimelineEventComment --- PASS: TestRenderTimelineEventComment (0.01s) === RUN TestRenderRepoComment === RUN TestRenderRepoComment/RenderCommitBody === RUN TestRenderRepoComment/RenderCommitBody/multiple_lines === RUN TestRenderRepoComment/RenderCommitBody/multiple_lines_with_leading_newlines === RUN TestRenderRepoComment/RenderCommitBody/multiple_lines_with_trailing_newlines 2026/08/11 22:30:46 .../renderhelper/commit_checker.go:44:(*commitChecker).IsCommitIDExisting() [E] unable to open repository: user13/repo11.git Error: no such file or directory === RUN TestRenderRepoComment/RenderCommitMessage === RUN TestRenderRepoComment/RenderCommitMessageLinkSubject === RUN TestRenderRepoComment/RenderCommitMessageLinkSubjectURLOnly === RUN TestRenderRepoComment/RenderCommitMessageLinkSubjectPartialURL === RUN TestRenderRepoComment/RenderIssueTitle 2026/08/11 22:30:46 .../renderhelper/commit_checker.go:44:(*commitChecker).IsCommitIDExisting() [E] unable to open repository: user13/repo11.git Error: no such file or directory --- PASS: TestRenderRepoComment (0.01s) --- PASS: TestRenderRepoComment/RenderCommitBody (0.00s) --- PASS: TestRenderRepoComment/RenderCommitBody/multiple_lines (0.00s) --- PASS: TestRenderRepoComment/RenderCommitBody/multiple_lines_with_leading_newlines (0.00s) --- PASS: TestRenderRepoComment/RenderCommitBody/multiple_lines_with_trailing_newlines (0.00s) --- PASS: TestRenderRepoComment/RenderCommitMessage (0.00s) --- PASS: TestRenderRepoComment/RenderCommitMessageLinkSubject (0.00s) --- PASS: TestRenderRepoComment/RenderCommitMessageLinkSubjectURLOnly (0.00s) --- PASS: TestRenderRepoComment/RenderCommitMessageLinkSubjectPartialURL (0.00s) --- PASS: TestRenderRepoComment/RenderIssueTitle (0.00s) === RUN TestRenderIssueTitleCodeSpan --- PASS: TestRenderIssueTitleCodeSpan (0.00s) === RUN TestRenderMarkdownToHtml --- PASS: TestRenderMarkdownToHtml (0.00s) === RUN TestRenderPackageMarkdown === RUN TestRenderPackageMarkdown/LinkedRepoWithDirectory === RUN TestRenderPackageMarkdown/LinkedRepoWithEmptyDirectory === RUN TestRenderPackageMarkdown/UnlinkedRepo --- PASS: TestRenderPackageMarkdown (0.00s) --- PASS: TestRenderPackageMarkdown/LinkedRepoWithDirectory (0.00s) --- PASS: TestRenderPackageMarkdown/LinkedRepoWithEmptyDirectory (0.00s) --- PASS: TestRenderPackageMarkdown/UnlinkedRepo (0.00s) === RUN TestRenderLabels --- PASS: TestRenderLabels (0.00s) === RUN TestUserMention --- PASS: TestUserMention (0.00s) === RUN TestAvatarStack === RUN TestAvatarStack/lone_author_renders_bare_name,_no_label === RUN TestAvatarStack/two_participants_use_and_label === RUN TestAvatarStack/three_participants_switch_to_N_people_label_with_tippy_popup === RUN TestAvatarStack/overflow_chip_renders_beyond_10_participants --- PASS: TestAvatarStack (0.00s) --- PASS: TestAvatarStack/lone_author_renders_bare_name,_no_label (0.00s) --- PASS: TestAvatarStack/two_participants_use_and_label (0.00s) --- PASS: TestAvatarStack/three_participants_switch_to_N_people_label_with_tippy_popup (0.00s) --- PASS: TestAvatarStack/overflow_chip_renders_beyond_10_participants (0.00s) === RUN TestDict --- PASS: TestDict (0.00s) === RUN TestUtils --- PASS: TestUtils (0.00s) PASS ok gitea.dev/modules/templates 0.272s === RUN TestEval --- PASS: TestEval (0.00s) PASS ok gitea.dev/modules/templates/eval 0.021s === RUN TestScopedTemplateSetFuncMap --- PASS: TestScopedTemplateSetFuncMap (0.41s) === RUN TestScopedTemplateSetEscape --- PASS: TestScopedTemplateSetEscape (0.00s) === RUN TestScopedTemplateSetUnsafe --- PASS: TestScopedTemplateSetUnsafe (0.00s) PASS ok gitea.dev/modules/templates/scopedtmpl 0.442s === RUN TestExpandVars === RUN TestExpandVars/{a} === RUN TestExpandVars/expand_{a},_{b}_and_{c},_with_non-var_{_}_{#} === RUN TestExpandVars/中文内容_{一},_{二}_和_{三}_中文结尾 === RUN TestExpandVars/expand_{{a},_{b}_and_{c} === RUN TestExpandVars/expand_}_{}_and_{ --- PASS: TestExpandVars (0.00s) --- PASS: TestExpandVars/{a} (0.00s) --- PASS: TestExpandVars/expand_{a},_{b}_and_{c},_with_non-var_{_}_{#} (0.00s) --- PASS: TestExpandVars/中文内容_{一},_{二}_和_{三}_中文结尾 (0.00s) --- PASS: TestExpandVars/expand_{{a},_{b}_and_{c} (0.00s) --- PASS: TestExpandVars/expand_}_{}_and_{ (0.00s) PASS ok gitea.dev/modules/templates/vars 0.008s === RUN TestLogChecker --- PASS: TestLogChecker (0.44s) PASS ok gitea.dev/modules/test 0.462s ? gitea.dev/modules/testlogger [no test files] === RUN TestTimeSincePro --- PASS: TestTimeSincePro (0.00s) === RUN TestMinutesToFriendly --- PASS: TestMinutesToFriendly (0.00s) PASS ok gitea.dev/modules/timeutil 0.093s === RUN TestPrettyNumber --- PASS: TestPrettyNumber (0.00s) 2026/08/11 22:30:46 .../translation/translation.go:178:NewLocale() [E] Failed to parse language tag from name "nosuch": language: tag is not well-formed PASS ok gitea.dev/modules/translation 0.012s === RUN TestLocaleStore --- PASS: TestLocaleStore (0.00s) === RUN TestLocaleStoreMoreSource --- PASS: TestLocaleStoreMoreSource (0.00s) === RUN TestLocaleWithTemplate --- PASS: TestLocaleWithTemplate (0.00s) PASS ok gitea.dev/modules/translation/i18n 0.008s === RUN TestHTTPClientHonorsProxy --- PASS: TestHTTPClientHonorsProxy (0.00s) PASS ok gitea.dev/modules/turnstile 0.010s === RUN TestDetectContentTypeLongerThanSniffLen --- PASS: TestDetectContentTypeLongerThanSniffLen (0.00s) === RUN TestIsTextFile --- PASS: TestIsTextFile (0.00s) === RUN TestIsSvgImage --- PASS: TestIsSvgImage (0.00s) === RUN TestIsPDF --- PASS: TestIsPDF (0.00s) === RUN TestIsVideo --- PASS: TestIsVideo (0.00s) === RUN TestIsAudio --- PASS: TestIsAudio (0.00s) === RUN TestDetectContentTypeOgg --- PASS: TestDetectContentTypeOgg (0.00s) === RUN TestDetectFileTypeBox --- PASS: TestDetectFileTypeBox (0.00s) === RUN TestDetectContentTypeAvif --- PASS: TestDetectContentTypeAvif (0.00s) === RUN TestDetectContentTypeIncorrectFont --- PASS: TestDetectContentTypeIncorrectFont (0.00s) PASS ok gitea.dev/modules/typesniffer 0.013s ? gitea.dev/modules/updatechecker [no test files] === RUN TestReadURI --- PASS: TestReadURI (0.00s) === RUN TestOpenWithClientValidatesRedirectTarget --- PASS: TestOpenWithClientValidatesRedirectTarget (0.01s) PASS ok gitea.dev/modules/uri 0.017s === RUN TestCurrentUsername --- PASS: TestCurrentUsername (0.00s) PASS ok gitea.dev/modules/user 0.010s === RUN Test_HexToRBGColor --- PASS: Test_HexToRBGColor (0.00s) === RUN Test_UseLightText --- PASS: Test_UseLightText (0.00s) === RUN TestDiffSliceBasic === RUN TestDiffSliceBasic/additions === RUN TestDiffSliceBasic/removals === RUN TestDiffSliceBasic/no_changes === RUN TestDiffSliceBasic/empty_slices === RUN TestDiffSliceBasic/overlapping_elements --- PASS: TestDiffSliceBasic (0.00s) --- PASS: TestDiffSliceBasic/additions (0.00s) --- PASS: TestDiffSliceBasic/removals (0.00s) --- PASS: TestDiffSliceBasic/no_changes (0.00s) --- PASS: TestDiffSliceBasic/empty_slices (0.00s) --- PASS: TestDiffSliceBasic/overlapping_elements (0.00s) === RUN TestDiffSliceOrderAndDuplicates --- PASS: TestDiffSliceOrderAndDuplicates (0.00s) === RUN TestDiffSliceDeduplicatesOutput === RUN TestDiffSliceDeduplicatesOutput/deduplicates_added === RUN TestDiffSliceDeduplicatesOutput/deduplicates_removed === RUN TestDiffSliceDeduplicatesOutput/deduplicates_both --- PASS: TestDiffSliceDeduplicatesOutput (0.00s) --- PASS: TestDiffSliceDeduplicatesOutput/deduplicates_added (0.00s) --- PASS: TestDiffSliceDeduplicatesOutput/deduplicates_removed (0.00s) --- PASS: TestDiffSliceDeduplicatesOutput/deduplicates_both (0.00s) === RUN TestErrorTranslatable --- PASS: TestErrorTranslatable (0.00s) === RUN TestApplyUmask --- PASS: TestApplyUmask (0.00s) === RUN TestReadWithLimit --- PASS: TestReadWithLimit (0.00s) === RUN TestKeygen --- PASS: TestKeygen (0.07s) === RUN TestSignUsingKeys --- PASS: TestSignUsingKeys (0.27s) === RUN TestCopyFile --- PASS: TestCopyFile (0.00s) === RUN TestAESGCM === PAUSE TestAESGCM === RUN TestGetMapValueOrDefault --- PASS: TestGetMapValueOrDefault (0.00s) === RUN TestPackAndUnpackData --- PASS: TestPackAndUnpackData (0.00s) === RUN TestPaginateSlice --- PASS: TestPaginateSlice (0.00s) === RUN TestFileURLToPath --- PASS: TestFileURLToPath (0.00s) === RUN TestMisc_IsReadmeFileName --- PASS: TestMisc_IsReadmeFileName (0.00s) === RUN TestCleanPath --- PASS: TestCleanPath (0.00s) === RUN TestListDirRecursively --- PASS: TestListDirRecursively (0.01s) === RUN TestReadWriteRegularPathFile === RUN TestReadWriteRegularPathFile/Read === RUN TestReadWriteRegularPathFile/Write --- PASS: TestReadWriteRegularPathFile (0.00s) --- PASS: TestReadWriteRegularPathFile/Read (0.00s) --- PASS: TestReadWriteRegularPathFile/Write (0.00s) === RUN TestCallerFuncName --- PASS: TestCallerFuncName (0.00s) === RUN TestSanitizeErrorCredentialURLs --- PASS: TestSanitizeErrorCredentialURLs (0.00s) === RUN TestSanitizeCredentialURLs --- PASS: TestSanitizeCredentialURLs (0.00s) === RUN TestSecToHours --- PASS: TestSecToHours (0.00s) === RUN TestShellEscape === RUN TestShellEscape/Simplest_case_-_nothing_to_escape === RUN TestShellEscape/Prefixed_tilde_-_with_normal_stuff_-_should_not_escape === RUN TestShellEscape/Typical_windows_path_with_spaces_-_should_get_doublequote_escaped === RUN TestShellEscape/Forward-slashed_windows_path_with_spaces_-_should_get_doublequote_escaped === RUN TestShellEscape/Prefixed_tilde_-_but_then_a_space_filled_path === RUN TestShellEscape/Bangs_are_unfortunately_not_predictable_so_need_to_be_singlequoted === RUN TestShellEscape/Newlines_are_just_irritating === RUN TestShellEscape/Similarly_we_should_nicely_handle_multiple_single_quotes_if_we_have_to_single-quote === RUN TestShellEscape/Double_quote_<_... === RUN TestShellEscape/Double_quote_>_... === RUN TestShellEscape/Double_quote_and_escape_$_... === RUN TestShellEscape/Double_quote_{... === RUN TestShellEscape/Double_quote_}... === RUN TestShellEscape/Double_quote_()... === RUN TestShellEscape/Double_quote_and_escape_`... === RUN TestShellEscape/Double_quotes_can_handle_a_number_of_things_without_having_to_escape_them_but_not_everything_... === RUN TestShellEscape/Single_quotes_don't_need_to_escape_except_for_'... --- PASS: TestShellEscape (0.00s) --- PASS: TestShellEscape/Simplest_case_-_nothing_to_escape (0.00s) --- PASS: TestShellEscape/Prefixed_tilde_-_with_normal_stuff_-_should_not_escape (0.00s) --- PASS: TestShellEscape/Typical_windows_path_with_spaces_-_should_get_doublequote_escaped (0.00s) --- PASS: TestShellEscape/Forward-slashed_windows_path_with_spaces_-_should_get_doublequote_escaped (0.00s) --- PASS: TestShellEscape/Prefixed_tilde_-_but_then_a_space_filled_path (0.00s) --- PASS: TestShellEscape/Bangs_are_unfortunately_not_predictable_so_need_to_be_singlequoted (0.00s) --- PASS: TestShellEscape/Newlines_are_just_irritating (0.00s) --- PASS: TestShellEscape/Similarly_we_should_nicely_handle_multiple_single_quotes_if_we_have_to_single-quote (0.00s) --- PASS: TestShellEscape/Double_quote_<_... (0.00s) --- PASS: TestShellEscape/Double_quote_>_... (0.00s) --- PASS: TestShellEscape/Double_quote_and_escape_$_... (0.00s) --- PASS: TestShellEscape/Double_quote_{... (0.00s) --- PASS: TestShellEscape/Double_quote_}... (0.00s) --- PASS: TestShellEscape/Double_quote_()... (0.00s) --- PASS: TestShellEscape/Double_quote_and_escape_`... (0.00s) --- PASS: TestShellEscape/Double_quotes_can_handle_a_number_of_things_without_having_to_escape_them_but_not_everything_... (0.00s) --- PASS: TestShellEscape/Single_quotes_don't_need_to_escape_except_for_'... (0.00s) === RUN TestSliceContainsString --- PASS: TestSliceContainsString (0.00s) === RUN TestSliceSortedEqual --- PASS: TestSliceSortedEqual (0.00s) === RUN TestSliceRemoveAll --- PASS: TestSliceRemoveAll (0.00s) === RUN TestToSnakeCase --- PASS: TestToSnakeCase (0.00s) === RUN TestSplitTrimSpace --- PASS: TestSplitTrimSpace (0.00s) === RUN TestOnceValue === RUN TestOnceValue/RepeatCall === RUN TestOnceValue/Panic --- PASS: TestOnceValue (0.00s) --- PASS: TestOnceValue/RepeatCall (0.00s) --- PASS: TestOnceValue/Panic (0.00s) === RUN TestTimeStr === RUN TestTimeStr/Parse === RUN TestTimeStr/Parse/1h === RUN TestTimeStr/Parse/1m === RUN TestTimeStr/Parse/1s === RUN TestTimeStr/Parse/1h_1m_1s === RUN TestTimeStr/Parse/1d1x === RUN TestTimeStr/Parse/1h_2x_3m === RUN TestTimeStr/Parse/1h_2m === RUN TestTimeStr/Parse/1h,1m === RUN TestTimeStr/String === RUN TestTimeStr/String/1h === RUN TestTimeStr/String/1m === RUN TestTimeStr/String/1s === RUN TestTimeStr/String/1h_1s --- PASS: TestTimeStr (0.00s) --- PASS: TestTimeStr/Parse (0.00s) --- PASS: TestTimeStr/Parse/1h (0.00s) --- PASS: TestTimeStr/Parse/1m (0.00s) --- PASS: TestTimeStr/Parse/1s (0.00s) --- PASS: TestTimeStr/Parse/1h_1m_1s (0.00s) --- PASS: TestTimeStr/Parse/1d1x (0.00s) --- PASS: TestTimeStr/Parse/1h_2x_3m (0.00s) --- PASS: TestTimeStr/Parse/1h_2m (0.00s) --- PASS: TestTimeStr/Parse/1h,1m (0.00s) --- PASS: TestTimeStr/String (0.00s) --- PASS: TestTimeStr/String/1h (0.00s) --- PASS: TestTimeStr/String/1m (0.00s) --- PASS: TestTimeStr/String/1s (0.00s) --- PASS: TestTimeStr/String/1h_1s (0.00s) === RUN TestDebounce --- PASS: TestDebounce (0.20s) === RUN TestEllipsisGuessDisplayWidth === RUN TestEllipsisGuessDisplayWidth/a === RUN TestEllipsisGuessDisplayWidth/é === RUN TestEllipsisGuessDisplayWidth/测 === RUN TestEllipsisGuessDisplayWidth/⚽ === RUN TestEllipsisGuessDisplayWidth/☁️ === RUN TestEllipsisGuessDisplayWidth/\u200b === RUN TestEllipsisGuessDisplayWidth/_ --- PASS: TestEllipsisGuessDisplayWidth (0.00s) --- PASS: TestEllipsisGuessDisplayWidth/a (0.00s) --- PASS: TestEllipsisGuessDisplayWidth/é (0.00s) --- PASS: TestEllipsisGuessDisplayWidth/测 (0.00s) --- PASS: TestEllipsisGuessDisplayWidth/⚽ (0.00s) --- PASS: TestEllipsisGuessDisplayWidth/☁️ (0.00s) --- PASS: TestEllipsisGuessDisplayWidth/\u200b (0.00s) --- PASS: TestEllipsisGuessDisplayWidth/_ (0.00s) === RUN TestEllipsisString === RUN TestEllipsisString/abcde(0) === RUN TestEllipsisString/abcde(1) === RUN TestEllipsisString/abcde(2) === RUN TestEllipsisString/abcde(3) === RUN TestEllipsisString/abcde(4) === RUN TestEllipsisString/abcde(5) === RUN TestEllipsisString/abcde(6) === RUN TestEllipsisString/abcde(7) === RUN TestEllipsisString/测试文本(0) === RUN TestEllipsisString/测试文本(1) === RUN TestEllipsisString/测试文本(2) === RUN TestEllipsisString/测试文本(3) === RUN TestEllipsisString/测试文本(4) === RUN TestEllipsisString/测试文本(5) === RUN TestEllipsisString/测试文本(6) === RUN TestEllipsisString/测试文本(7) === RUN TestEllipsisString/测试文本(8) === RUN TestEllipsisString/测试文本(9) === RUN TestEllipsisString/测试abc(6) === RUN TestEllipsisString/测试abc(7) === RUN TestEllipsisString/测试abc(8) === RUN TestEllipsisString/测abc试啊(7) === RUN TestEllipsisString/测abc试啊(8) === RUN TestEllipsisString/测abc试啊(9) === RUN TestEllipsisString/测abc试啊(10) === RUN TestEllipsisString/LongInput === RUN TestEllipsisString/InvalidUtf8 === RUN TestEllipsisString/InvalidUtf8/0 === RUN TestEllipsisString/InvalidUtf8/1 === RUN TestEllipsisString/InvalidUtf8/2 === RUN TestEllipsisString/InvalidUtf8/3 === RUN TestEllipsisString/InvalidUtf8/4 === RUN TestEllipsisString/InvalidUtf8/5 === RUN TestEllipsisString/InvalidUtf8/6 === RUN TestEllipsisString/InvalidUtf8/7 === RUN TestEllipsisString/IsLikelyEllipsisLeftPart --- PASS: TestEllipsisString (0.00s) --- PASS: TestEllipsisString/abcde(0) (0.00s) --- PASS: TestEllipsisString/abcde(1) (0.00s) --- PASS: TestEllipsisString/abcde(2) (0.00s) --- PASS: TestEllipsisString/abcde(3) (0.00s) --- PASS: TestEllipsisString/abcde(4) (0.00s) --- PASS: TestEllipsisString/abcde(5) (0.00s) --- PASS: TestEllipsisString/abcde(6) (0.00s) --- PASS: TestEllipsisString/abcde(7) (0.00s) --- PASS: TestEllipsisString/测试文本(0) (0.00s) --- PASS: TestEllipsisString/测试文本(1) (0.00s) --- PASS: TestEllipsisString/测试文本(2) (0.00s) --- PASS: TestEllipsisString/测试文本(3) (0.00s) --- PASS: TestEllipsisString/测试文本(4) (0.00s) --- PASS: TestEllipsisString/测试文本(5) (0.00s) --- PASS: TestEllipsisString/测试文本(6) (0.00s) --- PASS: TestEllipsisString/测试文本(7) (0.00s) --- PASS: TestEllipsisString/测试文本(8) (0.00s) --- PASS: TestEllipsisString/测试文本(9) (0.00s) --- PASS: TestEllipsisString/测试abc(6) (0.00s) --- PASS: TestEllipsisString/测试abc(7) (0.00s) --- PASS: TestEllipsisString/测试abc(8) (0.00s) --- PASS: TestEllipsisString/测abc试啊(7) (0.00s) --- PASS: TestEllipsisString/测abc试啊(8) (0.00s) --- PASS: TestEllipsisString/测abc试啊(9) (0.00s) --- PASS: TestEllipsisString/测abc试啊(10) (0.00s) --- PASS: TestEllipsisString/LongInput (0.00s) --- PASS: TestEllipsisString/InvalidUtf8 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/0 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/1 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/2 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/3 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/4 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/5 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/6 (0.00s) --- PASS: TestEllipsisString/InvalidUtf8/7 (0.00s) --- PASS: TestEllipsisString/IsLikelyEllipsisLeftPart (0.00s) === RUN TestTruncateRunes --- PASS: TestTruncateRunes (0.00s) === RUN TestIsEmptyString --- PASS: TestIsEmptyString (0.00s) === RUN Test_NormalizeEOL --- PASS: Test_NormalizeEOL (0.00s) === RUN Test_RandomInt --- PASS: Test_RandomInt (0.00s) === RUN Test_RandomString --- PASS: Test_RandomString (0.00s) === RUN Test_RandomBytes --- PASS: Test_RandomBytes (0.00s) === RUN TestToLowerASCII --- PASS: TestToLowerASCII (0.00s) === RUN TestToTitleCase --- PASS: TestToTitleCase (0.00s) === RUN TestNormalizeStringEOL --- PASS: TestNormalizeStringEOL (0.00s) === RUN TestOptionalArg --- PASS: TestOptionalArg (0.00s) === RUN TestPathEscapeSegments --- PASS: TestPathEscapeSegments (0.00s) === CONT TestAESGCM --- PASS: TestAESGCM (0.00s) PASS ok gitea.dev/modules/util 0.579s === RUN TestFileBackedBuffer --- PASS: TestFileBackedBuffer (0.00s) PASS ok gitea.dev/modules/util/filebuffer 0.011s === RUN TestCompressOldFile --- PASS: TestCompressOldFile (0.00s) PASS ok gitea.dev/modules/util/rotatingfilewriter 0.013s === RUN Test_GlobPatternValidation === RUN Test_GlobPatternValidation/Empty_glob_pattern === RUN Test_GlobPatternValidation/Valid_glob === RUN Test_GlobPatternValidation/Invalid_glob --- PASS: Test_GlobPatternValidation (0.00s) --- PASS: Test_GlobPatternValidation/Empty_glob_pattern (0.00s) --- PASS: Test_GlobPatternValidation/Valid_glob (0.00s) --- PASS: Test_GlobPatternValidation/Invalid_glob (0.00s) === RUN Test_IsValidURL === RUN Test_IsValidURL/Empty_URL === RUN Test_IsValidURL/Loopback_IPv4_URL === RUN Test_IsValidURL/Loopback_IPv6_URL === RUN Test_IsValidURL/Missing_semicolon_after_schema --- PASS: Test_IsValidURL (0.00s) --- PASS: Test_IsValidURL/Empty_URL (0.00s) --- PASS: Test_IsValidURL/Loopback_IPv4_URL (0.00s) --- PASS: Test_IsValidURL/Loopback_IPv6_URL (0.00s) --- PASS: Test_IsValidURL/Missing_semicolon_after_schema (0.00s) === RUN Test_IsValidExternalTrackerURLFormat === RUN Test_IsValidExternalTrackerURLFormat/Correct_external_tracker_URL_with_all_placeholders === RUN Test_IsValidExternalTrackerURLFormat/Local_external_tracker_URL_with_all_placeholders === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_typo_placeholder === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_typo_placeholder#01 === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_typo_placeholder#02 === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder#01 === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder#02 === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder#03 === RUN Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_similar_placeholder_names_test --- PASS: Test_IsValidExternalTrackerURLFormat (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/Correct_external_tracker_URL_with_all_placeholders (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/Local_external_tracker_URL_with_all_placeholders (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_typo_placeholder (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_typo_placeholder#01 (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_typo_placeholder#02 (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder#01 (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder#02 (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_missing_optional_placeholder#03 (0.00s) --- PASS: Test_IsValidExternalTrackerURLFormat/External_tracker_URL_with_similar_placeholder_names_test (0.00s) === RUN TestIsValidUsername === RUN TestIsValidUsername/a === RUN TestIsValidUsername/abc === RUN TestIsValidUsername/0.b-c === RUN TestIsValidUsername/a.b-c_d === RUN TestIsValidUsername/#00 === RUN TestIsValidUsername/.abc === RUN TestIsValidUsername/abc. === RUN TestIsValidUsername/a..bc === RUN TestIsValidUsername/a...bc === RUN TestIsValidUsername/a.-bc === RUN TestIsValidUsername/a._bc === RUN TestIsValidUsername/a_-bc === RUN TestIsValidUsername/a/bc === RUN TestIsValidUsername/☁️ === RUN TestIsValidUsername/- === RUN TestIsValidUsername/--diff === RUN TestIsValidUsername/-im-here === RUN TestIsValidUsername/a_space --- PASS: TestIsValidUsername (0.00s) --- PASS: TestIsValidUsername/a (0.00s) --- PASS: TestIsValidUsername/abc (0.00s) --- PASS: TestIsValidUsername/0.b-c (0.00s) --- PASS: TestIsValidUsername/a.b-c_d (0.00s) --- PASS: TestIsValidUsername/#00 (0.00s) --- PASS: TestIsValidUsername/.abc (0.00s) --- PASS: TestIsValidUsername/abc. (0.00s) --- PASS: TestIsValidUsername/a..bc (0.00s) --- PASS: TestIsValidUsername/a...bc (0.00s) --- PASS: TestIsValidUsername/a.-bc (0.00s) --- PASS: TestIsValidUsername/a._bc (0.00s) --- PASS: TestIsValidUsername/a_-bc (0.00s) --- PASS: TestIsValidUsername/a/bc (0.00s) --- PASS: TestIsValidUsername/☁️ (0.00s) --- PASS: TestIsValidUsername/- (0.00s) --- PASS: TestIsValidUsername/--diff (0.00s) --- PASS: TestIsValidUsername/-im-here (0.00s) --- PASS: TestIsValidUsername/a_space (0.00s) === RUN TestIsValidBadgeSlug === RUN TestIsValidBadgeSlug/badge-1 === RUN TestIsValidBadgeSlug/badge.slug === RUN TestIsValidBadgeSlug/new === RUN TestIsValidBadgeSlug/Badge_1 === RUN TestIsValidBadgeSlug/a..b === RUN TestIsValidBadgeSlug/a/b === RUN TestIsValidBadgeSlug/Awesome! === RUN TestIsValidBadgeSlug/Emoji_💯 --- PASS: TestIsValidBadgeSlug (0.00s) --- PASS: TestIsValidBadgeSlug/badge-1 (0.00s) --- PASS: TestIsValidBadgeSlug/badge.slug (0.00s) --- PASS: TestIsValidBadgeSlug/new (0.00s) --- PASS: TestIsValidBadgeSlug/Badge_1 (0.00s) --- PASS: TestIsValidBadgeSlug/a..b (0.00s) --- PASS: TestIsValidBadgeSlug/a/b (0.00s) --- PASS: TestIsValidBadgeSlug/Awesome! (0.00s) --- PASS: TestIsValidBadgeSlug/Emoji_💯 (0.00s) === RUN Test_GitRefNameValidation === RUN Test_GitRefNameValidation/Reference_name_contains_only_characters === RUN Test_GitRefNameValidation/Reference_name_contains_single_slash === RUN Test_GitRefNameValidation/Reference_name_has_allowed_special_characters === RUN Test_GitRefNameValidation/Reference_name_contains_backslash === RUN Test_GitRefNameValidation/Reference_name_starts_with_dot === RUN Test_GitRefNameValidation/Reference_name_ends_with_dot === RUN Test_GitRefNameValidation/Reference_name_starts_with_slash === RUN Test_GitRefNameValidation/Reference_name_ends_with_slash === RUN Test_GitRefNameValidation/Reference_name_ends_with_.lock === RUN Test_GitRefNameValidation/Reference_name_contains_multiple_consecutive_dots === RUN Test_GitRefNameValidation/Reference_name_contains_multiple_consecutive_slashes === RUN Test_GitRefNameValidation/Reference_name_is_single_@ === RUN Test_GitRefNameValidation/Reference_name_has_@{ === RUN Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_~ === RUN Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_* === RUN Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_? === RUN Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_^ === RUN Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_: === RUN Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_(whitespace) === RUN Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_[ --- PASS: Test_GitRefNameValidation (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_contains_only_characters (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_contains_single_slash (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_allowed_special_characters (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_contains_backslash (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_starts_with_dot (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_ends_with_dot (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_starts_with_slash (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_ends_with_slash (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_ends_with_.lock (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_contains_multiple_consecutive_dots (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_contains_multiple_consecutive_slashes (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_is_single_@ (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_@{ (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_~ (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_* (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_? (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_^ (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_: (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_(whitespace) (0.00s) --- PASS: Test_GitRefNameValidation/Reference_name_has_unallowed_special_character_[ (0.00s) === RUN Test_RegexPatternValidation === RUN Test_RegexPatternValidation/Empty_regex_pattern === RUN Test_RegexPatternValidation/Valid_regex === RUN Test_RegexPatternValidation/Invalid_regex --- PASS: Test_RegexPatternValidation (0.00s) --- PASS: Test_RegexPatternValidation/Empty_regex_pattern (0.00s) --- PASS: Test_RegexPatternValidation/Valid_regex (0.00s) --- PASS: Test_RegexPatternValidation/Invalid_regex (0.00s) === RUN Test_ValidURLValidation === RUN Test_ValidURLValidation/Empty_URL === RUN Test_ValidURLValidation/URL_without_port === RUN Test_ValidURLValidation/URL_with_port === RUN Test_ValidURLValidation/URL_with_IPv6_address_without_port === RUN Test_ValidURLValidation/URL_with_IPv6_address_with_port === RUN Test_ValidURLValidation/Invalid_URL === RUN Test_ValidURLValidation/Invalid_schema === RUN Test_ValidURLValidation/Invalid_port === RUN Test_ValidURLValidation/Invalid_port_with_IPv6_address --- PASS: Test_ValidURLValidation (0.00s) --- PASS: Test_ValidURLValidation/Empty_URL (0.00s) --- PASS: Test_ValidURLValidation/URL_without_port (0.00s) --- PASS: Test_ValidURLValidation/URL_with_port (0.00s) --- PASS: Test_ValidURLValidation/URL_with_IPv6_address_without_port (0.00s) --- PASS: Test_ValidURLValidation/URL_with_IPv6_address_with_port (0.00s) --- PASS: Test_ValidURLValidation/Invalid_URL (0.00s) --- PASS: Test_ValidURLValidation/Invalid_schema (0.00s) --- PASS: Test_ValidURLValidation/Invalid_port (0.00s) --- PASS: Test_ValidURLValidation/Invalid_port_with_IPv6_address (0.00s) PASS ok gitea.dev/modules/validation 0.021s === RUN TestRouteMock --- PASS: TestRouteMock (0.00s) === RUN TestPathProcessor --- PASS: TestPathProcessor (0.00s) === RUN TestRouter === RUN TestRouter/RootRouter === RUN TestRouter/RootRouter/GET_/the-user/the-repo/other === RUN TestRouter/RootRouter/GET_/the-user/the-repo/pulls === RUN TestRouter/RootRouter/GET_/the-user/the-repo/issues/123 === RUN TestRouter/RootRouter/GET_/the-user/the-repo/issues/123?stop=hijack === RUN TestRouter/RootRouter/POST_/the-user/the-repo/issues/123/update === RUN TestRouter/Sub_Router === RUN TestRouter/Sub_Router/GET_/api/v1/other === RUN TestRouter/Sub_Router/GET_/api/v1/repos/the-user/the-repo/branches === RUN TestRouter/Sub_Router/POST_/api/v1/repos/the-user/the-repo/branches === RUN TestRouter/Sub_Router/GET_/api/v1/repos/the-user/the-repo/branches/master === RUN TestRouter/Sub_Router/PATCH_/api/v1/repos/the-user/the-repo/branches/master === RUN TestRouter/Sub_Router/DELETE_/api/v1/repos/the-user/the-repo/branches/master === RUN TestRouter/MatchPath === RUN TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn === RUN TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1%2fd2/fn === RUN TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/000 === RUN TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn?stop=s1 === RUN TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn?stop=s2 === RUN TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn?stop=s3 --- PASS: TestRouter (0.00s) --- PASS: TestRouter/RootRouter (0.00s) --- PASS: TestRouter/RootRouter/GET_/the-user/the-repo/other (0.00s) --- PASS: TestRouter/RootRouter/GET_/the-user/the-repo/pulls (0.00s) --- PASS: TestRouter/RootRouter/GET_/the-user/the-repo/issues/123 (0.00s) --- PASS: TestRouter/RootRouter/GET_/the-user/the-repo/issues/123?stop=hijack (0.00s) --- PASS: TestRouter/RootRouter/POST_/the-user/the-repo/issues/123/update (0.00s) --- PASS: TestRouter/Sub_Router (0.00s) --- PASS: TestRouter/Sub_Router/GET_/api/v1/other (0.00s) --- PASS: TestRouter/Sub_Router/GET_/api/v1/repos/the-user/the-repo/branches (0.00s) --- PASS: TestRouter/Sub_Router/POST_/api/v1/repos/the-user/the-repo/branches (0.00s) --- PASS: TestRouter/Sub_Router/GET_/api/v1/repos/the-user/the-repo/branches/master (0.00s) --- PASS: TestRouter/Sub_Router/PATCH_/api/v1/repos/the-user/the-repo/branches/master (0.00s) --- PASS: TestRouter/Sub_Router/DELETE_/api/v1/repos/the-user/the-repo/branches/master (0.00s) --- PASS: TestRouter/MatchPath (0.00s) --- PASS: TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn (0.00s) --- PASS: TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1%2fd2/fn (0.00s) --- PASS: TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/000 (0.00s) --- PASS: TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn?stop=s1 (0.00s) --- PASS: TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn?stop=s2 (0.00s) --- PASS: TestRouter/MatchPath/GET_/api/v1/repos/the-user/the-repo/branches/d1/d2/fn?stop=s3 (0.00s) === RUN TestRouteNormalizePath --- PASS: TestRouteNormalizePath (0.00s) === RUN TestPreMiddlewareProvider --- PASS: TestPreMiddlewareProvider (0.00s) PASS ok gitea.dev/modules/web 0.025s === RUN TestParseAcceptLanguage --- PASS: TestParseAcceptLanguage (0.00s) PASS ok gitea.dev/modules/web/middleware 0.009s === RUN Test_shortenFilename === RUN Test_shortenFilename/shortenFilename('gitea.dev/routers/common/logger_context.go') === RUN Test_shortenFilename/shortenFilename('common/logger_context.go') === RUN Test_shortenFilename/shortenFilename('logger_context.go') === RUN Test_shortenFilename/shortenFilename('') --- PASS: Test_shortenFilename (0.00s) --- PASS: Test_shortenFilename/shortenFilename('gitea.dev/routers/common/logger_context.go') (0.00s) --- PASS: Test_shortenFilename/shortenFilename('common/logger_context.go') (0.00s) --- PASS: Test_shortenFilename/shortenFilename('logger_context.go') (0.00s) --- PASS: Test_shortenFilename/shortenFilename('') (0.00s) === RUN Test_trimAnonymousFunctionSuffix === RUN Test_trimAnonymousFunctionSuffix/notAnonymous === RUN Test_trimAnonymousFunctionSuffix/anonymous.func1 === RUN Test_trimAnonymousFunctionSuffix/notAnonymous.funca === RUN Test_trimAnonymousFunctionSuffix/anonymous.func100 === RUN Test_trimAnonymousFunctionSuffix/anonymous.func100.func6 --- PASS: Test_trimAnonymousFunctionSuffix (0.00s) --- PASS: Test_trimAnonymousFunctionSuffix/notAnonymous (0.00s) --- PASS: Test_trimAnonymousFunctionSuffix/anonymous.func1 (0.00s) --- PASS: Test_trimAnonymousFunctionSuffix/notAnonymous.funca (0.00s) --- PASS: Test_trimAnonymousFunctionSuffix/anonymous.func100 (0.00s) --- PASS: Test_trimAnonymousFunctionSuffix/anonymous.func100.func6 (0.00s) PASS ok gitea.dev/modules/web/routing 0.018s ? gitea.dev/modules/web/types [no test files] ? gitea.dev/modules/webhook [no test files] === RUN TestWriterReader === RUN TestWriterReader/regular zstd_test.go:32: original size: 1000000, compressed size: 242294, rate: 24.23% === RUN TestWriterReader/with_options zstd_test.go:53: original size: 1000000, compressed size: 212784, rate: 21.28% --- PASS: TestWriterReader (0.49s) --- PASS: TestWriterReader/regular (0.12s) --- PASS: TestWriterReader/with_options (0.19s) === RUN TestSeekableWriterReader === RUN TestSeekableWriterReader/regular zstd_test.go:82: original size: 2000000, compressed size: 479388, rate: 23.97% === RUN TestSeekableWriterReader/seek_read zstd_test.go:105: original size: 2000000, compressed size: 479388, rate: 23.97% === RUN TestSeekableWriterReader/tidy_data zstd_test.go:146: original size: 1000, compressed size: 499, rate: 49.90% === RUN TestSeekableWriterReader/tidy_block zstd_test.go:169: original size: 2000000, compressed size: 2299656, rate: 114.98% === RUN TestSeekableWriterReader/compatible_reader zstd_test.go:195: original size: 2000000, compressed size: 479388, rate: 23.97% === RUN TestSeekableWriterReader/wrong_reader zstd_test.go:219: original size: 2000000, compressed size: 442015, rate: 22.10% --- PASS: TestSeekableWriterReader (1.21s) --- PASS: TestSeekableWriterReader/regular (0.17s) --- PASS: TestSeekableWriterReader/seek_read (0.13s) --- PASS: TestSeekableWriterReader/tidy_data (0.02s) --- PASS: TestSeekableWriterReader/tidy_block (0.66s) --- PASS: TestSeekableWriterReader/compatible_reader (0.13s) --- PASS: TestSeekableWriterReader/wrong_reader (0.03s) PASS ok gitea.dev/modules/zstd 1.719s ? gitea.dev/routers [no test files] ? gitea.dev/routers/api/actions [no test files] === RUN TestService === PAUSE TestService === CONT TestService === RUN TestService/ping_request --- PASS: TestService (0.02s) --- PASS: TestService/ping_request (0.02s) PASS ok gitea.dev/routers/api/actions/ping 0.033s === RUN TestApplyDeclareRequestToRunnerAdvertisedCapabilityEnablesCancelling --- PASS: TestApplyDeclareRequestToRunnerAdvertisedCapabilityEnablesCancelling (0.00s) === RUN TestApplyDeclareRequestToRunnerMissingCapabilityDisablesCancelling --- PASS: TestApplyDeclareRequestToRunnerMissingCapabilityDisablesCancelling (0.00s) === RUN TestApplyDeclareRequestToRunnerUnchangedCapabilityOmitsColumn --- PASS: TestApplyDeclareRequestToRunnerUnchangedCapabilityOmitsColumn (0.00s) PASS ok gitea.dev/routers/api/actions/runner 0.161s ? gitea.dev/routers/api/packages [no test files] ? gitea.dev/routers/api/packages/alpine [no test files] ? gitea.dev/routers/api/packages/arch [no test files] ? gitea.dev/routers/api/packages/cargo [no test files] ? gitea.dev/routers/api/packages/chef [no test files] ? gitea.dev/routers/api/packages/composer [no test files] ? gitea.dev/routers/api/packages/conan [no test files] ? gitea.dev/routers/api/packages/conda [no test files] ? gitea.dev/routers/api/packages/container [no test files] ? gitea.dev/routers/api/packages/cran [no test files] ? gitea.dev/routers/api/packages/debian [no test files] === RUN TestValidatePackageName --- PASS: TestValidatePackageName (0.00s) === RUN TestValidateFileName --- PASS: TestValidateFileName (0.00s) PASS ok gitea.dev/routers/api/packages/generic 0.151s ? gitea.dev/routers/api/packages/goproxy [no test files] ? gitea.dev/routers/api/packages/helm [no test files] ? gitea.dev/routers/api/packages/helper [no test files] ? gitea.dev/routers/api/packages/maven [no test files] ? gitea.dev/routers/api/packages/npm [no test files] ? gitea.dev/routers/api/packages/nuget [no test files] ? gitea.dev/routers/api/packages/pub [no test files] === RUN TestIsValidNameAndVersion --- PASS: TestIsValidNameAndVersion (0.00s) === RUN TestNormalizeLabel --- PASS: TestNormalizeLabel (0.00s) PASS ok gitea.dev/routers/api/packages/pypi 0.150s ? gitea.dev/routers/api/packages/rpm [no test files] === RUN TestWritePackageVersion --- PASS: TestWritePackageVersion (0.00s) PASS ok gitea.dev/routers/api/packages/rubygems 0.158s ? gitea.dev/routers/api/packages/swift [no test files] === RUN TestValidatePackageName --- PASS: TestValidatePackageName (0.00s) PASS ok gitea.dev/routers/api/packages/terraform 0.255s ? gitea.dev/routers/api/packages/vagrant [no test files] ? gitea.dev/routers/api/v1 [no test files] ? gitea.dev/routers/api/v1/activitypub [no test files] ? gitea.dev/routers/api/v1/admin [no test files] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1182328424/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1182328424/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1182328424/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1182328424/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1182328424/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1182328424/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1182328424/data/actions_artifacts === RUN TestAPI_RenderGFM --- PASS: TestAPI_RenderGFM (0.20s) === RUN TestAPI_RenderSimple --- PASS: TestAPI_RenderSimple (0.00s) === RUN TestAPI_RenderRaw --- PASS: TestAPI_RenderRaw (0.00s) PASS ok gitea.dev/routers/api/v1/misc 1.251s ? gitea.dev/routers/api/v1/notify [no test files] ? gitea.dev/routers/api/v1/org [no test files] ? gitea.dev/routers/api/v1/packages [no test files] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-179768443/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-179768443/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-179768443/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-179768443/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-179768443/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-179768443/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-179768443/data/actions_artifacts === RUN TestTestHook --- PASS: TestTestHook (0.37s) === RUN TestPushMirrorSync 2026/08/11 22:30:48 .../mirror/mirror_push.go:133:runPushSync.1() [E] GetRemoteURL(user2/repo1.git) Error exit status 2 - error: No such remote 'broken_remote_1' 2026/08/11 22:30:48 .../mirror/mirror_push.go:106:SyncPushMirror() [E] SyncPushMirror [mirror: 1][repo: ]: Unexpected error 2026/08/11 22:30:48 .../mirror/mirror_push.go:133:runPushSync.1() [E] GetRemoteURL(user2/repo1.git) Error exit status 2 - error: No such remote 'broken_remote_2' 2026/08/11 22:30:48 .../mirror/mirror_push.go:106:SyncPushMirror() [E] SyncPushMirror [mirror: 2][repo: ]: Unexpected error --- PASS: TestPushMirrorSync (0.07s) === RUN TestRepoEdit 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:1 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:2 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:3 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:5 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:11 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test --- PASS: TestRepoEdit (0.07s) === RUN TestRepoEditNameChange --- PASS: TestRepoEditNameChange (0.09s) PASS ok gitea.dev/routers/api/v1/repo 1.469s ? gitea.dev/routers/api/v1/settings [no test files] ? gitea.dev/routers/api/v1/shared [no test files] ? gitea.dev/routers/api/v1/swagger [no test files] ? gitea.dev/routers/api/v1/token [no test files] ? gitea.dev/routers/api/v1/user [no test files] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3483902402/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3483902402/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3483902402/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3483902402/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3483902402/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3483902402/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3483902402/data/actions_artifacts === RUN TestTestHookValidation === RUN TestTestHookValidation/Test_Validation === RUN TestTestHookValidation/Test_Validation_with_invalid_URL === RUN TestTestHookValidation/Test_Validation_with_invalid_webhook_type === RUN TestTestHookValidation/Test_Validation_with_empty_content_type --- PASS: TestTestHookValidation (0.32s) --- PASS: TestTestHookValidation/Test_Validation (0.01s) --- PASS: TestTestHookValidation/Test_Validation_with_invalid_URL (0.01s) --- PASS: TestTestHookValidation/Test_Validation_with_invalid_webhook_type (0.01s) --- PASS: TestTestHookValidation/Test_Validation_with_empty_content_type (0.01s) === RUN TestResolveSortOrder === RUN TestResolveSortOrder/GET_/ === RUN TestResolveSortOrder/GET_/?sort=id === RUN TestResolveSortOrder/GET_/?sort=id&order=desc === RUN TestResolveSortOrder/GET_/?sort=bogus === RUN TestResolveSortOrder/GET_/?sort=id&order=bogus --- PASS: TestResolveSortOrder (0.00s) --- PASS: TestResolveSortOrder/GET_/ (0.00s) --- PASS: TestResolveSortOrder/GET_/?sort=id (0.00s) --- PASS: TestResolveSortOrder/GET_/?sort=id&order=desc (0.00s) --- PASS: TestResolveSortOrder/GET_/?sort=bogus (0.00s) --- PASS: TestResolveSortOrder/GET_/?sort=id&order=bogus (0.00s) PASS ok gitea.dev/routers/api/v1/utils 1.126s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-465659889/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-465659889/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-465659889/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-465659889/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-465659889/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-465659889/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-465659889/data/actions_artifacts === RUN TestBlockExpensive --- PASS: TestBlockExpensive (0.00s) === RUN TestCompareRouterReq --- PASS: TestCompareRouterReq (0.00s) === RUN TestResolveRefWithSuffix --- PASS: TestResolveRefWithSuffix (0.00s) === RUN TestRenderPanicErrorPage === RUN TestRenderPanicErrorPage/HTML 2026/08/11 22:30:47 routers/common/errpage.go:55:renderPanicErrorPage() [E] PANIC: fake panic error (for test only) /usr/lib/go/src/testing/testing.go:2036 (0x56b489) tRunner: fn(t) /usr/lib/go/src/runtime/asm_amd64.s:1771 (0x498780) goexit: BYTE $0x90 // NOP === RUN TestRenderPanicErrorPage/Plain --- PASS: TestRenderPanicErrorPage (0.36s) --- PASS: TestRenderPanicErrorPage/HTML (0.36s) --- PASS: TestRenderPanicErrorPage/Plain (0.00s) === RUN TestRequestPriority === RUN TestRequestPriority/Logged_In === RUN TestRequestPriority/Sign_In === RUN TestRequestPriority/Repo_Home === RUN TestRequestPriority/User_Repo --- PASS: TestRequestPriority (0.00s) --- PASS: TestRequestPriority/Logged_In (0.00s) --- PASS: TestRequestPriority/Sign_In (0.00s) --- PASS: TestRequestPriority/Repo_Home (0.00s) --- PASS: TestRequestPriority/User_Repo (0.00s) === RUN TestFetchRedirectDelegate === RUN TestFetchRedirectDelegate/POST_/foo?k=v === RUN TestFetchRedirectDelegate/GET_/foo?k=v === RUN TestFetchRedirectDelegate/POST_\/foo?k=v === RUN TestFetchRedirectDelegate/POST_\\/foo?k=v === RUN TestFetchRedirectDelegate/POST_https://gitea/xxx === RUN TestFetchRedirectDelegate/POST_https://other/xxx --- PASS: TestFetchRedirectDelegate (0.00s) --- PASS: TestFetchRedirectDelegate/POST_/foo?k=v (0.00s) --- PASS: TestFetchRedirectDelegate/GET_/foo?k=v (0.00s) --- PASS: TestFetchRedirectDelegate/POST_\/foo?k=v (0.00s) --- PASS: TestFetchRedirectDelegate/POST_\\/foo?k=v (0.00s) --- PASS: TestFetchRedirectDelegate/POST_https://gitea/xxx (0.00s) --- PASS: TestFetchRedirectDelegate/POST_https://other/xxx (0.00s) PASS ok gitea.dev/routers/common 1.205s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-378812037/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-378812037/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-378812037/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-378812037/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-378812037/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-378812037/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-378812037/data/actions_artifacts === RUN TestRoutes --- PASS: TestRoutes (0.21s) PASS ok gitea.dev/routers/install 1.136s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3249881604/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3249881604/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3249881604/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3249881604/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3249881604/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3249881604/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3249881604/data/actions_artifacts === RUN TestHandlePullRequestMerging --- PASS: TestHandlePullRequestMerging (0.16s) === RUN TestPreReceiveCanWriteCodePerBranch --- PASS: TestPreReceiveCanWriteCodePerBranch (0.02s) === RUN TestVerifyCommits 2026/08/11 22:30:48 .../hook_verification.go:41:verifyCommits() [E] Unable to check commits from 9779d17a04f1e2640583d35703c62460b2d86e0a to 72920278f2f999e3005801e5d5b8ab8139d3641c in /home/buildozer/aports/community/gitea/src/gitea-src-1.27.1/routers/private/tests/repos/repo1_hook_verification: Unverified commit: 72920278f2f999e3005801e5d5b8ab8139d3641c Unverified commit: 72920278f2f999e3005801e5d5b8ab8139d3641c Unverified commit: 72920278f2f999e3005801e5d5b8ab8139d3641c Unverified commit: 72920278f2f999e3005801e5d5b8ab8139d3641c --- PASS: TestVerifyCommits (0.14s) PASS 2026/08/11 22:30:48 .../hook_verification.go:41:verifyCommits() [E] Unable to check commits from 0000000000000000000000000000000000000000 to 9ce3f779ae33f31fce17fac3c512047b75d7498b in /home/buildozer/aports/community/gitea/src/gitea-src-1.27.1/routers/private/tests/repos/repo1_hook_verification: Unverified commit: 9ce3f779ae33f31fce17fac3c512047b75d7498b Unverified commit: 9ce3f779ae33f31fce17fac3c512047b75d7498b Unverified commit: 9ce3f779ae33f31fce17fac3c512047b75d7498b Unverified commit: 9ce3f779ae33f31fce17fac3c512047b75d7498b ok gitea.dev/routers/private 1.179s === RUN TestEscapeFlashErrorString === RUN TestEscapeFlashErrorString/no_error === RUN TestEscapeFlashErrorString/normal_error === RUN TestEscapeFlashErrorString/line_break_error --- PASS: TestEscapeFlashErrorString (0.00s) --- PASS: TestEscapeFlashErrorString/no_error (0.00s) --- PASS: TestEscapeFlashErrorString/normal_error (0.00s) --- PASS: TestEscapeFlashErrorString/line_break_error (0.00s) PASS ok gitea.dev/routers/utils 0.010s ? gitea.dev/routers/web [no test files] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2178895701/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2178895701/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2178895701/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2178895701/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2178895701/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2178895701/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2178895701/data/actions_artifacts === RUN TestSelfCheckPost --- PASS: TestSelfCheckPost (0.00s) === RUN TestNewUserPost_MustChangePassword --- PASS: TestNewUserPost_MustChangePassword (0.19s) === RUN TestNewUserPost_MustChangePasswordFalse --- PASS: TestNewUserPost_MustChangePasswordFalse (0.12s) === RUN TestNewUserPost_InvalidEmail --- PASS: TestNewUserPost_InvalidEmail (0.07s) === RUN TestNewUserPost_VisibilityDefaultPublic --- PASS: TestNewUserPost_VisibilityDefaultPublic (0.07s) === RUN TestNewUserPost_VisibilityPrivate --- PASS: TestNewUserPost_VisibilityPrivate (0.08s) PASS ok gitea.dev/routers/web/admin 1.315s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4105730701/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4105730701/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4105730701/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4105730701/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4105730701/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4105730701/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4105730701/data/actions_artifacts === RUN TestWebAuthUserLogin --- PASS: TestWebAuthUserLogin (0.00s) === RUN TestWebAuthOAuth2 === RUN TestWebAuthOAuth2/OAuth2MissingField 2026/08/11 22:30:47 routers/web/auth/oauth.go:166:SignInOAuthCallback() [E] OAuth2 auto registration (ENABLE_AUTO_REGISTRATION) is enabled but OAuth2 provider "dummy+auth's source" doesn't return required fields: email. Suggest to: disable auto registration, or make OPENID_CONNECT_SCOPES (for OpenIDConnect) / Authentication Source Scopes (for Admin panel) to request all required fields, and the fields shouldn't be empty. === RUN TestWebAuthOAuth2/OAuth2CallbackError === RUN TestWebAuthOAuth2/RedirectSingleProvider 2026/08/11 22:30:47 routers/web/auth/oauth.go:111:SignInOAuthCallback() [I] Failed OAuth callback: (internal) could not find a matching session for this request === RUN TestWebAuthOAuth2/OIDCLogout === RUN TestWebAuthOAuth2/OIDCLogout/OAuth2SignInRedirectsToOIDC === RUN TestWebAuthOAuth2/OIDCLogout/PasswordSignInSkipsOIDC --- PASS: TestWebAuthOAuth2 (0.02s) --- PASS: TestWebAuthOAuth2/OAuth2MissingField (0.00s) --- PASS: TestWebAuthOAuth2/OAuth2CallbackError (0.00s) --- PASS: TestWebAuthOAuth2/RedirectSingleProvider (0.00s) --- PASS: TestWebAuthOAuth2/OIDCLogout (0.01s) --- PASS: TestWebAuthOAuth2/OIDCLogout/OAuth2SignInRedirectsToOIDC (0.01s) --- PASS: TestWebAuthOAuth2/OIDCLogout/PasswordSignInSkipsOIDC (0.00s) === RUN TestNewAccessTokenResponse_OIDCToken --- PASS: TestNewAccessTokenResponse_OIDCToken (0.19s) === RUN TestOAuth2AvatarClientBlocksLoopback --- PASS: TestOAuth2AvatarClientBlocksLoopback (0.00s) === RUN TestOAuth2AvatarAllowListRestricts --- PASS: TestOAuth2AvatarAllowListRestricts (0.00s) === RUN TestOAuth2AvatarClientBlocksCloudMetadata --- PASS: TestOAuth2AvatarClientBlocksCloudMetadata (0.00s) PASS ok gitea.dev/routers/web/auth 1.001s ? gitea.dev/routers/web/devtest [no test files] ? gitea.dev/routers/web/events [no test files] ? gitea.dev/routers/web/explore [no test files] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-849328809/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-849328809/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-849328809/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-849328809/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-849328809/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-849328809/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-849328809/data/actions_artifacts === RUN TestCheckGetOrgFeedsAsOrgMember === RUN TestCheckGetOrgFeedsAsOrgMember/OrgMember === RUN TestCheckGetOrgFeedsAsOrgMember/NonOrgMember --- PASS: TestCheckGetOrgFeedsAsOrgMember (0.24s) --- PASS: TestCheckGetOrgFeedsAsOrgMember/OrgMember (0.02s) --- PASS: TestCheckGetOrgFeedsAsOrgMember/NonOrgMember (0.01s) PASS ok gitea.dev/routers/web/feed 0.973s ? gitea.dev/routers/web/healthcheck [no test files] ? gitea.dev/routers/web/misc [no test files] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3424259716/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3424259716/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3424259716/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3424259716/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3424259716/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3424259716/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3424259716/data/actions_artifacts === RUN TestCheckProjectColumnChangePermissions --- PASS: TestCheckProjectColumnChangePermissions (0.24s) === RUN TestChangeProjectStatusRejectsForeignProjects --- PASS: TestChangeProjectStatusRejectsForeignProjects (0.09s) === RUN TestAddColumnToProjectPostRejectsForeignProjects --- PASS: TestAddColumnToProjectPostRejectsForeignProjects (0.07s) PASS ok gitea.dev/routers/web/org 1.104s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1673154855/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1673154855/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1673154855/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1673154855/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1673154855/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1673154855/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1673154855/data/actions_artifacts === RUN TestAttachCommentsToLines --- PASS: TestAttachCommentsToLines (0.00s) === RUN TestNewPullRequestTitleContent --- PASS: TestNewPullRequestTitleContent (0.00s) === RUN TestAutoTitleFromBranchName --- PASS: TestAutoTitleFromBranchName (0.00s) === RUN TestEditorUtils === RUN TestEditorUtils/getUniquePatchBranchName === RUN TestEditorUtils/getClosestParentWithFiles --- PASS: TestEditorUtils (0.19s) --- PASS: TestEditorUtils/getUniquePatchBranchName (0.00s) --- PASS: TestEditorUtils/getClosestParentWithFiles (0.01s) === RUN TestContainsParentDirectorySeparator --- PASS: TestContainsParentDirectorySeparator (0.00s) === RUN TestIssueLabel === RUN TestIssueLabel/RetrieveLabels === RUN TestIssueLabel/NewLabel === RUN TestIssueLabel/NewLabelInvalidColor === RUN TestIssueLabel/UpdateLabel === RUN TestIssueLabel/UpdateLabelInvalidColor === RUN TestIssueLabel/UpdateIssueLabelClear === RUN TestIssueLabel/UpdateIssueLabelToggle === RUN TestIssueLabel/InitializeLabels === RUN TestIssueLabel/DeleteLabel --- PASS: TestIssueLabel (0.63s) --- PASS: TestIssueLabel/RetrieveLabels (0.01s) --- PASS: TestIssueLabel/NewLabel (0.00s) --- PASS: TestIssueLabel/NewLabelInvalidColor (0.00s) --- PASS: TestIssueLabel/UpdateLabel (0.00s) --- PASS: TestIssueLabel/UpdateLabelInvalidColor (0.00s) --- PASS: TestIssueLabel/UpdateIssueLabelClear (0.08s) --- PASS: TestIssueLabel/UpdateIssueLabelToggle (0.47s) --- PASS: TestIssueLabel/InitializeLabels (0.01s) --- PASS: TestIssueLabel/DeleteLabel (0.00s) === RUN TestCombineLabelComments === RUN TestCombineLabelComments/kase_1 === RUN TestCombineLabelComments/kase_2 === RUN TestCombineLabelComments/kase_3 === RUN TestCombineLabelComments/kase_4 === RUN TestCombineLabelComments/kase_5 === RUN TestCombineLabelComments/kase_6 --- PASS: TestCombineLabelComments (0.00s) --- PASS: TestCombineLabelComments/kase_1 (0.00s) --- PASS: TestCombineLabelComments/kase_2 (0.00s) --- PASS: TestCombineLabelComments/kase_3 (0.00s) --- PASS: TestCombineLabelComments/kase_4 (0.00s) --- PASS: TestCombineLabelComments/kase_5 (0.00s) --- PASS: TestCombineLabelComments/kase_6 (0.00s) === RUN TestDiffViewStyle === RUN TestDiffViewStyle/AnonymousUser === RUN TestDiffViewStyle/SignedInUser --- PASS: TestDiffViewStyle (0.06s) --- PASS: TestDiffViewStyle/AnonymousUser (0.00s) --- PASS: TestDiffViewStyle/SignedInUser (0.00s) === RUN TestCheckProjectColumnChangePermissions --- PASS: TestCheckProjectColumnChangePermissions (0.05s) === RUN TestRenderConversation === RUN TestRenderConversation/prepare === RUN TestRenderConversation/diff_with_outdated === RUN TestRenderConversation/diff_without_outdated === RUN TestRenderConversation/timeline_with_outdated 2026/08/11 22:30:48 services/gitdiff/gitdiff.go:1631:CommentMustAsDiff() [W] CommentMustAsDiff: no sections found for comment ID: 18 === RUN TestRenderConversation/timeline_is_not_affected_by_ShowOutdatedComments=false 2026/08/11 22:30:48 services/gitdiff/gitdiff.go:1631:CommentMustAsDiff() [W] CommentMustAsDiff: no sections found for comment ID: 18 === RUN TestRenderConversation/diff_non-existing_review === RUN TestRenderConversation/timeline_non-existing_review 2026/08/11 22:30:48 services/gitdiff/gitdiff.go:1631:CommentMustAsDiff() [W] CommentMustAsDiff: no sections found for comment ID: 18 --- PASS: TestRenderConversation (0.21s) --- PASS: TestRenderConversation/prepare (0.13s) --- PASS: TestRenderConversation/diff_with_outdated (0.01s) --- PASS: TestRenderConversation/diff_without_outdated (0.00s) --- PASS: TestRenderConversation/timeline_with_outdated (0.01s) --- PASS: TestRenderConversation/timeline_is_not_affected_by_ShowOutdatedComments=false (0.01s) --- PASS: TestRenderConversation/diff_non-existing_review (0.01s) --- PASS: TestRenderConversation/timeline_non-existing_review (0.01s) === RUN TestNewReleasePost === RUN TestNewReleasePost/NewReleasePage === RUN TestNewReleasePost/NewTagRelease === RUN TestNewReleasePost/ReleaseExistsDoUpdate(non-tag) === RUN TestNewReleasePost/ReleaseExistsDoUpdate(tag-only) === RUN TestNewReleasePost/ReleaseExistsDoUpdate(tag-release) === RUN TestNewReleasePost/TagOnly === RUN TestNewReleasePost/TagOnlyConflict --- PASS: TestNewReleasePost (0.12s) --- PASS: TestNewReleasePost/NewReleasePage (0.00s) --- PASS: TestNewReleasePost/NewTagRelease (0.03s) --- PASS: TestNewReleasePost/ReleaseExistsDoUpdate(non-tag) (0.00s) --- PASS: TestNewReleasePost/ReleaseExistsDoUpdate(tag-only) (0.00s) --- PASS: TestNewReleasePost/ReleaseExistsDoUpdate(tag-release) (0.02s) --- PASS: TestNewReleasePost/TagOnly (0.02s) --- PASS: TestNewReleasePost/TagOnlyConflict (0.00s) === RUN TestCalReleaseNumCommitsBehind --- PASS: TestCalReleaseNumCommitsBehind (0.06s) === RUN TestTransformDiffTreeForWeb --- PASS: TestTransformDiffTreeForWeb (0.01s) === RUN TestViewHomeSubmoduleRedirect --- PASS: TestViewHomeSubmoduleRedirect (0.03s) === RUN TestFindReadmeFileInEntriesWithSymlinkInSubfolder === RUN TestFindReadmeFileInEntriesWithSymlinkInSubfolder/.github === RUN TestFindReadmeFileInEntriesWithSymlinkInSubfolder/.gitea === RUN TestFindReadmeFileInEntriesWithSymlinkInSubfolder/docs --- PASS: TestFindReadmeFileInEntriesWithSymlinkInSubfolder (0.04s) --- PASS: TestFindReadmeFileInEntriesWithSymlinkInSubfolder/.github (0.01s) --- PASS: TestFindReadmeFileInEntriesWithSymlinkInSubfolder/.gitea (0.01s) --- PASS: TestFindReadmeFileInEntriesWithSymlinkInSubfolder/docs (0.01s) === RUN Test_localizedExtensions === RUN Test_localizedExtensions/empty_language === RUN Test_localizedExtensions/No_region_-_lowercase === RUN Test_localizedExtensions/No_region_-_uppercase === RUN Test_localizedExtensions/With_region_-_lowercase === RUN Test_localizedExtensions/With_region_-_uppercase === RUN Test_localizedExtensions/With_region_-_all_uppercase --- PASS: Test_localizedExtensions (0.00s) --- PASS: Test_localizedExtensions/empty_language (0.00s) --- PASS: Test_localizedExtensions/No_region_-_lowercase (0.00s) --- PASS: Test_localizedExtensions/No_region_-_uppercase (0.00s) --- PASS: Test_localizedExtensions/With_region_-_lowercase (0.00s) --- PASS: Test_localizedExtensions/With_region_-_uppercase (0.00s) --- PASS: Test_localizedExtensions/With_region_-_all_uppercase (0.00s) === RUN TestWiki --- PASS: TestWiki (0.05s) === RUN TestWikiPages --- PASS: TestWikiPages (0.05s) === RUN TestNewWiki --- PASS: TestNewWiki (0.05s) === RUN TestNewWikiPost --- PASS: TestNewWikiPost (0.21s) === RUN TestNewWikiPost_ReservedName --- PASS: TestNewWikiPost_ReservedName (0.05s) === RUN TestEditWiki --- PASS: TestEditWiki (0.06s) === RUN TestEditWikiPost --- PASS: TestEditWikiPost (0.20s) === RUN TestDeleteWikiPagePost --- PASS: TestDeleteWikiPagePost (0.09s) === RUN TestWikiRaw --- PASS: TestWikiRaw (0.30s) === RUN TestDefaultWikiBranch --- PASS: TestDefaultWikiBranch (0.08s) PASS ok gitea.dev/routers/web/repo 3.416s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2001107845/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2001107845/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2001107845/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2001107845/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2001107845/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2001107845/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2001107845/data/actions_artifacts === RUN TestReadWorkflow_WorkflowDispatchConfig --- PASS: TestReadWorkflow_WorkflowDispatchConfig (0.00s) === RUN Test_loadIsRefDeleted --- PASS: Test_loadIsRefDeleted (0.20s) === RUN TestPrepareWorkflowBadgeTemplate === RUN TestPrepareWorkflowBadgeTemplate/no_workflow_selected === RUN TestPrepareWorkflowBadgeTemplate/selected_workflow --- PASS: TestPrepareWorkflowBadgeTemplate (0.00s) --- PASS: TestPrepareWorkflowBadgeTemplate/no_workflow_selected (0.00s) --- PASS: TestPrepareWorkflowBadgeTemplate/selected_workflow (0.00s) === RUN TestViewPullRequestFromRun === RUN TestViewPullRequestFromRun/pull_ref === RUN TestViewPullRequestFromRun/pull_request_event_payload === RUN TestViewPullRequestFromRun/nil_repo --- PASS: TestViewPullRequestFromRun (0.00s) --- PASS: TestViewPullRequestFromRun/pull_ref (0.00s) --- PASS: TestViewPullRequestFromRun/pull_request_event_payload (0.00s) --- PASS: TestViewPullRequestFromRun/nil_repo (0.00s) === RUN TestViewSummaryBranchFromRun === RUN TestViewSummaryBranchFromRun/pull_request_event_same_repo === RUN TestViewSummaryBranchFromRun/pull_request_event_from_fork_prefixes_owner === RUN TestViewSummaryBranchFromRun/push_to_tag_does_not_query_branch --- PASS: TestViewSummaryBranchFromRun (0.00s) --- PASS: TestViewSummaryBranchFromRun/pull_request_event_same_repo (0.00s) --- PASS: TestViewSummaryBranchFromRun/pull_request_event_from_fork_prefixes_owner (0.00s) --- PASS: TestViewSummaryBranchFromRun/push_to_tag_does_not_query_branch (0.00s) === RUN TestConvertToViewModel --- PASS: TestConvertToViewModel (0.00s) === RUN TestConvertToViewModelCancellingTaskDoesNotRenderRunningSteps --- PASS: TestConvertToViewModelCancellingTaskDoesNotRenderRunningSteps (0.00s) === RUN TestPendingNeeds === RUN TestPendingNeeds/all_needs_done === RUN TestPendingNeeds/matrix_expansion_all_required === RUN TestPendingNeeds/unresolved_need_treated_as_pending === RUN TestPendingNeeds/parent_job_scope --- PASS: TestPendingNeeds (0.00s) --- PASS: TestPendingNeeds/all_needs_done (0.00s) --- PASS: TestPendingNeeds/matrix_expansion_all_required (0.00s) --- PASS: TestPendingNeeds/unresolved_need_treated_as_pending (0.00s) --- PASS: TestPendingNeeds/parent_job_scope (0.00s) PASS ok gitea.dev/routers/web/repo/actions 0.991s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1052414109/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1052414109/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1052414109/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1052414109/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1052414109/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1052414109/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1052414109/data/actions_artifacts === RUN TestAddReadOnlyDeployKey --- PASS: TestAddReadOnlyDeployKey (0.21s) === RUN TestAddReadWriteOnlyDeployKey --- PASS: TestAddReadWriteOnlyDeployKey (0.05s) === RUN TestCollaborationPost --- PASS: TestCollaborationPost (0.09s) === RUN TestCollaborationPost_InactiveUser --- PASS: TestCollaborationPost_InactiveUser (0.06s) === RUN TestCollaborationPost_AddCollaboratorTwice --- PASS: TestCollaborationPost_AddCollaboratorTwice (0.07s) === RUN TestCollaborationPost_NonExistentUser --- PASS: TestCollaborationPost_NonExistentUser (0.07s) === RUN TestAddTeamPost --- PASS: TestAddTeamPost (0.05s) === RUN TestAddTeamPost_NotAllowed --- PASS: TestAddTeamPost_NotAllowed (0.05s) === RUN TestAddTeamPost_AddTeamTwice --- PASS: TestAddTeamPost_AddTeamTwice (0.05s) === RUN TestAddTeamPost_NonExistentTeam --- PASS: TestAddTeamPost_NonExistentTeam (0.07s) === RUN TestDeleteTeam --- PASS: TestDeleteTeam (0.06s) === RUN TestHandleSettingsPostMirrorPreservesExistingUsername --- PASS: TestHandleSettingsPostMirrorPreservesExistingUsername (0.07s) === RUN TestWebhookMatrix --- PASS: TestWebhookMatrix (0.00s) PASS ok gitea.dev/routers/web/repo/setting 1.793s === RUN TestDeriveScopedStatusContexts === RUN TestDeriveScopedStatusContexts/jobs_x_events;_job_name_is_its_name:_or_its_id === RUN TestDeriveScopedStatusContexts/only_status-producing_events;_workflow_dispatch/schedule/workflow_call_skipped === RUN TestDeriveScopedStatusContexts/a_workflow_dispatch-only_workflow_has_no_expected_contexts --- PASS: TestDeriveScopedStatusContexts (0.00s) --- PASS: TestDeriveScopedStatusContexts/jobs_x_events;_job_name_is_its_name:_or_its_id (0.00s) --- PASS: TestDeriveScopedStatusContexts/only_status-producing_events;_workflow_dispatch/schedule/workflow_call_skipped (0.00s) --- PASS: TestDeriveScopedStatusContexts/a_workflow_dispatch-only_workflow_has_no_expected_contexts (0.00s) PASS ok gitea.dev/routers/web/shared/actions 0.171s ? gitea.dev/routers/web/shared/issue [no test files] ? gitea.dev/routers/web/shared/label [no test files] ? gitea.dev/routers/web/shared/mention [no test files] ? gitea.dev/routers/web/shared/packages [no test files] ? gitea.dev/routers/web/shared/project [no test files] ? gitea.dev/routers/web/shared/secrets [no test files] === RUN TestMakeSelfOnTop --- PASS: TestMakeSelfOnTop (0.00s) PASS ok gitea.dev/routers/web/shared/user 0.149s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2060171344/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2060171344/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2060171344/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2060171344/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2060171344/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2060171344/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2060171344/data/actions_artifacts === RUN TestArchivedIssues --- PASS: TestArchivedIssues (0.17s) === RUN TestIssues --- PASS: TestIssues (0.01s) === RUN TestPulls 2026/08/11 22:30:48 services/pull/pull.go:973:GetIssuesAllCommitStatus() [E] getAllCommitStatus: cant get commit statuses of pull [6]: object does not exist [id: refs/pull/2/head, rel_path: ] --- PASS: TestPulls (0.02s) === RUN TestMilestones --- PASS: TestMilestones (0.03s) === RUN TestMilestonesForSpecificRepo --- PASS: TestMilestonesForSpecificRepo (0.02s) === RUN TestDashboardPagination --- PASS: TestDashboardPagination (0.15s) === RUN TestFilterNotificationsByRepoAccess --- PASS: TestFilterNotificationsByRepoAccess (0.01s) PASS ok gitea.dev/routers/web/user 1.140s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-214594842/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-214594842/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-214594842/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-214594842/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-214594842/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-214594842/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-214594842/data/actions_artifacts === RUN TestChangePassword === RUN TestChangePassword/password__Qwerty123456- === RUN TestChangePassword/password__12345 === RUN TestChangePassword/12334__123456 === RUN TestChangePassword/password__123456 === RUN TestChangePassword/password__Qwerty === RUN TestChangePassword/password__Qwerty#01 === RUN TestChangePassword/password__QWERTY --- PASS: TestChangePassword (0.59s) --- PASS: TestChangePassword/password__Qwerty123456- (0.20s) --- PASS: TestChangePassword/password__12345 (0.09s) --- PASS: TestChangePassword/12334__123456 (0.08s) --- PASS: TestChangePassword/password__123456 (0.05s) --- PASS: TestChangePassword/password__Qwerty (0.05s) --- PASS: TestChangePassword/password__Qwerty#01 (0.06s) --- PASS: TestChangePassword/password__QWERTY (0.07s) PASS ok gitea.dev/routers/web/user/setting 1.350s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3020714300/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3020714300/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3020714300/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3020714300/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3020714300/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3020714300/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3020714300/data/actions_artifacts === RUN TestDeleteOpenIDReturnsNotFoundForOtherUsersAddress --- PASS: TestDeleteOpenIDReturnsNotFoundForOtherUsersAddress (0.17s) === RUN TestToggleOpenIDVisibilityReturnsNotFoundForOtherUsersAddress --- PASS: TestToggleOpenIDVisibilityReturnsNotFoundForOtherUsersAddress (0.06s) PASS ok gitea.dev/routers/web/user/setting/security 1.193s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4247698177/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4247698177/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4247698177/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4247698177/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4247698177/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4247698177/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-4247698177/data/actions_artifacts === RUN TestApproveRuns === RUN TestApproveRuns/approve_blocked_run 2026/08/11 22:30:48 .../actions/commit_status.go:39:CreateCommitStatusForRunJobs() [E] GetCommitStatusEventNameAndSHA: GetPushEventPayload: jsontext: unexpected EOF === RUN TestApproveRuns/re-approving_an_approved_run_is_a_no-op --- PASS: TestApproveRuns (0.17s) --- PASS: TestApproveRuns/approve_blocked_run (0.01s) --- PASS: TestApproveRuns/re-approving_an_approved_run_is_a_no-op (0.00s) === RUN TestCreateAuthorizationToken --- PASS: TestCreateAuthorizationToken (0.00s) === RUN TestParseAuthorizationToken --- PASS: TestParseAuthorizationToken (0.00s) === RUN TestParseAuthorizationTokenNoAuthHeader --- PASS: TestParseAuthorizationTokenNoAuthHeader (0.00s) === RUN TestShouldBlockJobByConcurrency_CancellingJobBlocks --- PASS: TestShouldBlockJobByConcurrency_CancellingJobBlocks (0.05s) === RUN TestShouldBlockRunByConcurrency_CancellingJobBlocks --- PASS: TestShouldBlockRunByConcurrency_CancellingJobBlocks (0.01s) === RUN TestStopEndlessTasksSkipsCancelling 2026/08/11 22:30:48 .../actions/run_attempt.go:134:UpdateRunAttempt() [W] run 0 cannot be updated by an old attempt 3 2026/08/11 22:30:48 .../actions/clear_tasks.go:157:stopTasks() [W] Cannot transfer logs of task 55: dbfs.Open "actions_log/": file does not exist 2026/08/11 22:30:48 .../actions/clear_tasks.go:157:stopTasks() [W] Cannot transfer logs of task 52: dbfs.Open "actions_log/artifact-test2/2f/47.log": file does not exist 2026/08/11 22:30:48 .../actions/clear_tasks.go:157:stopTasks() [W] Cannot transfer logs of task 51: dbfs.Open "actions_log/artifact-test2/2f/47.log": file does not exist 2026/08/11 22:30:48 .../actions/clear_tasks.go:157:stopTasks() [W] Cannot transfer logs of task 48: dbfs.Open "actions_log/artifact-test2/2f/47.log": file does not exist 2026/08/11 22:30:48 .../actions/clear_tasks.go:157:stopTasks() [W] Cannot transfer logs of task 47: dbfs.Open "actions_log/artifact-test2/2f/47.log": file does not exist 2026/08/11 22:30:48 .../actions/commit_status.go:39:CreateCommitStatusForRunJobs() [E] GetCommitStatusEventNameAndSHA: GetPushEventPayload: jsontext: unexpected EOF 2026/08/11 22:30:48 .../actions/commit_status.go:39:CreateCommitStatusForRunJobs() [E] GetCommitStatusEventNameAndSHA: GetPushEventPayload: jsontext: unexpected EOF 2026/08/11 22:30:48 .../actions/commit_status.go:39:CreateCommitStatusForRunJobs() [E] GetCommitStatusEventNameAndSHA: GetPushEventPayload: jsontext: unexpected EOF 2026/08/11 22:30:48 .../actions/commit_status.go:39:CreateCommitStatusForRunJobs() [E] GetCommitStatusEventNameAndSHA: GetPushEventPayload: jsontext: unexpected EOF --- PASS: TestStopEndlessTasksSkipsCancelling (0.06s) === RUN TestCommitStatusDescription --- PASS: TestCommitStatusDescription (0.00s) === RUN TestCreateCommitStatus_Dedupe --- PASS: TestCreateCommitStatus_Dedupe (0.06s) === RUN TestGetCommitActionsStatusMap --- PASS: TestGetCommitActionsStatusMap (0.04s) === RUN TestCreateCommitStatus_DistinctWorkflowFilesSameName --- PASS: TestCreateCommitStatus_DistinctWorkflowFilesSameName (0.02s) === RUN TestCreateCommitStatus_LegacyHashRecovery --- PASS: TestCreateCommitStatus_LegacyHashRecovery (0.02s) === RUN TestCreateCommitStatus_LegacyHashExternalNotAdopted --- PASS: TestCreateCommitStatus_LegacyHashExternalNotAdopted (0.02s) === RUN TestCreateCommitStatus_UnnamedWorkflowUsesFileName --- PASS: TestCreateCommitStatus_UnnamedWorkflowUsesFileName (0.02s) === RUN TestCreateCommitStatus_ScopedSourcePrefix --- PASS: TestCreateCommitStatus_ScopedSourcePrefix (0.02s) === RUN TestEvaluateRunConcurrency_RunIDFallback --- PASS: TestEvaluateRunConcurrency_RunIDFallback (0.01s) === RUN TestPrepareRunAndInsert_ExpressionsSeeRunID 2026/08/11 22:30:48 .../actions/commit_status.go:39:CreateCommitStatusForRunJobs() [E] GetCommitStatusEventNameAndSHA: head commit is missing in event payload 2026/08/11 22:30:48 .../actions/commit_status.go:39:CreateCommitStatusForRunJobs() [E] GetCommitStatusEventNameAndSHA: head commit is missing in event payload --- PASS: TestPrepareRunAndInsert_ExpressionsSeeRunID (0.02s) === RUN TestComputeReusableCallerOutputs === RUN TestComputeReusableCallerOutputs/returns_empty_when_callee_declares_no_outputs === RUN TestComputeReusableCallerOutputs/unexpanded_(skipped)_caller_yields_empty_outputs_without_error === RUN TestComputeReusableCallerOutputs/literal_output_value_passes_through === RUN TestComputeReusableCallerOutputs/output_expression_reads_child_task_outputs === RUN TestComputeReusableCallerOutputs/CallPayload_inputs_reachable_in_output_expression === RUN TestComputeReusableCallerOutputs/nested_caller_outputs_propagate_to_outer === RUN TestComputeReusableCallerOutputs/matrix_children_with_same_JobID_prefer_non-empty_values --- PASS: TestComputeReusableCallerOutputs (0.04s) --- PASS: TestComputeReusableCallerOutputs/returns_empty_when_callee_declares_no_outputs (0.00s) --- PASS: TestComputeReusableCallerOutputs/unexpanded_(skipped)_caller_yields_empty_outputs_without_error (0.00s) --- PASS: TestComputeReusableCallerOutputs/literal_output_value_passes_through (0.00s) --- PASS: TestComputeReusableCallerOutputs/output_expression_reads_child_task_outputs (0.00s) --- PASS: TestComputeReusableCallerOutputs/CallPayload_inputs_reachable_in_output_expression (0.00s) --- PASS: TestComputeReusableCallerOutputs/nested_caller_outputs_propagate_to_outer (0.01s) --- PASS: TestComputeReusableCallerOutputs/matrix_children_with_same_JobID_prefer_non-empty_values (0.01s) === RUN TestFindTaskNeeds --- PASS: TestFindTaskNeeds (0.00s) === RUN TestGenerateGiteaContextPullRequestTarget --- PASS: TestGenerateGiteaContextPullRequestTarget (0.00s) === RUN TestGenerateGiteaContext_NilAttempt --- PASS: TestGenerateGiteaContext_NilAttempt (0.00s) === RUN TestInitToken === RUN TestInitToken/NoToken === RUN TestInitToken/EnvToken === RUN TestInitToken/EnvFileToken === RUN TestInitToken/InvalidToken --- PASS: TestInitToken (0.01s) --- PASS: TestInitToken/NoToken (0.00s) --- PASS: TestInitToken/EnvToken (0.00s) --- PASS: TestInitToken/EnvFileToken (0.00s) --- PASS: TestInitToken/InvalidToken (0.00s) === RUN Test_jobStatusResolver_Resolve === RUN Test_jobStatusResolver_Resolve/no_blocked === RUN Test_jobStatusResolver_Resolve/single_blocked === RUN Test_jobStatusResolver_Resolve/multiple_blocked === RUN Test_jobStatusResolver_Resolve/chain_blocked === RUN Test_jobStatusResolver_Resolve/loop_need === RUN Test_jobStatusResolver_Resolve/`if`_is_not_empty_and_all_jobs_in_`needs`_completed_successfully === RUN Test_jobStatusResolver_Resolve/`if`_is_not_empty_and_not_all_jobs_in_`needs`_completed_successfully === RUN Test_jobStatusResolver_Resolve/`if`_is_empty_and_not_all_jobs_in_`needs`_completed_successfully === RUN Test_jobStatusResolver_Resolve/`if`_is_empty_and_a_failed_need_has_continue-on-error --- PASS: Test_jobStatusResolver_Resolve (0.02s) --- PASS: Test_jobStatusResolver_Resolve/no_blocked (0.00s) --- PASS: Test_jobStatusResolver_Resolve/single_blocked (0.00s) --- PASS: Test_jobStatusResolver_Resolve/multiple_blocked (0.00s) --- PASS: Test_jobStatusResolver_Resolve/chain_blocked (0.00s) --- PASS: Test_jobStatusResolver_Resolve/loop_need (0.00s) --- PASS: Test_jobStatusResolver_Resolve/`if`_is_not_empty_and_all_jobs_in_`needs`_completed_successfully (0.00s) --- PASS: Test_jobStatusResolver_Resolve/`if`_is_not_empty_and_not_all_jobs_in_`needs`_completed_successfully (0.00s) --- PASS: Test_jobStatusResolver_Resolve/`if`_is_empty_and_not_all_jobs_in_`needs`_completed_successfully (0.01s) --- PASS: Test_jobStatusResolver_Resolve/`if`_is_empty_and_a_failed_need_has_continue-on-error (0.00s) === RUN Test_checkRunConcurrency_NoDuplicateConcurrencyGroupCheck --- PASS: Test_checkRunConcurrency_NoDuplicateConcurrencyGroupCheck (0.01s) === RUN Test_checkJobsOfCurrentRunAttempt_RunLevelConcurrencyKeepsJobsBlocked --- PASS: Test_checkJobsOfCurrentRunAttempt_RunLevelConcurrencyKeepsJobsBlocked (0.01s) === RUN Test_checkRunConcurrency_HeldGroupDoesNotWake --- PASS: Test_checkRunConcurrency_HeldGroupDoesNotWake (0.01s) === RUN Test_findConcurrencyWaiterToWake --- PASS: Test_findConcurrencyWaiterToWake (0.01s) === RUN TestIfNeedApproval === RUN TestIfNeedApproval/not_a_fork_PR_never_needs_approval === RUN TestIfNeedApproval/pull_request_target_never_needs_approval_even_when_fork === RUN TestIfNeedApproval/restricted_user_always_needs_approval === RUN TestIfNeedApproval/fork_PR_with_write_permission_does_not_need_approval === RUN TestIfNeedApproval/fork_PR_with_merged_PR_but_no_write_permission_does_not_need_approval === RUN TestIfNeedApproval/fork_PR_with_no_write_and_no_merged_PR_needs_approval === RUN TestIfNeedApproval/canWriteActions_error_is_propagated === RUN TestIfNeedApproval/hasMergedPR_error_is_propagated === RUN TestIfNeedApproval/restricted_user_skips_permission_check_entirely --- PASS: TestIfNeedApproval (0.00s) --- PASS: TestIfNeedApproval/not_a_fork_PR_never_needs_approval (0.00s) --- PASS: TestIfNeedApproval/pull_request_target_never_needs_approval_even_when_fork (0.00s) --- PASS: TestIfNeedApproval/restricted_user_always_needs_approval (0.00s) --- PASS: TestIfNeedApproval/fork_PR_with_write_permission_does_not_need_approval (0.00s) --- PASS: TestIfNeedApproval/fork_PR_with_merged_PR_but_no_write_permission_does_not_need_approval (0.00s) --- PASS: TestIfNeedApproval/fork_PR_with_no_write_and_no_merged_PR_needs_approval (0.00s) --- PASS: TestIfNeedApproval/canWriteActions_error_is_propagated (0.00s) --- PASS: TestIfNeedApproval/hasMergedPR_error_is_propagated (0.00s) --- PASS: TestIfNeedApproval/restricted_user_skips_permission_check_entirely (0.00s) === RUN TestParseRawPermissions_ReadAll --- PASS: TestParseRawPermissions_ReadAll (0.00s) === RUN TestParseRawPermissions_GithubScopes --- PASS: TestParseRawPermissions_GithubScopes (0.00s) === RUN TestParseRawPermissions_WriteAll --- PASS: TestParseRawPermissions_WriteAll (0.00s) === RUN TestParseRawPermissions_IndividualScopes --- PASS: TestParseRawPermissions_IndividualScopes (0.00s) === RUN TestParseRawPermissions_Priority === RUN TestParseRawPermissions_Priority/granular-wins-over-contents === RUN TestParseRawPermissions_Priority/contents-applied-first --- PASS: TestParseRawPermissions_Priority (0.00s) --- PASS: TestParseRawPermissions_Priority/granular-wins-over-contents (0.00s) --- PASS: TestParseRawPermissions_Priority/contents-applied-first (0.00s) === RUN TestParseRawPermissions_EmptyNode --- PASS: TestParseRawPermissions_EmptyNode (0.00s) === RUN TestParseRawPermissions_NilNode --- PASS: TestParseRawPermissions_NilNode (0.00s) === RUN TestParseAccessMode === RUN TestParseAccessMode/write === RUN TestParseAccessMode/read === RUN TestParseAccessMode/none === RUN TestParseAccessMode/#00 === RUN TestParseAccessMode/invalid --- PASS: TestParseAccessMode (0.00s) --- PASS: TestParseAccessMode/write (0.00s) --- PASS: TestParseAccessMode/read (0.00s) --- PASS: TestParseAccessMode/none (0.00s) --- PASS: TestParseAccessMode/#00 (0.00s) --- PASS: TestParseAccessMode/invalid (0.00s) === RUN TestExtractJobPermissionsFromWorkflow === RUN TestExtractJobPermissionsFromWorkflow/job-read-only === RUN TestExtractJobPermissionsFromWorkflow/job-none-perms === RUN TestExtractJobPermissionsFromWorkflow/job-override --- PASS: TestExtractJobPermissionsFromWorkflow (0.00s) --- PASS: TestExtractJobPermissionsFromWorkflow/job-read-only (0.00s) --- PASS: TestExtractJobPermissionsFromWorkflow/job-none-perms (0.00s) --- PASS: TestExtractJobPermissionsFromWorkflow/job-override (0.00s) === RUN TestGetFailedJobsForRerun === RUN TestGetFailedJobsForRerun/no_failed_jobs_returns_empty === RUN TestGetFailedJobsForRerun/single_failed_job_with_no_dependents === RUN TestGetFailedJobsForRerun/failed_job_does_not_pull_in_downstream_dependents === RUN TestGetFailedJobsForRerun/multiple_failed_jobs_are_returned_directly === RUN TestGetFailedJobsForRerun/shared_downstream_dependent_is_not_included === RUN TestGetFailedJobsForRerun/successful_downstream_job_of_a_failed_job_is_not_included --- PASS: TestGetFailedJobsForRerun (0.00s) --- PASS: TestGetFailedJobsForRerun/no_failed_jobs_returns_empty (0.00s) --- PASS: TestGetFailedJobsForRerun/single_failed_job_with_no_dependents (0.00s) --- PASS: TestGetFailedJobsForRerun/failed_job_does_not_pull_in_downstream_dependents (0.00s) --- PASS: TestGetFailedJobsForRerun/multiple_failed_jobs_are_returned_directly (0.00s) --- PASS: TestGetFailedJobsForRerun/shared_downstream_dependent_is_not_included (0.00s) --- PASS: TestGetFailedJobsForRerun/successful_downstream_job_of_a_failed_job_is_not_included (0.00s) === RUN TestCloneRunJobForAttempt === RUN TestCloneRunJobForAttempt/preserves_continue-on-error === RUN TestCloneRunJobForAttempt/defaults_to_false_when_template_has_it_unset --- PASS: TestCloneRunJobForAttempt (0.00s) --- PASS: TestCloneRunJobForAttempt/preserves_continue-on-error (0.00s) --- PASS: TestCloneRunJobForAttempt/defaults_to_false_when_template_has_it_unset (0.00s) === RUN TestRerunValidation === RUN TestRerunValidation/RerunWorkflowRunJobs_rejects_a_non-done_run === RUN TestRerunValidation/RerunWorkflowRunJobs_rejects_a_non-done_run_when_failed_jobs_exist --- PASS: TestRerunValidation (0.00s) --- PASS: TestRerunValidation/RerunWorkflowRunJobs_rejects_a_non-done_run (0.00s) --- PASS: TestRerunValidation/RerunWorkflowRunJobs_rejects_a_non-done_run_when_failed_jobs_exist (0.00s) === RUN TestRerunPlan === RUN TestRerunPlan/ExpandRerunJobIDs === RUN TestRerunPlan/ExpandRerunJobIDs/empty_jobsToRerun_reruns_every_template_job,_no_ancestors === RUN TestRerunPlan/ExpandRerunJobIDs/same-scope_downstream_BFS_pulls_in_dependents === RUN TestRerunPlan/ExpandRerunJobIDs/rerun_a_deep_child_escalates_across_reusable_scopes === RUN TestRerunPlan/ExpandRerunJobIDs/rerun_a_top-level_caller_resets_only_itself_and_same-scope_dependents === RUN TestRerunPlan/ExpandRerunJobIDs/rerun_a_nested_caller_escalates_one_level === RUN TestRerunPlan/ExpandRerunJobIDs/selecting_one_same-name_job_leaves_the_other-scope_same-name_job_alone === RUN TestRerunPlan/ExpandRerunJobIDs/a_caller_is_rerun_when_a_sibling_it_needs_is_selected === RUN TestRerunPlan/ExpandRerunJobIDs/multiple_selections_converge === RUN TestRerunPlan/CollectResetCallerDescendants === RUN TestRerunPlan/CollectResetCallerDescendants/non-caller_in_reset_set_is_ignored === RUN TestRerunPlan/CollectResetCallerDescendants/caller_in_reset_set_returns_transitive_descendants === RUN TestRerunPlan/CollectResetCallerDescendants/multiple_reset_callers_union_their_descendants === RUN TestRerunPlan/CollectResetCallerDescendants/nested-only_reset_returns_just_the_nested_subtree === RUN TestRerunPlan/HasRerunDependency === RUN TestRerunPlan/HasRerunDependency/no_needs_returns_false === RUN TestRerunPlan/HasRerunDependency/dependency_in_rerun_set_returns_true === RUN TestRerunPlan/HasRerunDependency/dependency_in_ancestor_set_returns_true === RUN TestRerunPlan/HasRerunDependency/dependency_on_unrelated_sibling_returns_false === RUN TestRerunPlan/HasRerunDependency/scope-bound:_same_JobID_in_another_scope_does_not_match --- PASS: TestRerunPlan (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/empty_jobsToRerun_reruns_every_template_job,_no_ancestors (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/same-scope_downstream_BFS_pulls_in_dependents (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/rerun_a_deep_child_escalates_across_reusable_scopes (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/rerun_a_top-level_caller_resets_only_itself_and_same-scope_dependents (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/rerun_a_nested_caller_escalates_one_level (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/selecting_one_same-name_job_leaves_the_other-scope_same-name_job_alone (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/a_caller_is_rerun_when_a_sibling_it_needs_is_selected (0.00s) --- PASS: TestRerunPlan/ExpandRerunJobIDs/multiple_selections_converge (0.00s) --- PASS: TestRerunPlan/CollectResetCallerDescendants (0.00s) --- PASS: TestRerunPlan/CollectResetCallerDescendants/non-caller_in_reset_set_is_ignored (0.00s) --- PASS: TestRerunPlan/CollectResetCallerDescendants/caller_in_reset_set_returns_transitive_descendants (0.00s) --- PASS: TestRerunPlan/CollectResetCallerDescendants/multiple_reset_callers_union_their_descendants (0.00s) --- PASS: TestRerunPlan/CollectResetCallerDescendants/nested-only_reset_returns_just_the_nested_subtree (0.00s) --- PASS: TestRerunPlan/HasRerunDependency (0.00s) --- PASS: TestRerunPlan/HasRerunDependency/no_needs_returns_false (0.00s) --- PASS: TestRerunPlan/HasRerunDependency/dependency_in_rerun_set_returns_true (0.00s) --- PASS: TestRerunPlan/HasRerunDependency/dependency_in_ancestor_set_returns_true (0.00s) --- PASS: TestRerunPlan/HasRerunDependency/dependency_on_unrelated_sibling_returns_false (0.00s) --- PASS: TestRerunPlan/HasRerunDependency/scope-bound:_same_JobID_in_another_scope_does_not_match (0.00s) === RUN TestCheckCallerChain_Cycle === RUN TestCheckCallerChain_Cycle/DirectCycle === RUN TestCheckCallerChain_Cycle/IndirectCycle === RUN TestCheckCallerChain_Cycle/NoCycle --- PASS: TestCheckCallerChain_Cycle (0.01s) --- PASS: TestCheckCallerChain_Cycle/DirectCycle (0.00s) --- PASS: TestCheckCallerChain_Cycle/IndirectCycle (0.01s) --- PASS: TestCheckCallerChain_Cycle/NoCycle (0.01s) === RUN TestCheckCallerChain_DepthLimit === RUN TestCheckCallerChain_DepthLimit/ExactlyAtLimit === RUN TestCheckCallerChain_DepthLimit/OneOverLimit --- PASS: TestCheckCallerChain_DepthLimit (0.02s) --- PASS: TestCheckCallerChain_DepthLimit/ExactlyAtLimit (0.01s) --- PASS: TestCheckCallerChain_DepthLimit/OneOverLimit (0.01s) === RUN TestResolveUses === RUN TestResolveUses/LocalForms === RUN TestResolveUses/DirectoryAllowlist === RUN TestResolveUses/ConfigurableWorkflowDirs === RUN TestResolveUses/LocalInstanceURL === RUN TestResolveUses/InvalidSyntax === RUN TestResolveUses/ForeignURL --- PASS: TestResolveUses (0.00s) --- PASS: TestResolveUses/LocalForms (0.00s) --- PASS: TestResolveUses/DirectoryAllowlist (0.00s) --- PASS: TestResolveUses/ConfigurableWorkflowDirs (0.00s) --- PASS: TestResolveUses/LocalInstanceURL (0.00s) --- PASS: TestResolveUses/InvalidSyntax (0.00s) --- PASS: TestResolveUses/ForeignURL (0.00s) === RUN TestCheckRunJobLimit --- PASS: TestCheckRunJobLimit (0.01s) === RUN TestUndoExpansion --- PASS: TestUndoExpansion (0.00s) === RUN TestWithScheduleInEventPayload === RUN TestWithScheduleInEventPayload/adds_schedule_to_existing_payload === RUN TestWithScheduleInEventPayload/adds_schedule_to_null_payload === RUN TestWithScheduleInEventPayload/adds_schedule_to_empty_payload === RUN TestWithScheduleInEventPayload/adds_schedule_with_repository,_sender,_organization === RUN TestWithScheduleInEventPayload/keeps_payload_when_schedule_empty === RUN TestWithScheduleInEventPayload/keeps_payload_when_malformed_JSON --- PASS: TestWithScheduleInEventPayload (0.00s) --- PASS: TestWithScheduleInEventPayload/adds_schedule_to_existing_payload (0.00s) --- PASS: TestWithScheduleInEventPayload/adds_schedule_to_null_payload (0.00s) --- PASS: TestWithScheduleInEventPayload/adds_schedule_to_empty_payload (0.00s) --- PASS: TestWithScheduleInEventPayload/adds_schedule_with_repository,_sender,_organization (0.00s) --- PASS: TestWithScheduleInEventPayload/keeps_payload_when_schedule_empty (0.00s) --- PASS: TestWithScheduleInEventPayload/keeps_payload_when_malformed_JSON (0.00s) === RUN TestTryPickTaskThrottled 2026/08/11 22:30:48 .../actions/schedule_tasks.go:166:withScheduleInEventPayload() [E] withScheduleInEventPayload: unmarshal: jsontext: invalid character 'o' in literal null (expecting 'u') after offset 1 --- PASS: TestTryPickTaskThrottled (0.00s) === RUN TestReleaseTaskForRunnerCleanup --- PASS: TestReleaseTaskForRunnerCleanup (0.07s) === RUN TestCoerceDispatchInputTypes --- PASS: TestCoerceDispatchInputTypes (0.00s) PASS ok gitea.dev/services/actions 1.563s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-47216482/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-47216482/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-47216482/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-47216482/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-47216482/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-47216482/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-47216482/data/actions_artifacts === RUN TestParseAgitPushOptionValue --- PASS: TestParseAgitPushOptionValue (0.00s) === RUN TestGetAgitBranchInfo --- PASS: TestGetAgitBranchInfo (0.12s) PASS ok gitea.dev/services/agit 0.904s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2786616562/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2786616562/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2786616562/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2786616562/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2786616562/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2786616562/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2786616562/data/actions_artifacts === RUN TestParseCommitWithSSHSignature === RUN TestParseCommitWithSSHSignature/UserSSHKey === RUN TestParseCommitWithSSHSignature/TrustedSSHKey --- PASS: TestParseCommitWithSSHSignature (0.13s) --- PASS: TestParseCommitWithSSHSignature/UserSSHKey (0.00s) --- PASS: TestParseCommitWithSSHSignature/TrustedSSHKey (0.00s) === RUN TestUserHasPubkeys === RUN TestUserHasPubkeys/AllowUserWithGPGKey === RUN TestUserHasPubkeys/AllowUserWithSSHKey === RUN TestUserHasPubkeys/DenyUserWithNoKeys --- PASS: TestUserHasPubkeys (0.00s) --- PASS: TestUserHasPubkeys/AllowUserWithGPGKey (0.00s) --- PASS: TestUserHasPubkeys/AllowUserWithSSHKey (0.00s) --- PASS: TestUserHasPubkeys/DenyUserWithNoKeys (0.00s) === RUN TestAddLdapSSHPublicKeys --- PASS: TestAddLdapSSHPublicKeys (0.02s) PASS ok gitea.dev/services/asymkey 0.863s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3534453382/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3534453382/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3534453382/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3534453382/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3534453382/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3534453382/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3534453382/data/actions_artifacts === RUN TestUploadAttachment --- PASS: TestUploadAttachment (0.12s) PASS ok gitea.dev/services/attachment 0.948s 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1135089987/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1135089987/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1135089987/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1135089987/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1135089987/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1135089987/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1135089987/data/actions_artifacts === RUN TestCheckAuthToken === RUN TestCheckAuthToken/Empty === RUN TestCheckAuthToken/InvalidFormat === RUN TestCheckAuthToken/NotFound === RUN TestCheckAuthToken/Expired === RUN TestCheckAuthToken/InvalidHash === RUN TestCheckAuthToken/Valid --- PASS: TestCheckAuthToken (0.12s) --- PASS: TestCheckAuthToken/Empty (0.00s) --- PASS: TestCheckAuthToken/InvalidFormat (0.00s) --- PASS: TestCheckAuthToken/NotFound (0.00s) --- PASS: TestCheckAuthToken/Expired (0.00s) --- PASS: TestCheckAuthToken/InvalidHash (0.00s) --- PASS: TestCheckAuthToken/Valid (0.00s) === RUN TestRegenerateAuthToken --- PASS: TestRegenerateAuthToken (0.00s) === RUN TestUserIDFromToken === RUN TestUserIDFromToken/Actions_JWT --- PASS: TestUserIDFromToken (0.00s) --- PASS: TestUserIDFromToken/Actions_JWT (0.00s) === RUN TestCheckTaskIsRunning === RUN TestCheckTaskIsRunning/Running === RUN TestCheckTaskIsRunning/Missing === RUN TestCheckTaskIsRunning/Cancelled --- PASS: TestCheckTaskIsRunning (0.00s) --- PASS: TestCheckTaskIsRunning/Running (0.00s) --- PASS: TestCheckTaskIsRunning/Missing (0.00s) --- PASS: TestCheckTaskIsRunning/Cancelled (0.00s) PASS ok gitea.dev/services/auth 0.799s ? gitea.dev/services/auth/source [no test files] testing: warning: no tests to run PASS ok gitea.dev/services/auth/source/db 0.211s [no tests to run] testing: warning: no tests to run PASS ok gitea.dev/services/auth/source/ldap 0.386s [no tests to run] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3536756445/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3536756445/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3536756445/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3536756445/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3536756445/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3536756445/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3536756445/data/actions_artifacts === RUN TestSource === RUN TestSource/refresh === RUN TestSource/refresh/valid === RUN TestSource/refresh/expired 2026/08/11 22:30:48 .../oauth2/source_sync.go:76:(*Source).refresh.1() [I] SyncExternalUsers[fake] disabling user 43 --- PASS: TestSource (0.12s) --- PASS: TestSource/refresh (0.00s) --- PASS: TestSource/refresh/valid (0.00s) --- PASS: TestSource/refresh/expired (0.00s) PASS ok gitea.dev/services/auth/source/oauth2 0.901s testing: warning: no tests to run PASS ok gitea.dev/services/auth/source/pam 0.192s [no tests to run] testing: warning: no tests to run PASS ok gitea.dev/services/auth/source/smtp 0.336s [no tests to run] testing: warning: no tests to run PASS ok gitea.dev/services/auth/source/sspi 0.020s [no tests to run] ? gitea.dev/services/automerge [no test files] ? gitea.dev/services/automergequeue [no test files] === RUN TestAccessLogger --- PASS: TestAccessLogger (0.00s) === RUN TestAccessLoggerRequestID --- PASS: TestAccessLoggerRequestID (0.00s) === RUN TestGenAPILinks --- PASS: TestGenAPILinks (0.00s) === RUN TestRedirect --- PASS: TestRedirect (0.00s) === RUN TestRemoveSessionCookieHeader --- PASS: TestRemoveSessionCookieHeader (0.00s) === RUN TestRedirectToCurrentSite === RUN TestRedirectToCurrentSite// === RUN TestRedirectToCurrentSite/http://localhost:3000/sub?k=v === RUN TestRedirectToCurrentSite/http://other --- PASS: TestRedirectToCurrentSite (0.00s) --- PASS: TestRedirectToCurrentSite// (0.00s) --- PASS: TestRedirectToCurrentSite/http://localhost:3000/sub?k=v (0.00s) --- PASS: TestRedirectToCurrentSite/http://other (0.00s) === RUN TestAppFullLink --- PASS: TestAppFullLink (0.00s) === RUN TestPagination --- PASS: TestPagination (0.00s) PASS ok gitea.dev/services/context 0.300s === RUN TestUpload --- PASS: TestUpload (0.00s) PASS ok gitea.dev/services/context/upload 0.322s ? gitea.dev/services/contexttest [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-299847499/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-299847499/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-299847499/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-299847499/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-299847499/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-299847499/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-299847499/data/actions_artifacts === RUN TestGetActionWorkflow_FallbackRef === RUN TestGetActionWorkflow_FallbackRef/returns_error_when_workflow_only_on_non-default_branch === RUN TestGetActionWorkflow_FallbackRef/returns_workflow_when_found_via_ref === RUN TestGetActionWorkflow_FallbackRef/returns_workflow_when_found_via_pull_ref === RUN TestGetActionWorkflow_FallbackRef/returns_workflow_with_tag_link_when_found_via_tag_ref === RUN TestGetActionWorkflow_FallbackRef/returns_error_when_workflow_missing_from_ref --- PASS: TestGetActionWorkflow_FallbackRef (0.06s) --- PASS: TestGetActionWorkflow_FallbackRef/returns_error_when_workflow_only_on_non-default_branch (0.01s) --- PASS: TestGetActionWorkflow_FallbackRef/returns_workflow_when_found_via_ref (0.02s) --- PASS: TestGetActionWorkflow_FallbackRef/returns_workflow_when_found_via_pull_ref (0.00s) --- PASS: TestGetActionWorkflow_FallbackRef/returns_workflow_with_tag_link_when_found_via_tag_ref (0.00s) --- PASS: TestGetActionWorkflow_FallbackRef/returns_error_when_workflow_missing_from_ref (0.00s) === RUN TestToActionWorkflowRun_UsesTriggerEvent --- PASS: TestToActionWorkflowRun_UsesTriggerEvent (0.13s) === RUN TestToActionWorkflowJob_StepStatusIsIndependentOfJobStatus --- PASS: TestToActionWorkflowJob_StepStatusIsIndependentOfJobStatus (0.02s) === RUN TestToActionsStatus_Cancelling --- PASS: TestToActionsStatus_Cancelling (0.00s) === RUN TestToWorkflowRunAction_Cancelling --- PASS: TestToWorkflowRunAction_Cancelling (0.00s) === RUN TestToCommitMeta --- PASS: TestToCommitMeta (0.00s) === RUN TestLabel_ToLabel --- PASS: TestLabel_ToLabel (0.00s) === RUN TestMilestone_APIFormat --- PASS: TestMilestone_APIFormat (0.00s) === RUN TestToStopWatchesRespectsPermissions --- PASS: TestToStopWatchesRespectsPermissions (0.01s) === RUN TestToTrackedTime === RUN TestToTrackedTime/NilIssues === RUN TestToTrackedTime/NilRepo === RUN TestToTrackedTime/ToRegularUser === RUN TestToTrackedTime/ToAdminUser --- PASS: TestToTrackedTime (0.02s) --- PASS: TestToTrackedTime/NilIssues (0.00s) --- PASS: TestToTrackedTime/NilRepo (0.00s) --- PASS: TestToTrackedTime/ToRegularUser (0.01s) --- PASS: TestToTrackedTime/ToAdminUser (0.01s) === RUN TestToNotificationThreadIncludesRepoForAccessibleUser --- PASS: TestToNotificationThreadIncludesRepoForAccessibleUser (0.01s) === RUN TestToNotificationThreadOmitsRepoWhenAccessRevoked --- PASS: TestToNotificationThreadOmitsRepoWhenAccessRevoked (0.01s) === RUN TestToNotificationThreadOmitsSubjectWhenAccessRevoked --- PASS: TestToNotificationThreadOmitsSubjectWhenAccessRevoked (0.00s) === RUN TestToNotificationThread === RUN TestToNotificationThread/issue_notification === RUN TestToNotificationThread/pinned_notification === RUN TestToNotificationThread/merged_pull_request_returns_merged_state === RUN TestToNotificationThread/open_pull_request_returns_open_state --- PASS: TestToNotificationThread (0.04s) --- PASS: TestToNotificationThread/issue_notification (0.02s) --- PASS: TestToNotificationThread/pinned_notification (0.01s) --- PASS: TestToNotificationThread/merged_pull_request_returns_merged_state (0.00s) --- PASS: TestToNotificationThread/open_pull_request_returns_open_state (0.00s) === RUN Test_ToPullReview === RUN Test_ToPullReview/Anonymous_User === RUN Test_ToPullReview/Reviewer_Himself === RUN Test_ToPullReview/Other_User === RUN Test_ToPullReview/Admin_User --- PASS: Test_ToPullReview (0.02s) --- PASS: Test_ToPullReview/Anonymous_User (0.00s) --- PASS: Test_ToPullReview/Reviewer_Himself (0.01s) --- PASS: Test_ToPullReview/Other_User (0.00s) --- PASS: Test_ToPullReview/Admin_User (0.00s) === RUN TestPullRequest_APIFormat --- PASS: TestPullRequest_APIFormat (0.06s) === RUN TestRelease_ToRelease --- PASS: TestRelease_ToRelease (0.01s) === RUN TestUser_ToUser --- PASS: TestUser_ToUser (0.01s) === RUN TestToCorrectPageSize --- PASS: TestToCorrectPageSize (0.00s) === RUN TestToGitServiceType --- PASS: TestToGitServiceType (0.00s) PASS ok gitea.dev/services/convert 1.190s === RUN Test_GCLFSConfig --- PASS: Test_GCLFSConfig (0.00s) === RUN TestAddTaskToScheduler --- PASS: TestAddTaskToScheduler (0.00s) === RUN TestScheduleHasSeconds === RUN TestScheduleHasSeconds/0 === RUN TestScheduleHasSeconds/1 === RUN TestScheduleHasSeconds/2 === RUN TestScheduleHasSeconds/3 === RUN TestScheduleHasSeconds/4 === RUN TestScheduleHasSeconds/5 === RUN TestScheduleHasSeconds/6 --- PASS: TestScheduleHasSeconds (0.00s) --- PASS: TestScheduleHasSeconds/0 (0.00s) --- PASS: TestScheduleHasSeconds/1 (0.00s) --- PASS: TestScheduleHasSeconds/2 (0.00s) --- PASS: TestScheduleHasSeconds/3 (0.00s) --- PASS: TestScheduleHasSeconds/4 (0.00s) --- PASS: TestScheduleHasSeconds/5 (0.00s) --- PASS: TestScheduleHasSeconds/6 (0.00s) PASS ok gitea.dev/services/cron 0.296s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1072004815/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1072004815/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1072004815/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1072004815/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1072004815/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1072004815/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1072004815/data/actions_artifacts === RUN TestConsistencyCheck 2026/08/11 22:30:48 .../doctor/dbconsistency.go:48:(*consistencyCheck).Run() [I] Deleted 1 Orphaned OAuth2Application without existing User --- PASS: TestConsistencyCheck (0.01s) PASS ok gitea.dev/services/doctor 0.797s ? gitea.dev/services/externalaccount [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1323629164/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1323629164/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1323629164/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1323629164/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1323629164/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1323629164/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1323629164/data/actions_artifacts === RUN TestGetFeeds --- PASS: TestGetFeeds (0.13s) === RUN TestGetFeedsForRepos --- PASS: TestGetFeedsForRepos (0.02s) === RUN TestGetFeeds2 --- PASS: TestGetFeeds2 (0.01s) === RUN TestGetFeedsCorrupted --- PASS: TestGetFeedsCorrupted (0.00s) === RUN TestRepoActions --- PASS: TestRepoActions (0.01s) === RUN TestNotifyWatchers --- PASS: TestNotifyWatchers (0.01s) === RUN TestRenameRepoAction --- PASS: TestRenameRepoAction (0.01s) PASS ok gitea.dev/services/feed 0.875s === RUN TestSubmitReviewForm_IsEmpty --- PASS: TestSubmitReviewForm_IsEmpty (0.00s) === RUN TestMergePullRequestForm === RUN TestMergePullRequestForm/NewFields === RUN TestMergePullRequestForm/OldFields --- PASS: TestMergePullRequestForm (0.00s) --- PASS: TestMergePullRequestForm/NewFields (0.00s) --- PASS: TestMergePullRequestForm/OldFields (0.00s) === RUN TestRegisterForm_IsDomainAllowed_Empty --- PASS: TestRegisterForm_IsDomainAllowed_Empty (0.00s) === RUN TestRegisterForm_IsDomainAllowed_InvalidEmail --- PASS: TestRegisterForm_IsDomainAllowed_InvalidEmail (0.00s) === RUN TestRegisterForm_IsDomainAllowed_AllowedEmail --- PASS: TestRegisterForm_IsDomainAllowed_AllowedEmail (0.00s) === RUN TestRegisterForm_IsDomainAllowed_BlockedEmail --- PASS: TestRegisterForm_IsDomainAllowed_BlockedEmail (0.00s) === RUN TestDetectInvalidOAuth2ApplicationRedirectURI --- PASS: TestDetectInvalidOAuth2ApplicationRedirectURI (0.00s) PASS ok gitea.dev/services/forms 0.285s ? gitea.dev/services/git [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-893289928/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-893289928/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-893289928/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-893289928/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-893289928/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-893289928/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-893289928/data/actions_artifacts === RUN TestCSVDiff --- PASS: TestCSVDiff (0.00s) === RUN TestGitDiffTree === RUN TestGitDiffTree/happy_path === RUN TestGitDiffTree/first_commit_(no_parent) === RUN TestGitDiffTree/first_commit_(no_parent),_merge_base_=_true === RUN TestGitDiffTree/base_and_head_same === RUN TestGitDiffTree/useMergeBase_false === RUN TestGitDiffTree/useMergeBase_true === RUN TestGitDiffTree/no_base_set --- PASS: TestGitDiffTree (0.06s) --- PASS: TestGitDiffTree/happy_path (0.01s) --- PASS: TestGitDiffTree/first_commit_(no_parent) (0.01s) --- PASS: TestGitDiffTree/first_commit_(no_parent),_merge_base_=_true (0.01s) --- PASS: TestGitDiffTree/base_and_head_same (0.01s) --- PASS: TestGitDiffTree/useMergeBase_false (0.01s) --- PASS: TestGitDiffTree/useMergeBase_true (0.01s) --- PASS: TestGitDiffTree/no_base_set (0.01s) === RUN TestGitDiffTreeRespectsDiffOrderFile === RUN TestGitDiffTreeRespectsDiffOrderFile/NoDiffOrderFile === RUN TestGitDiffTreeRespectsDiffOrderFile/GlobalDiffOrderFile 2026/08/11 22:30:48 modules/git/git.go:154:InitSimple() [W] git module has been initialized already, duplicate init may work but it's better to fix it 2026/08/11 22:30:48 modules/git/git.go:154:InitSimple() [W] git module has been initialized already, duplicate init may work but it's better to fix it --- PASS: TestGitDiffTreeRespectsDiffOrderFile (0.10s) --- PASS: TestGitDiffTreeRespectsDiffOrderFile/NoDiffOrderFile (0.01s) --- PASS: TestGitDiffTreeRespectsDiffOrderFile/GlobalDiffOrderFile (0.09s) === RUN TestParseGitDiffTree === RUN TestParseGitDiffTree/file_change === RUN TestParseGitDiffTree/file_added === RUN TestParseGitDiffTree/file_deleted === RUN TestParseGitDiffTree/file_renamed === RUN TestParseGitDiffTree/no_changes === RUN TestParseGitDiffTree/multiple_changes === RUN TestParseGitDiffTree/spaces_in_file_path === RUN TestParseGitDiffTree/file_type_changed --- PASS: TestParseGitDiffTree (0.00s) --- PASS: TestParseGitDiffTree/file_change (0.00s) --- PASS: TestParseGitDiffTree/file_added (0.00s) --- PASS: TestParseGitDiffTree/file_deleted (0.00s) --- PASS: TestParseGitDiffTree/file_renamed (0.00s) --- PASS: TestParseGitDiffTree/no_changes (0.00s) --- PASS: TestParseGitDiffTree/multiple_changes (0.00s) --- PASS: TestParseGitDiffTree/spaces_in_file_path (0.00s) --- PASS: TestParseGitDiffTree/file_type_changed (0.00s) === RUN TestGitDiffTreeErrors === RUN TestGitDiffTreeErrors/head_doesn't_exist === RUN TestGitDiffTreeErrors/base_doesn't_exist === RUN TestGitDiffTreeErrors/head_not_set --- PASS: TestGitDiffTreeErrors (0.01s) --- PASS: TestGitDiffTreeErrors/head_doesn't_exist (0.01s) --- PASS: TestGitDiffTreeErrors/base_doesn't_exist (0.00s) --- PASS: TestGitDiffTreeErrors/head_not_set (0.00s) === RUN TestBuildBlobExcerptDiffSection --- PASS: TestBuildBlobExcerptDiffSection (0.01s) === RUN TestParsePatch_skipTo === RUN TestParsePatch_skipTo/readme.md2readme.md === RUN TestParsePatch_skipTo/A_\_B === RUN TestParsePatch_skipTo/A_\_B#01 === RUN TestParsePatch_skipTo/readme.md2readme.md#01 --- PASS: TestParsePatch_skipTo (0.00s) --- PASS: TestParsePatch_skipTo/readme.md2readme.md (0.00s) --- PASS: TestParsePatch_skipTo/A_\_B (0.00s) --- PASS: TestParsePatch_skipTo/A_\_B#01 (0.00s) --- PASS: TestParsePatch_skipTo/readme.md2readme.md#01 (0.00s) === RUN TestParsePatch_singlefile === RUN TestParsePatch_singlefile/readme.md2readme.md === RUN TestParsePatch_singlefile/A_\_B === RUN TestParsePatch_singlefile/really_weird_filename === RUN TestParsePatch_singlefile/delete_file_with_blanks === RUN TestParsePatch_singlefile/rename_a—as === RUN TestParsePatch_singlefile/rename_with_spaces === RUN TestParsePatch_singlefile/ambiguous_deleted === RUN TestParsePatch_singlefile/ambiguous_addition === RUN TestParsePatch_singlefile/rename === RUN TestParsePatch_singlefile/ambiguous_1 === RUN TestParsePatch_singlefile/ambiguous_2 === RUN TestParsePatch_singlefile/minuses-and-pluses --- PASS: TestParsePatch_singlefile (0.00s) --- PASS: TestParsePatch_singlefile/readme.md2readme.md (0.00s) --- PASS: TestParsePatch_singlefile/A_\_B (0.00s) --- PASS: TestParsePatch_singlefile/really_weird_filename (0.00s) --- PASS: TestParsePatch_singlefile/delete_file_with_blanks (0.00s) --- PASS: TestParsePatch_singlefile/rename_a—as (0.00s) --- PASS: TestParsePatch_singlefile/rename_with_spaces (0.00s) --- PASS: TestParsePatch_singlefile/ambiguous_deleted (0.00s) --- PASS: TestParsePatch_singlefile/ambiguous_addition (0.00s) --- PASS: TestParsePatch_singlefile/rename (0.00s) --- PASS: TestParsePatch_singlefile/ambiguous_1 (0.00s) --- PASS: TestParsePatch_singlefile/ambiguous_2 (0.00s) --- PASS: TestParsePatch_singlefile/minuses-and-pluses (0.00s) === RUN TestDiff_LoadCommentsNoOutdated --- PASS: TestDiff_LoadCommentsNoOutdated (0.13s) === RUN TestDiff_LoadCommentsWithOutdated --- PASS: TestDiff_LoadCommentsWithOutdated (0.00s) === RUN TestDiffLine_CanComment --- PASS: TestDiffLine_CanComment (0.00s) === RUN TestDiffLine_GetCommentSide --- PASS: TestDiffLine_GetCommentSide (0.00s) === RUN TestGetDiffRangeWithWhitespaceBehavior --- PASS: TestGetDiffRangeWithWhitespaceBehavior (0.02s) === RUN TestNoCrashes --- PASS: TestNoCrashes (0.00s) 2026/08/11 22:30:48 services/gitdiff/gitdiff.go:1233:readFileName() [E] Unable to determine name from reader: reader=&{s: i:1 prevRune:-1} === RUN TestGeneratePatchForUnchangedLineFromReader 2026/08/11 22:30:48 services/gitdiff/gitdiff.go:1233:readFileName() [E] Unable to determine name from reader: reader=&{s: i:1 prevRune:-1} 2026/08/11 22:30:48 services/gitdiff/gitdiff.go:1211:readFileName() [E] Reader has no file name: reader=&{s:"0 i:4 prevRune:-1} 2026/08/11 22:30:48 services/gitdiff/gitdiff.go:1233:readFileName() [E] Unable to determine name from reader: reader=&{s:"0 i:3 prevRune:-1} === RUN TestGeneratePatchForUnchangedLineFromReader/single_line_with_context === RUN TestGeneratePatchForUnchangedLineFromReader/negative_line_number_(left_side) === RUN TestGeneratePatchForUnchangedLineFromReader/line_near_start_of_file === RUN TestGeneratePatchForUnchangedLineFromReader/first_line_with_context === RUN TestGeneratePatchForUnchangedLineFromReader/zero_context_lines === RUN TestGeneratePatchForUnchangedLineFromReader/multi-line_context === RUN TestGeneratePatchForUnchangedLineFromReader/empty_file --- PASS: TestGeneratePatchForUnchangedLineFromReader (0.00s) --- PASS: TestGeneratePatchForUnchangedLineFromReader/single_line_with_context (0.00s) --- PASS: TestGeneratePatchForUnchangedLineFromReader/negative_line_number_(left_side) (0.00s) --- PASS: TestGeneratePatchForUnchangedLineFromReader/line_near_start_of_file (0.00s) --- PASS: TestGeneratePatchForUnchangedLineFromReader/first_line_with_context (0.00s) --- PASS: TestGeneratePatchForUnchangedLineFromReader/zero_context_lines (0.00s) --- PASS: TestGeneratePatchForUnchangedLineFromReader/multi-line_context (0.00s) --- PASS: TestGeneratePatchForUnchangedLineFromReader/empty_file (0.00s) === RUN TestCalculateHiddenCommentIDsForLine === RUN TestCalculateHiddenCommentIDsForLine/comments_in_hidden_range === RUN TestCalculateHiddenCommentIDsForLine/comments_outside_hidden_range === RUN TestCalculateHiddenCommentIDsForLine/negative_line_numbers_(left_side) === RUN TestCalculateHiddenCommentIDsForLine/boundary_conditions_-_normal_expansion_(both_boundaries_exclusive) === RUN TestCalculateHiddenCommentIDsForLine/boundary_conditions_-_end_of_file_expansion_(RightIdx_inclusive) === RUN TestCalculateHiddenCommentIDsForLine/real-world_scenario_-_start_of_file_with_hunk --- PASS: TestCalculateHiddenCommentIDsForLine (0.00s) --- PASS: TestCalculateHiddenCommentIDsForLine/comments_in_hidden_range (0.00s) --- PASS: TestCalculateHiddenCommentIDsForLine/comments_outside_hidden_range (0.00s) --- PASS: TestCalculateHiddenCommentIDsForLine/negative_line_numbers_(left_side) (0.00s) --- PASS: TestCalculateHiddenCommentIDsForLine/boundary_conditions_-_normal_expansion_(both_boundaries_exclusive) (0.00s) --- PASS: TestCalculateHiddenCommentIDsForLine/boundary_conditions_-_end_of_file_expansion_(RightIdx_inclusive) (0.00s) --- PASS: TestCalculateHiddenCommentIDsForLine/real-world_scenario_-_start_of_file_with_hunk (0.00s) === RUN TestDiffLine_RenderBlobExcerptButtons === RUN TestDiffLine_RenderBlobExcerptButtons/expand_up_button_with_hidden_comments === RUN TestDiffLine_RenderBlobExcerptButtons/expand_up_and_down_buttons_with_pull_request === RUN TestDiffLine_RenderBlobExcerptButtons/no_hidden_comments --- PASS: TestDiffLine_RenderBlobExcerptButtons (0.00s) --- PASS: TestDiffLine_RenderBlobExcerptButtons/expand_up_button_with_hidden_comments (0.00s) --- PASS: TestDiffLine_RenderBlobExcerptButtons/expand_up_and_down_buttons_with_pull_request (0.00s) --- PASS: TestDiffLine_RenderBlobExcerptButtons/no_hidden_comments (0.00s) === RUN TestDiffLine_GetExpandDirection --- PASS: TestDiffLine_GetExpandDirection (0.00s) === RUN TestHighlightCodeLines === RUN TestHighlightCodeLines/CharsetDetecting === RUN TestHighlightCodeLines/LeftLines === RUN TestHighlightCodeLines/CharCR --- PASS: TestHighlightCodeLines (0.01s) --- PASS: TestHighlightCodeLines/CharsetDetecting (0.01s) --- PASS: TestHighlightCodeLines/LeftLines (0.00s) --- PASS: TestHighlightCodeLines/CharCR (0.00s) === RUN TestSyncUserSpecificDiff_UpdatedFiles --- PASS: TestSyncUserSpecificDiff_UpdatedFiles (0.04s) === RUN TestDiffWithHighlight === RUN TestDiffWithHighlight/DiffLineAddDel === RUN TestDiffWithHighlight/DiffLineAddDel/WithDiffTags === RUN TestDiffWithHighlight/DiffLineAddDel/NoRedundantTags === RUN TestDiffWithHighlight/CleanUp === RUN TestDiffWithHighlight/OpenCloseTags === RUN TestDiffWithHighlight/ComplexDiff1 === RUN TestDiffWithHighlight/ComplexDiff2 --- PASS: TestDiffWithHighlight (0.00s) --- PASS: TestDiffWithHighlight/DiffLineAddDel (0.00s) --- PASS: TestDiffWithHighlight/DiffLineAddDel/WithDiffTags (0.00s) --- PASS: TestDiffWithHighlight/DiffLineAddDel/NoRedundantTags (0.00s) --- PASS: TestDiffWithHighlight/CleanUp (0.00s) --- PASS: TestDiffWithHighlight/OpenCloseTags (0.00s) --- PASS: TestDiffWithHighlight/ComplexDiff1 (0.00s) --- PASS: TestDiffWithHighlight/ComplexDiff2 (0.00s) === RUN TestDiffWithHighlightPlaceholder --- PASS: TestDiffWithHighlightPlaceholder (0.00s) === RUN TestDiffWithHighlightPlaceholderExhausted --- PASS: TestDiffWithHighlightPlaceholderExhausted (0.00s) === RUN TestDiffWithHighlightTagMatch === RUN TestDiffWithHighlightTagMatch/DiffLineAdd === RUN TestDiffWithHighlightTagMatch/DiffLineDel --- PASS: TestDiffWithHighlightTagMatch (0.00s) --- PASS: TestDiffWithHighlightTagMatch/DiffLineAdd (0.00s) --- PASS: TestDiffWithHighlightTagMatch/DiffLineDel (0.00s) === RUN TestParseSubmoduleInfo === RUN TestParseSubmoduleInfo/added === RUN TestParseSubmoduleInfo/updated === RUN TestParseSubmoduleInfo/rename === RUN TestParseSubmoduleInfo/deleted === RUN TestParseSubmoduleInfo/moved_and_updated === RUN TestParseSubmoduleInfo/converted_to_file === RUN TestParseSubmoduleInfo/converted_to_submodule --- PASS: TestParseSubmoduleInfo (0.00s) --- PASS: TestParseSubmoduleInfo/added (0.00s) --- PASS: TestParseSubmoduleInfo/updated (0.00s) --- PASS: TestParseSubmoduleInfo/rename (0.00s) --- PASS: TestParseSubmoduleInfo/deleted (0.00s) --- PASS: TestParseSubmoduleInfo/moved_and_updated (0.00s) --- PASS: TestParseSubmoduleInfo/converted_to_file (0.00s) --- PASS: TestParseSubmoduleInfo/converted_to_submodule (0.00s) === RUN TestSubmoduleInfo --- PASS: TestSubmoduleInfo (0.00s) PASS ok gitea.dev/services/gitdiff 0.943s ? gitea.dev/services/indexer [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1269502944/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1269502944/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1269502944/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1269502944/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1269502944/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1269502944/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1269502944/data/actions_artifacts === RUN TestDeleteNotPassedAssignee --- PASS: TestDeleteNotPassedAssignee (0.13s) === RUN TestAddAssigneeIfNotAssignedBlocked --- PASS: TestAddAssigneeIfNotAssignedBlocked (0.01s) === RUN TestAddAssigneesBlockedIsAtomic --- PASS: TestAddAssigneesBlockedIsAtomic (0.02s) === RUN TestUpdateIssuesCommit --- PASS: TestUpdateIssuesCommit (0.04s) === RUN TestUpdateIssuesCommit_Colon --- PASS: TestUpdateIssuesCommit_Colon (0.01s) === RUN TestUpdateIssuesCommit_Issue5957 --- PASS: TestUpdateIssuesCommit_Issue5957 (0.01s) === RUN TestUpdateIssuesCommit_AnotherRepo --- PASS: TestUpdateIssuesCommit_AnotherRepo (0.02s) === RUN TestUpdateIssuesCommit_AnotherRepo_FullAddress --- PASS: TestUpdateIssuesCommit_AnotherRepo_FullAddress (0.02s) === RUN TestUpdateIssuesCommit_AnotherRepoNoPermission --- PASS: TestUpdateIssuesCommit_AnotherRepoNoPermission (0.02s) === RUN TestUpdateIssuesCommit_SelfReference --- PASS: TestUpdateIssuesCommit_SelfReference (0.02s) === RUN TestGetRefEndNamesAndURLs --- PASS: TestGetRefEndNamesAndURLs (0.00s) === RUN TestIssue_DeleteIssue --- PASS: TestIssue_DeleteIssue (0.02s) === RUN TestIssue_AddLabels --- PASS: TestIssue_AddLabels (0.04s) === RUN TestIssue_AddLabel --- PASS: TestIssue_AddLabel (0.02s) === RUN TestChangeMilestoneAssign --- PASS: TestChangeMilestoneAssign (0.01s) === RUN TestIssueAddReaction --- PASS: TestIssueAddReaction (0.00s) === RUN TestIssueAddDuplicateReaction --- PASS: TestIssueAddDuplicateReaction (0.00s) === RUN TestIssueDeleteReaction --- PASS: TestIssueDeleteReaction (0.00s) === RUN TestIssueReactionCount --- PASS: TestIssueReactionCount (0.01s) === RUN TestIssueCommentAddReaction --- PASS: TestIssueCommentAddReaction (0.00s) === RUN TestIssueCommentDeleteReaction --- PASS: TestIssueCommentDeleteReaction (0.01s) === RUN TestIssueCommentReactionCount --- PASS: TestIssueCommentReactionCount (0.00s) === RUN Test_Suggestion === RUN Test_Suggestion/#00 === RUN Test_Suggestion/1 === RUN Test_Suggestion/issue === RUN Test_Suggestion/pull --- PASS: Test_Suggestion (0.00s) --- PASS: Test_Suggestion/#00 (0.00s) --- PASS: Test_Suggestion/1 (0.00s) --- PASS: Test_Suggestion/issue (0.00s) --- PASS: Test_Suggestion/pull (0.00s) PASS ok gitea.dev/services/issue 1.016s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2637113038/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2637113038/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2637113038/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2637113038/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2637113038/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2637113038/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2637113038/data/actions_artifacts === RUN TestAuthenticate === RUN TestAuthenticate/handleLFSToken === RUN TestAuthenticate/authenticate 2026/08/11 22:30:48 services/lfs/server.go:569:authenticate() [W] Authentication failure for provided token with Error: no token 2026/08/11 22:30:48 services/lfs/server.go:569:authenticate() [W] Authentication failure for provided token with Error: invalid token === RUN TestAuthenticate/handleLFSToken_blocks_prohibited_users === RUN TestAuthenticate/handleLFSToken_blocks_users_without_repo_access === RUN TestAuthenticate/handleLFSToken_requires_write_access_for_uploads === RUN TestAuthenticate/handleLFSToken_allows_writes_for_authorized_users --- PASS: TestAuthenticate (0.14s) --- PASS: TestAuthenticate/handleLFSToken (0.00s) --- PASS: TestAuthenticate/authenticate (0.00s) --- PASS: TestAuthenticate/handleLFSToken_blocks_prohibited_users (0.00s) --- PASS: TestAuthenticate/handleLFSToken_blocks_users_without_repo_access (0.00s) --- PASS: TestAuthenticate/handleLFSToken_requires_write_access_for_uploads (0.00s) --- PASS: TestAuthenticate/handleLFSToken_allows_writes_for_authorized_users (0.00s) PASS ok gitea.dev/services/lfs 0.772s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2093631703/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2093631703/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2093631703/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2093631703/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2093631703/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2093631703/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2093631703/data/actions_artifacts === RUN TestMailNewReleaseFiltersUnauthorizedWatchers --- PASS: TestMailNewReleaseFiltersUnauthorizedWatchers (0.14s) === RUN TestComposeIssueComment --- PASS: TestComposeIssueComment (0.03s) === RUN TestMailMentionsComment --- PASS: TestMailMentionsComment (0.01s) === RUN TestComposeIssueMessage --- PASS: TestComposeIssueMessage (0.00s) === RUN TestTemplateSelection --- PASS: TestTemplateSelection (0.01s) === RUN TestTemplateServices --- PASS: TestTemplateServices (0.00s) === RUN TestGenerateAdditionalHeadersForIssue --- PASS: TestGenerateAdditionalHeadersForIssue (0.00s) === RUN TestGenerateMessageIDForIssue === RUN TestGenerateMessageIDForIssue/Open_Issue === RUN TestGenerateMessageIDForIssue/Open_Pull === RUN TestGenerateMessageIDForIssue/Comment_Issue === RUN TestGenerateMessageIDForIssue/Comment_Pull === RUN TestGenerateMessageIDForIssue/Close_Issue === RUN TestGenerateMessageIDForIssue/Close_Pull === RUN TestGenerateMessageIDForIssue/Reopen_Issue === RUN TestGenerateMessageIDForIssue/Reopen_Pull === RUN TestGenerateMessageIDForIssue/Merge_Pull === RUN TestGenerateMessageIDForIssue/Ready_Pull --- PASS: TestGenerateMessageIDForIssue (0.00s) --- PASS: TestGenerateMessageIDForIssue/Open_Issue (0.00s) --- PASS: TestGenerateMessageIDForIssue/Open_Pull (0.00s) --- PASS: TestGenerateMessageIDForIssue/Comment_Issue (0.00s) --- PASS: TestGenerateMessageIDForIssue/Comment_Pull (0.00s) --- PASS: TestGenerateMessageIDForIssue/Close_Issue (0.00s) --- PASS: TestGenerateMessageIDForIssue/Close_Pull (0.00s) --- PASS: TestGenerateMessageIDForIssue/Reopen_Issue (0.00s) --- PASS: TestGenerateMessageIDForIssue/Reopen_Pull (0.00s) --- PASS: TestGenerateMessageIDForIssue/Merge_Pull (0.00s) --- PASS: TestGenerateMessageIDForIssue/Ready_Pull (0.00s) === RUN TestGenerateMessageIDForRelease --- PASS: TestGenerateMessageIDForRelease (0.00s) === RUN TestGenerateMessageIDForActionsWorkflowRunStatusEmail --- PASS: TestGenerateMessageIDForActionsWorkflowRunStatusEmail (0.00s) === RUN TestFromDisplayName === RUN TestFromDisplayName/test === RUN TestFromDisplayName/Hi_Its_ === RUN TestFromDisplayName/Æsir === RUN TestFromDisplayName/new😀user === RUN TestFromDisplayName/template_with_all_available_vars --- PASS: TestFromDisplayName (0.00s) --- PASS: TestFromDisplayName/test (0.00s) --- PASS: TestFromDisplayName/Hi_Its_ (0.00s) --- PASS: TestFromDisplayName/Æsir (0.00s) --- PASS: TestFromDisplayName/new😀user (0.00s) --- PASS: TestFromDisplayName/template_with_all_available_vars (0.00s) === RUN TestEmbedBase64Images === RUN TestEmbedBase64Images/ComposeMessage === RUN TestEmbedBase64Images/EmbedInstanceImageSkipExternalImage === RUN TestEmbedBase64Images/LimitedEmailBodySize --- PASS: TestEmbedBase64Images (0.01s) --- PASS: TestEmbedBase64Images/ComposeMessage (0.00s) --- PASS: TestEmbedBase64Images/EmbedInstanceImageSkipExternalImage (0.00s) --- PASS: TestEmbedBase64Images/LimitedEmailBodySize (0.00s) === RUN TestMailPullRequestPush --- PASS: TestMailPullRequestPush (0.00s) PASS ok gitea.dev/services/mailer 0.980s === RUN TestIsAutomaticReply --- PASS: TestIsAutomaticReply (0.00s) === RUN TestSearchTokenInHeadersCaseInsensitive --- PASS: TestSearchTokenInHeadersCaseInsensitive (0.00s) === RUN TestGetContentFromMailReader --- PASS: TestGetContentFromMailReader (0.01s) === RUN TestExtractReply === RUN TestExtractReply/plain_text === RUN TestExtractReply/crlf_normalized === RUN TestExtractReply/trim_blank_lines === RUN TestExtractReply/signature_delimiter === RUN TestExtractReply/rfc_signature_delimiter === RUN TestExtractReply/mobile_signature === RUN TestExtractReply/quote_only_kept === RUN TestExtractReply/leading_quote_kept === RUN TestExtractReply/trailing_quote_stripped === RUN TestExtractReply/attribution_and_quote === RUN TestExtractReply/attribution_without_quote_marks === RUN TestExtractReply/original_message_separator === RUN TestExtractReply/outlook_header_block === RUN TestExtractReply/french_attribution === RUN TestExtractReply/german_attribution === RUN TestExtractReply/cyrillic_wrote_verb === RUN TestExtractReply/localized_signature === RUN TestExtractReply/swedish_header_block === RUN TestExtractReply/attribution_only_is_empty === RUN TestExtractReply/prose_ending_in_wrote_kept === RUN TestExtractReply/on_with_year_and_no_time_kept === RUN TestExtractReply/date_prose_kept === RUN TestExtractReply/header_needs_from_first === RUN TestExtractReply/indented_header_block === RUN TestExtractReply/chinese_signature === RUN TestExtractReply/japanese_signature === RUN TestExtractReply/chinese_header_block === RUN TestExtractReply/japanese_header_block === RUN TestExtractReply/name-first_attribution === RUN TestExtractReply/chinese_attribution === RUN TestExtractReply/japanese_attribution === RUN TestExtractReply/korean_attribution === RUN TestExtractReply/email_mention_kept === RUN TestExtractReply/trailing_mailbox_glyph === RUN TestExtractReply/on_with_year_and_time_prose_kept === RUN TestExtractReply/spanish_year_and_time_prose_kept === RUN TestExtractReply/chinese_prose_kept === RUN TestExtractReply/korean_prose_kept === RUN TestExtractReply/japanese_prose_kept --- PASS: TestExtractReply (0.00s) --- PASS: TestExtractReply/plain_text (0.00s) --- PASS: TestExtractReply/crlf_normalized (0.00s) --- PASS: TestExtractReply/trim_blank_lines (0.00s) --- PASS: TestExtractReply/signature_delimiter (0.00s) --- PASS: TestExtractReply/rfc_signature_delimiter (0.00s) --- PASS: TestExtractReply/mobile_signature (0.00s) --- PASS: TestExtractReply/quote_only_kept (0.00s) --- PASS: TestExtractReply/leading_quote_kept (0.00s) --- PASS: TestExtractReply/trailing_quote_stripped (0.00s) --- PASS: TestExtractReply/attribution_and_quote (0.00s) --- PASS: TestExtractReply/attribution_without_quote_marks (0.00s) --- PASS: TestExtractReply/original_message_separator (0.00s) --- PASS: TestExtractReply/outlook_header_block (0.00s) --- PASS: TestExtractReply/french_attribution (0.00s) --- PASS: TestExtractReply/german_attribution (0.00s) --- PASS: TestExtractReply/cyrillic_wrote_verb (0.00s) --- PASS: TestExtractReply/localized_signature (0.00s) --- PASS: TestExtractReply/swedish_header_block (0.00s) --- PASS: TestExtractReply/attribution_only_is_empty (0.00s) --- PASS: TestExtractReply/prose_ending_in_wrote_kept (0.00s) --- PASS: TestExtractReply/on_with_year_and_no_time_kept (0.00s) --- PASS: TestExtractReply/date_prose_kept (0.00s) --- PASS: TestExtractReply/header_needs_from_first (0.00s) --- PASS: TestExtractReply/indented_header_block (0.00s) --- PASS: TestExtractReply/chinese_signature (0.00s) --- PASS: TestExtractReply/japanese_signature (0.00s) --- PASS: TestExtractReply/chinese_header_block (0.00s) --- PASS: TestExtractReply/japanese_header_block (0.00s) --- PASS: TestExtractReply/name-first_attribution (0.00s) --- PASS: TestExtractReply/chinese_attribution (0.00s) --- PASS: TestExtractReply/japanese_attribution (0.00s) --- PASS: TestExtractReply/korean_attribution (0.00s) --- PASS: TestExtractReply/email_mention_kept (0.00s) --- PASS: TestExtractReply/trailing_mailbox_glyph (0.00s) --- PASS: TestExtractReply/on_with_year_and_time_prose_kept (0.00s) --- PASS: TestExtractReply/spanish_year_and_time_prose_kept (0.00s) --- PASS: TestExtractReply/chinese_prose_kept (0.00s) --- PASS: TestExtractReply/korean_prose_kept (0.00s) --- PASS: TestExtractReply/japanese_prose_kept (0.00s) PASS ok gitea.dev/services/mailer/incoming 0.297s ? gitea.dev/services/mailer/incoming/payload [no test files] 2026/08/11 22:30:47 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-427549639/data/attachments 2026/08/11 22:30:47 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-427549639/data/avatars 2026/08/11 22:30:47 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-427549639/data/repo-avatars 2026/08/11 22:30:47 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-427549639/data/repo-archive 2026/08/11 22:30:47 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-427549639/data/packages 2026/08/11 22:30:47 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-427549639/data/actions_log 2026/08/11 22:30:47 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:47 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-427549639/data/actions_artifacts === RUN TestGenerateMessageID --- PASS: TestGenerateMessageID (0.00s) === RUN TestToMessage --- PASS: TestToMessage (0.00s) === RUN TestSanitizeEmailAddress --- PASS: TestSanitizeEmailAddress (0.00s) PASS ok gitea.dev/services/mailer/sender 0.327s ? gitea.dev/services/mailer/token [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3297476330/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3297476330/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3297476330/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3297476330/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3297476330/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3297476330/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3297476330/data/actions_artifacts === RUN TestRenderHelperCodePreview --- PASS: TestRenderHelperCodePreview (0.24s) === RUN TestRenderHelperIssueIconTitle --- PASS: TestRenderHelperIssueIconTitle (0.00s) === RUN TestRenderHelperMention --- PASS: TestRenderHelperMention (0.00s) PASS ok gitea.dev/services/markup 0.940s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-386028094/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-386028094/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-386028094/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-386028094/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-386028094/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-386028094/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-386028094/data/actions_artifacts === RUN TestCodebaseDownloadRepo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/test 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/milestones 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/tickets/types 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/tickets 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/tickets/2/notes 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /users 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/tickets/1/notes 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/test/merge_requests?count=1&offset=0&query=%22Target+Project%22+is+%22test%22 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/test/merge_requests/100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/test/commits/readme-mr 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /gitea-test/test/commits/master --- PASS: TestCodebaseDownloadRepo (0.01s) === RUN TestGiteaDownloadRepo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/version 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/settings/api 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/topics?limit=0&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/labels?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/milestones?limit=50&page=1&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/releases?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues?limit=50&page=1&state=all&type=issues 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/10/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/9/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/6/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/5/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/4/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/2/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/1/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues?limit=2&page=3&state=all&type=issues 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/4/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/2/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/4/comments?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/comments/116550/reactions 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/comments/116552/reactions 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/pulls?limit=50&page=1&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/13/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/12/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/11/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/8/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/7/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/3/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/pulls?limit=3&page=1&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/13/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/12/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/issues/11/reactions?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/pulls/7/reviews?limit=50&page=1 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/pulls/7/reviews/1770/comments 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/pulls/7/reviews/1771/comments 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/gitea/test_repo/pulls/7/reviews/1772/comments --- PASS: TestGiteaDownloadRepo (0.03s) === RUN TestGiteaUploadRepo gitea_uploader_test.go:29: --- SKIP: TestGiteaUploadRepo (0.00s) === RUN TestGiteaUploadRemapLocalUser --- PASS: TestGiteaUploadRemapLocalUser (0.15s) === RUN TestGiteaUploadRemapExternalUser --- PASS: TestGiteaUploadRemapExternalUser (0.04s) === RUN TestGitHubDownloadRepo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/rate_limit 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/milestones?page=1&per_page=100&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/labels?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/releases?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues?direction=asc&page=1&per_page=2&sort=created&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/1/reactions?page=1&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/1/reactions?page=2&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/2/reactions?page=1&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/2/reactions?page=2&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/2/reactions?page=3&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/2/reactions?page=4&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/2/comments?direction=asc&per_page=100&sort=created 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/comments/553111966/reactions?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/comments/553111966/reactions?page=2&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/comments/553138856/reactions?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls?direction=asc&page=1&per_page=2&sort=created&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/3/reactions?page=1&per_page=2 2026/08/11 22:30:48 .../migrations/common.go:18:WarnAndNotice() [W] PR #3 in has invalid PatchURL: https://github.com/go-gitea/test_repo/pull/3.patch baseURL: http://127.0.0.1:37375 2026/08/11 22:30:48 .../migrations/common.go:18:WarnAndNotice() [W] PR #3 in has invalid HeadCloneURL: https://github.com/mrsdizzie/test_repo.git baseURL: http://127.0.0.1:37375 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/4/reactions?page=1&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/issues/4/reactions?page=2&per_page=2 2026/08/11 22:30:48 .../migrations/common.go:18:WarnAndNotice() [W] PR #4 in has invalid PatchURL: https://github.com/go-gitea/test_repo/pull/4.patch baseURL: http://127.0.0.1:37375 2026/08/11 22:30:48 .../migrations/common.go:18:WarnAndNotice() [W] PR #4 in has invalid HeadCloneURL: https://github.com/mrsdizzie/test_repo.git baseURL: http://127.0.0.1:37375 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/3/reviews?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/3/reviews/315859956/comments?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/3/reviews/315860062/comments?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/3/reviews/315861440/comments?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/3/requested_reviewers 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/4/reviews?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/4/reviews/338338740/comments?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/comments/363017488/reactions?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/4/reviews/338339651/comments?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/4/reviews/338349019/comments?per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/comments/363029944/reactions?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v3/repos/go-gitea/test_repo/pulls/4/requested_reviewers --- PASS: TestGitHubDownloadRepo (0.01s) === RUN TestGithubMultiToken === RUN TestGithubMultiToken/Single_Token === RUN TestGithubMultiToken/Multi_Token --- PASS: TestGithubMultiToken (0.00s) --- PASS: TestGithubMultiToken/Single_Token (0.00s) --- PASS: TestGithubMultiToken/Multi_Token (0.00s) === RUN TestGitlabDownloadRepo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/version 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/gitea%2Ftest_repo 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/milestones?page=1&per_page=100&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/labels?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/releases?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues?page=1&per_page=2&sort=asc&state=all 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/1/award_emoji?page=1&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/1/award_emoji?page=2&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/2/award_emoji?page=1&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/2/award_emoji?page=2&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/2/award_emoji?page=3&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/2/award_emoji?page=4&per_page=2 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/2/discussions?page=1&per_page=100 2026/08/11 22:30:48 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/issues/2/resource_state_events?page=1&per_page=100 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/merge_requests?page=1&per_page=2&view=simple 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/merge_requests/4 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/merge_requests/4/award_emoji?page=1&per_page=2 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/merge_requests/3 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/merge_requests/3/award_emoji?page=1&per_page=2 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/merge_requests/1/approvals 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v4/projects/15578026/merge_requests/2/approvals --- PASS: TestGitlabDownloadRepo (0.55s) === RUN TestGitlabGetReviews --- PASS: TestGitlabGetReviews (0.00s) === RUN TestAwardsToReactions --- PASS: TestAwardsToReactions (0.00s) === RUN TestNoteToComment --- PASS: TestNoteToComment (0.00s) === RUN TestGitlabIIDResolver --- PASS: TestGitlabIIDResolver (0.00s) === RUN TestGogsDownloadRepo 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/lunnytest/TESTREPO 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/lunnytest/TESTREPO/milestones 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/lunnytest/TESTREPO/labels 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/lunnytest/TESTREPO/issues?page=1&state=open 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /api/v1/repos/lunnytest/TESTREPO/issues/1/comments --- PASS: TestGogsDownloadRepo (0.00s) === RUN TestMigrateWhiteBlocklist --- PASS: TestMigrateWhiteBlocklist (0.04s) === RUN TestAllowBlockList --- PASS: TestAllowBlockList (0.00s) === RUN TestOneDevDownloadRepo 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/version/server 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/projects?count=1&offset=0&query=%22Path%22+is+%22go-gitea-test_repo%22 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/projects/149/iterations?count=100&offset=0 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/projects/149/iterations?count=100&offset=100 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/issues?count=2&offset=0&query=%22Project%22+is+%22go-gitea-test_repo%22&withFields=true 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/issues/398/iterations 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/users/336 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/users/336/email-addresses 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/issues/397/iterations 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/issues/398/comments 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/issues/398/changes 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/pulls?count=1&offset=0&query=%22Target+Project%22+is+%22go-gitea-test_repo%22 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/pulls/186/merge-preview 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/pulls/186/reviews 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/users/317 2026/08/11 22:30:49 .../unittest/mock_http.go:67:NewMockWebServer.1() [I] mock server: GET /~api/users/317/email-addresses --- PASS: TestOneDevDownloadRepo (0.00s) === RUN TestRepositoryRestorer_GetReleases_LocalFileInclusion --- PASS: TestRepositoryRestorer_GetReleases_LocalFileInclusion (0.00s) === RUN TestRepositoryRestorer_GetPullRequestsStripsUnsafeCloneURL 2026/08/11 22:30:49 .../migrations/common.go:18:WarnAndNotice() [W] PR #1 in &{{} /home/buildozer/aports/community/gitea/tmp/TestRepositoryRestorer_GetPullRequestsStripsUnsafeCloneURL1974671598/001 owner repo %!s(bool=false)} has invalid HeadCloneURL: http://127.0.0.1/private.git baseURL: file:///home/buildozer/aports/community/gitea/tmp/TestRepositoryRestorer_GetPullRequestsStripsUnsafeCloneURL1974671598/001 --- PASS: TestRepositoryRestorer_GetPullRequestsStripsUnsafeCloneURL (0.00s) PASS ok gitea.dev/services/migrations 1.567s === RUN Test_checkRecoverableSyncError --- PASS: Test_checkRecoverableSyncError (0.00s) PASS ok gitea.dev/services/mirror 0.176s ? gitea.dev/services/notify [no test files] === RUN TestGrantAdditionalScopes === RUN TestGrantAdditionalScopes/scope: === RUN TestGrantAdditionalScopes/scope:openid_profile_email === RUN TestGrantAdditionalScopes/scope:openid_profile_email_groups === RUN TestGrantAdditionalScopes/scope:openid_profile_email_all === RUN TestGrantAdditionalScopes/scope:openid_profile_email_read:user_all === RUN TestGrantAdditionalScopes/scope:openid_profile_email_groups_read:user === RUN TestGrantAdditionalScopes/scope:read:user_read:repository === RUN TestGrantAdditionalScopes/scope:read:user_write:issue_public-only === RUN TestGrantAdditionalScopes/scope:openid_profile_email_read:user === RUN TestGrantAdditionalScopes/scope:read:invalid_scope === RUN TestGrantAdditionalScopes/scope:read:invalid_scope,write:scope_invalid,just-plain-wrong --- PASS: TestGrantAdditionalScopes (0.00s) --- PASS: TestGrantAdditionalScopes/scope: (0.00s) --- PASS: TestGrantAdditionalScopes/scope:openid_profile_email (0.00s) --- PASS: TestGrantAdditionalScopes/scope:openid_profile_email_groups (0.00s) --- PASS: TestGrantAdditionalScopes/scope:openid_profile_email_all (0.00s) --- PASS: TestGrantAdditionalScopes/scope:openid_profile_email_read:user_all (0.00s) --- PASS: TestGrantAdditionalScopes/scope:openid_profile_email_groups_read:user (0.00s) --- PASS: TestGrantAdditionalScopes/scope:read:user_read:repository (0.00s) --- PASS: TestGrantAdditionalScopes/scope:read:user_write:issue_public-only (0.00s) --- PASS: TestGrantAdditionalScopes/scope:openid_profile_email_read:user (0.00s) --- PASS: TestGrantAdditionalScopes/scope:read:invalid_scope (0.00s) --- PASS: TestGrantAdditionalScopes/scope:read:invalid_scope,write:scope_invalid,just-plain-wrong (0.00s) === RUN TestECDSASigningKeyToJWK === RUN TestECDSASigningKeyToJWK/P-256 === RUN TestECDSASigningKeyToJWK/P-384 === RUN TestECDSASigningKeyToJWK/P-521 --- PASS: TestECDSASigningKeyToJWK (0.04s) --- PASS: TestECDSASigningKeyToJWK/P-256 (0.00s) --- PASS: TestECDSASigningKeyToJWK/P-384 (0.01s) --- PASS: TestECDSASigningKeyToJWK/P-521 (0.03s) PASS ok gitea.dev/services/oauth2_provider 0.062s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1637716043/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1637716043/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1637716043/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1637716043/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1637716043/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1637716043/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1637716043/data/actions_artifacts === RUN TestOrg === RUN TestOrg/UpdateOrgEmailAddress === RUN TestOrg/DeleteOrganization === RUN TestOrg/ChangeVisibilityWithUserFork === RUN TestOrg/ChangeVisibilityClearsWatchesAndStars 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:6 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:12 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:15 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:16 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:48 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:17 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test --- PASS: TestOrg (0.17s) --- PASS: TestOrg/UpdateOrgEmailAddress (0.01s) --- PASS: TestOrg/DeleteOrganization (0.04s) --- PASS: TestOrg/ChangeVisibilityWithUserFork (0.01s) --- PASS: TestOrg/ChangeVisibilityClearsWatchesAndStars (0.01s) === RUN TestTeam_AddMember --- PASS: TestTeam_AddMember (0.10s) === RUN TestTeam_RemoveMember --- PASS: TestTeam_RemoveMember (0.02s) === RUN TestRemoveTeamMemberRemovesSubscriptionsAndStopwatches --- PASS: TestRemoveTeamMemberRemovesSubscriptionsAndStopwatches (0.01s) === RUN TestNewTeam --- PASS: TestNewTeam (0.04s) === RUN TestUpdateTeam --- PASS: TestUpdateTeam (0.01s) === RUN TestUpdateTeam2 --- PASS: TestUpdateTeam2 (0.01s) === RUN TestDeleteTeam --- PASS: TestDeleteTeam (0.01s) === RUN TestAddTeamMember --- PASS: TestAddTeamMember (0.11s) === RUN TestRemoveTeamMember --- PASS: TestRemoveTeamMember (0.03s) === RUN TestIncludesAllRepositoriesTeams 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners --- PASS: TestIncludesAllRepositoriesTeams (0.17s) === RUN TestUser_RemoveMember --- PASS: TestUser_RemoveMember (0.06s) === RUN TestRemoveOrgUser --- PASS: TestRemoveOrgUser (0.04s) PASS ok gitea.dev/services/org 1.413s ? gitea.dev/services/packages [no test files] ? gitea.dev/services/packages/alpine [no test files] === RUN TestCompareVersions --- PASS: TestCompareVersions (0.00s) PASS ok gitea.dev/services/packages/arch 0.158s ? gitea.dev/services/packages/cargo [no test files] ? gitea.dev/services/packages/cleanup [no test files] ? gitea.dev/services/packages/container [no test files] ? gitea.dev/services/packages/debian [no test files] ? gitea.dev/services/packages/pkgspec [no test files] ? gitea.dev/services/packages/rpm [no test files] ? gitea.dev/services/packages/terraform [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2342169697/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2342169697/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2342169697/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2342169697/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2342169697/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2342169697/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2342169697/data/actions_artifacts === RUN Test_Projects === RUN Test_Projects/User_projects === RUN Test_Projects/User_projects/Authenticated_user === RUN Test_Projects/User_projects/Anonymous_user === RUN Test_Projects/User_projects/Authenticated_user_with_no_permission_to_the_private_repo === RUN Test_Projects/Org_projects === RUN Test_Projects/Org_projects/Authenticated_user === RUN Test_Projects/Org_projects/Anonymous_user === RUN Test_Projects/Org_projects/Authenticated_user_with_no_permission_to_the_private_repo === RUN Test_Projects/Org_projects/Org_owner_team_member === RUN Test_Projects/Repository_projects === RUN Test_Projects/Repository_projects/Authenticated_user === RUN Test_Projects/Repository_projects/Anonymous_user === RUN Test_Projects/Repository_projects/Authenticated_user_with_no_permission_to_the_private_repo --- PASS: Test_Projects (0.19s) --- PASS: Test_Projects/User_projects (0.02s) --- PASS: Test_Projects/User_projects/Authenticated_user (0.01s) --- PASS: Test_Projects/User_projects/Anonymous_user (0.01s) --- PASS: Test_Projects/User_projects/Authenticated_user_with_no_permission_to_the_private_repo (0.01s) --- PASS: Test_Projects/Org_projects (0.03s) --- PASS: Test_Projects/Org_projects/Authenticated_user (0.00s) --- PASS: Test_Projects/Org_projects/Anonymous_user (0.00s) --- PASS: Test_Projects/Org_projects/Authenticated_user_with_no_permission_to_the_private_repo (0.00s) --- PASS: Test_Projects/Org_projects/Org_owner_team_member (0.01s) --- PASS: Test_Projects/Repository_projects (0.02s) --- PASS: Test_Projects/Repository_projects/Authenticated_user (0.01s) --- PASS: Test_Projects/Repository_projects/Anonymous_user (0.01s) --- PASS: Test_Projects/Repository_projects/Authenticated_user_with_no_permission_to_the_private_repo (0.01s) PASS ok gitea.dev/services/projects 0.747s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-721399542/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-721399542/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-721399542/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-721399542/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-721399542/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-721399542/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-721399542/data/actions_artifacts === RUN TestPullRequest_AddToTaskQueue --- PASS: TestPullRequest_AddToTaskQueue (0.22s) === RUN TestCheckSigningRequirementsHeadCommits --- PASS: TestCheckSigningRequirementsHeadCommits (0.01s) === RUN TestMarkPullRequestAsMergeable --- PASS: TestMarkPullRequestAsMergeable (0.01s) === RUN TestCreatePushPullCommentForcePushDeletesOldComments === RUN TestCreatePushPullCommentForcePushDeletesOldComments/base-branch-only === RUN TestCreatePushPullCommentForcePushDeletesOldComments/force-push-ignores-missing-old-commit === RUN TestCreatePushPullCommentForcePushDeletesOldComments/head-vs-base-branch --- PASS: TestCreatePushPullCommentForcePushDeletesOldComments (0.04s) --- PASS: TestCreatePushPullCommentForcePushDeletesOldComments/base-branch-only (0.01s) --- PASS: TestCreatePushPullCommentForcePushDeletesOldComments/force-push-ignores-missing-old-commit (0.01s) --- PASS: TestCreatePushPullCommentForcePushDeletesOldComments/head-vs-base-branch (0.01s) === RUN TestMergeRequiredContextsCommitStatus --- PASS: TestMergeRequiredContextsCommitStatus (0.00s) === RUN TestEffectiveRequiredContexts === RUN TestEffectiveRequiredContexts/nil_protected_branch:_nil === RUN TestEffectiveRequiredContexts/status_checks_disabled,_no_required_scoped:_nothing_required === RUN TestEffectiveRequiredContexts/owner_with_no_scoped_sources:_configured_contexts_unchanged === RUN TestEffectiveRequiredContexts/required_workflow_patterns_appended === RUN TestEffectiveRequiredContexts/status_checks_disabled,_with_required_scoped:_only_the_scoped_patterns_gate === RUN TestEffectiveRequiredContexts/several_rules_union_their_enabled_contexts,_deduplicated;_a_disabled_rule_contributes_none --- PASS: TestEffectiveRequiredContexts (0.01s) --- PASS: TestEffectiveRequiredContexts/nil_protected_branch:_nil (0.00s) --- PASS: TestEffectiveRequiredContexts/status_checks_disabled,_no_required_scoped:_nothing_required (0.00s) --- PASS: TestEffectiveRequiredContexts/owner_with_no_scoped_sources:_configured_contexts_unchanged (0.00s) --- PASS: TestEffectiveRequiredContexts/required_workflow_patterns_appended (0.00s) --- PASS: TestEffectiveRequiredContexts/status_checks_disabled,_with_required_scoped:_only_the_scoped_patterns_gate (0.00s) --- PASS: TestEffectiveRequiredContexts/several_rules_union_their_enabled_contexts,_deduplicated;_a_disabled_rule_contributes_none (0.00s) === RUN Test_expandDefaultMergeMessage === RUN Test_expandDefaultMergeMessage/single_line === RUN Test_expandDefaultMergeMessage/multiple_lines === RUN Test_expandDefaultMergeMessage/leading_newlines --- PASS: Test_expandDefaultMergeMessage (0.00s) --- PASS: Test_expandDefaultMergeMessage/single_line (0.00s) --- PASS: Test_expandDefaultMergeMessage/multiple_lines (0.00s) --- PASS: Test_expandDefaultMergeMessage/leading_newlines (0.00s) === RUN TestAddCommitMessageTailer --- PASS: TestAddCommitMessageTailer (0.00s) === RUN TestPullRequestMergeable === RUN TestPullRequestMergeable/NoConflict-MergeTree === RUN TestPullRequestMergeable/NoConflict-TmpRepo === RUN TestPullRequestMergeable/Conflict-MergeTree === RUN TestPullRequestMergeable/Conflict-TmpRepo === RUN TestPullRequestMergeable/Empty-MergeTree === RUN TestPullRequestMergeable/Empty-TmpRepo --- PASS: TestPullRequestMergeable (0.18s) --- PASS: TestPullRequestMergeable/NoConflict-MergeTree (0.01s) --- PASS: TestPullRequestMergeable/NoConflict-TmpRepo (0.05s) --- PASS: TestPullRequestMergeable/Conflict-MergeTree (0.01s) --- PASS: TestPullRequestMergeable/Conflict-TmpRepo (0.05s) --- PASS: TestPullRequestMergeable/Empty-MergeTree (0.01s) --- PASS: TestPullRequestMergeable/Empty-TmpRepo (0.04s) === RUN TestPullRequest_FormatSquashMergeCommitMessages --- PASS: TestPullRequest_FormatSquashMergeCommitMessages (0.00s) === RUN TestPullRequest_GetDefaultMergeMessage_InternalTracker --- PASS: TestPullRequest_GetDefaultMergeMessage_InternalTracker (0.00s) === RUN TestPullRequest_GetDefaultMergeMessage_ExternalTracker --- PASS: TestPullRequest_GetDefaultMergeMessage_ExternalTracker (0.00s) === RUN TestBuildSquashMergeCommitMessages --- PASS: TestBuildSquashMergeCommitMessages (0.00s) === RUN TestIsUserAllowedToUpdate === RUN TestIsUserAllowedToUpdate/RespectsProtectedBranch === RUN TestIsUserAllowedToUpdate/DisallowRebaseWhenConfigDisabled === RUN TestIsUserAllowedToUpdate/DisallowMergeWhenConfigDisabled === RUN TestIsUserAllowedToUpdate/ReadOnlyAccessDenied === RUN TestIsUserAllowedToUpdate/ProtectedBranchAllowsPushWithoutRebase === RUN TestIsUserAllowedToUpdate/MaintainerEditRespectsPosterPermissions === RUN TestIsUserAllowedToUpdate/MaintainerEditInheritsPosterPermissions === RUN TestIsUserAllowedToUpdate/MaintainerEditInheritsPosterPermissionsRebaseDisabled --- PASS: TestIsUserAllowedToUpdate (0.03s) --- PASS: TestIsUserAllowedToUpdate/RespectsProtectedBranch (0.00s) --- PASS: TestIsUserAllowedToUpdate/DisallowRebaseWhenConfigDisabled (0.00s) --- PASS: TestIsUserAllowedToUpdate/DisallowMergeWhenConfigDisabled (0.00s) --- PASS: TestIsUserAllowedToUpdate/ReadOnlyAccessDenied (0.00s) --- PASS: TestIsUserAllowedToUpdate/ProtectedBranchAllowsPushWithoutRebase (0.00s) --- PASS: TestIsUserAllowedToUpdate/MaintainerEditRespectsPosterPermissions (0.00s) --- PASS: TestIsUserAllowedToUpdate/MaintainerEditInheritsPosterPermissions (0.00s) --- PASS: TestIsUserAllowedToUpdate/MaintainerEditInheritsPosterPermissionsRebaseDisabled (0.01s) === RUN TestDismissReview --- PASS: TestDismissReview (0.01s) === RUN TestRepoGetReviewers --- PASS: TestRepoGetReviewers (0.01s) === RUN TestRepoGetReviewerTeams --- PASS: TestRepoGetReviewerTeams (0.00s) PASS ok gitea.dev/services/pull 1.049s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1125988162/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1125988162/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1125988162/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1125988162/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1125988162/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1125988162/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1125988162/data/actions_artifacts === RUN TestGenerateReleaseNotes === RUN TestGenerateReleaseNotes/ChangeLogsWithPRs === RUN TestGenerateReleaseNotes/NoPreviousTag === RUN TestGenerateReleaseNotes/EmptyPreviousTagWithExistingTags --- PASS: TestGenerateReleaseNotes (0.21s) --- PASS: TestGenerateReleaseNotes/ChangeLogsWithPRs (0.02s) --- PASS: TestGenerateReleaseNotes/NoPreviousTag (0.04s) --- PASS: TestGenerateReleaseNotes/EmptyPreviousTagWithExistingTags (0.01s) === RUN TestRelease_Create --- PASS: TestRelease_Create (0.06s) === RUN TestRelease_Update --- PASS: TestRelease_Update (0.06s) === RUN TestRelease_createTag --- PASS: TestRelease_createTag (0.03s) === RUN TestCreateNewTag --- PASS: TestCreateNewTag (0.01s) PASS ok gitea.dev/services/release 0.927s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/actions_artifacts === RUN TestCheckUnadoptedRepositories_Add --- PASS: TestCheckUnadoptedRepositories_Add (0.00s) === RUN TestCheckUnadoptedRepositories --- PASS: TestCheckUnadoptedRepositories (0.11s) === RUN TestListUnadoptedRepositories_ListOptions --- PASS: TestListUnadoptedRepositories_ListOptions (0.03s) === RUN TestAdoptRepository --- PASS: TestAdoptRepository (0.04s) === RUN TestUploadAvatar --- PASS: TestUploadAvatar (0.01s) === RUN TestUploadBigAvatar --- PASS: TestUploadBigAvatar (0.01s) === RUN TestDeleteAvatar --- PASS: TestDeleteAvatar (0.00s) === RUN TestGenerateAvatar --- PASS: TestGenerateAvatar (0.00s) === RUN TestRepository_AddCollaborator --- PASS: TestRepository_AddCollaborator (0.26s) === RUN TestRepository_DeleteCollaboration --- PASS: TestRepository_DeleteCollaboration (0.05s) === RUN TestRepository_DeleteCollaborationRemovesSubscriptionsAndStopwatches --- PASS: TestRepository_DeleteCollaborationRemovesSubscriptionsAndStopwatches (0.01s) === RUN TestRepository_ContributorsGraph --- PASS: TestRepository_ContributorsGraph (0.02s) === RUN TestCreateRepositoryDirectly 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 .../repository/create.go:285:CreateRepositoryDirectly() [E] Files already exist in user2/created-repo and we are not going to adopt or delete. 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners --- PASS: TestCreateRepositoryDirectly (0.02s) === RUN TestForkRepository --- PASS: TestForkRepository (0.02s) === RUN TestForkRepositoryCleanup 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/repository/fork.go:139:ForkRepository() [E] Files already exist in user2/test and we are not going to adopt or delete. 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners --- PASS: TestForkRepositoryCleanup (0.04s) === RUN TestGiteaTemplate --- PASS: TestGiteaTemplate (0.00s) === RUN TestFilePathSanitize --- PASS: TestFilePathSanitize (0.00s) === RUN TestProcessGiteaTemplateFileGenerate --- PASS: TestProcessGiteaTemplateFileGenerate (0.00s) === RUN TestProcessGiteaTemplateFileRead --- PASS: TestProcessGiteaTemplateFileRead (0.00s) === RUN TestTransformers --- PASS: TestTransformers (0.00s) === RUN Test_detectLicense === RUN Test_detectLicense/empty === RUN Test_detectLicense/no_detected_license === RUN Test_detectLicense/single_license_test:_0BSD === RUN Test_detectLicense/single_license_test:_AGPL-3.0 === RUN Test_detectLicense/single_license_test:_Apache-2.0 === RUN Test_detectLicense/single_license_test:_BSD-2-Clause === RUN Test_detectLicense/single_license_test:_BSD-3-Clause === RUN Test_detectLicense/single_license_test:_BSD-3-Clause-Clear === RUN Test_detectLicense/single_license_test:_BSL-1.0 === RUN Test_detectLicense/single_license_test:_CC-BY-4.0 === RUN Test_detectLicense/single_license_test:_CC-BY-SA-4.0 === RUN Test_detectLicense/single_license_test:_CC0-1.0 === RUN Test_detectLicense/single_license_test:_EPL-1.0 === RUN Test_detectLicense/single_license_test:_EPL-2.0 === RUN Test_detectLicense/single_license_test:_EUPL-1.2 === RUN Test_detectLicense/single_license_test:_GPL-2.0 === RUN Test_detectLicense/single_license_test:_GPL-3.0 === RUN Test_detectLicense/single_license_test:_ISC === RUN Test_detectLicense/single_license_test:_LGPL-2.1 === RUN Test_detectLicense/single_license_test:_LGPL-3.0 === RUN Test_detectLicense/single_license_test:_MIT === RUN Test_detectLicense/single_license_test:_MIT-0 === RUN Test_detectLicense/single_license_test:_MPL-2.0 === RUN Test_detectLicense/single_license_test:_MulanPSL-2.0 === RUN Test_detectLicense/single_license_test:_OFL-1.1 === RUN Test_detectLicense/single_license_test:_OSL-3.0 === RUN Test_detectLicense/single_license_test:_UPL-1.0 === RUN Test_detectLicense/single_license_test:_Unlicense === RUN Test_detectLicense/single_license_test:_WTFPL === RUN Test_detectLicense/single_license_test:_Zlib === RUN Test_detectLicense/multiple_licenses_test --- PASS: Test_detectLicense (0.23s) --- PASS: Test_detectLicense/empty (0.00s) --- PASS: Test_detectLicense/no_detected_license (0.00s) --- PASS: Test_detectLicense/single_license_test:_0BSD (0.00s) --- PASS: Test_detectLicense/single_license_test:_AGPL-3.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_Apache-2.0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_BSD-2-Clause (0.00s) --- PASS: Test_detectLicense/single_license_test:_BSD-3-Clause (0.00s) --- PASS: Test_detectLicense/single_license_test:_BSD-3-Clause-Clear (0.00s) --- PASS: Test_detectLicense/single_license_test:_BSL-1.0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_CC-BY-4.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_CC-BY-SA-4.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_CC0-1.0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_EPL-1.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_EPL-2.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_EUPL-1.2 (0.01s) --- PASS: Test_detectLicense/single_license_test:_GPL-2.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_GPL-3.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_ISC (0.00s) --- PASS: Test_detectLicense/single_license_test:_LGPL-2.1 (0.01s) --- PASS: Test_detectLicense/single_license_test:_LGPL-3.0 (0.01s) --- PASS: Test_detectLicense/single_license_test:_MIT (0.00s) --- PASS: Test_detectLicense/single_license_test:_MIT-0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_MPL-2.0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_MulanPSL-2.0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_OFL-1.1 (0.00s) --- PASS: Test_detectLicense/single_license_test:_OSL-3.0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_UPL-1.0 (0.00s) --- PASS: Test_detectLicense/single_license_test:_Unlicense (0.00s) --- PASS: Test_detectLicense/single_license_test:_WTFPL (0.00s) --- PASS: Test_detectLicense/single_license_test:_Zlib (0.00s) --- PASS: Test_detectLicense/multiple_licenses_test (0.00s) === RUN TestTeam_AddRepository --- PASS: TestTeam_AddRepository (0.19s) === RUN TestAttachLinkedTypeAndRepoID === RUN TestAttachLinkedTypeAndRepoID/LinkedIssue === RUN TestAttachLinkedTypeAndRepoID/LinkedComment === RUN TestAttachLinkedTypeAndRepoID/LinkedRelease === RUN TestAttachLinkedTypeAndRepoID/Notlinked --- PASS: TestAttachLinkedTypeAndRepoID (0.00s) --- PASS: TestAttachLinkedTypeAndRepoID/LinkedIssue (0.00s) --- PASS: TestAttachLinkedTypeAndRepoID/LinkedComment (0.00s) --- PASS: TestAttachLinkedTypeAndRepoID/LinkedRelease (0.00s) --- PASS: TestAttachLinkedTypeAndRepoID/Notlinked (0.00s) === RUN TestUpdateRepositoryVisibilityChanged --- PASS: TestUpdateRepositoryVisibilityChanged (0.00s) === RUN TestRepository_HasWiki --- PASS: TestRepository_HasWiki (0.04s) === RUN TestMakeRepoPrivateClearsWatches 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:1 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:2 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:3 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:5 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:11 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test --- PASS: TestMakeRepoPrivateClearsWatches (0.00s) === RUN TestUpdateRepositoryClearsWatchesOnVisibilityChange 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:1 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:2 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:3 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:5 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test 2026/08/11 22:30:49 .../indexer/issues/util.go:178:pushIssueIndexerQueue() [W] Trying to push &{ID:11 IsDelete:false IDs:[]} to issue indexer queue, but the queue is not initialized, it's OK if it's a unit test --- PASS: TestUpdateRepositoryClearsWatchesOnVisibilityChange (0.01s) === RUN TestTransferOwnership --- PASS: TestTransferOwnership (0.09s) === RUN TestStartRepositoryTransferSetPermission --- PASS: TestStartRepositoryTransferSetPermission (0.11s) === RUN TestRepositoryTransfer --- PASS: TestRepositoryTransfer (0.02s) === RUN TestRepositoryTransferRejection --- PASS: TestRepositoryTransferRejection (0.02s) === RUN TestTeam_HasRepository --- PASS: TestTeam_HasRepository (0.02s) === RUN TestTeam_RemoveRepository --- PASS: TestTeam_RemoveRepository (0.16s) === RUN TestDeleteOwnerRepositoriesDirectly 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [0b/8d/8b5f15046343fd32f451df93acc2bdd9e6373be478b968e4cad6b6647351]: LFS isn't enabled 2026/08/11 22:30:50 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [2e/cc/db43825d2a49d99d542daa20075cff1d97d9d2349a8977efe9c03661737c]: LFS isn't enabled 2026/08/11 22:30:50 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [7b/6b/2c88dba9f760a1a58469b67fee2b698ef7e9399c4ca4f34a14ccbe39f623]: LFS isn't enabled 2026/08/11 22:30:50 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [9d/17/2e5c64b4f0024b9901ec6afe9ea052f3c9b6ff9f4b07956d8c48c86fca82]: LFS isn't enabled 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners --- PASS: TestDeleteOwnerRepositoriesDirectly (0.11s) === RUN TestDeleteRepositoryDirectlyPurgesRepoScopedRows 2026/08/11 22:30:50 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners --- PASS: TestDeleteRepositoryDirectlyPurgesRepoScopedRows (0.11s) === RUN TestGarbageCollectLFSMetaObjects 2026/08/11 22:30:50 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/attachments 2026/08/11 22:30:50 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/avatars 2026/08/11 22:30:50 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/repo-avatars 2026/08/11 22:30:50 modules/storage/storage.go:218:initLFS() [I] Initialising LFS storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/lfs 2026/08/11 22:30:50 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/repo-archive 2026/08/11 22:30:50 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/packages 2026/08/11 22:30:50 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/actions_log 2026/08/11 22:30:50 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/actions_artifacts --- PASS: TestGarbageCollectLFSMetaObjects (0.06s) === RUN TestGarbageCollectLFSMetaObjectsForRepoAutoFix 2026/08/11 22:30:50 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/attachments 2026/08/11 22:30:50 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/avatars 2026/08/11 22:30:50 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/repo-avatars 2026/08/11 22:30:50 modules/storage/storage.go:218:initLFS() [I] Initialising LFS storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/lfs 2026/08/11 22:30:50 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/repo-archive 2026/08/11 22:30:50 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/packages 2026/08/11 22:30:50 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/actions_log 2026/08/11 22:30:50 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:50 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1860510057/data/actions_artifacts --- PASS: TestGarbageCollectLFSMetaObjectsForRepoAutoFix (0.04s) PASS ok gitea.dev/services/repository 2.439s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1863105018/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1863105018/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1863105018/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1863105018/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1863105018/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1863105018/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1863105018/data/actions_artifacts === RUN TestArchiveQueueItemJSON --- PASS: TestArchiveQueueItemJSON (0.00s) === RUN TestArchive_Basic === RUN TestArchive_Basic/BadPath --- PASS: TestArchive_Basic (2.15s) --- PASS: TestArchive_Basic/BadPath (0.00s) PASS ok gitea.dev/services/repository/archiver 2.643s ? gitea.dev/services/repository/commitstatus [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1235560902/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1235560902/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1235560902/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1235560902/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1235560902/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1235560902/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1235560902/data/actions_artifacts === RUN TestGetContents === RUN TestGetContents/GetBlobBySHA --- PASS: TestGetContents (0.14s) --- PASS: TestGetContents/GetBlobBySHA (0.00s) === RUN TestGetDiffPreview === RUN TestGetDiffPreview/Errors === RUN TestGetDiffPreview/Errors/empty_repo === RUN TestGetDiffPreview/Errors/bad_branch === RUN TestGetDiffPreview/Errors/empty_treePath === RUN TestGetDiffPreview/with_given_branch === RUN TestGetDiffPreview/empty_branch,_same_results --- PASS: TestGetDiffPreview (0.10s) --- PASS: TestGetDiffPreview/Errors (0.02s) --- PASS: TestGetDiffPreview/Errors/empty_repo (0.00s) --- PASS: TestGetDiffPreview/Errors/bad_branch (0.01s) --- PASS: TestGetDiffPreview/Errors/empty_treePath (0.01s) --- PASS: TestGetDiffPreview/with_given_branch (0.02s) --- PASS: TestGetDiffPreview/empty_branch,_same_results (0.02s) === RUN TestCleanUploadFileName --- PASS: TestCleanUploadFileName (0.00s) === RUN TestGitPatchPrepare --- PASS: TestGitPatchPrepare (0.05s) === RUN TestTemporaryUploadRepository === RUN TestTemporaryUploadRepository/sha1 === RUN TestTemporaryUploadRepository/sha256 --- PASS: TestTemporaryUploadRepository (0.02s) --- PASS: TestTemporaryUploadRepository/sha1 (0.01s) --- PASS: TestTemporaryUploadRepository/sha256 (0.01s) === RUN TestGetTreeBySHA --- PASS: TestGetTreeBySHA (0.04s) === RUN TestGetTreeViewNodes --- PASS: TestGetTreeViewNodes (0.05s) PASS ok gitea.dev/services/repository/files 1.004s === RUN TestReleaseUnusedColors --- PASS: TestReleaseUnusedColors (0.00s) === RUN TestParseGlyphs --- PASS: TestParseGlyphs (0.00s) === RUN TestCommitStringParsing === RUN TestCommitStringParsing/normal === RUN TestCommitStringParsing/extra_pipe === RUN TestCommitStringParsing/extra_'Data:' --- PASS: TestCommitStringParsing (0.00s) --- PASS: TestCommitStringParsing/normal (0.00s) --- PASS: TestCommitStringParsing/extra_pipe (0.00s) --- PASS: TestCommitStringParsing/extra_'Data:' (0.00s) PASS ok gitea.dev/services/repository/gitgraph 0.131s === RUN TestValidateName --- PASS: TestValidateName (0.00s) PASS ok gitea.dev/services/secrets 0.081s ? gitea.dev/services/task [no test files] ? gitea.dev/services/uinotification [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3877268709/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3877268709/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3877268709/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3877268709/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3877268709/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3877268709/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-3877268709/data/actions_artifacts === RUN TestCanBlockUser --- PASS: TestCanBlockUser (0.08s) === RUN TestCanUnblockUser --- PASS: TestCanUnblockUser (0.00s) === RUN TestUserEmail === RUN TestUserEmail/PrimaryEmailAddress === RUN TestUserEmail/AddEmailAddresses === RUN TestUserEmail/DeleteEmailAddresses --- PASS: TestUserEmail (0.01s) --- PASS: TestUserEmail/PrimaryEmailAddress (0.00s) --- PASS: TestUserEmail/AddEmailAddresses (0.00s) --- PASS: TestUserEmail/DeleteEmailAddresses (0.00s) === RUN TestUpdateUser --- PASS: TestUpdateUser (0.01s) === RUN TestUpdateAuth --- PASS: TestUpdateAuth (0.01s) === RUN TestUpdateUserVisibility --- PASS: TestUpdateUserVisibility (0.00s) === RUN TestDeleteUser === RUN TestDeleteUser/CleanupOrphanedTables 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [0b/8d/8b5f15046343fd32f451df93acc2bdd9e6373be478b968e4cad6b6647351]: LFS isn't enabled 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [2e/cc/db43825d2a49d99d542daa20075cff1d97d9d2349a8977efe9c03661737c]: LFS isn't enabled 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [7b/6b/2c88dba9f760a1a58469b67fee2b698ef7e9399c4ca4f34a14ccbe39f623]: LFS isn't enabled 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [9d/17/2e5c64b4f0024b9901ec6afe9ea052f3c9b6ff9f4b07956d8c48c86fca82]: LFS isn't enabled 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners --- PASS: TestDeleteUser (0.40s) --- PASS: TestDeleteUser/CleanupOrphanedTables (0.18s) === RUN TestDeleteUserUnlinkedAttachments === RUN TestDeleteUserUnlinkedAttachments/DeleteExisting === RUN TestDeleteUserUnlinkedAttachments/NoUnlinkedAttachments --- PASS: TestDeleteUserUnlinkedAttachments (0.03s) --- PASS: TestDeleteUserUnlinkedAttachments/DeleteExisting (0.03s) --- PASS: TestDeleteUserUnlinkedAttachments/NoUnlinkedAttachments (0.00s) === RUN TestPurgeUser 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [0b/8d/8b5f15046343fd32f451df93acc2bdd9e6373be478b968e4cad6b6647351]: LFS isn't enabled 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [2e/cc/db43825d2a49d99d542daa20075cff1d97d9d2349a8977efe9c03661737c]: LFS isn't enabled 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [7b/6b/2c88dba9f760a1a58469b67fee2b698ef7e9399c4ca4f34a14ccbe39f623]: LFS isn't enabled 2026/08/11 22:30:49 models/system/notice.go:67:RemoveStorageWithNotice() [W] Delete orphaned LFS file [9d/17/2e5c64b4f0024b9901ec6afe9ea052f3c9b6ff9f4b07956d8c48c86fca82]: LFS isn't enabled 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners 2026/08/11 22:30:49 services/actions/cleanup.go:170:CleanupEphemeralRunnersByPickedTaskOfRepo() [I] Removed 0 runners --- PASS: TestPurgeUser (0.47s) === RUN TestCreateUser --- PASS: TestCreateUser (0.00s) === RUN TestRenameUser === RUN TestRenameUser/External_user === RUN TestRenameUser/Same_username === RUN TestRenameUser/Non_usable_username === RUN TestRenameUser/Only_capitalization === RUN TestRenameUser/Already_exists === RUN TestRenameUser/Normal --- PASS: TestRenameUser (0.03s) --- PASS: TestRenameUser/External_user (0.00s) --- PASS: TestRenameUser/Same_username (0.00s) --- PASS: TestRenameUser/Non_usable_username (0.00s) --- PASS: TestRenameUser/Only_capitalization (0.00s) --- PASS: TestRenameUser/Already_exists (0.00s) --- PASS: TestRenameUser/Normal (0.00s) === RUN TestCreateUser_Issue5882 --- PASS: TestCreateUser_Issue5882 (0.01s) === RUN TestDeleteInactiveUsers --- PASS: TestDeleteInactiveUsers (0.01s) PASS ok gitea.dev/services/user 1.639s ? gitea.dev/services/versioned_migration [no test files] 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1566839376/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1566839376/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1566839376/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1566839376/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1566839376/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1566839376/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-1566839376/data/actions_artifacts === RUN TestWebhookProxy === RUN TestWebhookProxy/https://discordapp.com/api/webhooks/xxxxxxxxx/xxxxxxxxxxxxxxxxxxx === RUN TestWebhookProxy/http://s.discordapp.com/assets/xxxxxx === RUN TestWebhookProxy/http://github.com/a/b === RUN TestWebhookProxy/http://www.discordapp.com/assets/xxxxxx --- PASS: TestWebhookProxy (0.00s) --- PASS: TestWebhookProxy/https://discordapp.com/api/webhooks/xxxxxxxxx/xxxxxxxxxxxxxxxxxxx (0.00s) --- PASS: TestWebhookProxy/http://s.discordapp.com/assets/xxxxxx (0.00s) --- PASS: TestWebhookProxy/http://github.com/a/b (0.00s) --- PASS: TestWebhookProxy/http://www.discordapp.com/assets/xxxxxx (0.00s) === RUN TestWebhookDeliverAuthorizationHeader 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[1]: jsontext: unexpected EOF --- PASS: TestWebhookDeliverAuthorizationHeader (0.11s) === RUN TestWebhookDeliverHookTask === RUN TestWebhookDeliverHookTask/Version_1 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[2]: jsontext: unexpected EOF === RUN TestWebhookDeliverHookTask/Version_2 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[2]: jsontext: unexpected EOF --- PASS: TestWebhookDeliverHookTask (0.01s) --- PASS: TestWebhookDeliverHookTask/Version_1 (0.00s) --- PASS: TestWebhookDeliverHookTask/Version_2 (0.00s) === RUN TestWebhookDeliverSpecificTypes === RUN TestWebhookDeliverSpecificTypes/discord === PAUSE TestWebhookDeliverSpecificTypes/discord === RUN TestWebhookDeliverSpecificTypes/dingtalk === PAUSE TestWebhookDeliverSpecificTypes/dingtalk === RUN TestWebhookDeliverSpecificTypes/feishu === PAUSE TestWebhookDeliverSpecificTypes/feishu === RUN TestWebhookDeliverSpecificTypes/matrix === PAUSE TestWebhookDeliverSpecificTypes/matrix === RUN TestWebhookDeliverSpecificTypes/packagist === PAUSE TestWebhookDeliverSpecificTypes/packagist === RUN TestWebhookDeliverSpecificTypes/slack === PAUSE TestWebhookDeliverSpecificTypes/slack === RUN TestWebhookDeliverSpecificTypes/telegram === PAUSE TestWebhookDeliverSpecificTypes/telegram === RUN TestWebhookDeliverSpecificTypes/msteams === PAUSE TestWebhookDeliverSpecificTypes/msteams === RUN TestWebhookDeliverSpecificTypes/wechatwork === PAUSE TestWebhookDeliverSpecificTypes/wechatwork === CONT TestWebhookDeliverSpecificTypes/discord === CONT TestWebhookDeliverSpecificTypes/slack === CONT TestWebhookDeliverSpecificTypes/feishu === CONT TestWebhookDeliverSpecificTypes/packagist === CONT TestWebhookDeliverSpecificTypes/matrix === CONT TestWebhookDeliverSpecificTypes/dingtalk === CONT TestWebhookDeliverSpecificTypes/msteams === CONT TestWebhookDeliverSpecificTypes/wechatwork === CONT TestWebhookDeliverSpecificTypes/telegram 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[4]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[3]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[7]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[6]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[5]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[8]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[9]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[10]: jsontext: unexpected EOF 2026/08/11 22:30:48 models/webhook/webhook.go:155:(*Webhook).AfterLoad() [E] Unmarshal[11]: jsontext: unexpected EOF --- PASS: TestWebhookDeliverSpecificTypes (0.00s) --- PASS: TestWebhookDeliverSpecificTypes/slack (0.01s) --- PASS: TestWebhookDeliverSpecificTypes/telegram (0.05s) --- PASS: TestWebhookDeliverSpecificTypes/matrix (0.05s) --- PASS: TestWebhookDeliverSpecificTypes/msteams (0.05s) --- PASS: TestWebhookDeliverSpecificTypes/feishu (0.06s) --- PASS: TestWebhookDeliverSpecificTypes/packagist (0.07s) --- PASS: TestWebhookDeliverSpecificTypes/wechatwork (0.07s) --- PASS: TestWebhookDeliverSpecificTypes/discord (0.08s) --- PASS: TestWebhookDeliverSpecificTypes/dingtalk (0.09s) === RUN TestDingTalkPayload === RUN TestDingTalkPayload/Create === RUN TestDingTalkPayload/Delete === RUN TestDingTalkPayload/Fork === RUN TestDingTalkPayload/Push === RUN TestDingTalkPayload/Issue === RUN TestDingTalkPayload/IssueComment === RUN TestDingTalkPayload/PullRequest === RUN TestDingTalkPayload/PullRequestComment === RUN TestDingTalkPayload/Review === RUN TestDingTalkPayload/Repository === RUN TestDingTalkPayload/Package === RUN TestDingTalkPayload/Wiki === RUN TestDingTalkPayload/Release --- PASS: TestDingTalkPayload (0.00s) --- PASS: TestDingTalkPayload/Create (0.00s) --- PASS: TestDingTalkPayload/Delete (0.00s) --- PASS: TestDingTalkPayload/Fork (0.00s) --- PASS: TestDingTalkPayload/Push (0.00s) --- PASS: TestDingTalkPayload/Issue (0.00s) --- PASS: TestDingTalkPayload/IssueComment (0.00s) --- PASS: TestDingTalkPayload/PullRequest (0.00s) --- PASS: TestDingTalkPayload/PullRequestComment (0.00s) --- PASS: TestDingTalkPayload/Review (0.00s) --- PASS: TestDingTalkPayload/Repository (0.00s) --- PASS: TestDingTalkPayload/Package (0.00s) --- PASS: TestDingTalkPayload/Wiki (0.00s) --- PASS: TestDingTalkPayload/Release (0.00s) === RUN TestDingTalkJSONPayload --- PASS: TestDingTalkJSONPayload (0.00s) === RUN TestDiscordPayload === RUN TestDiscordPayload/Create === RUN TestDiscordPayload/Delete === RUN TestDiscordPayload/Fork === RUN TestDiscordPayload/Push === RUN TestDiscordPayload/PushWithMultilineCommitMessage === RUN TestDiscordPayload/PushWithLongCommitSummary === RUN TestDiscordPayload/Issue === RUN TestDiscordPayload/IssueComment === RUN TestDiscordPayload/PullRequest === RUN TestDiscordPayload/PullRequestComment === RUN TestDiscordPayload/Review === RUN TestDiscordPayload/Repository === RUN TestDiscordPayload/Package === RUN TestDiscordPayload/Wiki === RUN TestDiscordPayload/Release --- PASS: TestDiscordPayload (0.00s) --- PASS: TestDiscordPayload/Create (0.00s) --- PASS: TestDiscordPayload/Delete (0.00s) --- PASS: TestDiscordPayload/Fork (0.00s) --- PASS: TestDiscordPayload/Push (0.00s) --- PASS: TestDiscordPayload/PushWithMultilineCommitMessage (0.00s) --- PASS: TestDiscordPayload/PushWithLongCommitSummary (0.00s) --- PASS: TestDiscordPayload/Issue (0.00s) --- PASS: TestDiscordPayload/IssueComment (0.00s) --- PASS: TestDiscordPayload/PullRequest (0.00s) --- PASS: TestDiscordPayload/PullRequestComment (0.00s) --- PASS: TestDiscordPayload/Review (0.00s) --- PASS: TestDiscordPayload/Repository (0.00s) --- PASS: TestDiscordPayload/Package (0.00s) --- PASS: TestDiscordPayload/Wiki (0.00s) --- PASS: TestDiscordPayload/Release (0.00s) === RUN TestDiscordJSONPayload --- PASS: TestDiscordJSONPayload (0.00s) === RUN TestFeishuPayload === RUN TestFeishuPayload/Create === RUN TestFeishuPayload/Delete === RUN TestFeishuPayload/Fork === RUN TestFeishuPayload/Push === RUN TestFeishuPayload/Issue === RUN TestFeishuPayload/IssueComment === RUN TestFeishuPayload/PullRequest === RUN TestFeishuPayload/PullRequestComment === RUN TestFeishuPayload/Review === RUN TestFeishuPayload/Repository === RUN TestFeishuPayload/Package === RUN TestFeishuPayload/Wiki === RUN TestFeishuPayload/Release --- PASS: TestFeishuPayload (0.00s) --- PASS: TestFeishuPayload/Create (0.00s) --- PASS: TestFeishuPayload/Delete (0.00s) --- PASS: TestFeishuPayload/Fork (0.00s) --- PASS: TestFeishuPayload/Push (0.00s) --- PASS: TestFeishuPayload/Issue (0.00s) --- PASS: TestFeishuPayload/IssueComment (0.00s) --- PASS: TestFeishuPayload/PullRequest (0.00s) --- PASS: TestFeishuPayload/PullRequestComment (0.00s) --- PASS: TestFeishuPayload/Review (0.00s) --- PASS: TestFeishuPayload/Repository (0.00s) --- PASS: TestFeishuPayload/Package (0.00s) --- PASS: TestFeishuPayload/Wiki (0.00s) --- PASS: TestFeishuPayload/Release (0.00s) === RUN TestFeishuJSONPayload --- PASS: TestFeishuJSONPayload (0.00s) === RUN TestGetIssuesPayloadInfo --- PASS: TestGetIssuesPayloadInfo (0.00s) === RUN TestGetPullRequestPayloadInfo --- PASS: TestGetPullRequestPayloadInfo (0.00s) === RUN TestGetWikiPayloadInfo --- PASS: TestGetWikiPayloadInfo (0.00s) === RUN TestGetReleasePayloadInfo --- PASS: TestGetReleasePayloadInfo (0.00s) === RUN TestGetIssueCommentPayloadInfo --- PASS: TestGetIssueCommentPayloadInfo (0.00s) === RUN TestMatrixPayload === RUN TestMatrixPayload/Create === RUN TestMatrixPayload/Delete === RUN TestMatrixPayload/Fork === RUN TestMatrixPayload/Push === RUN TestMatrixPayload/Issue === RUN TestMatrixPayload/IssueComment === RUN TestMatrixPayload/PullRequest === RUN TestMatrixPayload/PullRequestComment === RUN TestMatrixPayload/Review === RUN TestMatrixPayload/Repository === RUN TestMatrixPayload/Package === RUN TestMatrixPayload/Wiki === RUN TestMatrixPayload/Release --- PASS: TestMatrixPayload (0.00s) --- PASS: TestMatrixPayload/Create (0.00s) --- PASS: TestMatrixPayload/Delete (0.00s) --- PASS: TestMatrixPayload/Fork (0.00s) --- PASS: TestMatrixPayload/Push (0.00s) --- PASS: TestMatrixPayload/Issue (0.00s) --- PASS: TestMatrixPayload/IssueComment (0.00s) --- PASS: TestMatrixPayload/PullRequest (0.00s) --- PASS: TestMatrixPayload/PullRequestComment (0.00s) --- PASS: TestMatrixPayload/Review (0.00s) --- PASS: TestMatrixPayload/Repository (0.00s) --- PASS: TestMatrixPayload/Package (0.00s) --- PASS: TestMatrixPayload/Wiki (0.00s) --- PASS: TestMatrixPayload/Release (0.00s) === RUN TestMatrixJSONPayload --- PASS: TestMatrixJSONPayload (0.00s) === RUN Test_getTxnID === RUN Test_getTxnID/dummy_payload --- PASS: Test_getTxnID (0.00s) --- PASS: Test_getTxnID/dummy_payload (0.00s) === RUN TestMSTeamsPayload === RUN TestMSTeamsPayload/Create === RUN TestMSTeamsPayload/Delete === RUN TestMSTeamsPayload/Fork === RUN TestMSTeamsPayload/Push === RUN TestMSTeamsPayload/Issue === RUN TestMSTeamsPayload/IssueComment === RUN TestMSTeamsPayload/PullRequest === RUN TestMSTeamsPayload/PullRequestComment === RUN TestMSTeamsPayload/Review === RUN TestMSTeamsPayload/Repository === RUN TestMSTeamsPayload/Package === RUN TestMSTeamsPayload/Wiki === RUN TestMSTeamsPayload/Release --- PASS: TestMSTeamsPayload (0.00s) --- PASS: TestMSTeamsPayload/Create (0.00s) --- PASS: TestMSTeamsPayload/Delete (0.00s) --- PASS: TestMSTeamsPayload/Fork (0.00s) --- PASS: TestMSTeamsPayload/Push (0.00s) --- PASS: TestMSTeamsPayload/Issue (0.00s) --- PASS: TestMSTeamsPayload/IssueComment (0.00s) --- PASS: TestMSTeamsPayload/PullRequest (0.00s) --- PASS: TestMSTeamsPayload/PullRequestComment (0.00s) --- PASS: TestMSTeamsPayload/Review (0.00s) --- PASS: TestMSTeamsPayload/Repository (0.00s) --- PASS: TestMSTeamsPayload/Package (0.00s) --- PASS: TestMSTeamsPayload/Wiki (0.00s) --- PASS: TestMSTeamsPayload/Release (0.00s) === RUN TestMSTeamsJSONPayload --- PASS: TestMSTeamsJSONPayload (0.00s) === RUN TestPackagistPayload === RUN TestPackagistPayload/Create === RUN TestPackagistPayload/Delete === RUN TestPackagistPayload/Fork === RUN TestPackagistPayload/Push === RUN TestPackagistPayload/Issue === RUN TestPackagistPayload/IssueComment === RUN TestPackagistPayload/PullRequest === RUN TestPackagistPayload/PullRequestComment === RUN TestPackagistPayload/Review === RUN TestPackagistPayload/Repository === RUN TestPackagistPayload/Package === RUN TestPackagistPayload/Wiki === RUN TestPackagistPayload/Release --- PASS: TestPackagistPayload (0.00s) --- PASS: TestPackagistPayload/Create (0.00s) --- PASS: TestPackagistPayload/Delete (0.00s) --- PASS: TestPackagistPayload/Fork (0.00s) --- PASS: TestPackagistPayload/Push (0.00s) --- PASS: TestPackagistPayload/Issue (0.00s) --- PASS: TestPackagistPayload/IssueComment (0.00s) --- PASS: TestPackagistPayload/PullRequest (0.00s) --- PASS: TestPackagistPayload/PullRequestComment (0.00s) --- PASS: TestPackagistPayload/Review (0.00s) --- PASS: TestPackagistPayload/Repository (0.00s) --- PASS: TestPackagistPayload/Package (0.00s) --- PASS: TestPackagistPayload/Wiki (0.00s) --- PASS: TestPackagistPayload/Release (0.00s) === RUN TestPackagistJSONPayload --- PASS: TestPackagistJSONPayload (0.00s) === RUN TestPackagistEmptyPayload --- PASS: TestPackagistEmptyPayload (0.00s) === RUN TestSlackPayload === RUN TestSlackPayload/Create === RUN TestSlackPayload/Delete === RUN TestSlackPayload/Fork === RUN TestSlackPayload/Push === RUN TestSlackPayload/Issue === RUN TestSlackPayload/IssueComment === RUN TestSlackPayload/PullRequest === RUN TestSlackPayload/PullRequestComment === RUN TestSlackPayload/Review === RUN TestSlackPayload/Repository === RUN TestSlackPayload/Package === RUN TestSlackPayload/Wiki === RUN TestSlackPayload/Release --- PASS: TestSlackPayload (0.00s) --- PASS: TestSlackPayload/Create (0.00s) --- PASS: TestSlackPayload/Delete (0.00s) --- PASS: TestSlackPayload/Fork (0.00s) --- PASS: TestSlackPayload/Push (0.00s) --- PASS: TestSlackPayload/Issue (0.00s) --- PASS: TestSlackPayload/IssueComment (0.00s) --- PASS: TestSlackPayload/PullRequest (0.00s) --- PASS: TestSlackPayload/PullRequestComment (0.00s) --- PASS: TestSlackPayload/Review (0.00s) --- PASS: TestSlackPayload/Repository (0.00s) --- PASS: TestSlackPayload/Package (0.00s) --- PASS: TestSlackPayload/Wiki (0.00s) --- PASS: TestSlackPayload/Release (0.00s) === RUN TestSlackJSONPayload --- PASS: TestSlackJSONPayload (0.00s) === RUN TestTelegramPayload === RUN TestTelegramPayload/Correct_webhook_params === RUN TestTelegramPayload/Create === RUN TestTelegramPayload/Delete === RUN TestTelegramPayload/Fork === RUN TestTelegramPayload/Push === RUN TestTelegramPayload/Issue === RUN TestTelegramPayload/IssueComment === RUN TestTelegramPayload/PullRequest === RUN TestTelegramPayload/PullRequestComment === RUN TestTelegramPayload/Review === RUN TestTelegramPayload/Repository === RUN TestTelegramPayload/Package === RUN TestTelegramPayload/Wiki === RUN TestTelegramPayload/Release --- PASS: TestTelegramPayload (0.00s) --- PASS: TestTelegramPayload/Correct_webhook_params (0.00s) --- PASS: TestTelegramPayload/Create (0.00s) --- PASS: TestTelegramPayload/Delete (0.00s) --- PASS: TestTelegramPayload/Fork (0.00s) --- PASS: TestTelegramPayload/Push (0.00s) --- PASS: TestTelegramPayload/Issue (0.00s) --- PASS: TestTelegramPayload/IssueComment (0.00s) --- PASS: TestTelegramPayload/PullRequest (0.00s) --- PASS: TestTelegramPayload/PullRequestComment (0.00s) --- PASS: TestTelegramPayload/Review (0.00s) --- PASS: TestTelegramPayload/Repository (0.00s) --- PASS: TestTelegramPayload/Package (0.00s) --- PASS: TestTelegramPayload/Wiki (0.00s) --- PASS: TestTelegramPayload/Release (0.00s) === RUN TestTelegramJSONPayload --- PASS: TestTelegramJSONPayload (0.00s) === RUN TestWebhookService === RUN TestWebhookService/GetSlackHook === RUN TestWebhookService/PrepareWebhooks === RUN TestWebhookService/PrepareBranchFilterMatch === RUN TestWebhookService/PrepareBranchFilterNoMatch === RUN TestWebhookService/WebhookUserMail === RUN TestWebhookService/CheckBranchFilter === RUN TestWebhookService/PrepareTestWebhookIgnoresGates --- PASS: TestWebhookService (0.05s) --- PASS: TestWebhookService/GetSlackHook (0.00s) --- PASS: TestWebhookService/PrepareWebhooks (0.00s) --- PASS: TestWebhookService/PrepareBranchFilterMatch (0.00s) --- PASS: TestWebhookService/PrepareBranchFilterNoMatch (0.00s) --- PASS: TestWebhookService/WebhookUserMail (0.00s) --- PASS: TestWebhookService/CheckBranchFilter (0.00s) --- PASS: TestWebhookService/PrepareTestWebhookIgnoresGates (0.00s) PASS ok gitea.dev/services/webhook 0.809s === RUN TestParseThemeMetaInfo --- PASS: TestParseThemeMetaInfo (0.00s) PASS ok gitea.dev/services/webtheme 0.011s 2026/08/11 22:30:48 modules/storage/storage.go:208:initAttachments() [I] Initialising Attachment storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2511863154/data/attachments 2026/08/11 22:30:48 modules/storage/storage.go:198:initAvatars() [I] Initialising Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2511863154/data/avatars 2026/08/11 22:30:48 modules/storage/storage.go:224:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2511863154/data/repo-avatars 2026/08/11 22:30:48 modules/storage/storage.go:230:initRepoArchives() [I] Initialising Repository Archive storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2511863154/data/repo-archive 2026/08/11 22:30:48 modules/storage/storage.go:240:initPackages() [I] Initialising Packages storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2511863154/data/packages 2026/08/11 22:30:48 modules/storage/storage.go:251:initActions() [I] Initialising Actions storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2511863154/data/actions_log 2026/08/11 22:30:48 modules/storage/storage.go:255:initActions() [I] Initialising ActionsArtifacts storage with type: local 2026/08/11 22:30:48 modules/storage/local.go:48:NewLocalStorage() [I] Creating new Local Storage at /tmp/gitea-test/unit-test-dir-2511863154/data/actions_artifacts === RUN TestWebPathSegments --- PASS: TestWebPathSegments (0.00s) === RUN TestUserTitleToWebPath --- PASS: TestUserTitleToWebPath (0.00s) === RUN TestWebPathToDisplayName --- PASS: TestWebPathToDisplayName (0.00s) === RUN TestWebPathToGitPath --- PASS: TestWebPathToGitPath (0.00s) === RUN TestGitPathToWebPath --- PASS: TestGitPathToWebPath (0.00s) === RUN TestUserWebGitPathConsistency --- PASS: TestUserWebGitPathConsistency (0.01s) === RUN TestRepository_InitWiki --- PASS: TestRepository_InitWiki (0.16s) === RUN TestRepository_AddWikiPage === RUN TestRepository_AddWikiPage/test_wiki_exist:_Another_page === RUN TestRepository_AddWikiPage/test_wiki_exist:_Here's_a__and_a/slash === RUN TestRepository_AddWikiPage/check_wiki_already_exist === PAUSE TestRepository_AddWikiPage/check_wiki_already_exist === RUN TestRepository_AddWikiPage/check_wiki_reserved_name === PAUSE TestRepository_AddWikiPage/check_wiki_reserved_name === CONT TestRepository_AddWikiPage/check_wiki_already_exist === CONT TestRepository_AddWikiPage/check_wiki_reserved_name --- PASS: TestRepository_AddWikiPage (0.09s) --- PASS: TestRepository_AddWikiPage/test_wiki_exist:_Another_page (0.05s) --- PASS: TestRepository_AddWikiPage/test_wiki_exist:_Here's_a__and_a/slash (0.04s) --- PASS: TestRepository_AddWikiPage/check_wiki_reserved_name (0.00s) --- PASS: TestRepository_AddWikiPage/check_wiki_already_exist (0.02s) === RUN TestRepository_EditWikiPage --- PASS: TestRepository_EditWikiPage (0.27s) === RUN TestRepository_DeleteWikiPage --- PASS: TestRepository_DeleteWikiPage (0.07s) === RUN TestPrepareWikiFileName === RUN TestPrepareWikiFileName/add_suffix === RUN TestPrepareWikiFileName/test_special_chars --- PASS: TestPrepareWikiFileName (0.04s) --- PASS: TestPrepareWikiFileName/add_suffix (0.00s) --- PASS: TestPrepareWikiFileName/test_special_chars (0.00s) === RUN TestPrepareWikiFileName_FirstPage --- PASS: TestPrepareWikiFileName_FirstPage (0.04s) === RUN TestWebPathConversion --- PASS: TestWebPathConversion (0.00s) === RUN TestWebPathFromRequest --- PASS: TestWebPathFromRequest (0.00s) PASS ok gitea.dev/services/wiki 1.195s === RUN FuzzMarkdownRenderRaw --- PASS: FuzzMarkdownRenderRaw (0.00s) === RUN FuzzMarkupPostProcess --- PASS: FuzzMarkupPostProcess (0.00s) PASS ok gitea.dev/tests/fuzz 0.088s ? gitea.dev/tools [no test files] >>> gitea: Entering fakeroot... >>> gitea-doc*: Running split function doc... 'usr/share/licenses' -> '/home/buildozer/aports/community/gitea/pkg/gitea-doc/usr/share/licenses' >>> gitea-doc*: Preparing subpackage gitea-doc... libfakeroot internal error: payload not recognized! >>> gitea-doc*: Running postcheck for gitea-doc >>> gitea-openrc*: Running split function openrc... 'etc/init.d' -> '/home/buildozer/aports/community/gitea/pkg/gitea-openrc/etc/init.d' >>> gitea-openrc*: Preparing subpackage gitea-openrc... >>> gitea-openrc*: Running postcheck for gitea-openrc >>> gitea*: Running postcheck for gitea >>> gitea*: Preparing package gitea... >>> gitea*: Stripping binaries >>> gitea*: Script found. /bin/sh added as a dependency >>> gitea*: Adding .pre-install >>> gitea*: Scanning shared objects >>> gitea*: Tracing dependencies... git git-lfs gnupg /bin/sh >>> gitea*: Package size: 156.9 MB >>> gitea*: Compressing data... >>> gitea*: Create checksum... >>> gitea*: Create gitea-1.27.1-r0.apk >>> gitea-doc*: Tracing dependencies... >>> gitea-doc*: Package size: 1.1 KB >>> gitea-doc*: Compressing data... >>> gitea-doc*: Create checksum... >>> gitea-doc*: Create gitea-doc-1.27.1-r0.apk >>> gitea-openrc*: Tracing dependencies... >>> gitea-openrc*: Package size: 911.0 B >>> gitea-openrc*: Compressing data... >>> gitea-openrc*: Create checksum... >>> gitea-openrc*: Create gitea-openrc-1.27.1-r0.apk >>> gitea: Build complete at Tue, 11 Aug 2026 22:30:58 +0000 elapsed time 0h 2m 29s >>> gitea: Cleaning up srcdir >>> gitea: Cleaning up pkgdir >>> gitea: Cleaning up tmpdir >>> gitea: Uninstalling dependencies... ( 1/42) Purging .makedepends-gitea (20260811.222830) ( 2/42) Purging git-lfs (3.7.1-r1) Executing git-lfs-3.7.1-r1.pre-deinstall * System Git LFS configuration has been removed. ( 3/42) Purging gnupg (2.4.9-r1) ( 4/42) Purging gpg-wks-server (2.4.9-r1) ( 5/42) Purging gpgsm (2.4.9-r1) ( 6/42) Purging gpgv (2.4.9-r1) ( 7/42) Purging gnupg-utils (2.4.9-r1) ( 8/42) Purging gnupg-wks-client (2.4.9-r1) ( 9/42) Purging gpg (2.4.9-r1) (10/42) Purging gnupg-keyboxd (2.4.9-r1) (11/42) Purging gpg-agent (2.4.9-r1) (12/42) Purging gnupg-dirmngr (2.4.9-r1) (13/42) Purging gnupg-gpgconf (2.4.9-r1) (14/42) Purging pinentry (1.3.2-r0) (15/42) Purging go (1.26.5-r0) (16/42) Purging bash (5.3.9-r1) Executing bash-5.3.9-r1.pre-deinstall (17/42) Purging sqlite (3.53.4-r0) (18/42) Purging tzdata (2026c-r0) (19/42) Purging pnpm (11.21.0-r0) (20/42) Purging nodejs (24.18.1-r0) (21/42) Purging ca-certificates (20260611-r0) Executing ca-certificates-20260611-r0.post-deinstall (22/42) Purging ada-libs (3.3.0-r0) (23/42) Purging gnutls (3.8.13-r0) (24/42) Purging icu-libs (78.1-r0) (25/42) Purging libassuan (3.0.2-r0) (26/42) Purging libbz2 (1.0.8-r6) (27/42) Purging libgcrypt (1.12.2-r0) (28/42) Purging libksba (1.7.0-r0) (29/42) Purging libldap (2.6.14-r0) (30/42) Purging libsasl (2.1.28-r9) (31/42) Purging nettle (3.10.2-r0) (32/42) Purging npth (1.8-r0) (33/42) Purging p11-kit (0.26.2-r1) (34/42) Purging readline (8.3.3-r1) (35/42) Purging simdjson (4.2.4-r0) (36/42) Purging simdutf (9.0.0-r0) (37/42) Purging sqlite-libs (3.53.4-r0) (38/42) Purging gdbm (1.26-r0) (39/42) Purging icu-data-full (78.1-r0) (40/42) Purging libffi (3.5.2-r1) (41/42) Purging libgpg-error (1.61-r0) (42/42) Purging libtasn1 (4.21.0-r0) Executing busybox-1.38.0-r4.trigger OK: 441.7 MiB in 107 packages >>> gitea: Updating the community/x86_64 repository index... >>> gitea: Signing the index...