54 lines
2.9 KiB
Python
54 lines
2.9 KiB
Python
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
# ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
|
|
# ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
|
|
# ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
|
|
# ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
|
|
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
|
|
# ┃ Copyright (c) 2017, the Perspective Authors. ┃
|
|
# ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
|
|
# ┃ This file is part of the Perspective library, distributed under the terms ┃
|
|
# ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
|
|
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
|
|
import pytest
|
|
|
|
|
|
# test that loading perspective and calling a common constructor code path does
|
|
# not load various "expensive" modules. "Expensive" is in quotes because this is
|
|
# utter nonsense.
|
|
@pytest.mark.skip(reason="https://github.com/pyca/bcrypt/issues/694")
|
|
def test_lazy_modules():
|
|
import sys
|
|
|
|
cache = {}
|
|
for key in list(sys.modules.keys()):
|
|
if (
|
|
key.startswith("perspective")
|
|
or key.startswith("test")
|
|
or key.startswith("pandas")
|
|
or key.startswith("pyarrow")
|
|
or key.startswith("tornado")
|
|
):
|
|
cache[key] = sys.modules[key]
|
|
del sys.modules[key]
|
|
|
|
import perspective
|
|
|
|
t1 = perspective.table("x\n1")
|
|
t1.delete()
|
|
|
|
assert "perspective" in sys.modules
|
|
assert "pandas" not in sys.modules
|
|
assert "pyarrow" not in sys.modules
|
|
assert "tornado" not in sys.modules
|
|
|
|
for k, v in cache.items():
|
|
sys.modules[k] = v
|
|
|
|
|
|
def test_all():
|
|
import perspective
|
|
|
|
for key in perspective.__all__:
|
|
assert hasattr(perspective, key)
|