ci: establish a hermetic unit-test suite - #848
linhongyu510 wants to merge 2 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: linhongyu510 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/assign @XuanYang-cn |
a54b4b2 to
993ed4d
Compare
|
Rebased this PR onto the latest The conflict came from new dataset tests added upstream after this PR was opened. I preserved all 15 upstream dataset tests and kept the intended hermetic boundary:
I also updated two existing FTS unit-test stubs with the newly required Local verification on Python 3.11: Black and import-order checks also pass for the touched test files. Could a maintainer take another look when convenient? Thanks! |
Resolve tests/unit/test_dataset.py import conflict: keep ParquetDatasetManager (used by _custom_dataset_manager) and drop DatasetSource, which belongs to the online e2e suite (tests/e2e/test_dataset.py) and is unused in the hermetic unit file. Update test_fts_filter_runner mock case_config to include nq=1, matching main's new CaseRunner._validate_nq() which reads case_config.nq unconditionally. Validated locally: pytest --disable-socket tests/unit -> 264 passed; ruff check vectordb_bench and black --check vectordb_bench clean.
Summary
This is a focused first phase of #819:
tests/unitsuite that does not require provider SDK extras, credentials, databases, downloads, or network socketstests/e2eunit-testande2e-testMake targets while keepingunittestas a compatibility aliasScope
This PR intentionally does not claim to complete the provider-by-provider reorganization proposed in #819. Tests still directly under
tests/remain legacy and unclassified; they can be split in follow-up changes.Validation
Validated in fresh isolated environments with only the project and
.[test]installed:git diff --check: passedProgresses #819.