Files
pi-pm3/TEST_RESULTS_2026-03-03_v4.md
michael a9acdb85ce Build optimization: pre-built PM3 binaries, ARM64 CI, base image caching
Replace PM3 compile-from-source in pi-gen with pre-built tarball extraction
(saves 43-58 min). Merge stagePM3 into stageDangerousPi as 02-pm3-install
substage, renumber all subsequent substages. Switch CI PM3 build to native
ARM64 runner (ubuntu-24.04-arm64) eliminating QEMU overhead. Add weekly
base-image workflow for pre-baking stages 0-2. Support PM3_TARBALL,
BASE_IMAGE, and APT_PROXY env vars in build-image.sh.

Also includes prior Phase 5 work: theme system, design system integration,
component update system, OS updates, CI build pipeline, and test results.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 12:01:01 -08:00

7.4 KiB

Dangerous Pi - Hardware Test Results

Test Date: 2026-03-03 14:05:12 Target: dangerous-pi.local (http://dangerous-pi.local:8000/api) Serial: /dev/ttyUSB0 @ 115200 Tester: Automated (test_hardware_2026-03-03.py)


Summary

Metric Count
Total Tests 77
PASS 57
FAIL 0
WARN 9
SKIP 11
Pass Rate 74.0% (excl. skips: 86.4%)

⚠️ Phase 1: Regression - Jan 23 Issues

# Test Status Detail
1.1 WiFi status reports connected PASS ssid=XFSETUP-0D80, ip=10.0.0.249
1.2 UPS detected at boot PASS battery=100.0%, source=battery
1.3 BLE advertising active PASS name=DangerousPi
1.4 Pydantic namespace warning ⚠️ WARN Warning still present in logs

Phase Summary: 3 pass, 0 fail, 1 warn, 0 skip


Phase 2: Core Health & System Endpoints

# Test Status Detail
2.1 Health check PASS 115ms
2.2 Readiness check PASS 61ms
2.3 System info PASS temp=47.774°C, mem=186.0MB
2.4 System config PASS 181ms
2.5 Pi model info PASS {'model': 'Raspberry Pi Zero 2 W Rev 1.0', 'model_short': 'Pi Zero 2 W', 'total_cores': 4, 'default_active_cores': 2, 'm
2.6 CPU cores PASS total=4, online=2
2.7 Power restrictions PASS 27ms
2.8 Header widgets PASS 0 widgets
2.9 Response time < 100ms avg PASS avg=18ms, min=9ms, max=48ms

Phase Summary: 9 pass, 0 fail, 0 warn, 0 skip


⚠️ Phase 3: PM3 Hardware Integration

# Test Status Detail
3.1 Device discovery PASS 1 device(s), id=pm3_119fea49
3.2 Device status PASS {'device_id': 'pm3_119fea49', 'device_path': '/dev/ttyACM0', 'friendly_name': 'ttyACM0', 'serial_number': 'iceman', 'con
3.3 PM3 overall status PASS connected=None
3.4 Create session PASS id=3d22b26f-9968-49d3-b9b6-8b3bb5b045ac
3.5 Execute hw version ⚠️ WARN Unexpected output:
3.6 Execute hw status PASS 513ms
3.7 Execute hw tune ⚠️ WARN No tune data in output (740ms)
3.8 HF search PASS 409ms
3.9 LF search PASS 397ms
3.10 LED identify PASS 5740ms
3.11 Command history PASS ? entries
3.12 Session release PASS 158ms
3.14 Command time < 1s ⏭️ SKIP hw version not tested

Phase Summary: 10 pass, 0 fail, 2 warn, 1 skip


⚠️ Phase 4: WiFi Manager

# Test Status Detail
4.1 WiFi status PASS mode=client, ssid=XFSETUP-0D80
4.2 Interface detection (wlan0) PASS mac=2c:cf:67:87:db:13, up=True
4.3 Network scan PASS 18 networks found
4.4 Saved networks ⚠️ WARN HTTP 404
4.5 Current connection PASS ip=10.0.0.249
4.6 WiFi mode report PASS mode=client

Phase Summary: 5 pass, 0 fail, 1 warn, 0 skip


⚠️ Phase 5: HTTPS & SSL

# Test Status Detail
5.1 SSL info endpoint PASS 8ms
5.2 SSL enabled field present PASS enabled=False
5.3 Certificate SANs ⚠️ WARN No certificate generated yet
5.4 HTTPS access ⚠️ WARN HTTPS not responding (may not be enabled): timeout
5.5 SSL toggle endpoint ⏭️ SKIP Skipped to avoid disrupting connection
5.6 Cert regeneration ⏭️ SKIP Skipped to avoid disrupting HTTPS state
5.7 SSL cert script exists ⚠️ WARN Script not at expected path
5.8 nginx config files PASS Found configs

Phase Summary: 3 pass, 0 fail, 3 warn, 2 skip


Phase 6: Authentication & WebSocket

# Test Status Detail
6.1 Auth status check PASS auth_enabled=False
6.2 Enable auth via serial ⏭️ SKIP Auth is disabled, skipping auth toggle tests (use --phase 6 to run interactively)
6.3 Auth test 6.3 ⏭️ SKIP Auth disabled on Pi
6.4 Auth test 6.4 ⏭️ SKIP Auth disabled on Pi
6.5 Auth test 6.5 ⏭️ SKIP Auth disabled on Pi
6.6 Auth test 6.6 ⏭️ SKIP Auth disabled on Pi
6.7 Auth test 6.7 ⏭️ SKIP Auth disabled on Pi
6.8 Auth test 6.8 ⏭️ SKIP Auth disabled on Pi
6.9 Auth test 6.9 ⏭️ SKIP Auth disabled on Pi
6.10 WebSocket event stream PASS Received event: {'type': 'event', 'event': 'connected', 'data': {'message': 'Connected to Dangerous Pi event stream'

Phase Summary: 2 pass, 0 fail, 0 warn, 8 skip


Phase 7: Plugin System & Hooks

# Test Status Detail
7.1 Plugin discovery PASS Found: ['hello_world']
7.2 Plugin list PASS 1 plugin(s)
7.3 Plugin info (hello_world) PASS version=1.0.0
7.4 Load plugin PASS 25ms
7.5 Enable plugin PASS 12ms
7.6 Hook trigger (pm3_command) PASS PM3 command executed with plugin enabled
7.7 Plugin widgets PASS 10ms
7.8 Disable plugin PASS 19ms
7.9 Unload plugin PASS 12ms
7.10 Invalid plugin returns 404 PASS 10ms

Phase Summary: 10 pass, 0 fail, 0 warn, 0 skip


⚠️ Phase 8: BLE & UPS Hardware

# Test Status Detail
8.1 BLE status API PASS enabled=True, advertising=True, name=DangerousPi
8.2 BLE scan from laptop ⚠️ WARN DangerousPi not found in scan (may need longer scan)
8.3 Start BLE advertising PASS 4955ms
8.4 Stop BLE advertising PASS 103ms
8.5 Send BLE notification ⚠️ WARN HTTP 400
8.7 UPS status PASS battery=100.0%, voltage=4210.2258V, source=battery
8.8 UPS thresholds PASS 44ms
8.9 Power source detection PASS source=battery
8.10 I2C device at 0x75 PASS PiSugar responds

Phase Summary: 7 pass, 0 fail, 2 warn, 0 skip


Phase 9: Frontend & Performance

# Test Status Detail
9.1 Frontend loads PASS 9941 bytes, has app markup
9.2 Dashboard page PASS 9939 bytes, has app markup
9.3 Commands page PASS 7226 bytes, has app markup
9.4 Settings page PASS 7588 bytes, has app markup
9.5 Logs page PASS 5584 bytes, has app markup
9.6 Response time (10 requests) PASS avg=14ms, p95=19ms, min=10ms, max=19ms
9.7 Memory usage PASS system total used: 189MB
9.8 CPU temperature PASS 49.388°C (target < 70°C idle)

Phase Summary: 8 pass, 0 fail, 0 warn, 0 skip


Warnings

  • 1.4 Pydantic namespace warning: Warning still present in logs
  • 3.5 Execute hw version: Unexpected output:
  • 3.7 Execute hw tune: No tune data in output (740ms)
  • 4.4 Saved networks: HTTP 404
  • 5.3 Certificate SANs: No certificate generated yet
  • 5.4 HTTPS access: HTTPS not responding (may not be enabled): timeout
  • 5.7 SSL cert script exists: Script not at expected path
  • 8.2 BLE scan from laptop: DangerousPi not found in scan (may need longer scan)
  • 8.5 Send BLE notification: HTTP 400

Generated by test_hardware_2026-03-03.py