Split unit and driver tests#369
Merged
LakshK98 merged 5 commits intoJul 25, 2026
Merged
Conversation
- ntosebpfext_unit: Keep only pure user-mode tests (process_invoke, process exit codes, process create and exit times, libbpf attach type names) that use usersim mock kernel APIs - ntosebpfext_driver_test: New project with driver tests moved from ntosebpfext_unit (process_bpf_prog_run_test, process_resolve_account) that load real .sys drivers - neteventebpfext_unit: Renamed to neteventebpfext_driver_test (all tests are kernel integration tests) - Updated cicd.yml with renamed/new test jobs - Updated codecov.yml after_n_builds count - Updated docs/neteventebpfext.md references Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 940d0edb-486d-4adf-a1a1-3f72fd7d4b66
LakshK98
force-pushed
the
lakshkotian-microsoft-split-unit-driver-tests
branch
from
July 20, 2026 20:48
a73f4ce to
98a74b3
Compare
added 2 commits
July 20, 2026 14:41
…-split-unit-driver-tests
LakshK98
force-pushed
the
lakshkotian-microsoft-split-unit-driver-tests
branch
from
July 20, 2026 22:28
3e9e42f to
4f8b46a
Compare
LakshK98
marked this pull request as ready for review
July 22, 2026 04:53
LakshK98
requested review from
Alan-Jowett,
matthewige,
mikeagun,
mtfriesen,
nmlud21,
poornagmsft,
saxena-anurag and
shankarseal
as code owners
July 22, 2026 04:53
Contributor
There was a problem hiding this comment.
Pull request overview
This PR separates pure user-mode tests from kernel/driver integration tests, aligning the ntosebpfext and neteventebpfext test layout with the ebpf-for-windows pattern and updating CI/coverage wiring to match the new binaries.
Changes:
- Moved
ntosebpfextdriver-loading tests into a newntosebpfext_driver_testproject, leavingntosebpfext_unitwith only usersim/in-process tests. - Renamed the
neteventebpfext_unitproject output toneteventebpfext_driver_testand updated documentation accordingly. - Updated GitHub Actions and Codecov configuration to run/expect the additional test binary.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/ntosebpfext/ntosebpfext_unit/ntos_ebpfext_unit.cpp | Removes driver-loading tests and related helpers from the user-mode unit-test binary. |
| tests/ntosebpfext/ntosebpfext_driver_test/packages.config | Adds NuGet package restore configuration for the new driver-test project. |
| tests/ntosebpfext/ntosebpfext_driver_test/ntosebpfext_driver_test.vcxproj | Introduces the new driver-test C++ project and its build settings. |
| tests/ntosebpfext/ntosebpfext_driver_test/ntos_ebpfext_driver_test.cpp | New driver-test binary containing the two kernel integration tests. |
| tests/neteventebpfext/neteventebpfext_unit/neteventebpfext_unit.vcxproj | Changes project name/output to neteventebpfext_driver_test. |
| ntosebpfext.sln | Adds the new driver-test project and renames the netevent test project entry. |
| docs/neteventebpfext.md | Updates docs to reference neteventebpfext_driver_test.exe. |
| .github/workflows/cicd.yml | Updates CI jobs to run the renamed/new test executables. |
| .github/codecov.yml | Adjusts Codecov after_n_builds to account for the additional coverage job. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
mikeagun
previously approved these changes
Jul 22, 2026
mikeagun
previously approved these changes
Jul 22, 2026
mikeagun
approved these changes
Jul 24, 2026
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.
Description
The existing
ntosebpfext_unitbinary mixed pure user-mode tests (usersim) with kernel integration tests (loading real .sys drivers). This PR separates them following the ebpf-for-windows pattern:ntosebpfext_unit-- keeps 4 pure user-mode tests (process_invoke,process exit codes,process create and exit times,libbpf attach type names) that run in-process via usersimntosebpfext_driver_test-- new project with 2 driver tests (process_bpf_prog_run_test,process_resolve_account) that loadntosebpfext.sysneteventebpfext_unit-- renamed output toneteventebpfext_driver_testsince all its tests load kernel driversCI jobs and codecov config updated accordingly.
Testing
No test logic was modified -- tests are reorganized into separate binaries. CI jobs in
cicd.ymlinvoke the correct binary names.Documentation
Updated
docs/neteventebpfext.mdto reference the newneteventebpfext_driver_test.exebinary name.Installation
CI/CD