From 48bd1d46af73e2cb6d4d1baf67bf45f5108a2ec1 Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Thu, 12 Jun 2025 16:40:10 +0800 Subject: [PATCH] internal/build:switch workdir from testpkg like go behavior --- cl/_testgo/runtest/main_test.go | 12 +++++++++++- internal/build/build.go | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cl/_testgo/runtest/main_test.go b/cl/_testgo/runtest/main_test.go index 220a4a8e..b8547ad2 100644 --- a/cl/_testgo/runtest/main_test.go +++ b/cl/_testgo/runtest/main_test.go @@ -1,6 +1,9 @@ package main -import "testing" +import ( + "os" + "testing" +) func TestZoo(t *testing.T) { if Zoo() != 3 { @@ -11,3 +14,10 @@ func TestZoo(t *testing.T) { func TestFalse(t *testing.T) { // t.Fatal("false") } + +func TestSwitchWd(t *testing.T) { + _, err := os.Stat("./foo") + if err != nil { + t.Fatal(err) + } +} diff --git a/internal/build/build.go b/internal/build/build.go index 44b01134..212e513a 100644 --- a/internal/build/build.go +++ b/internal/build/build.go @@ -508,6 +508,7 @@ func linkMainPkg(ctx *context, pkg *packages.Package, pkgs []*aPackage, conf *Co switch mode { case ModeTest: cmd := exec.Command(app, conf.RunArgs...) + cmd.Dir = pkg.Dir cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Run()