MCPcopy Create free account
hub / github.com/MultiFuzz/MultiFuzz / test_multiblock

Function test_multiblock

hail-fuzz/src/load_resizer.rs:871–895  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

869
870#[test]
871fn test_multiblock() {
872 let reg = pcode::VarNode::new(1, 2);
873
874 let mut block1 = pcode::Block::new();
875 block1.push((reg, pcode::Op::Load(0), 0x1000));
876
877 // Load cannot be resized just looking at the current block.
878 check(block1.clone(), 0, None);
879
880 let mut block2 = pcode::Block::new();
881 block2.push((reg, pcode::Op::Copy, 0xaa_u16));
882
883 let mut block3 = pcode::Block::new();
884 block3.push((reg, pcode::Op::Copy, 0xaa_u16));
885
886 // Modified by both so can be successfully resized.
887 check_multiblock([block1.clone(), block2.clone(), block3], 0, Some((15, 0)));
888
889 // Does not overwrite reg.
890 let block4 = pcode::Block::new();
891
892 // Modified in only one block (cannot be resized).
893 check_multiblock([block1.clone(), block2.clone(), block4.clone()], 0, None);
894 check_multiblock([block1.clone(), block4.clone(), block2.clone()], 0, None);
895}

Callers

nothing calls this directly

Calls 3

checkFunction · 0.85
check_multiblockFunction · 0.85
cloneMethod · 0.80

Tested by

no test coverage detected