I encouter a strange behaviour when I tried to open an zip file and close it without writing, the size of the zip has increased.
Here is the test case:
`package main
//Create archive.zip & fill it
if arc, err := os.Create(path); err != nil {
log.Fatal("Create", err)
} else {
w := zip.NewWriter(arc)
if f, err := w.CreateHeader(&zip.FileHeader{
Name: "file.txt",
Method: zip.Deflate,
}); err != nil {
log.Fatal("Create header", err)
} else {
f.Write([]byte("Hello world!!!"))
}
w.Close()
if info, err := arc.Stat(); err != nil {
log.Fatal("First stat", err)
} else {
expected = info.Size()
log.Println("Expected=", expected)
arc.Close()
}
}
//Open archive.zip, get append file writer & close it without writing
if arc, err := os.OpenFile(path, os.O_RDWR, 0); err != nil {
log.Fatal("Open", err)
} else if info, err := arc.Stat(); err != nil {
log.Fatal("Second stat", err)
} else {
arc.Seek(0, os.SEEK_END)
if r, err := zip.NewReader(arc, info.Size()); err != nil {
log.Fatal("NewReader", err)
} else {
w := r.Append(arc)
w.Close()
if info2, err := arc.Stat(); err != nil {
log.Fatal("Third stat", err)
} else {
log.Println("Size=", info2.Size())
if info2.Size() != expected {
log.Fatal("Unexpected size")
}
}
arc.Close()
}
}
Hi,
I encouter a strange behaviour when I tried to open an zip file and close it without writing, the size of the zip has increased.
Here is the test case:
`package main
import (
"log"
"os"
"testing"
)
func TestAppend(t *testing.T) {
expected := int64(-1)
path := "archive.zip"
}
`
Is it a bug ?
Thanks