htest: service boilerplate for secondary VMs.

In order to keep it easy to add tests, we need to avoid requiring new
VMs for each case as this will lead to an explosion of duplication and
build artifacts.

Allowing secondary VMs to contain selectable services for different
tests means they don't each require a separate VM and run into resource
limits. The resulting services are also avoid boilerplate so the source
gets to the point of the test more easily.

The primary VMs are also refactored to encourage splitting tests across
file but bundling them into the same VM so as to cut down on build
artifacts and make it easier to find and run tests.

Assertions can now be used in any context of a test, including in a test
service.

Change-Id: Id3b8a7579d0facdfceb9d77f62ef57241b31a88a
27 files changed
tree: c6f497cbd6b96df4842ef052c736bcca006e0649
  1. build/
  2. docs/
  3. driver/
  4. inc/
  5. kokoro/
  6. project/
  7. src/
  8. test/
  9. third_party/
  10. .clang-format
  11. .clang-tidy
  12. .gitignore
  13. .gitmodules
  14. .gn
  15. BUILD.gn
  16. CONTRIBUTING.md
  17. LICENSE
  18. Makefile
  19. README.md
README.md

Hafnium

Hafnium is a hypervisor, initially supporting aarch64 (64-bit ARMv8 CPUs).

Get in touch and keep up-to-date at hafnium-discuss@googlegroups.com.

Getting started

To jump in and build Hafnium, follow the getting started instructions.