chore(prebuilt): Allow testing fast (#5533)

Allow testing fast
This commit is contained in:
Eugene Yurtsev
2025-07-16 15:56:28 +00:00
committed by GitHub
parent 0d2db35d93
commit d64447c4c2
2 changed files with 61 additions and 19 deletions
+7 -3
View File
@@ -1,4 +1,4 @@
.PHONY: all format lint test test_watch integration_tests spell_check spell_fix benchmark profile
.PHONY: all format lint test test-fast test_watch integration_tests spell_check spell_fix benchmark profile
# Default target executed when no arguments are given to make.
all: help
@@ -15,14 +15,17 @@ stop-postgres:
TEST ?= .
test-fast:
LANGGRAPH_TEST_FAST=1 uv run pytest $(TEST)
test:
make start-postgres && uv run pytest $(TEST); \
make start-postgres && LANGGRAPH_TEST_FAST=0 uv run pytest $(TEST); \
EXIT_CODE=$$?; \
make stop-postgres; \
exit $$EXIT_CODE
test_watch:
make start-postgres && uv run ptw $(TEST); \
make start-postgres && LANGGRAPH_TEST_FAST=0 uv run ptw $(TEST); \
EXIT_CODE=$$?; \
make stop-postgres; \
exit $$EXIT_CODE
@@ -74,5 +77,6 @@ help:
@echo '-- TESTS --'
@echo 'coverage - run unit tests and generate coverage report'
@echo 'test - run unit tests'
@echo 'test-fast - run unit tests with in-memory checkpointer only'
@echo 'test TEST_FILE=<test_file> - run all tests in file'
@echo 'test_watch - run unit tests in watch mode'
+54 -16
View File
@@ -1,3 +1,4 @@
import os
from collections.abc import AsyncIterator, Iterator
from uuid import UUID
@@ -29,6 +30,55 @@ from tests.conftest_store import (
pytest.register_assert_rewrite("tests.memory_assert")
# Global variables for checkpointer and store configurations
FAST_MODE = os.getenv("LANGGRAPH_TEST_FAST", "true").lower() in ("true", "1", "yes")
SYNC_CHECKPOINTER_PARAMS = (
["memory"]
if FAST_MODE
else [
"memory",
"sqlite",
"postgres",
"postgres_pipe",
"postgres_pool",
]
)
ASYNC_CHECKPOINTER_PARAMS = (
["memory"]
if FAST_MODE
else [
"memory",
"sqlite_aio",
"postgres_aio",
"postgres_aio_pipe",
"postgres_aio_pool",
]
)
SYNC_STORE_PARAMS = (
["in_memory"]
if FAST_MODE
else [
"in_memory",
"postgres",
"postgres_pipe",
"postgres_pool",
]
)
ASYNC_STORE_PARAMS = (
["in_memory"]
if FAST_MODE
else [
"in_memory",
"postgres_aio",
"postgres_aio_pipe",
"postgres_aio_pool",
]
)
@pytest.fixture
def anyio_backend():
@@ -48,7 +98,7 @@ def deterministic_uuids(mocker: MockerFixture) -> MockerFixture:
@pytest.fixture(
scope="function",
params=["in_memory", "postgres", "postgres_pipe", "postgres_pool"],
params=SYNC_STORE_PARAMS,
)
def sync_store(request: pytest.FixtureRequest) -> Iterator[BaseStore]:
store_name = request.param
@@ -72,7 +122,7 @@ def sync_store(request: pytest.FixtureRequest) -> Iterator[BaseStore]:
@pytest.fixture(
scope="function",
params=["in_memory", "postgres_aio", "postgres_aio_pipe", "postgres_aio_pool"],
params=ASYNC_STORE_PARAMS,
)
async def async_store(request: pytest.FixtureRequest) -> AsyncIterator[BaseStore]:
store_name = request.param
@@ -96,13 +146,7 @@ async def async_store(request: pytest.FixtureRequest) -> AsyncIterator[BaseStore
@pytest.fixture(
scope="function",
params=[
"memory",
"sqlite",
"postgres",
"postgres_pipe",
"postgres_pool",
],
params=SYNC_CHECKPOINTER_PARAMS,
)
def sync_checkpointer(
request: pytest.FixtureRequest,
@@ -129,13 +173,7 @@ def sync_checkpointer(
@pytest.fixture(
scope="function",
params=[
"memory",
"sqlite_aio",
"postgres_aio",
"postgres_aio_pipe",
"postgres_aio_pool",
],
params=ASYNC_CHECKPOINTER_PARAMS,
)
async def async_checkpointer(
request: pytest.FixtureRequest,