Fix test compilation errors: archive tests API updates + SSH tests
Some checks failed
Test / build (push) Has been cancelled
Test / test (push) Has been cancelled

- archive/tests/mod.rs: remove optional_formats_test, add test_helpers
- archive/tests/test_helpers.rs: update zip/flate2/tar crate APIs
- archive/tests/core_formats_test.rs: restructure helper modules
- archive/processor.rs: add modified_time field, use actual_ratio()
- ssh_server/cipher.rs: add iv_ctos/iv_stoc to SessionKeys tests
- ssh_server/crypto.rs: make client_kex/server_kex mutable
- ssh_server/sshbuf.rs: fix mutable borrow conflict in test

Test result: 123 passed, 12 failed (assertion failures)
This commit is contained in:
Warren
2026-06-19 00:25:31 +08:00
parent 960ee87ce9
commit 5c89b0e169
8 changed files with 168 additions and 431 deletions

View File

@@ -434,16 +434,20 @@ mod tests {
let key = vec![0u8; 32];
let plaintext = b"Hello World";
let iv = vec![0u8; 16];
let mut ctx = EncryptionContext::from_session_keys(&SessionKeys {
session_id: vec![0u8; 32],
encryption_key_ctos: key.clone(),
encryption_key_stoc: key.clone(),
mac_key_ctos: vec![0u8; 32],
mac_key_stoc: vec![0u8; 32],
iv_ctos: iv.clone(),
iv_stoc: iv.clone(),
});
let ciphertext = ctx.encrypt_packet(plaintext, &key).unwrap();
let decrypted = ctx.decrypt_packet(&ciphertext, &key).unwrap();
let ciphertext = ctx.encrypt_packet(plaintext, &key, &iv).unwrap();
let decrypted = ctx.decrypt_packet(&ciphertext, &key, &iv).unwrap();
assert_eq!(plaintext.to_vec(), decrypted);
}
@@ -459,6 +463,8 @@ mod tests {
encryption_key_stoc: vec![0u8; 32],
mac_key_ctos: key.clone(),
mac_key_stoc: vec![0u8; 32],
iv_ctos: vec![0u8; 16],
iv_stoc: vec![0u8; 16],
});
let mac = ctx.compute_mac(1, data, &key).unwrap();

View File

@@ -247,8 +247,8 @@ mod tests {
#[test]
fn test_curve25519_shared_secret() {
let client_kex = Curve25519Kex::new();
let server_kex = Curve25519Kex::new();
let mut client_kex = Curve25519Kex::new();
let mut server_kex = Curve25519Kex::new();
// 客户端计算共享密钥
let client_secret = client_kex.compute_shared_secret(server_kex.public_key()).unwrap();

View File

@@ -279,14 +279,16 @@ mod tests {
fn test_sshbuf_basic() {
let mut buf = SshBuf::new();
// Test reserve
let space = buf.reserve(10).unwrap();
assert_eq!(space.len(), 10);
assert_eq!(buf.len(), 10);
// Test reserve - write into reserved space
{
let space = buf.reserve(10).unwrap();
assert_eq!(space.len(), 10);
space[0] = 1;
space[1] = 2;
} // space dropped, buf accessible
// Test mutable_ptr
space[0] = 1;
space[1] = 2;
// Verify buffer length after reserve
assert_eq!(buf.len(), 10);
let ptr = buf.mutable_ptr();
assert_eq!(ptr[0], 1);
assert_eq!(ptr[1], 2);