diff --git a/go.mod b/go.mod index 96d0de9..eba0586 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver/v4 v4.0.0 - github.com/cardil/ghet v0.0.1-0.20240322174403-1901c4fe21ac + github.com/cardil/ghet v0.0.1-0.20240326133720-fccab8f3066e github.com/fatih/color v1.16.0 github.com/google/go-containerregistry v0.19.1 github.com/google/ko v0.15.2 @@ -193,7 +193,7 @@ require ( k8s.io/apimachinery v0.29.3 // indirect k8s.io/klog/v2 v2.120.1 // indirect k8s.io/utils v0.0.0-20240310230437-4693a0247e57 // indirect - knative.dev/client-pkg v0.0.0-20240322171749-cf1573f93631 // indirect + knative.dev/client-pkg v0.0.0-20240326133606-ca64d2dc74eb // indirect knative.dev/pkg v0.0.0-20240318073042-db6f3b074e8c // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/kind v0.22.0 // indirect diff --git a/go.sum b/go.sum index a0406d0..bf08abc 100644 --- a/go.sum +++ b/go.sum @@ -114,8 +114,8 @@ github.com/bodgit/sevenzip v1.5.0 h1:QESwnPUnhqftOgbi6wIiWm1WEkrT4puHukt5a2psEcw github.com/bodgit/sevenzip v1.5.0/go.mod h1:+E74G6pfBX8IMaVybsKMgGTTTBcbHU8ssPTJ9mLUr38= github.com/bodgit/windows v1.0.1 h1:tF7K6KOluPYygXa3Z2594zxlkbKPAOvqr97etrGNIz4= github.com/bodgit/windows v1.0.1/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM= -github.com/cardil/ghet v0.0.1-0.20240322174403-1901c4fe21ac h1:J6clysTPmIXMLYNh5Vu+x3qNiMTXKibibYz4dO/tiT8= -github.com/cardil/ghet v0.0.1-0.20240322174403-1901c4fe21ac/go.mod h1:INmHFxuHn5LmjkjmR9aCqa6msghwM/4q5He/vYlucfY= +github.com/cardil/ghet v0.0.1-0.20240326133720-fccab8f3066e h1:ijvKajl7Hv/H3k2J9PyXsDlwDcxt98T/lRoT7G2eizk= +github.com/cardil/ghet v0.0.1-0.20240326133720-fccab8f3066e/go.mod h1:GMYQeYWhSM+R11LaHHocV/9d/JZcG1+XVUDzm5nbtrc= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -799,8 +799,8 @@ k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/utils v0.0.0-20240310230437-4693a0247e57 h1:gbqbevonBh57eILzModw6mrkbwM0gQBEuevE/AaBsHY= k8s.io/utils v0.0.0-20240310230437-4693a0247e57/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -knative.dev/client-pkg v0.0.0-20240322171749-cf1573f93631 h1:LRwjoTbqyruGECvQZyGQE3k5clxwmgCQEt5HcWTUz2Y= -knative.dev/client-pkg v0.0.0-20240322171749-cf1573f93631/go.mod h1:CODwMfQexBzzgB2fv9hYF1+FZfrYc9TF3B26GxW69zQ= +knative.dev/client-pkg v0.0.0-20240326133606-ca64d2dc74eb h1:GXMlA9qA1b/a1eRBgMhfdmFqLyv17DdjaOnaH/ZFBU0= +knative.dev/client-pkg v0.0.0-20240326133606-ca64d2dc74eb/go.mod h1:+wx9/SVVGLte1JRcULet7kKnnUmgPzG1vQpD8E4DwVs= knative.dev/pkg v0.0.0-20240318073042-db6f3b074e8c h1:d8GmDhObjnH/iKrazsNjgLuuEnxLiFE/QSaeFY337cw= knative.dev/pkg v0.0.0-20240318073042-db6f3b074e8c/go.mod h1:RfDXq7Rf7UmGCEdAiJZPpBRuh7dX73T8clniFt2zEAA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/tests/project_build_test.go b/tests/project_build_test.go index 65c61e8..f025268 100644 --- a/tests/project_build_test.go +++ b/tests/project_build_test.go @@ -17,25 +17,41 @@ func TestProjectBuild(t *testing.T) { if testing.Short() { t.Skip("short tests only") } - execCmd(t, "./example", "./mage", "clean", "build") - execCmd(t, "./example/build/_output/bin", fmt.Sprintf("./other-%s-%s", - runtime.GOOS, runtime.GOARCH)) + c := mkCmd("./example", "./mage", "clean", "build") + assertCommandStarted(t, c) + assertCommandSucceded(t, c) + c = mkCmd("./example/build/_output/bin", + fmt.Sprintf("./other-%s-%s", runtime.GOOS, runtime.GOARCH)) + assertCommandStarted(t, c) + assertCommandSucceded(t, c) } -func execCmd(tb testing.TB, dir, name string, args ...string) { - tb.Helper() +func mkCmd(dir, name string, args ...string) *exec.Cmd { c := exec.Command(name, args...) c.Env = append( - env(filterOutByName{names: []string{"GOOS"}}), + env(filterOutByName{names: []string{"GOOS", "GOARCH", "GOARM"}}), "GOTRACEBACK=all", ) c.Dir = dir c.Stdout = os.Stdout c.Stderr = os.Stderr + return c +} + +func assertCommandStarted(tb testing.TB, c *exec.Cmd) { + tb.Helper() assert.NilError(tb, c.Start()) tb.Logf("Started `%q` with pid %d", - append([]string{name}, args...), + append([]string{c.Path}, c.Args...), c.Process.Pid) + tb.Log("Process env:") + for _, e := range c.Env { + tb.Logf(" * %s", e) + } +} + +func assertCommandSucceded(tb testing.TB, c *exec.Cmd) { + tb.Helper() assert.NilError(tb, c.Wait()) }