diff --git a/cloud/cpi_cmd_runner_test.go b/cloud/cpi_cmd_runner_test.go index 116e95e18..4b9d512d0 100644 --- a/cloud/cpi_cmd_runner_test.go +++ b/cloud/cpi_cmd_runner_test.go @@ -21,6 +21,7 @@ var _ = Describe("CpiCmdRunner", func() { cmdRunner *fakesys.FakeCmdRunner cpi CPI apiVersion int + logger boshlog.Logger ) BeforeEach(func() { @@ -35,7 +36,7 @@ var _ = Describe("CpiCmdRunner", func() { } cmdRunner = fakesys.NewFakeCmdRunner() - logger := boshlog.NewLogger(boshlog.LevelNone) + logger = boshlog.NewLogger(boshlog.LevelNone) cpiCmdRunner = NewCPICmdRunner(cmdRunner, cpi, logger, true) apiVersion = 1 @@ -63,7 +64,7 @@ var _ = Describe("CpiCmdRunner", func() { Expect(actualCmd.Env).To(Equal(map[string]string{ "BOSH_PACKAGES_DIR": cpi.PackagesDir, "BOSH_JOBS_DIR": cpi.JobsDir, - "PATH": "/usr/local/bin:/usr/bin:/bin:/sbin", + "PATH": os.Getenv("PATH"), })) Expect(actualCmd.UseIsolatedEnv).To(BeTrue()) bytes, err := io.ReadAll(actualCmd.Stdin) @@ -89,11 +90,8 @@ var _ = Describe("CpiCmdRunner", func() { apiVersion = 2 }) - AfterEach(func() { - os.Unsetenv("BOSH_CPI_USE_ISOLATED_ENV") - }) - It("creates correct command with UseIsolatedEnv false if BOSH_CPI_USE_ISOLATED_ENV is set", func() { - os.Setenv("BOSH_CPI_USE_ISOLATED_ENV", "false") + It("creates correct command with UseIsolatedEnv false if NewCPICmdRunner is initialized with false", func() { + cpiCmdRunner = NewCPICmdRunner(cmdRunner, cpi, logger, false) cmdOutput := CmdOutput{} outputBytes, err := json.Marshal(cmdOutput) Expect(err).NotTo(HaveOccurred()) @@ -109,21 +107,6 @@ var _ = Describe("CpiCmdRunner", func() { Expect(actualCmd.UseIsolatedEnv).To(BeFalse()) }) - It("throws helpful error if the value of BOSH_CPI_USE_ISOLATED_ENV cannot be parsed into a bool", func() { - os.Setenv("BOSH_CPI_USE_ISOLATED_ENV", "falasdse") - cmdOutput := CmdOutput{} - outputBytes, err := json.Marshal(cmdOutput) - Expect(err).NotTo(HaveOccurred()) - - result := fakesys.FakeCmdResult{ - Stdout: string(outputBytes), - ExitStatus: 0, - } - cmdRunner.AddCmdResult("/jobs/cpi/bin/cpi", result) - _, err = cpiCmdRunner.Run(context, "fake-method", apiVersion, "fake-argument-1", "fake-argument-2") - Expect(err).To(HaveOccurred()) - Expect(MatchRegexp("BOSH_CPI_USE_ISOLATED_ENV cannot be parsed", err)) - }) It("creates correct command with stemcell api_version in context", func() { cmdOutput := CmdOutput{} outputBytes, err := json.Marshal(cmdOutput) @@ -145,7 +128,7 @@ var _ = Describe("CpiCmdRunner", func() { Expect(actualCmd.Env).To(Equal(map[string]string{ "BOSH_PACKAGES_DIR": cpi.PackagesDir, "BOSH_JOBS_DIR": cpi.JobsDir, - "PATH": "/usr/local/bin:/usr/bin:/bin:/sbin", + "PATH": os.Getenv("PATH"), })) Expect(actualCmd.UseIsolatedEnv).To(BeTrue()) bytes, err := io.ReadAll(actualCmd.Stdin) diff --git a/installation/pkg/compiler.go b/installation/pkg/compiler.go index 9c4d2bdfa..2ed653263 100644 --- a/installation/pkg/compiler.go +++ b/installation/pkg/compiler.go @@ -97,20 +97,20 @@ func (c *compiler) Compile(pkg birelpkg.Compilable) (bistatepkg.CompiledPackageR return record, isCompiledPackage, bosherr.Errorf("Packaging script for package '%s' not found", pkg.Name()) } - cmd := boshsys.Command{ - Name: "bash", - Args: []string{"-x", "packaging"}, - Env: map[string]string{ - "BOSH_COMPILE_TARGET": packageSrcDir, - "BOSH_INSTALL_TARGET": installDir, - "BOSH_PACKAGE_NAME": pkg.Name(), - "BOSH_PACKAGES_DIR": c.packagesDir, - "PATH": os.Getenv("PATH"), - "LD_LIBRARY_PATH": os.Getenv("LD_LIBRARY_PATH"), - }, - UseIsolatedEnv: c.useIsolatedEnv, - WorkingDir: packageSrcDir, - } + cmd := boshsys.Command{ + Name: "bash", + Args: []string{"-x", "packaging"}, + Env: map[string]string{ + "BOSH_COMPILE_TARGET": packageSrcDir, + "BOSH_INSTALL_TARGET": installDir, + "BOSH_PACKAGE_NAME": pkg.Name(), + "BOSH_PACKAGES_DIR": c.packagesDir, + "PATH": os.Getenv("PATH"), + "LD_LIBRARY_PATH": os.Getenv("LD_LIBRARY_PATH"), + }, + UseIsolatedEnv: c.useIsolatedEnv, + WorkingDir: packageSrcDir, + } _, _, _, err = c.runner.RunComplexCommand(cmd) if err != nil {