//go:build windows package files import ( "context" "errors" "os" "syscall" "testing" ) func TestInstanceDataRemoverRejectsWindowsReparsePoint(t *testing.T) { called := false remover := newInstanceDataRemover(func(string) (os.FileInfo, error) { return fakeFileInfo{ mode: os.ModeDir, sys: &syscall.Win32FileAttributeData{FileAttributes: syscall.FILE_ATTRIBUTE_REPARSE_POINT}, }, nil }, func(string) error { called = true return nil }) err := remover.RemoveInstanceData(context.Background(), `C:\profiles\junction`) if !errors.Is(err, ErrUnsafeInstanceDataDirectory) { t.Fatalf("RemoveInstanceData() error = %v, want unsafe directory", err) } if called { t.Fatal("reparse point reached removal") } }