test_lazy_torch_compile.py 1013 Bytes
Newer Older
1
2
3
4
# Description: Test the lazy import module
# The utility function cannot be placed in `vllm.utils`
# this needs to be a standalone script
import sys
youkaichao's avatar
youkaichao committed
5
from contextlib import nullcontext
6

youkaichao's avatar
youkaichao committed
7
from vllm_test_utils import BlameResult, blame
8
9
10

module_name = "torch._inductor.async_compile"

youkaichao's avatar
youkaichao committed
11
12
13
14
15
16
17
18
19
# In CI, we only check finally if the module is imported.
# If it is indeed imported, we can rerun the test with `use_blame=True`,
# which will trace every function call to find the first import location,
# and help find the root cause.
# We don't run it in CI by default because it is slow.
use_blame = False
context = blame(
    lambda: module_name in sys.modules) if use_blame else nullcontext()
with context as result:
20
21
    import vllm  # noqa

youkaichao's avatar
youkaichao committed
22
23
24
if use_blame:
    assert isinstance(result, BlameResult)
    print(f"the first import location is:\n{result.trace_stack}")
25

youkaichao's avatar
youkaichao committed
26
27
28
assert module_name not in sys.modules, (
    f"Module {module_name} is imported. To see the first"
    f" import location, run the test with `use_blame=True`.")