a73x

internal/agent/state/state_paths_test.go

Ref:   Size: 829 B   History

package state

import (
	"path/filepath"
	"testing"
)

// TestStorePathHelpers pins the per-VM path derivations — including
// SerialLogPath, added for the on-disk serial console log — to their layout
// under the state root.
func TestStorePathHelpers(t *testing.T) {
	s, err := Open(t.TempDir())
	if err != nil {
		t.Fatalf("Open: %v", err)
	}
	const vm = "vm-42"
	checks := []struct{ name, got, want string }{
		{"ImagesDir", s.ImagesDir(), filepath.Join(s.dir, "images")},
		{"SeedPath", s.SeedPath(vm), filepath.Join(s.VMDir(vm), "seed.iso")},
		{"SocketPath", s.SocketPath(vm), filepath.Join(s.VMDir(vm), "ch.sock")},
		{"SerialLogPath", s.SerialLogPath(vm), filepath.Join(s.VMDir(vm), "serial.log")},
	}
	for _, c := range checks {
		if c.got != c.want {
			t.Errorf("%s = %q, want %q", c.name, c.got, c.want)
		}
	}
}