mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-07-19 06:52:56 +00:00

* add new marker * start using test hierarchies * move ES tests into their own class * refactor test workflow * job steps * add more tests * move more tests * more tests * test labels * add more tests * Update tests.yml * Update tests.yml * fix * typo * fix es image tag * map es ports * try * fix * default port * remove opensearch from the markers sorcery * revert * skip new tests in old jobs * skip opensearch_faiss
25 lines
1.2 KiB
Python
25 lines
1.2 KiB
Python
def pytest_addoption(parser):
|
|
parser.addoption(
|
|
"--document_store_type",
|
|
action="store",
|
|
default="elasticsearch, faiss, sql, memory, milvus1, milvus, weaviate, pinecone",
|
|
)
|
|
|
|
|
|
def pytest_generate_tests(metafunc):
|
|
# Get selected docstores from CLI arg
|
|
document_store_type = metafunc.config.option.document_store_type
|
|
selected_doc_stores = [item.strip() for item in document_store_type.split(",")]
|
|
|
|
# parametrize document_store fixture if it's in the test function argument list
|
|
# but does not have an explicit parametrize annotation e.g
|
|
# @pytest.mark.parametrize("document_store", ["memory"], indirect=False)
|
|
found_mark_parametrize_document_store = False
|
|
for marker in metafunc.definition.iter_markers("parametrize"):
|
|
if "document_store" in marker.args[0]:
|
|
found_mark_parametrize_document_store = True
|
|
break
|
|
# for all others that don't have explicit parametrization, we add the ones from the CLI arg
|
|
if "document_store" in metafunc.fixturenames and not found_mark_parametrize_document_store:
|
|
metafunc.parametrize("document_store", selected_doc_stores, indirect=True)
|