Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python framework API cleanup #443

Open
cecille opened this issue Nov 19, 2024 · 0 comments
Open

Python framework API cleanup #443

cecille opened this issue Nov 19, 2024 · 0 comments

Comments

@cecille
Copy link
Contributor

cecille commented Nov 19, 2024

The python framework has a decent amount of helpful items, but it is hard for developers to find the APIs they need since the main framework file mixes test author APIs with utilities and test runner infrastructure. We would like to do a general API cleanup to organize and document the API. After this, we would like to compile and release on PyPI so the testing framework can be used more easily by the test harness and the interop lab.

  • split the matter_testing.py file into utilities, base testing class, commissioning class, runner pieces and test selection decorators
  • Document all functions in MatterBaseTest, separating the functions intended to be used by the test authors from the mobly support classes and the private members
  • Generate documentation into markdown
  • Adjust the Base test class to enable test authors to more easily mark whether a test requires commissioning
  • Support detecting whether the DUT is already commissioned
  • Add more automated support for test authors to declare which test parameters (PIXITS / CLI arguments) are required and have the test framework automatically detect and error when these are not supplied
  • General improvement of documentation and example classes to aid test authors
  • Allow test classes to derive from MatterTestBase to create a base class for categories of tests. This will require fixing _find_test_class in matter_testing. The current set of "helper" classes should then be migrated over (ex door lock, basic composition etc.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant