(t *testing.T)
| 25 | } |
| 26 | |
| 27 | func TestIsLockFileStale_LiveProcess(t *testing.T) { |
| 28 | // write a lock file with our own PID and start time |
| 29 | dir := t.TempDir() |
| 30 | path := filepath.Join(dir, "test.lock") |
| 31 | content, err := newSelfLockContent() |
| 32 | require.NoError(t, err) |
| 33 | data, err := json.Marshal(content) |
| 34 | require.NoError(t, err) |
| 35 | require.NoError(t, os.WriteFile(path, data, 0600)) |
| 36 | |
| 37 | stale, readBack, err := isLockFileStale(path) |
| 38 | require.NoError(t, err) |
| 39 | assert.False(t, stale) |
| 40 | assert.Equal(t, content.PID, readBack.PID) |
| 41 | assert.Equal(t, content.StartTime, readBack.StartTime) |
| 42 | } |
| 43 | |
| 44 | func TestIsLockFileStale_EmptyFile(t *testing.T) { |
| 45 | // backward compat: old lock files are empty |
nothing calls this directly
no test coverage detected