Skip to content
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

[Feature]: Run BaseCryptLib Unit Test (EFI Shell tests) in this Repo #56

Closed
makubacki opened this issue Jan 26, 2024 · 3 comments · Fixed by #104
Closed

[Feature]: Run BaseCryptLib Unit Test (EFI Shell tests) in this Repo #56

makubacki opened this issue Jan 26, 2024 · 3 comments · Fixed by #104
Assignees
Labels
state:needs-triage Needs to triaged to determine next steps type:feature-request A new feature proposal urgency:low Little to no impact

Comments

@makubacki
Copy link
Member

Feature Overview

The BaseCryptLibUnitTestApp was being run in mu_tiano_platforms using crypto source code from MU_BASECORE/CryptoPkg. With the source backed instance of BaseCryptLib removed, mu_tiano_platforms will solely integrate crypto from the shared crypto binary.

The instances of BaseCryptLib that support dynamic interfaces (i.e. the PPI/Protocol) do not support all of the functions tested by BaseCryptLibUnitTestApp. Also, it would be ideal to test crypto binaries as part of their release flow.

Solution Overview

Run BaseCryptLibUnitTestApp in mu_crypto_release on PRs and releases.

Alternatives Considered

No response

Urgency

Low

Are you going to implement the feature request?

Someone else needs to implement the feature

Do you need maintainer feedback?

No maintainer feedback needed

Anything else?

No response

@makubacki makubacki added type:feature-request A new feature proposal state:needs-triage Needs to triaged to determine next steps labels Jan 26, 2024
@github-actions github-actions bot added state:needs-owner Needs an issue owner to be assigned urgency:low Little to no impact and removed state:needs-owner Needs an issue owner to be assigned labels Jan 26, 2024
makubacki added a commit to microsoft/mu_tiano_platforms that referenced this issue Feb 1, 2024
## Description

Moving forward the OpenSSL submodule will no longer be present in
`CryptoPkg` and the only option to integrate crypto into the platform
will be shared crypto (via the binary crypto ext dep).

The option to enable/disable shared crypto is removed since disabling
it is no longer an option.

Notes:

- Integrates newly available `AARCH64` PEI and Standalone MM shared
crypto binaries.

- The `BaseCryptLibUnitTest` EFI shell test is removed since it depends
on
functions not present in the PPI/Protocol instances of `BaseCryptLib`
and
the crypto releases should have the tests run before the release is
made.
  
- An issue to track this is here:
microsoft/mu_crypto_release#56

- Runtime DXE crypto is not currently available. It is only needed at
this time for
the non-SMM instance of `QemuQ35Pkg` (`VariableRuntimeDxe`). Since this
is not the
primary target for `QemuQ35Pkg`, the Runtime DXE binary will be updated
in the
  future to unblock Mu Basecore updates in Mu Tiano Platforms.

- An issue to track that is here:
microsoft/mu_crypto_release#55

---

Updates these submodules to the following release points:

- `MU_BASECORE`:
[v2023020013.1.0](https://github.com/microsoft/mu_basecore/releases/tag/v2023020013.1.0)

- `Common/MU_TIANO`:
[v2023020000.2.0](https://github.com/microsoft/mu_tiano_plus/releases/tag/v2023020000.2.0)

- `Features/MM_SUPV`:
[v8.1.8](https://github.com/microsoft/mu_feature_mm_supv/releases/tag/v8.1.8)

---

- [x] Impacts functionality?
- **Functionality** - Does the change ultimately impact how firmware
functions?
- Examples: Add a new library, publish a new PPI, update an algorithm,
...
- [x] 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

- `QemuQ35Pkg` and `QemuSbsaPkg` CI build and boot.

## Integration Instructions

- These changes only affect mu_tiano_platforms.

Signed-off-by: Michael Kubacki <[email protected]>
Copy link

This issue has been automatically marked as stale because it has not had activity in 45 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions.

@github-actions github-actions bot added the state:stale Has not been updated in a long time label Mar 11, 2024
Copy link

This issue has been automatically been closed because it did not have any activity in 45 days and no follow up within 7 days after being marked stale. Thank you for your contributions.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Mar 18, 2024
@makubacki
Copy link
Member Author

Reopening and adding to the backlog.

@makubacki makubacki reopened this Mar 20, 2024
@makubacki makubacki added the state:backlog In the backlog label Mar 20, 2024
@Flickdm Flickdm removed state:stale Has not been updated in a long time state:backlog In the backlog labels Sep 9, 2024
@kenlautner kenlautner linked a pull request Sep 20, 2024 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:needs-triage Needs to triaged to determine next steps type:feature-request A new feature proposal urgency:low Little to no impact
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants