project-chip / project-chip/matter-test-scripts
Python framework API cleanup
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 19
- Forks
- 7
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 3
Description
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.)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.