func (s *ZipSuite) TestExtractAllOverwriteSymlinks(c *gc.C) { name := "some-symlink" for i, test := range []ft.Entry{ ft.File{name, "content", 0644}, ft.Dir{name, 0751}, ft.Symlink{name, "wherever"}, } { c.Logf("test %d: %#v", i, test) targetPath := c.MkDir() original := ft.File{"original", "content", 0644} original.Create(c, targetPath) ft.Symlink{name, "original"}.Create(c, targetPath) reader := s.makeZip(c, test) err := zip.ExtractAll(reader, targetPath) c.Check(err, gc.IsNil) test.Check(c, targetPath) original.Check(c, targetPath) } }