-
Notifications
You must be signed in to change notification settings - Fork 16
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
Require to disable Secure Boot #313
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Secure boot shouldn't be enabled if the driver is not properly signed.
Otherwise, you should be able to keep secure boot enabled for all tests and there should be no need to switch secure and insecure mode.
We don't know what driver was provided, so let's expect that all drivers are signed in this case. Currently, in the config, we have only SVVP-related tests and to pass SVVP all drivers must be signed by MS, but these 3 tests required to boot the VM with SB enabled and proper key are in PEK, DBX.
NO. There are a lot of drivers/apps that are unsigned and used by HLK (also during SVVP). Microsoft even provides a list of tests where you MUST disable SB. We have 2 scenarios of testing driver and SVVP. Currently, we don't have any driver tests that require SB enabled, and our use case is test driver after build (test-signed), so we can't enable SB by default for everything. |
Thanks. It clarifies the motivation well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make it run tests without Secure Boot first, and then run tests with it instead of occasionally switching secure and insecure?
Yes, but let's think about the next
So, in the future, we will have more tests where we should stop VM and reconfigure it. |
We can have an algorithm like the following: # Classify tests first
test_configs = { "requires_secure_boot": ["Secure Boot Logo Test"] }
classified_tests = {}
test_configs.each do |config_name, classified_tests|
a = tests.select { classified_tests.include? _1 }
classified_tests[config_name] = a unless a.empty?
end
classified_tests['normal'] = tests.select do |test|
!h.any? { _2.include? test }
end
# ...and run them
classified_tests.each do |config_name, tests|
setup_clients config_name
test tests
teardown_clients config_name
end |
So any case we will have some specific works to pass more test |
This variant looks better. Also, I have comments about config.
@akihikodaki What do you think? |
Looks good to me. Let's also allow specifying multiple tests for a config: {
"playlists_path": "./playlists",
"filters_path": "./filters/UpdateFilters.sql",
"tests_config": [
{
"tests": ["Secure Boot Logo Test"],
"secure": true
},
{
"tests": ["OptStandby - Video Memory Purge and Resume"],
"s3_state": true
},
{
"tests": ["UEFI GOP mode test"],
"uefi_state": { "binary": { "insecure": "/path/to/custom/OVMF.fd" } } }
}
]
} |
5370e6f
to
98c414b
Compare
Signed-off-by: Vitalii Chulak <[email protected]>
98c414b
to
4188e8f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now the logic to start clients is duplicated in HCKTest
and Tests
. Can you unify the logic? I have two options in mind:
- Just move the logic related to clients to
Tests
. - Create a new class managing machines, and use it from both
HCKTest
andTests
.
No description provided.