Fix CI diffing (#944)
* fix build_and_test_fuzzers to diff from origin/main * fix fuzzbench_forkserver
This commit is contained in:
parent
9e4a0513c6
commit
162de0ceaf
1
.github/workflows/build_and_test.yml
vendored
1
.github/workflows/build_and_test.yml
vendored
@ -201,6 +201,7 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true # recursively checkout submodules
|
||||
fetch-depth: 0 # to diff with origin/main
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- name: Build and run example fuzzers (Linux)
|
||||
if: runner.os == 'Linux'
|
||||
|
@ -19,7 +19,7 @@ use libafl::{
|
||||
corpus::{Corpus, OnDiskCorpus},
|
||||
events::SimpleEventManager,
|
||||
executors::forkserver::{ForkserverExecutor, TimeoutForkserverExecutor},
|
||||
feedback_and_fast, feedback_or,
|
||||
feedback_or,
|
||||
feedbacks::{CrashFeedback, MaxMapFeedback, TimeFeedback},
|
||||
fuzzer::{Fuzzer, StdFuzzer},
|
||||
inputs::BytesInput,
|
||||
@ -262,13 +262,7 @@ fn fuzz(
|
||||
);
|
||||
|
||||
// A feedback to choose if an input is a solution or not
|
||||
// We want to do the same crash deduplication that AFL does
|
||||
let mut objective = feedback_and_fast!(
|
||||
// Must be a crash
|
||||
CrashFeedback::new(),
|
||||
// Take it onlt if trigger new coverage over crashes
|
||||
MaxMapFeedback::new(&edges_observer)
|
||||
);
|
||||
let mut objective = CrashFeedback::new();
|
||||
|
||||
// create a State from scratch
|
||||
let mut state = StdState::new(
|
||||
|
@ -10,7 +10,7 @@ if [[ -z "${RUN_ON_CI}" ]]; then
|
||||
backtrace_fuzzers=$(find ./fuzzers/backtrace_baby_fuzzers -mindepth 1 -maxdepth 1 -type d)
|
||||
else
|
||||
cargo build -p build_and_test_fuzzers
|
||||
fuzzers=$(cargo run -p build_and_test_fuzzers)
|
||||
fuzzers=$(cargo run -p build_and_test_fuzzers -- remotes/origin/main)
|
||||
backtrace_fuzzers=""
|
||||
fi
|
||||
|
||||
|
@ -5,16 +5,23 @@ pub use diffing::*;
|
||||
|
||||
fn main() {
|
||||
let args: Vec<String> = env::args().collect();
|
||||
let commit = if args.len() > 1 { &args[1] } else { "HEAD^" };
|
||||
let commit = if args.len() > 1 {
|
||||
&args[1]
|
||||
} else {
|
||||
"origin/main"
|
||||
};
|
||||
|
||||
let files = get_diffing_files(commit);
|
||||
let mut diff_crates = get_diffing_crates(&files);
|
||||
let all_crates = find_all_crates();
|
||||
extend_diffing_crates_with_deps(&mut diff_crates, &all_crates);
|
||||
|
||||
let mut fuzzers = vec![];
|
||||
for file in diff_crates {
|
||||
if file.starts_with("./fuzzers") || file.starts_with("fuzzers") {
|
||||
print!("{} ", file.parent().unwrap().display());
|
||||
fuzzers.push(file.parent().unwrap().display().to_string());
|
||||
}
|
||||
}
|
||||
|
||||
println!("{}", fuzzers.join("\n"));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user