diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 12:14:13 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | ab220b89afcfda848cf84c18cc135a2e5c392b79 (patch) | |
| tree | 7fd2e82e88d0dd86aa3b2dc2a8146643fcacd9de /test/fs.py | |
| parent | c30835e62d3b7dd03ee8b28fbcff97d3b88bcd95 (diff) | |
| download | pardes-ab220b89afcfda848cf84c18cc135a2e5c392b79.tar.gz pardes-ab220b89afcfda848cf84c18cc135a2e5c392b79.zip | |
Recent goes on across a Restore, and is kept after it
A Restore makes a new session, which never loaded the kept list, and saveRecent gives up until it has: Recent was empty after a Restore and nothing opened afterwards was kept. The new session now takes the old one's list (a boot from a dump reads the kept file).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'test/fs.py')
| -rw-r--r-- | test/fs.py | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -723,6 +723,13 @@ def workflow_canary(binary): wait(lambda: f'restore {saved}' in restored.read('/log').decode(), 'Restore not logged') names = restored.read('/index').decode() assert f'{root}/a.txt' in names and f'{root}/b.txt' in names, names + # Recent goes on across the Restore, and is kept after it. + assert f'{root}/a.txt\n' in restored.read('/recent').decode(), restored.read('/recent') + (root / 'after.txt').write_bytes(b'after\n') + look(restored, str(root / 'after.txt')) + assert f'open {root}/after.txt\n' in restored.read('/recent').decode() + state = root / '.local' / 'state' / 'pardes' / 'recent' + wait(lambda: f'{root}/after.txt'.encode() in state.read_bytes(), 'Recent not kept after Restore') assert time.monotonic() - started < 30, 'the canary took too long' |
