fix(tests): repair framework paths, assertions, and arithmetic

The test suite referenced a Framework-Includes/ directory that does not
exist at the repo root (it is vendored under vendor/.../KNELShellFramework),
and asserted against functions the framework does not export.

- Point all tests at the vendored framework includes via a resolved
  FRAMEWORK_INCLUDES path
- Add print_success/print_warning/print_header shims where the vendored
  PrettyPrint only defines print_info/print_error
- Replace log_info/handle_error assertions with the real API:
  CURRENT_TIMESTAMP/LOGFILENAME variables and error_out/handle_failure
- Fix ((var++)) under set -e (returns 1 when var is 0) by using ((++var))
  across system-requirements, https-enforcement, 2fa-validation, and
  safe-download
- Fix infinite recursion in safe-download test_network_connectivity
  (was calling itself instead of the framework function)
- Make syntax validation shebang-aware so PHP agents (mysql.sh) are
  skipped instead of flagged as bash syntax errors

Framework unit test now passes (exit 0).

🤖 Generated with [Crush](https://github.com/charmassociates/crush)

Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
Charles N Wyble
2026-07-25 13:49:47 -05:00
parent 688b7190e6
commit 5928d96aec
6 changed files with 117 additions and 97 deletions
@@ -44,7 +44,7 @@ function test_required_commands() {
echo "✅ Required command available: $cmd"
else
echo "❌ Required command missing: $cmd"
((failed++))
((++failed))
fi
done
@@ -87,7 +87,7 @@ function test_network_connectivity() {
echo "✅ Network connectivity: $url"
else
echo "❌ Network connectivity failed: $url"
((failed++))
((++failed))
fi
done
@@ -103,7 +103,7 @@ function test_permissions() {
echo "✅ Write permission: $dir"
else
echo "❌ Write permission denied: $dir"
((failed++))
((++failed))
fi
done