Files
yatm/internal/executor/tracking_unix_test.go
T
Samuel Cui 4fef653b71 Prepare YATM v1.0.0-alpha.2
Unify file queries and Scan execution, retain indexed Identical results,
improve Job and Preview workflows, and verify release packaging.
2026-10-05 19:08:49 +08:00

27 lines
779 B
Go

//go:build linux || darwin
package executor
import (
"os"
"path/filepath"
"testing"
"github.com/samuelncui/yatm/internal/library"
"github.com/stretchr/testify/require"
)
func TestObserveTrackingUsesExistingStatWithoutOpeningFile(t *testing.T) {
// The existing observation remains sufficient even when reopening is impossible.
path := filepath.Join(t.TempDir(), "removed-after-stat")
require.NoError(t, os.WriteFile(path, nil, 0o600))
info, err := os.Stat(path)
require.NoError(t, err)
require.NoError(t, os.Remove(path))
keys := ObserveTracking(&library.Location{ExecutorID: "local"}, info)
require.Len(t, keys, 1)
require.Equal(t, library.TrackingNative, keys[0].Kind)
require.Contains(t, keys[0].Scope, "local/fs/")
require.NotEmpty(t, keys[0].KeyValue)
}