diff --git a/package_stemcell/packagers/packager_utility_test.go b/package_stemcell/packagers/packager_utility_test.go index f810898d..d61a5a2f 100644 --- a/package_stemcell/packagers/packager_utility_test.go +++ b/package_stemcell/packagers/packager_utility_test.go @@ -20,8 +20,23 @@ var _ = Describe("Packager Utility", func() { var destinationDir string BeforeEach(func() { - sourceDir = GinkgoT().TempDir() // automatically cleaned up - destinationDir = GinkgoT().TempDir() // automatically cleaned up + // Revert to manual cleanup which fails non-catastrophically on windows + //sourceDir = GinkgoT().TempDir() // automatically cleaned up + //destinationDir = GinkgoT().TempDir() // automatically cleaned up + sourceDir, _ = os.MkdirTemp(os.TempDir(), "packager-utility-test-source") + destinationDir, _ = os.MkdirTemp(os.TempDir(), "packager-utility-test-destination") + }) + + AfterEach(func() { + // TODO: remove once GinkgoT().TempDir() is safe on windows + err := os.RemoveAll(sourceDir) + if err != nil { + By(fmt.Sprintf("removing '%s' failed: %s", sourceDir, err)) + } + err = os.RemoveAll(destinationDir) + if err != nil { + By(fmt.Sprintf("removing '%s' failed: %s", destinationDir, err)) + } }) It("should tar all files inside provided folder and return its sha1", func() { diff --git a/package_stemcell/packagers/vcenter_packager_test.go b/package_stemcell/packagers/vcenter_packager_test.go index 2ad6cd9a..825e0840 100644 --- a/package_stemcell/packagers/vcenter_packager_test.go +++ b/package_stemcell/packagers/vcenter_packager_test.go @@ -29,12 +29,23 @@ var _ = Describe("VcenterPackager", func() { var fakeVcenterClient *packagersfakes.FakeIaasClient BeforeEach(func() { - outputDir = GinkgoT().TempDir() // automatically cleaned up + // Revert to manual cleanup which fails non-catastrophically on windows + //outputDir = GinkgoT().TempDir() // automatically cleaned up + outputDir, _ = os.MkdirTemp(os.TempDir(), "vcenter-test-output-dir") + sourceConfig = config.SourceConfig{Password: "password", URL: "url", Username: "username", VmInventoryPath: "path/valid-vm-name"} outputConfig = config.OutputConfig{Os: "2012R2", StemcellVersion: "1200.2", OutputDir: outputDir} fakeVcenterClient = &packagersfakes.FakeIaasClient{} }) + AfterEach(func() { + // TODO: remove once GinkgoT().TempDir() is safe on windows + err := os.RemoveAll(outputDir) + if err != nil { + By(fmt.Sprintf("removing '%s' failed: %s", outputDir, err)) + } + }) + Context("ValidateSourceParameters", func() { It("returns an error if the vCenter url is invalid", func() { fakeVcenterClient.ValidateUrlReturns(errors.New("vcenter client url error")) diff --git a/package_stemcell/stemcell_generator/tar/tar_writer_test.go b/package_stemcell/stemcell_generator/tar/tar_writer_test.go index b7c1a6bd..fd435f22 100644 --- a/package_stemcell/stemcell_generator/tar/tar_writer_test.go +++ b/package_stemcell/stemcell_generator/tar/tar_writer_test.go @@ -5,6 +5,7 @@ import ( "bytes" "compress/gzip" "errors" + "fmt" "io" "os" "path/filepath" @@ -29,7 +30,10 @@ var _ = Describe("TarWriter", func() { originalWorkingDir, err = os.Getwd() Expect(err).NotTo(HaveOccurred()) - workingDir = GinkgoT().TempDir() // automatically cleaned up + // Revert to manual cleanup which fails non-catastrophically on windows + //workingDir = GinkgoT().TempDir() // automatically cleaned up + workingDir, err = os.MkdirTemp(os.TempDir(), "TarWriterTest") + Expect(err).NotTo(HaveOccurred()) fakeFile := bytes.NewReader([]byte{}) fakeTarable = &tarfakes.FakeTarable{} @@ -40,6 +44,12 @@ var _ = Describe("TarWriter", func() { AfterEach(func() { Expect(os.Chdir(originalWorkingDir)).To(Succeed()) + + // TODO: remove once GinkgoT().TempDir() is safe on windows + err := os.RemoveAll(workingDir) + if err != nil { + By(fmt.Sprintf("removing '%s' failed: %s", workingDir, err)) + } }) It("should not fail", func() {