sqlite-vec/tests/conftest.py

37 lines
967 B
Python
Raw Normal View History

import pytest
import sqlite3
import os
def _vec_debug():
db = sqlite3.connect(":memory:")
db.enable_load_extension(True)
db.load_extension("dist/vec0")
db.enable_load_extension(False)
return db.execute("SELECT vec_debug()").fetchone()[0]
def _has_build_flag(flag):
return flag in _vec_debug().split("Build flags:")[-1]
def pytest_collection_modifyitems(config, items):
has_ivf = _has_build_flag("ivf")
if has_ivf:
return
skip_ivf = pytest.mark.skip(reason="IVF not enabled (compile with -DSQLITE_VEC_EXPERIMENTAL_IVF_ENABLE=1)")
ivf_prefixes = ("test-ivf",)
for item in items:
if any(item.fspath.basename.startswith(p) for p in ivf_prefixes):
item.add_marker(skip_ivf)
@pytest.fixture()
def db():
db = sqlite3.connect(":memory:")
db.row_factory = sqlite3.Row
db.enable_load_extension(True)
db.load_extension("dist/vec0")
db.enable_load_extension(False)
return db