tree da2b3a25ad085ff7d19e75b92dc2902d26d46348
parent afcfba0e9e5ad8ed7afccf2171ada0b61c8d7362
author Vatsal Ghelani <152916324+vatsalghelani-csa@users.noreply.github.com> 1728558850 -0400
committer GitHub <noreply@github.com> 1728558850 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJnB7cCCRC1aQ7uu5UhlAAA7LAQAF2LpV1VGS02PyJpBPGfaF1D
 FxZku80x4xDUzq5uGhvuyRT+2ZQSWGvXXqCJyrC212udmvlfaw+aGYM5msnUqRl+
 kOL5UJoTy3oSd8vcoL/huFCs10QL0fX95GW7swUSvTcoqbZD0dPP0cuiFZNKd+GI
 j9IOrz1mKAea8rrxgpzSFpU+ZAHmH0x9YM54COzuuJ36Gxin8JqDRchvFtSiB0ej
 blS7JXoXxhksDqkLRcUswgsP8rtspMhh3tT/fHRo4UA7WHm+qdZJ4dAUoOge8Xjn
 nOTr62mQB56XzJU5s4oueycdfIWLJ2+ZER0Ow253AyODEnmnYA6eg6zgPLW8DSsa
 VW0BalcGdhf5D/SJUGrWA/1IS8H2j3iEfHC6MLrL5EGzjYRLKnZPTuw8DRhF7xXx
 J30jjU86hRDmjvTPKhWT3XAfPDDpOdFAulZ9dDhcAsApOBj6vGUQ08QjubmNCnZq
 dDDC5LVsSMvONl1yx2d41cAB2YG8ipCWr6edbLr29NS/gN9we8AvaoAZmX5pbDPn
 Fdr3kTuG4jBkc8sV5hbIbSFWS6XczoU0qaHU6vQ1fPCTrRZx5aXHynBB26av7vWH
 LjP/7L0Z96oYJamP19klyTX731kC3pV4uwhRuTRmM5P6TCRgTc/2O9rD8w1fqfW7
 oAl8Qe7UJbqSfKKsBHaD
 =recc
 -----END PGP SIGNATURE-----
 

Refactoring of support test scripts to enhance matter testing infrastructure (#34785)

* Refactoring of the matter testing infrastructure

* Restyled by shfmt

* Manually fix restyle

* Manually fix restyle

* Manually restyle

* Manually fix restyle

* Manually fix restyle

* Renamed testing_support to matter_testing _support

* Fixed the support scripts from matter_testing_support

* Fixed TC_OVENOPSTATE_2_6.py for import command

* replace all os.path.join and such (using _file_) with their own method

* Fixed paths.py for import

* Fixed imports for TC_DeviceConformace.py

* Fixed the broken import for matter_testing

* Make sure modules match master

* Debug the data model files for spec_parsing

* Try to guess data model root

* Restyle

* Moving Test* from python_testing to matter_testing_support

* Removed the tests moved from glob python scripts

* Restyled by isort

* Added taglist_and_topology_test.py to the support tests list

* Restyled by isort

* Fixed the structure for accessing example_pics_xml_basic_info.xml

* Fixing the TC_RVCCLEANM_2_2.py script according to master changes

* Changes according to master

* Fixing structuring of TestMatterTestingSupport.py and TestSpecParsingSupport.py

* Restyled by isort

* Fixed typo on src/python_testing/matter_testing_infrastructure/BUILD.gn tests section

* Fixed import for TC_ICDM_3_2.py

* Fix Import for TC_RVCCLEANM_2_2.py

* Restyled by autopep8

* Update line formatting in TestSpecParsingSupport.py

* Fixed comment on execute_python_tests.py

* tests.yaml test

* Test to fix src/python_testing/test_testing directory imports

* Restyled by isort

* Fixed code lints

* Fix imports for test_testing directory

* Fixed imports on test_TC_ICDM_2_1.py

* Restyled by autopep8

* Restyled by isort

* Updated imported fixes on test_TC_ICDM_2_1.py

* Restyled by autopep8

* Restyled by isort

* Import fixes for parent directory test imports

* Fixing try-except imports for test_testing directory scripts

* Remove unwanted import os from 2 scripts

* Restyled by isort

* Restyled by isort

* Restyled by autopep8

* Restyled by isort

* Updated paths and spec_xml scripts

* Fixed unused imports

* Restyled by isort

* Try to guess data model root

* Fixed wrong string via GUI that was set in vscode

* Fix matter_testing imports

* Comment

* Remove comment

* Fixed import and improved logging via flush of stdout

* Fixed matter support import for test scripts

* Restyled by isort

* Fixed "os.environ is not callable, it is a dictionary"

Co-authored-by: Andrei Litvin <andy314@gmail.com>

* Import fixed for TC_CCTRL_2_3.py

* Update logic to match master

* Fixed multiple executions of the same tests

* Fixed test_testing scripts with master

* Restyled by isort

* Fixing code lints

* Restyled by autopep8

* Fix formate changes happened with autosave on TestSpecParsingSupport.py

* Fixed module import in MockTestRunner script

* Restructured the tasks.py scripts in matter_testing_support

* Fixed formatting

* Restyled by shfmt

* Restyled by isort

* Fixed code lints

* Fixed imports for the new scripts added

* Fixed k1_4 for the test script

* Restyled by autopep8

* Fixed import for new scripts added

* Added support for v1_4

* Update TestSpecParsingSupport.py

* Added the missed part of the code after hard reset from commit d0e36909af460b490565b1798bc7b4f0042a8545

* Print statements to test

* Update TestSpecParsingSupport.py

* Added in_progress for DEFAULT_OUTPUT_DIR_IN_PROGRESS

* Added support for conformance_support in atomic attributes

* Removing test prints statements

* Restyled by isort

* Checking in Thermostat's Revision

* Check and Verified Cluster Thermostats's Revision

* Restyled by isort

* Fixed improts with news supports apps.py

* Restyled by isort

* Fixed imports for ECOINFO scripts

* Restyled by isort

* Renamed matter_testing_support to chip.testing

* Update TestSpecParsingSupport.py

* Restyled by shfmt

* Restyled by isort

* Update build_python.sh

* Fix imports for TC_SWITCH.py script

* Restyled by isort

---------

Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Andrei Litvin <andy314@gmail.com>