cli fixes
This commit is contained in:
@@ -130,6 +130,7 @@ macro_rules! byte_array_type {
|
||||
Self { bytes }
|
||||
}
|
||||
|
||||
// Big endian bit ordering
|
||||
pub fn bit(&self, index: usize) -> bool {
|
||||
assert!(index < ($size * 8));
|
||||
let bi = index / 8;
|
||||
@@ -152,6 +153,7 @@ macro_rules! byte_array_type {
|
||||
None
|
||||
}
|
||||
|
||||
// Big endian nibble ordering
|
||||
pub fn nibble(&self, index: usize) -> u8 {
|
||||
assert!(index < ($size * 2));
|
||||
let bi = index / 2;
|
||||
|
@@ -353,10 +353,40 @@ async fn test_operations(vcrypto: CryptoSystemVersion) {
|
||||
assert_eq!(d4.first_nonzero_bit(), Some(0));
|
||||
}
|
||||
|
||||
pub async fn test_crypto_key_ordering() {
|
||||
let k1 = CryptoKey::new([
|
||||
128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
]);
|
||||
let k2 = CryptoKey::new([
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
]);
|
||||
let k3 = CryptoKey::new([
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 128,
|
||||
]);
|
||||
let k4 = CryptoKey::new([
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 1,
|
||||
]);
|
||||
let k5 = CryptoKey::new([
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
]);
|
||||
|
||||
assert!(k2 < k1);
|
||||
assert!(k3 < k2);
|
||||
assert!(k4 < k3);
|
||||
assert!(k5 < k4);
|
||||
}
|
||||
|
||||
pub async fn test_all() {
|
||||
let api = crypto_tests_startup().await;
|
||||
let crypto = api.crypto().unwrap();
|
||||
|
||||
test_crypto_key_ordering().await;
|
||||
|
||||
// Test versions
|
||||
for v in VALID_CRYPTO_KINDS {
|
||||
let vcrypto = crypto.get(v).unwrap();
|
||||
|
Reference in New Issue
Block a user