Skip to content

Commit

Permalink
Merge pull request #2593 from cta-observatory/fix_ci
Browse files Browse the repository at this point in the history
Fix traitlets test by ignoring test modules and _dev_version
  • Loading branch information
maxnoe authored Jul 17, 2024
2 parents 2fec8ca + 4040061 commit cc92ea5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ xfail_strict = true
astropy_header = true

# print summary of failed tests, force errors if settings are misspelled
addopts = ["-ra", "--strict-config", "--strict-markers"]
addopts = ["-ra", "--strict-config", "--strict-markers", "--ignore-glob=src/ctapipe/_dev_version"]

filterwarnings = [
"error::DeprecationWarning",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,20 @@


def test_all_traitlets_configurable():
skip_modules = {"_dev_version", "tests"}

def find_all_traitlets(module, missing_config=None):
module_name = module.__name__

if missing_config is None:
missing_config = defaultdict(set)

for submodule_info in pkgutil.iter_modules(module.__path__):
submodule = submodule_info.name

if submodule.startswith("test_") or submodule in skip_modules:
continue

submodule = importlib.import_module(module_name + "." + submodule_info.name)

if submodule_info.ispkg:
Expand All @@ -63,7 +70,8 @@ def find_all_traitlets(module, missing_config=None):
return missing_config

missing_config = find_all_traitlets(ctapipe)
# if the test files, we need to know which failed
for name, missing in missing_config.items():
print("Class", name, "is missing .tag(config=True) for traitlets:", *missing)
assert len(missing_config) == 0
msg = "\n".join(
f"Class {name} is missing .tag(config=True) for traitlets: {missing}"
for name, missing in missing_config.items()
)
assert len(missing_config) == 0, msg

0 comments on commit cc92ea5

Please sign in to comment.