Expect(err).NotTo(HaveOccurred()) header = &zip.FileHeader{Name: "ddd/3.txt"} header.SetMode(os.FileMode(0600)) _, err = zipWriter.CreateHeader(header) Expect(err).NotTo(HaveOccurred()) }) AfterEach(func() { tmpFile.Close() os.Remove(tmpFile.Name()) syscall.Umask(prevUmask) }) It("unzips", func() { Expect(zipper.Unzip(tmpFile.Name(), tmpDir)).To(Succeed()) var ( err error fileInfo os.FileInfo ) fileInfo, err = os.Stat(filepath.Join(tmpDir, "aaa")) Expect(err).NotTo(HaveOccurred()) Expect(fileInfo.Mode()).To(Equal(os.FileMode(0644))) fileInfo, err = os.Stat(filepath.Join(tmpDir, "bbb")) Expect(err).NotTo(HaveOccurred()) Expect(fileInfo.Mode().Perm()).To(Equal(os.FileMode(0777))) fileInfo, err = os.Stat(filepath.Join(tmpDir, "bbb/1.txt"))