Implement the GlitchFreeDevice workaround extension#855
Implement the GlitchFreeDevice workaround extension#855kostyanf14 merged 1 commit intoHCK-CI:masterfrom
Conversation
HLK test NDISTest 6.5 - [2 Machine] - GlitchFreeDevice for NetKVM is incompatible with NDIS Poll Mode, while Windows 11/Windows Server 2025 requires NDIS Poll Mode to be implemented and enabled by default. We can't just add the test to the reject list because it really works on other systems, and AutoHCK does not have an API to reject the test per HLK version. Let's use a new extension mechanism to allow AutoHCK users enable a workaround manually when running tests for Windows 11/Windows Server 2025. Previously, the GlitchFreeDevice test was filtered with MSFT HCK filters, but not now. This workaround will be removed when HLK for Windows 11/Windows Server 2025 starts support for Poll Mode, or MSFT releases new filters. Signed-off-by: Kostiantyn Kostiuk <kkostiuk@redhat.com>
Summary of ChangesHello @kostyanf14, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request implements a new extension to provide a workaround for the Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a workaround for an incompatibility between the NDISTest 6.5 - GlitchFreeDevice test and NDIS Poll Mode, by creating a new AutoHCK extension. The approach of using an extension to disable and re-enable a feature around a specific test is sound. However, the implementation in the new JSON file has a critical issue: it is not valid JSON and it includes a comments field that is not supported by the Extension data model, which would lead to a runtime error. My review includes a suggestion to fix this.
| "comments": [ | ||
| "Workaround for NDISTest 6.5 GlitchFreeDevice test incompatibility with NDIS Poll Mode" | ||
| ], | ||
| "tests_config": [ |
There was a problem hiding this comment.
This new JSON file has two critical issues:
- Invalid JSON: There is a missing comma between the
commentsblock and thetests_configproperty, which makes the JSON file unparseable. - Unsupported Property: The
Extensionmodel, defined as a SorbetT::Structinlib/models/extension.rb, does not have acommentsproperty. When this JSON file is loaded, the application will attempt to initialize anExtensionobject with an unknown property, which will raise a runtime error and cause a crash.
JSON does not have a standard syntax for comments. This kind of metadata should be included in commit messages or pull request descriptions. Please remove the comments field to fix both issues.
| "comments": [ | |
| "Workaround for NDISTest 6.5 GlitchFreeDevice test incompatibility with NDIS Poll Mode" | |
| ], | |
| "tests_config": [ | |
| "tests_config": [ |
There was a problem hiding this comment.
Not true. Sorbet allows for loading objects from JSON with extra fields
There was a problem hiding this comment.
Pull request overview
Adds an optional HLK test “extension” configuration to apply a manual workaround for the NDISTest 6.5 – [2 Machine] – GlitchFreeDevice failure when NDIS Poll Mode is enabled (notably affecting Windows 11 / Windows Server 2025 runs).
Changes:
- Introduces a new extension JSON that disables NDIS Poll Mode before the GlitchFreeDevice test.
- Restores (re-enables) NDIS Poll Mode after the test completes.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lib/engines/hcktest/extensions/GlitchFreeDevice_NdisPollMode_workaround.json
Show resolved
Hide resolved
lib/engines/hcktest/extensions/GlitchFreeDevice_NdisPollMode_workaround.json
Show resolved
Hide resolved
|
I like the mechanism, it can be useful for other cases or for debugging, but I have a general question - we already have reject list, why not add attribute to reject list for OS (or kit version) that applies to the item in reject list? |
|
In the current implementation, the reject list is just an array of strings. To have a map with HLK version, we need to make structures from it, and this will cause some refactoring work. Currently, we have only one test where we need this, so maybe in the future we will add this logic, but now the extension approach looks simpler. |
HLK test NDISTest 6.5 - [2 Machine] - GlitchFreeDevice for NetKVM is incompatible with NDIS Poll Mode, while Windows 11/Windows Server 2025 requires NDIS Poll Mode to be implemented and enabled by default.
We can't just add the test to the reject list because it really works on other systems, and AutoHCK does not have an API to reject the test per HLK version.
Let's use a new extension mechanism to allow AutoHCK users enable a workaround manually when running tests for Windows 11/Windows Server 2025.
Previously, the GlitchFreeDevice test was filtered with MSFT HCK filters, but not now. This workaround will be removed when HLK for Windows 11/Windows Server 2025 starts support for Poll Mode, or MSFT releases new filters.