1 // crypto_generichash_blake2b.h
2
3 use libsodium_sys::*;
4
5 #[test]
test_crypto_generichash_blake2b_state_alignment()6 fn test_crypto_generichash_blake2b_state_alignment() {
7 // this asserts the alignment applied that was broken with old
8 // versions of bindgen
9 assert_eq!(64, std::mem::align_of::<crypto_generichash_blake2b_state>());
10 }
11
12 #[test]
test_crypto_generichash_blake2b_bytes_min()13 fn test_crypto_generichash_blake2b_bytes_min() {
14 assert_eq!(
15 unsafe { crypto_generichash_blake2b_bytes_min() },
16 crypto_generichash_blake2b_BYTES_MIN as usize
17 )
18 }
19
20 #[test]
test_crypto_generichash_blake2b_bytes_max()21 fn test_crypto_generichash_blake2b_bytes_max() {
22 assert_eq!(
23 unsafe { crypto_generichash_blake2b_bytes_max() },
24 crypto_generichash_blake2b_BYTES_MAX as usize
25 )
26 }
27
28 #[test]
test_crypto_generichash_blake2b_bytes()29 fn test_crypto_generichash_blake2b_bytes() {
30 assert_eq!(
31 unsafe { crypto_generichash_blake2b_bytes() },
32 crypto_generichash_blake2b_BYTES as usize
33 )
34 }
35
36 #[test]
test_crypto_generichash_blake2b_keybytes_min()37 fn test_crypto_generichash_blake2b_keybytes_min() {
38 assert_eq!(
39 unsafe { crypto_generichash_blake2b_keybytes_min() },
40 crypto_generichash_blake2b_KEYBYTES_MIN as usize
41 )
42 }
43
44 #[test]
test_crypto_generichash_blake2b_keybytes_max()45 fn test_crypto_generichash_blake2b_keybytes_max() {
46 assert_eq!(
47 unsafe { crypto_generichash_blake2b_keybytes_max() },
48 crypto_generichash_blake2b_KEYBYTES_MAX as usize
49 )
50 }
51
52 #[test]
test_crypto_generichash_blake2b_keybytes()53 fn test_crypto_generichash_blake2b_keybytes() {
54 assert_eq!(
55 unsafe { crypto_generichash_blake2b_keybytes() },
56 crypto_generichash_blake2b_KEYBYTES as usize
57 )
58 }
59
60 #[test]
test_crypto_generichash_blake2b_saltbytes()61 fn test_crypto_generichash_blake2b_saltbytes() {
62 assert_eq!(
63 unsafe { crypto_generichash_blake2b_saltbytes() },
64 crypto_generichash_blake2b_SALTBYTES as usize
65 )
66 }
67
68 #[test]
test_crypto_generichash_blake2b_personalbytes()69 fn test_crypto_generichash_blake2b_personalbytes() {
70 assert_eq!(
71 unsafe { crypto_generichash_blake2b_personalbytes() },
72 crypto_generichash_blake2b_PERSONALBYTES as usize
73 )
74 }
75
76 #[test]
test_crypto_generichash_blake2b()77 fn test_crypto_generichash_blake2b() {
78 let mut out = [0u8; crypto_generichash_blake2b_BYTES as usize];
79 let m = [0u8; 64];
80 let key = [0u8; crypto_generichash_blake2b_KEYBYTES as usize];
81
82 assert_eq!(
83 unsafe {
84 crypto_generichash_blake2b(
85 out.as_mut_ptr(),
86 out.len(),
87 m.as_ptr(),
88 m.len() as u64,
89 key.as_ptr(),
90 key.len(),
91 )
92 },
93 0
94 );
95 }
96
97 #[test]
test_crypto_generichash_blake2b_salt_personal()98 fn test_crypto_generichash_blake2b_salt_personal() {
99 let mut out = [0u8; crypto_generichash_blake2b_BYTES as usize];
100 let m = [0u8; 64];
101 let key = [0u8; crypto_generichash_blake2b_KEYBYTES as usize];
102 let salt = [0u8; crypto_generichash_blake2b_SALTBYTES as usize];
103 let personal = [0u8; crypto_generichash_blake2b_PERSONALBYTES as usize];
104
105 assert_eq!(
106 unsafe {
107 crypto_generichash_blake2b_salt_personal(
108 out.as_mut_ptr(),
109 out.len(),
110 m.as_ptr(),
111 m.len() as u64,
112 key.as_ptr(),
113 key.len(),
114 salt.as_ptr(),
115 personal.as_ptr(),
116 )
117 },
118 0
119 );
120 }
121