Skip to content

Implement the GlitchFreeDevice workaround extension#855

Merged
kostyanf14 merged 1 commit intoHCK-CI:masterfrom
kostyanf14:GlitchFreeDevice
Jan 30, 2026
Merged

Implement the GlitchFreeDevice workaround extension#855
kostyanf14 merged 1 commit intoHCK-CI:masterfrom
kostyanf14:GlitchFreeDevice

Conversation

@kostyanf14
Copy link
Contributor

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.

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>
@gemini-code-assist
Copy link

Summary of Changes

Hello @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 NDISTest 6.5 - GlitchFreeDevice test. This specific test is incompatible with NDIS Poll Mode, which is a default requirement for Windows 11 and Windows Server 2025. The implemented solution temporarily disables NDIS Poll Mode for the NetKVM driver before the test execution and restores it afterwards, allowing the test to pass without permanent configuration changes or needing to reject the test entirely.

Highlights

  • GlitchFreeDevice Workaround: Introduces a new extension (GlitchFreeDevice_NdisPollMode_workaround.json) to manage NDIS Poll Mode for the NDISTest 6.5 - [2 Machine] - GlitchFreeDevice test. This workaround disables Poll Mode before the test and re-enables it after, addressing an incompatibility with Windows 11/Server 2025.

🧠 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 Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +2 to +5
"comments": [
"Workaround for NDISTest 6.5 GlitchFreeDevice test incompatibility with NDIS Poll Mode"
],
"tests_config": [

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

This new JSON file has two critical issues:

  1. Invalid JSON: There is a missing comma between the comments block and the tests_config property, which makes the JSON file unparseable.
  2. Unsupported Property: The Extension model, defined as a Sorbet T::Struct in lib/models/extension.rb, does not have a comments property. When this JSON file is loaded, the application will attempt to initialize an Extension object 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.

Suggested change
"comments": [
"Workaround for NDISTest 6.5 GlitchFreeDevice test incompatibility with NDIS Poll Mode"
],
"tests_config": [
"tests_config": [

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not true. Sorbet allows for loading objects from JSON with extra fields

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@YanVugenfirer
Copy link
Contributor

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?

@kostyanf14
Copy link
Contributor Author

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.

@kostyanf14 kostyanf14 merged commit 42a6709 into HCK-CI:master Jan 30, 2026
12 checks passed
@kostyanf14 kostyanf14 deleted the GlitchFreeDevice branch January 30, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants