some function rescoping

This commit is contained in:
Brendan Hansknecht 2022-06-30 08:53:01 -07:00
parent 5d7a0d45c1
commit 94510107a4
No known key found for this signature in database
GPG key ID: 0EA784685083E75B
2 changed files with 42 additions and 39 deletions

View file

@ -1,8 +1,25 @@
pub fn merge_instructions_without_line_numbers(instructions: capstone::Instructions) -> String {
instructions
.iter()
.map(|inst| {
inst.to_string()
.trim()
.split(' ')
.skip(1)
.map(|x| x.trim())
.collect::<std::vec::Vec<&str>>()
.join(" ")
})
.collect::<std::vec::Vec<String>>()
.join("\n")
}
#[macro_export]
macro_rules! disassembler_test {
// TODO: Not sure if there is a better way to merge these together,
// but I like the end use of this a lot better than the old tests.
($assemble_fn: expr, $format_fn: expr) => {{
use crate::generic64::disassembler_test_macro::merge_instructions_without_line_numbers;
let arena = bumpalo::Bump::new();
let (mut buf, cs) = setup_capstone_and_arena(&arena);
$assemble_fn(&mut buf);
@ -13,6 +30,7 @@ macro_rules! disassembler_test {
);
}};
($assemble_fn: expr, $format_fn: expr, $iter:expr) => {{
use crate::generic64::disassembler_test_macro::merge_instructions_without_line_numbers;
let arena = bumpalo::Bump::new();
let (mut buf, cs) = setup_capstone_and_arena(&arena);
for i in $iter.iter() {
@ -26,6 +44,7 @@ macro_rules! disassembler_test {
}
}};
($assemble_fn: expr, $format_fn: expr, $iter:expr, $iter2:expr) => {{
use crate::generic64::disassembler_test_macro::merge_instructions_without_line_numbers;
let arena = bumpalo::Bump::new();
let (mut buf, cs) = setup_capstone_and_arena(&arena);
for i in $iter.iter() {
@ -41,6 +60,7 @@ macro_rules! disassembler_test {
}
}};
($assemble_fn: expr, $format_fn: expr, $iter:expr, $iter2:expr, $iter3:expr) => {{
use crate::generic64::disassembler_test_macro::merge_instructions_without_line_numbers;
let arena = bumpalo::Bump::new();
let (mut buf, cs) = setup_capstone_and_arena(&arena);
for i in $iter.iter() {