Closed
Conversation
Fix tpyos
We correctly deprecated `atomic_init` when implementing P0883R2, but missed that the effects changed as well.
Handle calling convention differences
Always compile kernel tests, but only run on x64
Manually resolved: azure-devops/run-build.yml
bhardwajs
reviewed
Jul 5, 2021
Member
|
The tests are failing with: |
Member
|
Marking as |
Member
|
We're going to close this PR for now - although we remain interested in supporting and testing kernel mode, we haven't found a way to get this working in the CI system. A possible way to make progress here would be to set up a fork of this repo with an Azure Pipelines Virtual Machine Scale Set, using very small/cheap VMs (not the 32-core monsters used by the official repo), and then iterating with that VMSS until the proper incantations to enable kernel mode testing with ultra-admin-etc. permissions are found. If and when a path forward is discovered, a new PR can be opened. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds the capability to test the STL in the Windows kernel. The expectation is that the Windows kernel will support most of the freestanding facilities, with the likely exception of those involving RTTI and exceptions.
On the cmake side of things, I add a new executable that will do the necessary Windows things to load a kernel driver and run the unit test. I also create a static lib with shared per-test code. This includes a custom assert implementation that won't crash the system, but will instead continue executing and report the results up though the executable. This is basically downgrading the "assert" to an "expect". In practice, this hasn't caused me any problems so far.
The certificate used for driver signing is generated at test time, and is self signed. The certificate has a password that is generated during test time, and then forgotten when the test is done running. The certificate also has a very quick expiration date (2 days). All of these together should make the certificate both difficult to attack, and not worth attacking, as it will (at most) give you access to one CI VM for 2 days.
This supersedes #1421 (which superseded #1385)