From 7814248a933c7723e9caa2d5c08810595758d092 Mon Sep 17 00:00:00 2001 From: Sourya Singh Date: Thu, 5 Mar 2026 00:13:58 +0530 Subject: [PATCH 1/2] Add regression test ensuring filter_tags does not return empty results --- skbase/tests/test_lookup.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/skbase/tests/test_lookup.py b/skbase/tests/test_lookup.py index bb985b10..d5a1c722 100644 --- a/skbase/tests/test_lookup.py +++ b/skbase/tests/test_lookup.py @@ -33,3 +33,26 @@ def test_all_objects_returns_class_name_for_alias(tmp_path, monkeypatch): sys.modules.pop(f"{pkg_name}.module", None) sys.modules.pop(pkg_name, None) + + +def test_all_objects_filter_tags_not_empty(tmp_path, monkeypatch): + from skbase.lookup import all_objects + + root = tmp_path / "pkg" + root.mkdir() + + (root / "__init__.py").write_text( + "from .module import MyObject\n__all__ = ['MyObject']\n" + ) + + (root / "module.py").write_text( + "from skbase.base import BaseObject\n" + "class MyObject(BaseObject):\n" + " _tags = {'my_tag': True}\n" + ) + + monkeypatch.syspath_prepend(str(tmp_path)) + + objs = all_objects(package_name="pkg", filter_tags="my_tag") + + assert len(objs) > 0 From 25d5fc8902c9ac326fdb6402ec0993b190addb47 Mon Sep 17 00:00:00 2001 From: Sourya Singh Date: Fri, 6 Mar 2026 03:16:26 +0530 Subject: [PATCH 2/2] fix:runtime code generation --- skbase/tests/test_lookup.py | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/skbase/tests/test_lookup.py b/skbase/tests/test_lookup.py index d5a1c722..736835ce 100644 --- a/skbase/tests/test_lookup.py +++ b/skbase/tests/test_lookup.py @@ -35,24 +35,17 @@ def test_all_objects_returns_class_name_for_alias(tmp_path, monkeypatch): sys.modules.pop(pkg_name, None) -def test_all_objects_filter_tags_not_empty(tmp_path, monkeypatch): - from skbase.lookup import all_objects +def test_all_objects_filter_tags_not_empty(): + from skbase.base import all_objects - root = tmp_path / "pkg" - root.mkdir() + objs = all_objects() + assert len(objs) > 0 - (root / "__init__.py").write_text( - "from .module import MyObject\n__all__ = ['MyObject']\n" - ) + first_obj = objs[0][1] + tags = first_obj.get_class_tags() - (root / "module.py").write_text( - "from skbase.base import BaseObject\n" - "class MyObject(BaseObject):\n" - " _tags = {'my_tag': True}\n" - ) - - monkeypatch.syspath_prepend(str(tmp_path)) + tag_name, tag_value = next(iter(tags.items())) - objs = all_objects(package_name="pkg", filter_tags="my_tag") + filtered = all_objects(filter_tags={tag_name: tag_value}) - assert len(objs) > 0 + assert len(filtered) > 0