check_source_accessible narrowed its handler to ValueError, but Path.exists re-raises errno values outside its ignored set (EACCES, ENAMETOOLONG). Those were swallowed before and now escaped into the rebuild sweep the guard exists to protect. Catch OSError too. Restore the arity guard in _common_path_prefix: without it an empty list raises from min() and a single label yields a prefix covering the whole path. Two tests would have hung rather than failed on regression (the vacuum skip and the protected-wait cancellation); both are now bounded. The import vacuum test raced against the done-callback that discards the task, and now spies on the call instead, with a negative control. Replace assertions that could not fail: blank-query search against an empty corpus, a batch flush counted against an empty table, a picture description asserting its own input state, and an FS scheme check with nothing on disk to resolve. The get_model matrix asserted only the returned type across 26 cases and now pins the per-provider settings. The three batching tests now count flushes, which revealed embed-only writes through chunks_table.add rather than _flush_rebuild_batch. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| conftest.py | ||
| test_api.py | ||
| test_circuit_breaker.py | ||
| test_cli.py | ||
| test_config.py | ||
| test_filter.py | ||
| test_fs_source.py | ||
| test_http_source.py | ||
| test_metadata.py | ||
| test_pipeline.py | ||
| test_pollers.py | ||
| test_queue.py | ||
| test_queue_postgres.py | ||
| test_resolve_fetcher.py | ||
| test_revision_round_trip.py | ||
| test_run_batch.py | ||
| test_s3_source.py | ||
| test_serve_integration.py | ||
| test_source_plugins.py | ||
| test_sources_base.py | ||
| test_webdav_source.py | ||
| test_workers.py | ||