From 05f48735ade1e5104f7d87d536f519980b6d3793 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 09:58:34 +0000 Subject: [PATCH 1/2] Initial plan From 0ed5e0d8ff3499bb05ad4e482f2eac69796375a3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 10:04:55 +0000 Subject: [PATCH 2/2] fix: skip non-writable directory check in TestPreCheckConfig when running as root Co-authored-by: wuhuizuo <2574558+wuhuizuo@users.noreply.github.com> --- .../internal/local/file_manager_test.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/engine/pkg/externalresource/internal/local/file_manager_test.go b/engine/pkg/externalresource/internal/local/file_manager_test.go index 333f9df24d..e3c6428379 100644 --- a/engine/pkg/externalresource/internal/local/file_manager_test.go +++ b/engine/pkg/externalresource/internal/local/file_manager_test.go @@ -279,9 +279,13 @@ func TestPreCheckConfig(t *testing.T) { require.NoError(t, err) // Directory exists but not writable - baseDir = filepath.Join(dir, "not-writable") - require.NoError(t, os.MkdirAll(baseDir, 0o400)) - err = PreCheckConfig(resModel.LocalFileConfig{BaseDir: baseDir}) - require.Error(t, err) - require.Regexp(t, ".*ErrLocalFileDirNotWritable.*", err) + // Skip this check when running as root, because root bypasses filesystem + // permission checks and can write to any directory regardless of its mode. + if os.Getuid() != 0 { + baseDir = filepath.Join(dir, "not-writable") + require.NoError(t, os.MkdirAll(baseDir, 0o400)) + err = PreCheckConfig(resModel.LocalFileConfig{BaseDir: baseDir}) + require.Error(t, err) + require.Regexp(t, ".*ErrLocalFileDirNotWritable.*", err) + } }