| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // Copyright 2023 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package rotatingfilewriter
-
- import (
- "compress/gzip"
- "io"
- "os"
- "path/filepath"
- "testing"
-
- "github.com/stretchr/testify/assert"
- )
-
- func TestCompressOldFile(t *testing.T) {
- tmpDir := t.TempDir()
- fname := filepath.Join(tmpDir, "test")
- nonGzip := filepath.Join(tmpDir, "test-nonGzip")
-
- f, err := os.OpenFile(fname, os.O_CREATE|os.O_WRONLY, 0o660)
- assert.NoError(t, err)
- ng, err := os.OpenFile(nonGzip, os.O_CREATE|os.O_WRONLY, 0o660)
- assert.NoError(t, err)
-
- for range 999 {
- f.WriteString("This is a test file\n")
- ng.WriteString("This is a test file\n")
- }
- f.Close()
- ng.Close()
-
- err = compressOldFile(fname, gzip.DefaultCompression)
- assert.NoError(t, err)
-
- _, err = os.Lstat(fname + ".gz")
- assert.NoError(t, err)
-
- f, err = os.Open(fname + ".gz")
- assert.NoError(t, err)
- zr, err := gzip.NewReader(f)
- assert.NoError(t, err)
- data, err := io.ReadAll(zr)
- assert.NoError(t, err)
- original, err := os.ReadFile(nonGzip)
- assert.NoError(t, err)
- assert.Equal(t, original, data)
- }
|