1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package loggerutils
- import (
- "io"
- "os"
- "path/filepath"
- "testing"
- "gotest.tools/v3/assert"
- )
- func TestOpenFileDelete(t *testing.T) {
- tmpDir := t.TempDir()
- f, err := openFile(filepath.Join(tmpDir, "test.txt"), os.O_CREATE|os.O_RDWR, 644)
- assert.NilError(t, err)
- defer f.Close()
- assert.NilError(t, os.RemoveAll(f.Name()))
- }
- func TestOpenFileRename(t *testing.T) {
- tmpDir := t.TempDir()
- f, err := openFile(filepath.Join(tmpDir, "test.txt"), os.O_CREATE|os.O_RDWR, 0o644)
- assert.NilError(t, err)
- defer f.Close()
- assert.NilError(t, os.Rename(f.Name(), f.Name()+"renamed"))
- }
- func TestUnlinkOpenFile(t *testing.T) {
- tmpDir := t.TempDir()
- name := filepath.Join(tmpDir, "test.txt")
- f, err := openFile(name, os.O_CREATE|os.O_RDWR, 0o644)
- assert.NilError(t, err)
- defer func() { assert.NilError(t, f.Close()) }()
- _, err = io.WriteString(f, "first")
- assert.NilError(t, err)
- assert.NilError(t, unlink(name))
- f2, err := openFile(name, os.O_CREATE|os.O_RDWR, 0o644)
- assert.NilError(t, err)
- defer func() { assert.NilError(t, f2.Close()) }()
- _, err = io.WriteString(f2, "second")
- assert.NilError(t, err)
- _, err = f.Seek(0, io.SeekStart)
- assert.NilError(t, err)
- fdata, err := io.ReadAll(f)
- assert.NilError(t, err)
- assert.Check(t, "first" == string(fdata))
- _, err = f2.Seek(0, io.SeekStart)
- assert.NilError(t, err)
- f2data, err := io.ReadAll(f2)
- assert.NilError(t, err)
- assert.Check(t, "second" == string(f2data))
- }
|