12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #
- # collect-code-tests.py
- # Convenience script to collect all code tests. Used by env:linux_native_test in native.ini.
- #
- import pioutil
- if pioutil.is_pio_build():
- import os, re
- env = pioutil.env
- os.environ['PATH'] = f"./buildroot/bin/:./buildroot/tests/:{os.environ['PATH']}"
- def collect_test_suites():
- """Get all the test suites"""
- from pathlib import Path
- return sorted(list(Path("./test").glob("*.ini")))
- def register_test_suites():
- """Register all the test suites"""
- targets = []
- test_suites = collect_test_suites()
- for path in test_suites:
- name = re.sub(r'^\d+-|\.ini$', '', path.name)
- targets += [name];
- env.AddCustomTarget(
- name = f"marlin_{name}",
- dependencies = None,
- actions = [
- f"echo ====== Configuring for marlin_{name} ======",
- "restore_configs",
- f"cp -f {path} ./Marlin/config.ini",
- "python ./buildroot/share/PlatformIO/scripts/configuration.py",
- f"platformio test -e linux_native_test -f {name}",
- "restore_configs",
- ],
- title = "Marlin: {}".format(name.lower().title().replace("_", " ")),
- description = (
- f"Run a Marlin test suite, with the appropriate configuration, "
- f"that sits in {path}"
- )
- )
- env.AddCustomTarget(
- name = "test-marlin",
- dependencies = None,
- actions = [
- f"platformio run -t marlin_{name} -e linux_native_test"
- for name in targets
- ],
- title = "Marlin: Test all code test suites",
- description = (
- f"Run all Marlin code test suites ({len(targets)} found)."
- ),
- )
- register_test_suites()
|