split example visualizaiton pipeline
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def packaging_utils():
|
||||
import sys
|
||||
|
||||
build_dir = REPO_ROOT / "build"
|
||||
if str(build_dir) not in sys.path:
|
||||
sys.path.insert(0, str(build_dir))
|
||||
from pyproject_utils import extras_require, install_requires, project_metadata
|
||||
|
||||
return install_requires, extras_require, project_metadata
|
||||
|
||||
|
||||
def test_pyproject_dependencies(packaging_utils):
|
||||
install_requires, extras_require, project_metadata = packaging_utils
|
||||
metadata = project_metadata(REPO_ROOT)
|
||||
|
||||
assert metadata["name"] == "orisys"
|
||||
assert "numpy>=" in install_requires(REPO_ROOT)[0]
|
||||
assert "cuda12" in extras_require(REPO_ROOT)
|
||||
assert extras_require(REPO_ROOT)["cuda"] == extras_require(REPO_ROOT)["cuda12"]
|
||||
|
||||
|
||||
def test_pyproject_dynamic_version(packaging_utils):
|
||||
import sys
|
||||
|
||||
build_dir = REPO_ROOT / "build"
|
||||
if str(build_dir) not in sys.path:
|
||||
sys.path.insert(0, str(build_dir))
|
||||
from pyproject_utils import get_version
|
||||
|
||||
assert get_version(REPO_ROOT) == "0.4.0"
|
||||
|
||||
|
||||
def test_pyproject_bundle_manifest(packaging_utils):
|
||||
import sys
|
||||
|
||||
build_dir = REPO_ROOT / "build"
|
||||
if str(build_dir) not in sys.path:
|
||||
sys.path.insert(0, str(build_dir))
|
||||
from pyproject_utils import bundle_data_files, bundle_items
|
||||
|
||||
items = bundle_items(REPO_ROOT)
|
||||
names = {item["name"] for item in items}
|
||||
assert names == {"configs", "examples", "docs", "assets"}
|
||||
|
||||
data_files = dict(bundle_data_files(REPO_ROOT))
|
||||
assert "orisys/configs" in data_files
|
||||
config_files = data_files["orisys/configs"]
|
||||
assert config_files
|
||||
assert all("/" in path and "*" not in path for path in config_files)
|
||||
assert any(path.endswith(".json") for path in config_files)
|
||||
|
||||
asset_dirs = [dest for dest in data_files if dest.startswith("orisys/assets/")]
|
||||
assert asset_dirs
|
||||
assert all("*" not in path for files in data_files.values() for path in files)
|
||||
assert "examples" not in data_files
|
||||
|
||||
|
||||
def test_bundle_explicit_files():
|
||||
import sys
|
||||
|
||||
build_dir = REPO_ROOT / "build"
|
||||
if str(build_dir) not in sys.path:
|
||||
sys.path.insert(0, str(build_dir))
|
||||
from wheel_layout import data_file_entries_for_item, resolve_bundle_source_files
|
||||
|
||||
item = {
|
||||
"name": "configs",
|
||||
"source": "config",
|
||||
"target": "configs",
|
||||
"files": ["dd02-ov.json"],
|
||||
}
|
||||
paths = resolve_bundle_source_files(REPO_ROOT, item)
|
||||
assert [p.name for p in paths] == ["dd02-ov.json"]
|
||||
assert data_file_entries_for_item(item) == ["config/dd02-ov.json"]
|
||||
Reference in New Issue
Block a user