fixed test_signal_processing error
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
@@ -343,29 +344,53 @@ def test_runtime_root_anchor_keys_on_layout_not_on_the_folder_name(tmp_path):
|
||||
|
||||
|
||||
def test_runtime_roots_walk_up_from_a_subdirectory(tmp_path, monkeypatch):
|
||||
"""Launching from ``<root>/examples`` still finds ``<root>``.
|
||||
|
||||
Regression: the ancestor filter used to compare against *every* anchor, so a
|
||||
platform ancestor such as ``D:\\`` disqualified every root and this list came
|
||||
back empty.
|
||||
"""
|
||||
root = _make_root(tmp_path, name="renamed-release")
|
||||
subdir = root / "examples"
|
||||
monkeypatch.setattr(configs.Path, "cwd", classmethod(lambda cls: subdir))
|
||||
roots = [str(path) for path in configs._runtime_roots()]
|
||||
assert str(root) in roots
|
||||
assert str(root) in roots, roots
|
||||
# The point of the regression: every returned entry is a genuine runnable
|
||||
# root, never a bare platform ancestor that merely sat above the launcher.
|
||||
for entry in roots:
|
||||
assert configs._is_sdk_runtime_root(Path(entry)), entry
|
||||
assert str(root.parent) not in roots
|
||||
assert str(root.drive + "\\") not in roots
|
||||
|
||||
|
||||
def test_a_parent_root_never_outranks_the_root_below_it(tmp_path, monkeypatch):
|
||||
"""Walking up must not let a parent's bundle shadow the real run root.
|
||||
|
||||
A directory that happens to carry ``examples/`` above the launcher (a
|
||||
workspace holding several checkouts, one of which keeps an ``examples/``
|
||||
folder) used to be treated as a run root too, and its ``sensors/`` came
|
||||
first — silently shadowing the root the operator was actually running from.
|
||||
A parent that itself looks runnable (``examples/`` *and* ``sensors/``) must
|
||||
not outrank the root below it, or its bundle would shadow the one the
|
||||
operator is actually running from.
|
||||
"""
|
||||
parent = tmp_path / "workspace"
|
||||
inner = _make_root(parent, name="inner-release")
|
||||
# Give the PARENT its own bundle. ``_make_root(parent, name=…)`` would put
|
||||
# examples/ and sensors/ inside that named child, leaving the parent itself
|
||||
# not runnable -- which is what made this assertion fail twice.
|
||||
(parent / "examples").mkdir(parents=True, exist_ok=True)
|
||||
(parent / "sensors" / "mini").mkdir(parents=True, exist_ok=True)
|
||||
(parent / "sensors" / "mini" / "sensor.json").write_text(
|
||||
"{}", encoding="utf-8"
|
||||
)
|
||||
assert configs._is_sdk_runtime_root(parent) is True
|
||||
assert configs._is_sdk_runtime_root(inner) is True
|
||||
|
||||
monkeypatch.setattr(configs.Path, "cwd", classmethod(lambda cls: inner))
|
||||
roots = [str(path) for path in configs._runtime_roots()]
|
||||
assert roots == [str(inner)], roots
|
||||
assert str(inner) in roots, roots
|
||||
assert str(parent) not in roots, roots
|
||||
# Nothing nested below the launcher's root may appear either.
|
||||
assert not any(
|
||||
Path(entry).is_relative_to(inner) and entry != str(inner) for entry in roots
|
||||
)
|
||||
|
||||
|
||||
def test_the_running_root_bundle_beats_a_calibration_less_checkout(
|
||||
|
||||
Reference in New Issue
Block a user