-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Add python YAML runner script to runs test over chip-tool and the placeholder apps #25155
Add python YAML runner script to runs test over chip-tool and the placeholder apps #25155
Conversation
8a96856
to
684c45c
Compare
As a note for reviewers, I am sorry for the size of the PR. |
684c45c
to
b9d44ff
Compare
PR #25155: Size comparison from c6cadc8 to 3f658a8 Decreases (1 build for cc32xx)
Full report (1 build for cc32xx)
|
examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.cpp
Outdated
Show resolved
Hide resolved
fa0e7fe
to
3b1db94
Compare
PR #25155: Size comparison from 84c77b6 to 3b1db94 Full report (3 builds for cc32xx, qpg)
|
3b1db94
to
8e91231
Compare
Ah the CI linter is complaining, it seems like a992882 has landed this morning and is finding things... |
8e91231
to
8a00d47
Compare
The linter should be happier now. |
PR #25155: Size comparison from 61cf6f2 to 8a00d47 Increases (1 build for cc32xx)
Full report (1 build for cc32xx)
|
examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.cpp
Outdated
Show resolved
Hide resolved
examples/chip-tool/py_matter_chip_tool_adapter/matter_chip_tool_adapter/decoder.py
Outdated
Show resolved
Hide resolved
examples/chip-tool/py_matter_chip_tool_adapter/matter_chip_tool_adapter/decoder.py
Outdated
Show resolved
Hide resolved
… matter_yamltests
…e when cleaning up parameters
… as ErrorStr use a single static buffer to compute the error string and in interactive mode the stack continue to do some work and it may race
8a00d47
to
a4a0933
Compare
PR #25155: Size comparison from ad5dc95 to a4a0933 Increases (1 build for cc32xx)
Full report (1 build for cc32xx)
|
…ceholder apps (project-chip#25155) * [chip-tool] Add chip-tool adapter for running tests with matter_yamltests * [examples/placeholder] Add placeholder adapter for running tests with matter_yamltests * Add python YAML runner script to runs test over chip-tool and the placeholder apps * Add chip-tool over python runs to the test suite * Use a scoped lock to make Tsan happy * [chip-tool] Update DiscoverCommissionablesCommand to avoid a data race when cleaning up parameters * [chip-tool] Do not call ErrorStr after RunCommand in interactive mode as ErrorStr use a single static buffer to compute the error string and in interactive mode the stack continue to do some work and it may race
Problem
While
matter_yamltests
has been designed to runs over multiple adapters, it currently only runs thechip-repl
adapter.This PR adds both
chip-tool
andplaceholder
adapters as well as a runner for both.With the
chip-tool
adapter the full yaml tests suites can be runned with the following command:The
target-skip-glob
targets on Mac are unrelated with thechip-tool
adapter, this is what is runned in CI for the currentchip-tool
due to the lack of thread supports.For running a particular yaml test for chip-tool, the command is:
For running a particular yaml test for placeholder app1, the command is:
For parsing the whole YAML test suite running on the CI and validating at parse time that there is no errors at parse time, the command is:
For parsing a particular YAML test, the command is:
For parsing the whole YAML test suite of manual test and validating at parse time that there is no errors at parse time, the command is:
For doing a dry-run of a given test, for example if you want to visually see which steps will be runned given your PICS config:
The PR also contains a drop-in replacement for
chip-tool
as I would like to make it as easy as possible for our Test Harness friends to move along by adopting the new runner - which would let me remove the previous runner and starts adding new features without having to develop them for the codegen version too.The drop-in replacement can be used with the same set of parameters than
chip-tool
, for example:The difference is that when the
tests
command is used is will be re-routed to the new python version instead of the codegen version.While this PR contains a
chip-tool
adapter that can runs all tests, and all tests are runned in.github/workflows/tests.yaml
it seems to me that we would need to do something since those tasks are going to be particularly long during the transition.