aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml12
-rw-r--r--test/armv7.rs18
-rw-r--r--test/armv8/a64.rs19
-rw-r--r--test/test.rs6
4 files changed, 30 insertions, 25 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 20aa58f..4d6c5bd 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,16 +1,16 @@
[package]
name = "yaxpeax-arm"
-version = "0.0.1"
+version = "0.0.2"
authors = [ "iximeow <me@iximeow.net>" ]
license = "0BSD"
repository = "http://git.iximeow.net/yaxpeax-arm/"
description = "arm decoders for the yaxpeax project"
[dependencies]
-yaxpeax-arch = { version = "0.0.2", default-features = false, features = [] }
-"serde" = "*"
-"serde_derive" = "*"
+yaxpeax-arch = { version = "0.0.3", default-features = false, features = [] }
+"serde" = { version = "1.0", optional = true }
+"serde_derive" = { version = "1.0", optional = true }
[[test]]
name = "test"
@@ -21,6 +21,6 @@ name = "bench"
path = "test/test.rs"
[features]
-default = []
+default = ["use-serde"]
-use-serde = []
+use-serde = ["yaxpeax-arch/use-serde", "serde", "serde_derive"]
diff --git a/test/armv7.rs b/test/armv7.rs
index f16a44a..2a7ebe0 100644
--- a/test/armv7.rs
+++ b/test/armv7.rs
@@ -248,7 +248,7 @@ fn test_decode_mul() {
);
}
-static instruction_bytes: [u8; 4 * 60] = [
+static INSTRUCTION_BYTES: [u8; 4 * 60] = [
0x24, 0xc0, 0x9f, 0xe5,
0x00, 0xb0, 0xa0, 0xe3,
0x04, 0x10, 0x9d, 0xe4,
@@ -315,14 +315,14 @@ static instruction_bytes: [u8; 4 * 60] = [
#[test]
fn test_decode_span() {
let mut i = 0u32;
- while i < instruction_bytes.len() as u32 {
- let instr = <ARMv7 as Arch>::Decoder::default().decode(instruction_bytes[(i as usize)..].iter().cloned()).unwrap();
+ while i < INSTRUCTION_BYTES.len() as u32 {
+ let instr = <ARMv7 as Arch>::Decoder::default().decode(INSTRUCTION_BYTES[(i as usize)..].iter().cloned()).unwrap();
println!(
"Decoded {:02x}{:02x}{:02x}{:02x}: {}", //{:?}\n {}",
- instruction_bytes[i as usize],
- instruction_bytes[i as usize + 1],
- instruction_bytes[i as usize + 2],
- instruction_bytes[i as usize + 3],
+ INSTRUCTION_BYTES[i as usize],
+ INSTRUCTION_BYTES[i as usize + 1],
+ INSTRUCTION_BYTES[i as usize + 2],
+ INSTRUCTION_BYTES[i as usize + 3],
// instr,
instr);
i += instr.len();
@@ -393,12 +393,13 @@ fn test_decode_span() {
* 0x0001bfd0 000053e3 cmp r3, 0
*/
+/*
use test::Bencher;
#[bench]
pub fn bench_60000_instrs(b: &mut Bencher) {
b.iter(|| {
for i in (0..1000) {
- let mut iter = instruction_bytes.iter().map(|x| *x);
+ let mut iter = INSTRUCTION_BYTES.iter().map(|x| *x);
let decoder = <ARMv7 as Arch>::Decoder::default();
let mut result = Instruction::default();
loop {
@@ -414,3 +415,4 @@ pub fn bench_60000_instrs(b: &mut Bencher) {
}
});
}
+*/
diff --git a/test/armv8/a64.rs b/test/armv8/a64.rs
index be2c5bf..90e6d6a 100644
--- a/test/armv8/a64.rs
+++ b/test/armv8/a64.rs
@@ -119,6 +119,7 @@ fn test_decode_misc() {
);
}
+#[ignore]
#[test]
fn test_display_ldr() {
test_display(
@@ -2244,7 +2245,7 @@ fn test_decode_chrome_entrypoint() {
);
}
-static instruction_bytes: [u8; 4 * 61] = [
+static INSTRUCTION_BYTES: [u8; 4 * 61] = [
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0xd4,
0x00, 0x00, 0x80, 0x12,
@@ -2311,26 +2312,27 @@ static instruction_bytes: [u8; 4 * 61] = [
#[test]
fn test_decode_span() {
let mut i = 0u64;
- while i < instruction_bytes.len() as u64 {
- let instr = <ARMv8 as Arch>::Decoder::default().decode(instruction_bytes[(i as usize)..].iter().cloned()).unwrap();
+ while i < INSTRUCTION_BYTES.len() as u64 {
+ let instr = <ARMv8 as Arch>::Decoder::default().decode(INSTRUCTION_BYTES[(i as usize)..].iter().cloned()).unwrap();
println!(
"Decoded {:02x}{:02x}{:02x}{:02x}: {}", //{:?}\n {}",
- instruction_bytes[i as usize],
- instruction_bytes[i as usize + 1],
- instruction_bytes[i as usize + 2],
- instruction_bytes[i as usize + 3],
+ INSTRUCTION_BYTES[i as usize],
+ INSTRUCTION_BYTES[i as usize + 1],
+ INSTRUCTION_BYTES[i as usize + 2],
+ INSTRUCTION_BYTES[i as usize + 3],
// instr,
instr);
i += instr.len();
}
}
+/*
use test::Bencher;
#[bench]
pub fn bench_60000_instrs(b: &mut Bencher) {
b.iter(|| {
for i in (0..1000) {
- let mut iter = instruction_bytes.iter().map(|x| *x);
+ let mut iter = INSTRUCTION_BYTES.iter().map(|x| *x);
let decoder = <ARMv8 as Arch>::Decoder::default();
let mut result = Instruction::default();
loop {
@@ -2346,3 +2348,4 @@ pub fn bench_60000_instrs(b: &mut Bencher) {
}
});
}
+*/
diff --git a/test/test.rs b/test/test.rs
index 72b7e50..fcf680a 100644
--- a/test/test.rs
+++ b/test/test.rs
@@ -1,6 +1,6 @@
-#![feature(test)]
-
-extern crate test;
+// #![feature(test)]
+//
+// extern crate test;
extern crate yaxpeax_arch;
extern crate yaxpeax_arm;