From 75d5c53d36f1192a4cf8b77e759cb28d0d5e0091 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 21 Jun 2026 08:26:10 -0700 Subject: [PATCH] Wait for all CLI import snapshots before restart --- archivebox/tests/test_cli_add.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/archivebox/tests/test_cli_add.py b/archivebox/tests/test_cli_add.py index 6c96e812..769a086f 100644 --- a/archivebox/tests/test_cli_add.py +++ b/archivebox/tests/test_cli_add.py @@ -162,13 +162,17 @@ def wait_for_import_processing(cwd: Path, expected_urls: set[str], *, timeout: f import time deadline = time.time() + timeout + counts = {url: 0 for url in expected_urls} while time.time() < deadline: with use_archivebox_db(cwd): - snapshot_started = Snapshot.objects.filter(url__in=expected_urls).exists() - if snapshot_started: + rows = list(Snapshot.objects.filter(url__in=expected_urls).values_list("url", flat=True)) + counts = {url: 0 for url in expected_urls} + for url in rows: + counts[url] += 1 + if all(count >= 1 for count in counts.values()): return time.sleep(1) - raise AssertionError("timed out waiting for import crawl processing to start") + raise AssertionError(f"timed out waiting for import crawl processing to start, got counts={counts}") def wait_for_expected_import_snapshots(cwd: Path, expected_urls: set[str], *, timeout: float = 180.0) -> None: