diff --git a/Cargo.toml b/Cargo.toml index d54c8ae3be..de0aa7a4fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,6 @@ members = [ "libafl_frida", "libafl_qemu", "libafl_sugar", - "libafl_tests", "libafl_concolic/symcc_runtime", "libafl_concolic/symcc_libafl", "libafl_concolic/test/dump_constraints", @@ -24,7 +23,6 @@ default-members = [ "libafl_derive", "libafl_cc", "libafl_targets", - "libafl_tests", ] exclude = [ "fuzzers", diff --git a/Dockerfile b/Dockerfile index 064ebc35f7..c001e04051 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,9 +52,6 @@ COPY libafl_targets/Cargo.toml libafl_targets/build.rs libafl_targets/ COPY libafl_targets/src libafl_targets/src COPY scripts/dummy.rs libafl_targets/src/lib.rs -COPY libafl_tests/Cargo.toml libafl_tests/build.rs libafl_tests/ -COPY scripts/dummy.rs libafl_tests/src/lib.rs - COPY libafl_concolic/test/dump_constraints/Cargo.toml libafl_concolic/test/dump_constraints/ COPY scripts/dummy.rs libafl_concolic/test/dump_constraints/src/lib.rs @@ -77,7 +74,6 @@ COPY docs docs # Dep chain: # libafl_cc (independent) # libafl_derive -> libafl -# libafl_tests -> libafl # libafl -> libafl_targets # libafl_targets -> libafl_frida @@ -86,8 +82,6 @@ COPY libafl_cc/src libafl_cc/src RUN touch libafl_cc/src/lib.rs COPY libafl_derive/src libafl_derive/src RUN touch libafl_derive/src/lib.rs -COPY libafl_tests/src libafl_tests/src -RUN touch libafl_tests/src/lib.rs COPY libafl/src libafl/src RUN touch libafl/src/lib.rs COPY libafl_targets/src libafl_targets/src diff --git a/fuzzers/forkserver_simple/Cargo.toml b/fuzzers/forkserver_simple/Cargo.toml index a4a93e347f..28446315cd 100644 --- a/fuzzers/forkserver_simple/Cargo.toml +++ b/fuzzers/forkserver_simple/Cargo.toml @@ -16,5 +16,4 @@ codegen-units = 1 opt-level = 3 [dependencies] -libafl = { path = "../../libafl/" } -libafl_tests = { path = "../../libafl_tests/", features = ["forkserver_test"] } +libafl = { path = "../../libafl/" } \ No newline at end of file diff --git a/fuzzers/forkserver_simple/build.rs b/fuzzers/forkserver_simple/build.rs new file mode 100644 index 0000000000..9a9eddf30c --- /dev/null +++ b/fuzzers/forkserver_simple/build.rs @@ -0,0 +1,46 @@ +use std::env; +use std::path::Path; +use std::process::{exit, Command}; + +const AFL_URL: &str = "https://github.com/AFLplusplus/AFLplusplus"; + +fn main() { + if cfg!(windows) { + println!("cargo:warning=No support for windows yet."); + exit(0); + } + + let cwd = env::current_dir().unwrap().to_string_lossy().to_string(); + + let afl = format!("{}/AFLplusplus", &cwd); + let afl_gcc = format!("{}/AFLplusplus/afl-cc", &cwd); + + let afl_path = Path::new(&afl); + let afl_gcc_path = Path::new(&afl_gcc); + + if !afl_path.is_dir() { + println!("cargo:warning=AFL++ not found, downloading..."); + Command::new("git") + .arg("clone") + .arg(AFL_URL) + .status() + .unwrap(); + } + + if !afl_gcc_path.is_file() { + Command::new("make") + .arg("all") + .current_dir(&afl_path) + .status() + .unwrap(); + } + + Command::new(afl_gcc_path) + .args(&["src/program.c", "-o"]) + .arg(&format!("{}/target/release/program", &cwd)) + .status() + .unwrap(); + + println!("cargo:rerun-if-changed=build.rs"); + println!("cargo:rerun-if-changed=src/"); +} diff --git a/fuzzers/forkserver_simple/src/main.rs b/fuzzers/forkserver_simple/src/main.rs index fb60981b78..65b51ab10d 100644 --- a/fuzzers/forkserver_simple/src/main.rs +++ b/fuzzers/forkserver_simple/src/main.rs @@ -99,7 +99,7 @@ pub fn main() { // Create the executor for the forkserver let mut executor = TimeoutForkserverExecutor::new( ForkserverExecutor::new( - "../../libafl_tests/src/forkserver_test".to_string(), + "./target/release/program".to_string(), &[], true, tuple_list!(edges_observer, time_observer), diff --git a/libafl_tests/src/forkserver_test.c b/fuzzers/forkserver_simple/src/program.c similarity index 100% rename from libafl_tests/src/forkserver_test.c rename to fuzzers/forkserver_simple/src/program.c diff --git a/libafl_tests/Cargo.toml b/libafl_tests/Cargo.toml deleted file mode 100644 index d72b77a5a1..0000000000 --- a/libafl_tests/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "libafl_tests" -version = "0.5.0" -authors = ["tokatoka "] -edition = "2018" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[features] -forkserver_test = [] - -[dependencies] - diff --git a/libafl_tests/build.rs b/libafl_tests/build.rs deleted file mode 100644 index 2d0cb3eead..0000000000 --- a/libafl_tests/build.rs +++ /dev/null @@ -1,48 +0,0 @@ -use std::env; -use std::path::Path; -use std::process::{exit, Command}; - -const AFL_URL: &str = "https://github.com/AFLplusplus/AFLplusplus"; - -fn main() { - if cfg!(feature = "forkserver_test") { - if cfg!(windows) { - println!("cargo:warning=No support for windows yet."); - exit(0); - } - - let cwd = env::current_dir().unwrap().to_string_lossy().to_string(); - - let afl = format!("{}/AFLplusplus", &cwd); - let afl_gcc = format!("{}/AFLplusplus/afl-cc", &cwd); - - let afl_path = Path::new(&afl); - let afl_gcc_path = Path::new(&afl_gcc); - - if !afl_path.is_dir() { - println!("cargo:warning=AFL++ not found, downloading..."); - Command::new("git") - .arg("clone") - .arg(AFL_URL) - .status() - .unwrap(); - } - - if !afl_gcc_path.is_file() { - Command::new("make") - .arg("all") - .current_dir(&afl_path) - .status() - .unwrap(); - } - - Command::new(afl_gcc_path) - .args(&["src/forkserver_test.c", "-o"]) - .arg(&format!("{}/forkserver_test", "src")) - .status() - .unwrap(); - - println!("cargo:rerun-if-changed=build.rs"); - println!("cargo:rerun-if-changed=src/"); - } -} diff --git a/libafl_tests/src/lib.rs b/libafl_tests/src/lib.rs deleted file mode 100644 index 8b13789179..0000000000 --- a/libafl_tests/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -