Skip to content

nvx-rs slimming, phase 4.1: acceptance on real VMs, then the test adapter goes #1086

Closed
2 of 2 issues completed
Closed

Description

Parent: #1076. Phase: 4, the slim library. Needs: #1080, #1081, #1082, #1083, #1084, #1085. Unblocks: inside phase 4, groups of #1087; #1090.

Goal. Public-API tests and smoke tests on real VMs give the replacement acceptance, and a case matrix gives each test of the adapter, of CI and of the docs a fate: kept, rewritten or retired. Then the 44K-line adapter is deleted, with its runner, its CI jobs and its gates.

Today (dev e42b1795) and after:

Area Today After
Public-API tests The test adapter uses nvx through its public API only, and checks builds with no features, with host alone and with guest alone. CI builds each feature set; compile-only examples live in nvx-rs/examples/; checklist tests in nvx-rs/tests/ cover the documented security requirements. The guest example's space steps compile in nvx-init.
Real VMs The test adapter's scenarios. Smoke tests: create, spawn, reattach and stop; capture, open and restore, with nvx-init as the guest; concurrent restores under the CLI's lock; the CLI's 12 cold cells (#624).
Test adapter tests/runtime-adapter and its runner, CI jobs and gates. Gone, once the case matrix gives each of its tests a fate. #859 is closed as not planned when #816 is rescoped; the adapter's deletion is tracked here.

Groups, in order. Each group issue lists its PRs, with their goals, contents, Needs and estimates.

Group issue Delivers PRs Needs
#1118 Public-API tests, and smoke tests on real VMs SL5.1a, SL5.1b, SL5.1c #1099, #1100, #1102, #1104, #1105, #1111, #1113, #1114, #1117
#1119 The test adapter is gone (leaving code) SL5.2 #1118

Notes.

  • The case matrix lives in the repository. It lists each test of the adapter, of CI and of the docs as kept, rewritten or retired, by name.
  • The deletion is leaving code. Its group issue opens with the note, and has no size limit.
  • A failed restore reports its attribution in the smoke tests.

Tests. This subphase is the tests. CI builds host, guest, serde and no default features, and compiles the host and guest examples; the space's steps compile in nvx-init. Checklist tests cover each security requirement that the docs of filesystem, vm and snapshot state. The case matrix names each test of the adapter, of CI and of the docs, and marks it kept, rewritten or retired. On real VMs: create, spawn, reattach and stop; capture, open and restore, with nvx-init as the guest; concurrent restores of one snapshot under the CLI's lock; and a failed restore reports its attribution. The CLI runs its 12 cold cells: EROFS and GPT, each with a scratch or a RAM upper, on KVM, MSHV and WHP.

Done when: the acceptance above passes; the case matrix gives every old test a fate; tests/runtime-adapter, its runner, its CI jobs and gates are gone; and both group issues are closed.

Activity

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

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions