From fbe9d5dd99fb95a8092b3761092d37cbafa94b05 Mon Sep 17 00:00:00 2001 From: Linghong Date: Thu, 23 Jul 2026 07:27:20 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=9F=E4=BA=A7=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E9=97=A8=E7=A6=81=E6=A0=B9=E7=94=A8=E6=88=B7=E5=A4=B9?= =?UTF-8?q?=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增install命令替身,忽略夹具环境无法满足的owner/group。 统一根用户与非根用户测试的目录创建、文件复制和权限设置。 --- scripts/check-production-api-deploy.mjs | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/scripts/check-production-api-deploy.mjs b/scripts/check-production-api-deploy.mjs index b13be4b2d..efeb4aa84 100644 --- a/scripts/check-production-api-deploy.mjs +++ b/scripts/check-production-api-deploy.mjs @@ -2434,6 +2434,31 @@ function prepareFixture(name) { ].join('\n'), 'utf8', ); + writeFileSync( + path.join(fakeBin, 'install'), + [ + '#!/usr/bin/env bash', + 'set -euo pipefail', + 'args=()', + 'while [[ "$#" -gt 0 ]]; do', + ' case "$1" in', + ' -o|--owner|-g|--group)', + ' shift 2', + ' ;;', + ' --owner=*|--group=*)', + ' shift', + ' ;;', + ' *)', + ' args+=("$1")', + ' shift', + ' ;;', + ' esac', + 'done', + 'exec /usr/bin/install "${args[@]}"', + '', + ].join('\n'), + 'utf8', + ); writeFileSync( path.join(fakeBin, 'sudo'), [ @@ -2476,6 +2501,7 @@ function prepareFixture(name) { chmodExecutable(path.join(fakeBin, 'sleep')); chmodExecutable(path.join(fakeBin, 'stat')); chmodExecutable(path.join(fakeBin, 'cp')); + chmodExecutable(path.join(fakeBin, 'install')); chmodExecutable(path.join(fakeBin, 'sudo')); return {