Skip to content

ci: measure the code coverage of nvx-rs and the Python host tooling #1327

Closed
4 of 4 issues completed
Closed

Description

Goal

Measure which code NVX's tests run, on Linux and Windows, and publish it as dev changes, so that untested code shows up in a report rather than in a regression: the nvx crate under its own tests, the host code of nvx-rs under the microVM scenarios, and the Python host tooling of scripts/. Coverage tells which code runs, and the on-demand mutation testing of nvx-rs-mutants.yml tells whether the tests check what it does, so the two complement each other.

Background

Nothing measures code coverage today. #726 added nvx-rs-coverage.yml and scripts/nvx_rs_coverage.py, which measured only the lines and branches that each family of golden tests alone reached, for the retirements of #722, and 10035af deleted both once the last family was gone. What they needed stays: nvx-rs and nvx-fake-openvmm return their exit statuses from main, so that instrumented builds write their profiles on Windows (84edb1f), and tests/guest_tools.rs ignores the __LLVM_PROFILE_RT_INIT_ONCE variable that an instrumented guest binary passes on (0bc5b9b).

At 82c15cd, on a Windows development host (Linux isn't measured yet):

Code Tests Tool Lines Branches
nvx-rs, every feature Its unit and integration tests cargo-llvm-cov 0.9.1, nightly-2026-07-09 91.2% of 29,650 86.1% of 5,120
scripts/, without its test_*.py modules The modules that validate-nvx runs coverage.py 7.17.0 84.3% of 30,449 statements 75.7%
  • Every nvx-rs test passed instrumented, in 165 s, 59 s of which built the crate.
  • The least-covered code of nvx-rs mostly needs a VM or the network: src/host/instance/ (75.8% of lines, 62.5% of branches), src/host/template/clone/launch.rs (66.2% of lines), src/host/cli/download.rs (74.0% of lines), src/host/template/store/capture.rs (65.3% of branches), and src/host/platform/ (71.5% of branches).
  • By default, cargo-llvm-cov counts a test vector that a unit test includes, and the fake OpenVMM of src/testing/, 1,611 lines, as production code.
  • The guest code runs only on Linux: tests/guest_tools.rs ran no test on Windows.
  • The Python modules took 16 minutes under coverage.py, with the Python subprocesses that they start measured, and reported 7 errors among 1,909 tests. Without coverage, the same host reports 4 errors in subtests of test_host_loopback_allow_script_checks_publication_and_traffic, whose shell script exceeds its 10-second timeout there, and none in test_adversarial.py, which reported one under coverage.

Plan

The sub-issues are the steps, and their blocked-by relationships record what each step needs.

  1. ci: report the coverage of the nvx crate's tests on Linux and Windows #1323 reports the coverage of nvx-rs under its own tests, on Linux and Windows.
  2. ci: show pull requests the nvx-rs lines that they add and no test reaches #1324 shows each pull request the lines of nvx-rs that it adds and no test reaches. It needs ci: report the coverage of the nvx crate's tests on Linux and Windows #1323.
  3. ci: measure the nvx-rs host code that the KVM microVM scenarios reach #1325 measures the host code of nvx-rs that the microVM scenarios reach on KVM. It needs ci: report the coverage of the nvx crate's tests on Linux and Windows #1323.
  4. ci: report the coverage of the Python host tooling in scripts/ #1326 reports the coverage of scripts/ under its unit tests, independently of the others.

Constraints

  • Coverage informs and gates nothing: no required check depends on it, and no threshold fails a run. Some code runs in only some runs, such as the loop of wait_interruptibly in src/host/cli/sandbox/lifecycle/start.rs, which waits for a process that may already have exited.
  • Reports count production code: test files, test data, and test doubles are left out or reported apart.

Open questions

Out of scope

  • OpenVMM, whose own CI owns its coverage (doc/contribute.md, "Test ownership").
  • Kernel coverage, which needs a kernel configuration of its own.
  • The binaries that run inside guests, whose profiles would stay in the guest.
  • The coverage manifest of nvx-rs: final acceptance for the image-backed runtime #624, which maps requirements to tests rather than measuring code.

Done when

  • Every sub-issue is closed.
  • doc/ci.md describes each measurement, what it counts and leaves out, and how to run it on a development host.
  • The first runs on dev record the baseline of Linux and Windows here.

Activity

  1. ppenna commented on Nov 11, 2026

    @ppenna
    ContributorAuthor

    Every sub-issue is closed, doc/ci.md describes the three measurements, and this comment records the baseline of their first runs on dev, so this closes the issue.

    Done when

    Baseline

    nvx-rs coverage

    42387413841, on 2026-11-07 at 06e8dd5, the merge of #1333, with Rust 1.97.1 and cargo-llvm-cov 0.9.1. No test ran again, and no profile strayed.

    OS Code Lines Functions Regions
    Linux Production 84.6% of 45,142 85.8% of 5,770 83.0% of 69,978
    Linux Test doubles 86.4% of 1,655 83.5% of 164 84.5% of 2,921
    Windows Production 91.3% of 28,008 91.4% of 3,492 89.9% of 42,712
    Windows Test doubles 87.0% of 1,610 84.4% of 154 85.0% of 2,840

    The guest code of src/guest/, which only Linux compiles, accounts for the difference between the OSes: its tests reach 73.7% of its 17,688 lines, src/guest/time 52.4% of 4,613 and src/guest/sys 64.4% of 2,683, and 91.6% of the 27,454 other production lines of Linux. Branches go unmeasured, as the compiler below explains.

    Pull requests that change nvx-rs/ list the lines that they add or change and that no test reaches, as #1324 requires. #1422's 42690462465 listed line 520 of src/host/template/store/capture.rs on both OSes, #1427's 42753203728 listed 10 lines of src/guest/clone/ on Linux, which alone compiles them, and #1393's 42446261760, which changed no production code, listed none.

    scripts coverage

    42398882635, on 2026-11-07 at 8394746, the merge of #1344, on Linux with Python 3.12.16 and coverage.py 7.17.0, in 214 s.

    Code Statements Branches
    Host tooling 85.6% of 25,823 77.3% of 9,454
    Scenario drivers 78.0% of 5,293 70.2% of 1,786

    All 1,980 tests passed: the 1,892 of python3 -m unittest, 30 of them skipped, the 84 of test_adversarial.py, and the 4 of test_hosts.py. Without coverage, the NVX CLI / Linux job of the same commit had the same results, but for one more skip, test_a_measurement_of_a_sample_checkout, which needs coverage.py. The reports hold no test_*.py module. Of the modules of more than 400 statements, the least covered are adversarial_executor.py (58.8% of 423), ubuntu.py (65.4% of 648), collect_ubuntu_sources.py (67.7% of 418), adversarial_oracles.py (70.5% of 714), benchmark.py (71.1% of 3,185), and build.py (71.5% of 625), and, of the scenario drivers, microvm_tests.py (74.7% of 4,020).

    nvx-rs scenario coverage

    Its first run, the scheduled 42460108426 at bf81488, stopped before it measured, since no KVM runner had the coverage tools yet. The first to measure, 42768407172, dispatched on 2026-11-10 at b6ad700, ran on azure-kvm-5:

    Run Lines Functions
    The crate's tests 85.1% of 43,430 85.8% of 5,802
    The scenarios 35.0% of 43,430 36.3% of 5,802
    Together 85.3% of 43,430 86.1% of 5,802

    The scenarios reach 82 lines that the crate's tests don't, and 57.8% of the 26,336 lines that their builds compile. Each of the 144 nvx-rs processes that they started wrote its profile.

    Open questions

    • Compiler: the release that rust-toolchain.toml pins, with its llvm-tools component, as ci: report the coverage of the nvx crate's tests on Linux and Windows #1333 chose, so the Rust measurements leave branches out until they no longer need a nightly compiler. coverage.py measures the branches of scripts/.
    • Schedule: nvx-rs coverage runs for the pushes to dev and the ready pull requests that change nvx-rs/ or how it is measured, scripts coverage for the pushes to dev that change scripts/ or how it is measured, and scenario coverage every Sunday at 07:41 UTC. Each also runs on dispatch.
    • Publication: the runs' summaries and 30-day artifacts only, with no third-party service.

    Constraints

    • Coverage informs and gates nothing: dev's ruleset requires only Required status check, a job of ci.yml, which refers to none of the three workflows, and no threshold fails a run. A run fails only when its measurement is incomplete, as when tests fail.
    • Reports count production code: they leave out test code and test data, and count apart the test doubles of nvx-rs and the scenario drivers of scripts/.

    The summaries of the runs follow, since their artifacts expire on 2026-12-07 and 2026-12-10.

    nvx-rs coverage on Linux, run 42387413841

    What the tests of the nvx crate reached at 06e8dd511dfe, with every feature, built by rustc 1.97.1 (8bab26f4f 2026-07-14) and measured by cargo-llvm-cov 0.9.1. Production code leaves out test code, test data, and the test doubles, the fake OpenVMM of src/testing/ and its nvx-fake-openvmm binary, which count apart.

    Code Lines Functions Regions
    Production 84.6% of 45,142 85.8% of 5,770 83.0% of 69,978
    Test doubles 86.4% of 1,655 83.5% of 164 84.5% of 2,921

    The profiles include processes of nvx-console-pending, nvx-device-io, nvx-exit, nvx-fake-openvmm, nvx-ingress, nvx-init, nvx-managed-agent, nvx-mmio-write, nvx-reseed, nvx-rs, nvx-time, and nvx-time-probe.

    Production code by module

    A row counts the files of a top-level module, or of one of its submodules that has submodules of its own, that no other row counts.

    Module Lines Functions Regions
    src/activation 100.0% of 466 100.0% of 50 99.3% of 765
    src/bin 97.2% of 36 100.0% of 11 95.0% of 40
    src/contract 100.0% of 35 100.0% of 6 100.0% of 36
    src/error 97.8% of 137 95.6% of 23 96.9% of 162
    src/exec 94.6% of 1,089 92.3% of 157 95.5% of 1,496
    src/exec/credit 99.0% of 105 100.0% of 17 99.3% of 161
    src/gpt 87.0% of 488 98.0% of 51 86.2% of 706
    src/guest 91.4% of 2,252 90.9% of 352 89.3% of 3,651
    src/guest/clone 85.4% of 1,386 78.5% of 196 85.5% of 2,120
    src/guest/exec 96.1% of 807 98.1% of 107 94.4% of 1,224
    src/guest/ingress 89.4% of 626 87.3% of 79 88.4% of 981
    src/guest/managed_agent 77.7% of 1,323 72.1% of 147 74.9% of 2,378
    src/guest/mappings 88.5% of 856 81.8% of 127 87.0% of 1,242
    src/guest/root 86.1% of 1,715 87.1% of 195 86.6% of 2,641
    src/guest/sys 64.4% of 2,683 72.9% of 406 62.2% of 4,024
    src/guest/time 52.4% of 4,613 61.9% of 518 51.4% of 7,295
    src/guest/time_probe 74.2% of 1,427 78.4% of 158 75.3% of 2,292
    src/host 91.7% of 1,098 93.1% of 145 89.3% of 1,597
    src/host/artifacts 90.1% of 487 92.5% of 80 88.7% of 691
    src/host/cli 89.2% of 4,862 89.3% of 566 88.0% of 7,909
    src/host/filesystem 90.2% of 1,416 92.8% of 153 90.7% of 1,958
    src/host/instance 75.8% of 538 78.6% of 75 76.0% of 887
    src/host/network 98.1% of 1,692 96.8% of 223 97.3% of 2,677
    src/host/platform 84.7% of 761 87.3% of 119 81.9% of 1,222
    src/host/sandbox 97.8% of 2,528 93.5% of 354 95.4% of 3,466
    src/host/store 90.7% of 1,830 92.4% of 305 88.1% of 2,819
    src/host/supervisor 89.7% of 400 91.8% of 49 84.3% of 497
    src/host/sys 57.0% of 254 63.1% of 38 57.3% of 453
    src/host/template 91.0% of 7,143 89.2% of 792 88.8% of 11,495
    src/hypervisor 64.2% of 42 71.4% of 7 58.8% of 51
    src/net 100.0% of 148 100.0% of 31 100.0% of 277
    src/protocol 99.4% of 1,190 97.1% of 141 98.7% of 1,760
    src/protocol/nvxs 91.0% of 649 93.5% of 78 90.4% of 882
    src/uuid 100.0% of 60 100.0% of 14 96.7% of 123
    nvx-rs coverage on Windows, run 42387413841

    What the tests of the nvx crate reached at 06e8dd511dfe, with every feature, built by rustc 1.97.1 (8bab26f4f 2026-07-14) and measured by cargo-llvm-cov 0.9.1. Production code leaves out test code, test data, and the test doubles, the fake OpenVMM of src/testing/ and its nvx-fake-openvmm binary, which count apart.

    Code Lines Functions Regions
    Production 91.3% of 28,008 91.4% of 3,492 89.9% of 42,712
    Test doubles 87.0% of 1,610 84.4% of 154 85.0% of 2,840

    The profiles include processes of nvx-fake-openvmm and nvx-rs. No process of nvx-console-pending, nvx-device-io, nvx-exit, nvx-ingress, nvx-init, nvx-managed-agent, nvx-mmio-write, nvx-reseed, nvx-time, and nvx-time-probe wrote one.

    Production code by module

    A row counts the files of a top-level module, or of one of its submodules that has submodules of its own, that no other row counts.

    Module Lines Functions Regions
    src/activation 100.0% of 466 100.0% of 50 99.6% of 765
    src/bin 13.8% of 36 9.0% of 11 20.0% of 40
    src/contract 100.0% of 35 100.0% of 6 100.0% of 36
    src/error 97.8% of 137 95.6% of 23 96.9% of 162
    src/exec 93.8% of 1,089 90.4% of 157 94.7% of 1,496
    src/exec/credit 99.0% of 105 100.0% of 17 99.3% of 161
    src/gpt 83.6% of 500 98.0% of 52 82.2% of 727
    src/host 92.5% of 958 92.6% of 123 89.8% of 1,393
    src/host/artifacts 89.2% of 482 91.2% of 80 87.6% of 682
    src/host/cli 88.6% of 4,851 89.5% of 563 87.6% of 7,866
    src/host/filesystem 91.3% of 1,403 94.7% of 152 91.8% of 1,947
    src/host/instance 75.7% of 537 78.6% of 75 76.1% of 885
    src/host/network 98.1% of 1,692 96.8% of 223 97.3% of 2,677
    src/host/platform 86.1% of 1,619 89.7% of 166 85.8% of 2,388
    src/host/sandbox 97.5% of 2,544 93.8% of 357 95.4% of 3,504
    src/host/seal 94.2% of 157 100.0% of 24 94.1% of 188
    src/host/store 92.0% of 1,801 93.0% of 303 88.9% of 2,762
    src/host/supervisor 89.7% of 400 91.8% of 49 84.3% of 497
    src/host/template 90.1% of 7,107 88.8% of 790 87.9% of 11,443
    src/hypervisor 66.6% of 42 71.4% of 7 60.7% of 51
    src/net 100.0% of 148 100.0% of 31 100.0% of 277
    src/protocol 99.4% of 1,190 97.1% of 141 98.7% of 1,760
    src/protocol/nvxs 90.4% of 649 91.0% of 78 89.4% of 882
    src/uuid 100.0% of 60 100.0% of 14 96.7% of 123
    scripts coverage on Linux, run 42398882635

    What the unit tests that validate-nvx runs reached of the Python modules of scripts/ at 8394746fd864, with the Python processes that they started, on Python 3.12.16, measured by coverage.py 7.17.0. The unit tests, the test_*.py modules, and their test support go unmeasured, and the end-to-end scenario drivers, the *_tests.py modules of scripts/nvx_tools/, which only a hypervisor runs end to end, count apart.

    Code Statements Branches
    Host tooling 85.6% of 25,823 77.3% of 9,454
    Scenario drivers 78.0% of 5,293 70.2% of 1,786
    Tests Status Result Seconds
    python3 -m unittest with 24 modules 0 1,892 tests: OK (skipped=30) 197.9
    python3 scripts/test_adversarial.py -v 0 84 tests: OK 16.2
    python3 .github/skills/nvx-host-connect/scripts/test_hosts.py -v 0 4 tests: OK 0.2

    Host tooling by module

    Module Statements Branches
    scripts/check_markdown_links.py 96.6% of 1,504 93.5% of 700
    scripts/check_test_changes.py 92.8% of 1,423 85.6% of 670
    scripts/check_test_layout.py 95.9% of 1,060 91.4% of 526
    scripts/module_diagrams.py 93.2% of 373 89.8% of 118
    scripts/nvx.py 94.8% of 330 81.8% of 22
    scripts/nvx_adversarial_executor.py 0.0% of 4 0.0% of 2
    scripts/nvx_rs_coverage.py 97.6% of 346 95.0% of 102
    scripts/nvx_tools/__init__.py none none
    scripts/nvx_tools/adversarial.py 76.7% of 780 58.5% of 294
    scripts/nvx_tools/adversarial_broker.py 86.0% of 286 64.8% of 74
    scripts/nvx_tools/adversarial_executor.py 58.8% of 423 43.4% of 138
    scripts/nvx_tools/adversarial_oracles.py 70.5% of 714 56.1% of 212
    scripts/nvx_tools/archive.py 94.1% of 102 83.3% of 36
    scripts/nvx_tools/azurelinux.py 90.8% of 87 81.2% of 32
    scripts/nvx_tools/benchmark.py 71.1% of 3,185 58.4% of 1,142
    scripts/nvx_tools/benchmark_host.py 96.2% of 291 88.0% of 100
    scripts/nvx_tools/build.py 71.5% of 625 66.6% of 186
    scripts/nvx_tools/build_config.py 100.0% of 82 100.0% of 4
    scripts/nvx_tools/build_constants.py 100.0% of 237 87.5% of 8
    scripts/nvx_tools/ci.py 86.3% of 249 76.4% of 68
    scripts/nvx_tools/collect_alpine_sources.py 88.3% of 215 81.5% of 92
    scripts/nvx_tools/collect_ubuntu_sources.py 67.7% of 418 48.2% of 174
    scripts/nvx_tools/common.py 92.9% of 255 85.1% of 74
    scripts/nvx_tools/crate_release.py 97.9% of 577 94.0% of 186
    scripts/nvx_tools/create_linux_source_archive.py 54.5% of 22 0.0% of 2
    scripts/nvx_tools/development_release.py 85.3% of 362 73.9% of 146
    scripts/nvx_tools/doctor.py 90.8% of 778 86.1% of 268
    scripts/nvx_tools/elf.py 97.9% of 98 89.4% of 38
    scripts/nvx_tools/guest_artifact_reuse.py 96.9% of 428 91.5% of 130
    scripts/nvx_tools/guest_binaries.py 92.7% of 221 83.3% of 84
    scripts/nvx_tools/guests.py 93.7% of 32 none
    scripts/nvx_tools/host_telemetry.py 77.7% of 989 69.5% of 296
    scripts/nvx_tools/kconfig.py 89.5% of 582 77.1% of 280
    scripts/nvx_tools/kernel_config.py 86.4% of 296 89.4% of 152
    scripts/nvx_tools/kernel_features.py 100.0% of 13 none
    scripts/nvx_tools/merge_queue.py 99.2% of 125 94.7% of 38
    scripts/nvx_tools/microvm_durations.py 85.8% of 92 68.7% of 16
    scripts/nvx_tools/microvm_shards.py 94.1% of 240 89.4% of 114
    scripts/nvx_tools/nightly_ci.py 97.3% of 793 93.0% of 246
    scripts/nvx_tools/nvx_rs.py 98.2% of 175 100.0% of 36
    scripts/nvx_tools/openvmm_ci.py 98.5% of 134 94.7% of 38
    scripts/nvx_tools/openvmm_process.py 89.6% of 386 82.4% of 114
    scripts/nvx_tools/performance.py 90.9% of 1,315 84.0% of 550
    scripts/nvx_tools/performance_history.py 92.3% of 366 81.7% of 104
    scripts/nvx_tools/process_supervisor.py 84.2% of 19 50.0% of 10
    scripts/nvx_tools/release.py 81.1% of 711 67.8% of 292
    scripts/nvx_tools/shard_plans.py 97.6% of 128 95.3% of 64
    scripts/nvx_tools/storage_events.py 91.8% of 259 78.7% of 66
    scripts/nvx_tools/time_abi.py 98.3% of 473 96.4% of 198
    scripts/nvx_tools/ubuntu.py 65.4% of 648 50.9% of 332
    scripts/public_api.py 83.1% of 160 91.0% of 56
    scripts/publish_development_release.py 78.3% of 37 66.6% of 6
    scripts/publish_nvx_crate.py 85.2% of 34 87.5% of 8
    scripts/scripts_coverage.py 96.1% of 287 93.9% of 82
    scripts/setup/azure/build_package.py 89.0% of 337 82.5% of 126
    scripts/setup/azure/nvx_azure/__init__.py none none
    scripts/setup/azure/nvx_azure/cli.py 93.8% of 49 100.0% of 14
    scripts/setup/azure/nvx_azure/common.py 91.5% of 224 86.2% of 80
    scripts/setup/azure/nvx_azure/linux_bootstrap.py 75.5% of 172 72.7% of 44
    scripts/setup/azure/nvx_azure/linux_disk.py 84.9% of 273 82.5% of 120
    scripts/setup/azure/nvx_azure/linux_firewall.py 71.9% of 82 41.6% of 24
    scripts/setup/azure/nvx_azure/linux_mshv.py 70.7% of 205 65.9% of 88
    scripts/setup/azure/nvx_azure/windows_bootstrap.py 85.8% of 163 81.2% of 48
    scripts/setup/azure/nvx_azure/windows_disk.py 91.9% of 248 78.4% of 102
    scripts/setup/azure/nvx_azure/windows_firewall.py 96.2% of 54 90.9% of 22
    scripts/setup/azure/nvx_azure/windows_stage.py 98.3% of 123 96.4% of 28
    scripts/setup/azure/nvx_azure/windows_system.py 46.7% of 124 43.7% of 32

    Scenario drivers by module

    Module Statements Branches
    scripts/nvx_tools/managed_exec_tests.py 88.4% of 243 82.4% of 74
    scripts/nvx_tools/microvm_tests.py 74.7% of 4,020 68.1% of 1,392
    scripts/nvx_tools/runtime_adapter_tests.py 90.3% of 156 91.0% of 56
    scripts/nvx_tools/sandbox_lifecycle_tests.py 86.9% of 535 71.5% of 176
    scripts/nvx_tools/sandbox_proxy_tests.py 87.7% of 221 75.0% of 56
    scripts/nvx_tools/sandbox_ram_upper_tests.py 94.0% of 118 84.3% of 32
    nvx-rs scenario coverage on Linux/KVM, run 42768407172

    What the KVM microVM scenarios and the runtime adapter's suite reached of the production code of the nvx crate at b6ad700744bc, alone and together with the crate's own tests, built by rustc 1.97.1 (8bab26f4f 2026-07-14) and measured by cargo-llvm-cov 0.9.1. Production code leaves out test code, test data, and the test doubles, as nvx-rs coverage does. A line or a function counts once, as reached once any build of the crate ran it.

    Run Lines Functions
    The crate's tests 85.1% of 43,430 85.8% of 5,802
    The scenarios 35.0% of 43,430 36.3% of 5,802
    Together 85.3% of 43,430 86.1% of 5,802

    The scenarios reach 82 lines that the crate's tests don't. Their profiles include processes of nvx-rs, the crate's tests that the scenarios run, and the runtime adapter's tests and host program. Of the lines of production code that the builds of the scenarios compile, they reach 57.8% of 26,336. These builds leave out the other lines, among them the guest code, which runs only in guests.

    nvx-rs processes

    The scenarios started 144 nvx-rs processes, and each wrote its profile.

    Production lines by module

    A row counts the files of a top-level module, or of one of its submodules that has submodules of its own, that no other row counts. The last column counts the lines that the scenarios reach and the crate's tests don't.

    Module The crate's tests The scenarios Together Only the scenarios
    src/activation 100.0% of 458 81.0% of 458 100.0% of 458 0
    src/bin 97.2% of 36 13.8% of 36 97.2% of 36 0
    src/contract 100.0% of 31 80.6% of 31 100.0% of 31 0
    src/error 97.7% of 136 82.3% of 136 97.7% of 136 0
    src/exec 94.5% of 1,066 63.3% of 1,066 96.8% of 1,066 24
    src/exec/credit 99.0% of 105 92.3% of 105 99.0% of 105 0
    src/gpt 86.8% of 479 18.9% of 479 86.8% of 479 0
    src/guest 91.6% of 2,148 0.0% of 2,148 91.6% of 2,148 0
    src/guest/clone 84.5% of 1,344 0.0% of 1,344 84.5% of 1,344 0
    src/guest/exec 96.0% of 789 0.0% of 789 96.0% of 789 0
    src/guest/ingress 89.4% of 605 0.0% of 605 89.4% of 605 0
    src/guest/managed_agent 78.5% of 1,276 0.0% of 1,276 78.5% of 1,276 0
    src/guest/mappings 88.8% of 816 0.0% of 816 88.8% of 816 0
    src/guest/root 86.3% of 1,640 0.0% of 1,640 86.3% of 1,640 0
    src/guest/sys 62.7% of 2,604 0.0% of 2,604 62.7% of 2,604 0
    src/guest/time 53.8% of 4,488 0.0% of 4,488 53.8% of 4,488 0
    src/guest/time_probe 75.5% of 1,348 0.0% of 1,348 75.5% of 1,348 0
    src/host 92.1% of 1,087 62.3% of 1,087 93.1% of 1,087 11
    src/host/artifacts 90.8% of 460 52.6% of 460 93.4% of 460 12
    src/host/cli 90.1% of 4,611 43.7% of 4,611 90.3% of 4,611 8
    src/host/filesystem 90.5% of 1,316 64.0% of 1,316 90.5% of 1,316 0
    src/host/instance 77.6% of 510 1.1% of 510 77.6% of 510 0
    src/host/network 98.3% of 1,602 75.5% of 1,602 98.3% of 1,602 0
    src/host/platform 85.7% of 724 66.8% of 724 85.7% of 724 0
    src/host/sandbox 98.4% of 2,416 61.2% of 2,416 98.4% of 2,416 0
    src/host/store 91.8% of 1,772 66.1% of 1,772 91.8% of 1,772 0
    src/host/supervisor 94.8% of 388 69.3% of 388 94.8% of 388 0
    src/host/sys 58.0% of 241 48.5% of 241 58.0% of 241 0
    src/host/template 91.9% of 6,925 64.7% of 6,925 92.3% of 6,925 23
    src/hypervisor 65.8% of 41 41.4% of 41 75.6% of 41 4
    src/net 100.0% of 138 21.0% of 138 100.0% of 138 0
    src/protocol 99.7% of 1,131 35.9% of 1,131 99.7% of 1,131 0
    src/protocol/nvxs 90.9% of 642 55.7% of 642 90.9% of 642 0
    src/uuid 100.0% of 57 78.9% of 57 100.0% of 57 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions