Skip to content

Native coverage for end to end tests - #5524

Open
Nicholas L (nmlud21) wants to merge 6 commits into
microsoft:mainfrom
nmlud21:native-program-test-coverage
Open

Native coverage for end to end tests#5524
Nicholas L (nmlud21) wants to merge 6 commits into
microsoft:mainfrom
nmlud21:native-program-test-coverage

Conversation

@nmlud21

@nmlud21 Nicholas L (nmlud21) commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Description

Adds native program equivalents for tests that previously only ran under JIT or the
interpreter. Progress toward #5439, which tracks ensuring every JIT-covered scenario is
also covered natively before JIT support is withdrawn.

Ten test cases gained native coverage across end_to_end and sample_ext_app.

Testing

  • Full end_to_end test suite passes in Debug and NativeOnlyDebug.
  • All new variants verified in both configurations.

Documentation

No

Installation

No

Nicholas Ludwig and others added 6 commits August 31, 2026 14:42
Signed-off-by: Nicholas Ludwig <nludwig@microsoft.com>
Signed-off-by: Nicholas Ludwig <nludwig@microsoft.com>
Signed-off-by: Nicholas Ludwig <nludwig@microsoft.com>
Signed-off-by: Nicholas Ludwig <nludwig@microsoft.com>
Two failures, both caused by this PR:

1. sanitize_unit_tests: the ASAN job excludes printk by exact test name,
   because printk cannot redirect stdout when usersim is linked with the
   static CRT. Converting printk to per-execution-type variants renamed it
   to printk-jit/-native/-interpret, so the exclusion silently stopped
   matching and all three variants ran and failed. Widen the filter to
   ~printk*.

2. jit_native_test_coverage: the two ebpf_stress_tests_km baseline entries
   are stale. Those JIT stress tests no longer exist, so the guard correctly
   reported the entries as stale. Remove them.

Also add the license header to the allow list, and emit it when the file is
regenerated, so the file satisfies the pre-commit license check.

The multi_attach_concurrency_test1 failure in driver_native_only_tests is a
pre-existing flake in tests/socket/socket_tests.cpp, which this PR does not
modify. See issue 4947.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a8d41ea3-605c-47c0-8742-8d669eb50812
The coverage guard (scripts/check_jit_native_test_coverage.ps1, its allow
list, the jit_native_test_coverage CI job, and the accompanying docs section)
is being split into its own pull request. It reports a backlog of test cases
that still need native equivalents, so landing it alongside this change would
block this PR on work that is not yet complete.

This PR now contains only the native test equivalents plus the ~printk*
sanitizer filter fix that those tests require.

The guard is preserved on the jit-native-coverage-guard branch.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a8d41ea3-605c-47c0-8742-8d669eb50812
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

Ensure there are Native program-based equivalents for all JIT program tests

3 participants