## Description
Updates edk2-pytool-extensions to v0.27.0 and edk2-pytool-library to
v0.20.0, which moves Edk2DB away from using sqlite3 directly, instead
using a ORM to manage the database schema and querying functionlity.
Applies the necessary changes to convert Edk2DB querying from raw SQL
queries to sqlalchemy (ORM) queries.
- [ ] 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
PlatformTest for QemuQ35Pkg and QemuSbsaPkg continues to work, and
produces the same information.
## Integration Instructions
N/A
## Description
Adds a `PlatformTest.py` per platform package which:
1. self verifies the platform host-based unit test dsc is up to date (no
new hosted-based test INFs have been added locally or from a submodule
that test source used by the platform).
2. Compiles the host-based unit tests.
3. Executes the host-based unit tests.
4. Optionally generates code coverage data.
Adds additional pipeline jobs to run the host-based tests and generate
code coverage information.
- [ ] 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
CI
## Integration Instructions
CI