From cf3203913b9df8a917449aa5886ea40500527909 Mon Sep 17 00:00:00 2001 From: Daniel Mikusa Date: Fri, 4 Oct 2024 10:26:06 -0400 Subject: [PATCH] Do not use effect.NewExecutor use CommandExecutor instead When running `syft`, do not use effect.NewExecutor which runs the command with a tty. This seems to cause an issue with syft (or possibly with our tty library pty), and in either case you end up with stray formatting characters even though we tell syft to be quiet. Using CommandExecutor is basically the same, but it doesn't run with a tty. Signed-off-by: Daniel Mikusa --- tomcat/build.go | 2 +- tomcat/build_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tomcat/build.go b/tomcat/build.go index 4203667..d6650ea 100644 --- a/tomcat/build.go +++ b/tomcat/build.go @@ -175,7 +175,7 @@ func (b Build) Build(context libcnb.BuildContext) (libcnb.BuildResult, error) { ) if b.SBOMScanner == nil { - b.SBOMScanner = sbom.NewSyftCLISBOMScanner(context.Layers, effect.NewExecutor(), b.Logger) + b.SBOMScanner = sbom.NewSyftCLISBOMScanner(context.Layers, effect.CommandExecutor{}, b.Logger) } if err := b.SBOMScanner.ScanLaunch(context.Application.Path, libcnb.SyftJSON, libcnb.CycloneDXJSON); err != nil { return libcnb.BuildResult{}, fmt.Errorf("unable to create Launch SBoM \n%w", err) diff --git a/tomcat/build_test.go b/tomcat/build_test.go index 2cb5811..1807aa9 100644 --- a/tomcat/build_test.go +++ b/tomcat/build_test.go @@ -50,6 +50,7 @@ func testBuild(t *testing.T, context spec.G, it spec.S) { sbomScanner = mocks.SBOMScanner{} sbomScanner.On("ScanLaunch", ctx.Application.Path, libcnb.SyftJSON, libcnb.CycloneDXJSON).Return(nil) + t.Setenv("BP_ARCH", "amd64") }) it.After(func() {