Skip to content

Commit 2a59d87

Browse files
committed
move capnp-futures test back to using capnp::Word
1 parent 76c6d11 commit 2a59d87

File tree

1 file changed

+7
-22
lines changed

1 file changed

+7
-22
lines changed

capnp-futures/src/serialize.rs

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -375,15 +375,15 @@ pub mod test {
375375
&buf[..]);
376376
}
377377

378-
impl AsOutputSegments for Vec<Vec<u8>> {
378+
impl AsOutputSegments for Vec<Vec<capnp::Word>> {
379379
fn as_output_segments<'a>(&'a self) -> OutputSegments<'a> {
380380
if self.len() == 0 {
381381
OutputSegments::SingleSegment([&[]])
382382
} else if self.len() == 1 {
383-
OutputSegments::SingleSegment([&self[0][..]])
383+
OutputSegments::SingleSegment([capnp::Word::words_to_bytes(&self[0][..])])
384384
} else {
385385
OutputSegments::MultiSegment(self.iter()
386-
.map(|segment| &segment[..])
386+
.map(|segment| capnp::Word::words_to_bytes(&segment[..]))
387387
.collect::<Vec<_>>())
388388
}
389389
}
@@ -471,30 +471,15 @@ pub mod test {
471471
}
472472
}
473473

474-
fn word_segments_to_byte_segments(word_segments: Vec<Vec<u64>>) -> Vec<Vec<u8>> {
475-
let mut result = Vec::new();
476-
for s in word_segments {
477-
let mut byte_seg = Vec::new();
478-
for w in s {
479-
for b in &w.to_le_bytes() {
480-
byte_seg.push(*b)
481-
}
482-
}
483-
result.push(byte_seg);
484-
}
485-
result
486-
}
487-
488474
#[test]
489475
fn check_round_trip_async() {
490476
fn round_trip(read_block_frequency: usize,
491477
write_block_frequency: usize,
492-
word_segments: Vec<Vec<u64>>) -> TestResult
478+
segments: Vec<Vec<capnp::Word>>) -> TestResult
493479
{
494-
if word_segments.len() == 0 || read_block_frequency == 0 || write_block_frequency == 0 {
480+
if segments.len() == 0 || read_block_frequency == 0 || write_block_frequency == 0 {
495481
return TestResult::discard();
496482
}
497-
let segments = word_segments_to_byte_segments(word_segments);
498483
let (mut read, segments) = {
499484
let cursor = std::io::Cursor::new(Vec::new());
500485
let mut writer = BlockingWrite::new(cursor, write_block_frequency);
@@ -510,11 +495,11 @@ pub mod test {
510495
let message_segments = message.into_segments();
511496

512497
TestResult::from_bool(segments.iter().enumerate().all(|(i, segment)| {
513-
&segment[..] == message_segments.get_segment(i as u32).unwrap()
498+
capnp::Word::words_to_bytes(&segment[..]) == message_segments.get_segment(i as u32).unwrap()
514499
}))
515500
}
516501

517-
quickcheck(round_trip as fn(usize, usize, Vec<Vec<u64>>) -> TestResult);
502+
quickcheck(round_trip as fn(usize, usize, Vec<Vec<capnp::Word>>) -> TestResult);
518503
}
519504
}
520505

0 commit comments

Comments
 (0)