Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
.pytool/Plugin/RustHostUnitTestPlugin: Ensure strings in ignore list (#…
…541) ## Description An ignore list is created in the plugin and passed as an argument to `join()` in a couple places. For example: - RustHostUnitTestPlugin.py: `logging.debug(f"Paths to ignore when computing coverage: {' '.join(ignore_list)}")` - RustPackageHelper.py: `params += f' -e COV_FLAGS="--out {report_type} --exclude-files {",".join(ignore_list)}"'` `join()` expects an iterable of strings. However, `Path` objects can be added to the list. For example: `[pkg.path for pkg in rust_ws.members]` (where `pkg.path` is a `Path` object) This causes the following error: ``` File ".pytool\Plugin\RustHostUnitTestPlugin\RustHostUnitTestPlugin.py", line 40, in RunBuildPlugin logging.debug(f"Paths to ignore when computing coverage: {' '.join(ignore_list)}") ^^^^^^^^^^^^^^^^^^^^^ TypeError: sequence item 1: expected str instance, WindowsPath found ``` This change converts all of the objects to their string representations after `ignore_list` is finalized to simplify prior logic and ensure the list consists of strings. - [x] Impacts functionality? - **Functionality** - Does the change ultimately impact how firmware functions? - Examples: Add a new library, publish a new PPI, update an algorithm, ... - [ ] Impacts security? - **Security** - Does the change have a direct security impact on an application, flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ... - [ ] Breaking change? - **Breaking change** - Will anyone consuming this change experience a break in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call a function in a new library class in a pre-existing module, ... - [ ] Includes tests? - **Tests** - Does the change include any explicit test code? - Examples: Unit tests, integration tests, robot tests, ... - [ ] Includes documentation? - **Documentation** - Does the change contain explicit documentation additions outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation on an a separate Web page, ... ## How This Was Tested - Run RustHostUnitTestPlugin on a Cargo workspace with several members before and after the change. ## Integration Instructions N/A Signed-off-by: Michael Kubacki <[email protected]>
- Loading branch information