Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
.pytool/Plugin: Improve Rust support (#578)
## Description Makes multiple improvements to the RustHostUnitTestPlugin to support a more reliable experience: 1. The plugin now fails when a test fails to compile or cargo tarpaulin fails to run. 2. The plugin now logs the reason for failing as a warning in addition to logging the output to the xml file. 3. The plugin now properly filters results to only include results of rust crates inside the package being tested. Closes #575 - [ ] 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 1. Verified only rust crates in the package being tested, are tested 2. Verified coverage results from rust crates being tested only show coverage values of rust crates in that specific EDKII package (If a crate has a dependency on another crate in a different EDKII package, the coverage results for the other crate would show up. 3. Verified we properly log (and fail the plugin) when a test fails to compile 4. Verified we properly log (and fail the plugin) when the command as a whole fails for some reason 5. Verified we log (in addition to the xml log) the particular test that is failing the plugin ## Integration Instructions N/A
- Loading branch information