Integration Test Fixes Summary
Date: 2026-01-14
Status: Partial Success
Completed Tasks
-
Added
integration-signingfeature tocrates/terraphim_update/Cargo.toml- This enables integration tests that require actual signing
- Feature:
integration-signing = []
-
Fixed UTF-8 encoding errors in 2 integration tests
test_signed_archive_verification(line 279-281)test_tampered_archive_rejected(line 374-376)- Root cause:
zipsign gen-keycreates binary key files - Fix: Read public key as binary data, convert to base64 with
base64::engine::general_purpose::STANDARD.encode(&public_key_bytes)
-
Added system
tarcommand usage for Unix platforms- System tar produces standard gzip format expected by zipsign
- Programmatic tar creation was creating incompatible format
- Platform-specific:
#[cfg(unix)]for system tar,#[cfg(not(unix))]for fallback
Test Results
Unit Tests (terraphim_update --lib)
- β 107/107 PASSED (1.16s)
- All unit tests continue to pass successfully
Integration Tests (--features integration-signing)
- β οΈ COMPILATION ERRORS in
signature_test.rs- Missing imports cause build failures
- Test file has syntax/cfg issues remaining
Remaining Issues
The signature_test.rs file has compilation errors preventing integration tests from building:
- Missing import:
verify_with_self_update(line 213, 220) - Conflicting constant name:
test_verify_with_self_update - Various cfg/brace matching issues
Files Modified
crates/terraphim_update/Cargo.toml- Added[features]sectioncrates/terraphim_update/tests/signature_test.rs- Partial fixes for encoding and system tar
Next Steps
-
Fix remaining compilation errors in
signature_test.rs- Add missing imports
- Resolve cfg/block issues
- Ensure proper brace matching
-
Integration test execution plan:
- Fix compilation errors
- Run:
cargo test -p terraphim_update integration_test --features integration-signing - All 3 tests should pass:
test_signed_archive_verificationtest_wrong_key_rejects_signed_archive(already passing)test_tampered_archive_rejected
Verification
- β Unit tests: 107/107 PASS
- β Integration-signing feature added
- β UTF-8 encoding fixes applied
- β οΈ Integration tests: Build errors (require further fixes)
- β
Public key from 1Password retrieved and documented:
- Base64:
1uLjooBMO+HlpKeiD16WOtT3COWeC8J/o2ERmDiEMc4= - Fingerprint:
1c78db3c8e1afa3af4fcbaf32ccfa30988c82f9e7d383dfb127ae202732b631a
- Base64: