Replace dataroot module with BinDir and DataDir on instance, adapt modules
This commit is contained in:
@@ -6,30 +6,50 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
type testInstance struct{}
|
||||
type testInstance struct {
|
||||
dataDir string
|
||||
}
|
||||
|
||||
var _ instance = testInstance{}
|
||||
|
||||
func (stub testInstance) DataDir() string {
|
||||
return stub.dataDir
|
||||
}
|
||||
|
||||
func (stub testInstance) SetCmdLineOperation(f func() error) {}
|
||||
|
||||
func runTest(m *testing.M) error {
|
||||
ds, err := InitializeUnitTestDataroot("test-config")
|
||||
func newTestInstance(testName string) (*testInstance, error) {
|
||||
testDir, err := os.MkdirTemp("", fmt.Sprintf("portmaster-%s", testName))
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to initialize dataroot: %w", err)
|
||||
}
|
||||
defer func() { _ = os.RemoveAll(ds) }()
|
||||
module, err = New(&testInstance{})
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to initialize module: %w", err)
|
||||
return nil, fmt.Errorf("failed to make tmp dir: %w", err)
|
||||
}
|
||||
|
||||
m.Run()
|
||||
return nil
|
||||
return &testInstance{
|
||||
dataDir: testDir,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
if err := runTest(m); err != nil {
|
||||
fmt.Printf("%s\n", err)
|
||||
os.Exit(1)
|
||||
func TestConfigPersistence(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
instance, err := newTestInstance("test-config")
|
||||
if err != nil {
|
||||
t.Fatalf("failed to create test instance: %s", err)
|
||||
}
|
||||
defer func() { _ = os.RemoveAll(instance.DataDir()) }()
|
||||
|
||||
module, err = New(instance)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to initialize module: %s", err)
|
||||
}
|
||||
|
||||
err = SaveConfig()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = loadConfig(true)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user