From 6cf3ba7efd8a366b440c7675df1c0576c8cd4762 Mon Sep 17 00:00:00 2001 From: Hernando Castano Date: Mon, 25 Mar 2019 10:42:33 +0100 Subject: [PATCH] Add a more realistic Batch test (#10511) * Remove unrealistic tests * Add test that more closely resembles real usage --- ethcore/light/src/types/request/batch.rs | 35 +++++++----------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/ethcore/light/src/types/request/batch.rs b/ethcore/light/src/types/request/batch.rs index f99b49d2b..63641b5da 100644 --- a/ethcore/light/src/types/request/batch.rs +++ b/ethcore/light/src/types/request/batch.rs @@ -275,8 +275,7 @@ mod tests { } #[test] - #[should_panic] - fn batch_tx_index_backreference_wrong_output() { + fn batch_tx_index_backreference_public_api() { let mut builder = Builder::default(); builder.push(Request::HeaderProof(IncompleteHeaderProofRequest { num: 100.into(), // header proof puts hash at output 0. @@ -286,11 +285,16 @@ mod tests { })).unwrap(); let mut batch = builder.build(); - batch.requests[1].fill(|_req_idx, _out_idx| Ok(Output::Number(42))); - batch.next_complete(); - batch.answered += 1; - batch.next_complete(); + assert!(batch.next_complete().is_some()); + let hdr_proof_res = header_proof::Response { + proof: vec![], + hash: 12.into(), + td: 21.into(), + }; + batch.supply_response_unchecked(&hdr_proof_res); + + assert!(batch.next_complete().is_some()); } #[test] @@ -310,23 +314,4 @@ mod tests { batch.answered += 1; assert!(batch.next_complete().is_some()); } - - #[test] - #[should_panic] - fn batch_receipts_backreference_wrong_output() { - let mut builder = Builder::default(); - builder.push(Request::HeaderProof(IncompleteHeaderProofRequest { - num: 100.into(), // header proof puts hash at output 0. - })).unwrap(); - builder.push(Request::Receipts(IncompleteReceiptsRequest { - hash: Field::BackReference(0, 0), - })).unwrap(); - - let mut batch = builder.build(); - batch.requests[1].fill(|_req_idx, _out_idx| Ok(Output::Number(42))); - - batch.next_complete(); - batch.answered += 1; - batch.next_complete(); - } }