28 lines
627 B
Go
28 lines
627 B
Go
package settings
|
|
|
|
import (
|
|
"errors"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
const (
|
|
TheTestFilename = "settings_test.settings"
|
|
)
|
|
|
|
func TestMain(m *testing.M) {
|
|
exitCode := func() int {
|
|
if err := os.Remove(TheTestFilename); err != nil && !errors.Is(err, os.ErrNotExist) {
|
|
panic("error cleaning up " + TheTestFilename + " from previous run: " + err.Error())
|
|
} else if err := os.WriteFile(TheTestFilename, nil, 0664); err != nil {
|
|
panic("error creating empty " + TheTestFilename + ": " + err.Error())
|
|
}
|
|
defer os.Remove(TheTestFilename)
|
|
|
|
TheSettings = NewSettings(TheTestFilename, false)
|
|
|
|
return m.Run()
|
|
}()
|
|
os.Exit(exitCode)
|
|
}
|