Compose harness: 80 passed, 6 skipped, 0 failed. External deployment: 61 passed, 25 skipped, 0 failed. All skips are infrastructure prerequisites, not M3 regressions. Part-of: <http://gitlab.vnc.biz/uxf/vnctalk-prosody/-/merge_requests/3>
3.6 KiB
M3 Test Run Report — Prosody 13.0.6, Lua 5.4
Summary
| Run | Passed | Skipped | Failed |
|---|---|---|---|
Compose harness (run-compose-tests.sh) |
80 | 6 | 0 |
External deployment (run-all-tests.sh) |
61 | 25 | 0 |
Zero failures in both runs. All skips are infrastructure prerequisites, not M3 regressions.
Compose harness — 80 passed, 6 skipped
Image: Prosody 13.0.6, Lua 5.4.8, Alpine 3.23.4. Fresh database, mock auth/FCM/file-share
backends, SMACKS_HIBERNATION_TIME=10.
Skips (6)
| Test | Reason |
|---|---|
test_01_core::test_rest_message_carbon_copied_to_second_resource |
Requires both clients to share the same bare JID; compose uses two distinct accounts (user1@ / user2@) |
test_02_muc::test_hidden_lib_rejects_public_override |
Requires an admin JID; compose test user is not an admin |
test_03_vnctalk::test_vcard_fallback |
mod_vnc_vcard_fallback not enabled in config template |
test_10_smacks::test_smacks_hibernation_expiry |
smacks_hibernation_time too large for an automated expiry test (threshold: 30s) |
test_10_smacks::test_smacks_offline_queue_after_expiry |
Same — hibernation time threshold |
test_11_smokes::test_telnet_reachable_on_non_loopback |
ADMIN_TELNET_HOST is localhost (loopback); can't prove wildcard bind from the same host |
External deployment — 61 passed, 25 skipped
Target: xmpp.microlab.zimbra-vnc.de:30522 (Prosody 13.0.6). SSH tunnel to PostgreSQL
(port 14322) and kubectl port-forward for telnet (port 5582) auto-started by the script.
Skips (25)
| Category | Count | Tests | Reason |
|---|---|---|---|
Needs docker compose exec |
9 | test_08_image_patches (all) |
External deployment is not a compose stack; can't grep files inside the container |
Needs docker compose exec |
4 | test_12_image_runtime (all) |
Same — healthcheck execution and config rendering checks need container access |
Needs MOCK_URL |
4 | test_09_http_sideeffects (4 of 5) |
External deployment has real backends, not a capture mock; side-effect assertions can't run |
| Hibernation time too large | 2 | test_10_smacks (2 of 4) |
Production smacks_hibernation_time=300s (>30s threshold) |
| BOSH/WS URL without explicit port | 2 | test_11_smokes::test_host_meta_json, test_11_smokes::test_presence_endpoint |
External URLs use default HTTPS port 443 (no :port); _http_base() requires an explicit port |
| Telnet on loopback only | 1 | test_11_smokes::test_telnet_reachable_on_non_loopback |
ADMIN_TELNET_HOST=127.0.0.1; kubectl port-forward is loopback |
| Same bare JID required | 1 | test_01_core::test_rest_message_carbon_copied_to_second_resource |
External run uses two distinct accounts |
| Admin JID required | 1 | test_02_muc::test_hidden_lib_rejects_public_override |
Test user is not an admin |
| Module not enabled | 1 | test_03_vnctalk::test_vcard_fallback |
mod_vnc_vcard_fallback not in modules_enabled |
Notable: telnet and PostgreSQL tests passed externally
With the auto-started SSH tunnel and kubectl port-forward, all 6 test_04_infra tests
(telnet port, banner, healthcheck, c2s/http ports) and all 11 test_06_postgres tests
(connection, schema, MAM, kick store, store-user inversion) passed — previously these were
skipped when the tunnel/port-forward wasn't set up.
Conclusion
M3 (0.12.6 → 13.0.6) is verified. The compose harness covers 80 of 86 tests; the external deployment covers 61. The 25 external skips are all infrastructure prerequisites (no docker exec, no mock, no low hibernation time, default-port URLs) — not regressions. No test failed in either run.