diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-25 00:54:53 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-25 00:54:53 -0400 |
| commit | 99a26d7de23bbfc757957c08e47606c3690df4cb (patch) | |
| tree | 614b63abef7a5fdfb65d3e948788588632662f9e /scripts/testing/run-test.sh | |
| parent | 133d036aaa8cbe7523d217f2174fb9de191b61a9 (diff) | |
| download | archsetup-99a26d7de23bbfc757957c08e47606c3690df4cb.tar.gz archsetup-99a26d7de23bbfc757957c08e47606c3690df4cb.zip | |
test(archsetup): scaffold Testinfra post-install validation (P1)
Stand up the Testinfra/pytest harness alongside the existing shell sweep so the two can be compared for parity before pytest takes over.
Adds scripts/testing/tests/ (conftest with failure attribution markers, a report hook, and a target_user fixture, plus three parity checks: user, ufw, dotfiles) and scripts/testing/lib/testinfra.sh, which injects a throwaway SSH key into the VM and runs pytest over SSH. The sweep is advisory here (RUN_TESTINFRA toggle, non-fatal) and does not yet affect pass/fail. Pulls python-pytest and python-pytest-testinfra into make deps.
Verified on the host: py_compile clean, pytest --collect-only green, bash -n and shellcheck clean. The sweep running against a real VM is verified by the next make test run.
Diffstat (limited to 'scripts/testing/run-test.sh')
| -rwxr-xr-x | scripts/testing/run-test.sh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/testing/run-test.sh b/scripts/testing/run-test.sh index 9b47747..314097a 100755 --- a/scripts/testing/run-test.sh +++ b/scripts/testing/run-test.sh @@ -24,6 +24,7 @@ source "$SCRIPT_DIR/lib/logging.sh" source "$SCRIPT_DIR/lib/vm-utils.sh" source "$SCRIPT_DIR/lib/network-diagnostics.sh" source "$SCRIPT_DIR/lib/validation.sh" +source "$SCRIPT_DIR/lib/testinfra.sh" # Parse arguments KEEP_VM=false @@ -321,6 +322,11 @@ set +e run_all_validations validate_all_services +# Advisory Testinfra sweep alongside the shell sweep (P1). Compare the two on a +# real run to confirm parity before pytest becomes primary. Does not affect +# pass/fail yet. +run_testinfra_validation "$TEST_RESULTS_DIR" + # Analyze log differences (pre vs post install) analyze_log_diff "$TEST_RESULTS_DIR" |
