* test: move the s3vectors pytest suite under test/s3vectors The vectors API tests lived in test/vectors next to the new s3vectors integration home; the rust-vector-tests workflow's paths and working directory move with it. * gitignore: cover the binaries the s3vectors Makefile builds
S3 Vectors integration tests
Run python3 -m pip install -r requirements.txt, then make test.
The suite starts a master, volume, filer, authenticated S3/Lance gateway, and vector engine on temporary ports. The same 17 API tests run with both Go and Rust volume servers. Coverage includes bucket/index lifecycle, bucket policies, signed policy grants and denies, encryption settings, empty results, ARN validation, metadata, filters, cosine distance, atomic upserts, catalog/vector pagination, index deletion and recreation, segmented listing, authentication, and writer loss.
Server logs and data stay in pytest's temporary directory for diagnosis. Every
child process stops on exit. To select a volume server, set
VOLUME_SERVER_IMPL=go or rust.
In an enterprise checkout containing rust/sw-vector-distributed, the build and
default matrix also include distributed queries with two search workers. Those
queries must still succeed after the writer stops. VECTOR_QUERY_MODE=single
or distributed selects one query mode.
To use prebuilt binaries, set WEED_BINARY, VECTOR_BINARY,
RUST_VOLUME_SERVER_BINARY, and (for distributed queries) VECTOR_WORKER_BINARY,
then run ./run_test.sh. PYTHON selects the Python interpreter. The Makefile
accepts CARGO_PROFILE=dev for faster local builds.