Own bulk-API ndarray buffers with std::vector, pin nanobind below 3
face_grid leaked both buffers when the kernel threw mid-grid, and tess copied every mesh array a second time. Also drop the stale S5 references.
This commit is contained in:
@@ -4,10 +4,9 @@ Round-trips rather than digests: STEP and IGES payloads carry timestamps and a
|
||||
generator banner, so byte comparison is meaningless — what has to survive is
|
||||
the geometry, which these check by measuring the shape that comes back.
|
||||
|
||||
This file also settles open question **S5** from docs/design.md: whether the
|
||||
wheel has to ship OCCT's share/ resources for the XSTEP layer to resolve units
|
||||
when no CSF_* variable is set. These tests run in exactly that situation — a
|
||||
container with the wheel and nothing else — so a pass means the answer is no.
|
||||
It also pins that the wheel needs none of OCCT's share/ resources for the
|
||||
XSTEP layer to resolve units when no CSF_* variable is set. These tests run in
|
||||
exactly that situation, a container with the wheel and nothing else.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -36,13 +35,13 @@ BOX = (10.0, 20.0, 30.0)
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def initialized():
|
||||
"""The app's own import bootstrap, and the S5 check in one.
|
||||
"""The app's own import bootstrap, and the resource-free check in one.
|
||||
|
||||
If the controllers could not initialise without OCCT's resource files, this
|
||||
is where it would fail — there is no CSF_* in this environment.
|
||||
"""
|
||||
assert not any(k.startswith("CSF_") for k in os.environ), (
|
||||
"a CSF_* variable is set, so this run cannot answer S5"
|
||||
"a CSF_* variable is set, so this run cannot prove the wheel needs none"
|
||||
)
|
||||
assert STEPControl_Controller.Init_s()
|
||||
assert IGESControl_Controller.Init_s()
|
||||
@@ -112,7 +111,7 @@ def test_step_reports_its_file_units(initialized, tmp_path):
|
||||
TColStd_SequenceOfAsciiString(),
|
||||
)
|
||||
reader.FileUnits(length, angle, solid_angle)
|
||||
assert length.Length() >= 1, "no length unit reported — S5 would be live"
|
||||
assert length.Length() >= 1, "no length unit reported — the wheel would need OCCT's share/ resources"
|
||||
names = [length.Value(i).ToCString() for i in range(1, length.Length() + 1)]
|
||||
assert any("MM" in n.upper() or "MILLI" in n.upper() for n in names), names
|
||||
|
||||
|
||||
Reference in New Issue
Block a user