infra/apply_mask: test more case for apply_mask

make sure that input with len 0,1,2,3 also tested
pull/126/head
Evgeniy A. Dushistov 4 years ago
parent 3a24ca3f03
commit 9764ac13a1
  1. 39
      src/protocol/frame/mask.rs

@ -1,4 +1,3 @@
use rand;
use std::cmp::min; use std::cmp::min;
#[allow(deprecated)] #[allow(deprecated)]
use std::mem::uninitialized; use std::mem::uninitialized;
@ -87,8 +86,7 @@ unsafe fn xor_mem(ptr: *mut u8, mask: u32, len: usize) {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*;
use super::{apply_mask_fallback, apply_mask_fast32};
#[test] #[test]
fn test_apply_mask() { fn test_apply_mask() {
@ -98,26 +96,21 @@ mod tests {
0x12, 0x03, 0x12, 0x03,
]; ];
// Check masking with proper alignment. for data_len in 0..=unmasked.len() {
{ let unmasked = &unmasked[0..data_len];
let mut masked = unmasked.clone(); // Check masking with different alignment.
apply_mask_fallback(&mut masked, mask); for off in 0..=3 {
if unmasked.len() < off {
let mut masked_fast = unmasked.clone(); continue;
apply_mask_fast32(&mut masked_fast, mask); }
let mut masked = unmasked.to_vec();
assert_eq!(masked, masked_fast); apply_mask_fallback(&mut masked[off..], mask);
}
let mut masked_fast = unmasked.to_vec();
// Check masking without alignment. apply_mask_fast32(&mut masked_fast[off..], mask);
{
let mut masked = unmasked.clone(); assert_eq!(masked, masked_fast);
apply_mask_fallback(&mut masked[1..], mask); }
let mut masked_fast = unmasked.clone();
apply_mask_fast32(&mut masked_fast[1..], mask);
assert_eq!(masked, masked_fast);
} }
} }
} }

Loading…
Cancel
Save