fix snakefile

This commit is contained in:
Alwin Berger 2024-05-21 18:33:15 +02:00
parent e9c27b3065
commit b9b6e1fc12

View File

@ -28,19 +28,19 @@ rule build_frafl:
output: output:
directory("bins/target_frafl") directory("bins/target_frafl")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_afl,feed_longest" "cargo build --target-dir {output} {def_flags},config_frafl,feed_longest"
rule build_afl: rule build_afl:
output: output:
directory("bins/target_afl") directory("bins/target_afl")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_afl,observer_hitcounts" "cargo build --target-dir {output} {def_flags},config_afl,observer_hitcounts"
rule build_stg: rule build_stg:
output: output:
directory("bins/target_stg") directory("bins/target_stg")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_stg" "cargo build --target-dir {output} {def_flags},config_stg"
rule build_showmap_int: rule build_showmap_int:
output: output:
@ -59,19 +59,19 @@ rule build_frafl_int:
output: output:
directory("bins/target_frafl_int") directory("bins/target_frafl_int")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_afl,feed_longest,fuzz_int" "cargo build --target-dir {output} {def_flags},config_frafl,fuzz_int"
rule build_afl_int: rule build_afl_int:
output: output:
directory("bins/target_afl_int") directory("bins/target_afl_int")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_afl,fuzz_int,observer_hitcounts" "cargo build --target-dir {output} {def_flags},config_afl,fuzz_int,"
rule build_stg_int: rule build_stg_int:
output: output:
directory("bins/target_stg_int") directory("bins/target_stg_int")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_stg,fuzz_int" "cargo build --target-dir {output} {def_flags},config_stg,fuzz_int"
rule build_feedgeneration1: rule build_feedgeneration1:
output: output:
@ -101,13 +101,13 @@ rule build_feedgeneration100:
output: output:
directory("bins/target_feedgeneration100") directory("bins/target_feedgeneration100")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_genetic,gensize_100" "cargo build --target-dir {output} {def_flags},config_genetic,gensize_100"
rule build_feedgeneration100_int: rule build_feedgeneration100_int:
output: output:
directory("bins/target_feedgeneration100_int") directory("bins/target_feedgeneration100_int")
shell: shell:
"cargo build --target-dir {output} {def_flags},feed_genetic,fuzz_int,gensize_100" "cargo build --target-dir {output} {def_flags},config_genetic,fuzz_int,gensize_100"
rule run_bench: rule run_bench:
input: input:
@ -126,16 +126,24 @@ rule run_bench:
fuzz_input=line['input_symbol'] fuzz_input=line['input_symbol']
fuzz_len=line['input_size'] fuzz_len=line['input_size']
bkp=line['return_function'] bkp=line['return_function']
script="""
export RUST_BACKTRACE=1
mkdir -p $(dirname {output[0]})
set +e
echo $(pwd)/{input[1]}/debug/fret -n $(pwd)/timedump/{wildcards.fuzzer}/{wildcards.target}#{wildcards.num} -t -a -r -g -k {input[0]} -c ./target_symbols.csv fuzz -t {RUNTIME} -s {wildcards.num}
$(pwd)/{input[1]}/debug/fret -n $(pwd)/timedump/{wildcards.fuzzer}/{wildcards.target}#{wildcards.num} -t -a -r -g -k {input[0]} -c ./target_symbols.csv fuzz -t {RUNTIME} -s {wildcards.num} > {output[1]} 2>&1
exit 0
"""
if wildcards.fuzzer.find('random') >= 0: if wildcards.fuzzer.find('random') >= 0:
script="export FUZZ_RANDOM={output[1]}\n"+script script="""
export RUST_BACKTRACE=1
mkdir -p $(dirname {output[0]})
set +e
echo $(pwd)/{input[1]}/debug/fret -n $(pwd)/timedump/{wildcards.fuzzer}/{wildcards.target}#{wildcards.num} -t -a -r -g -k {input[0]} -c ./target_symbols.csv fuzz --random -t {RUNTIME} -s {wildcards.num}
$(pwd)/{input[1]}/debug/fret -n $(pwd)/timedump/{wildcards.fuzzer}/{wildcards.target}#{wildcards.num} -t -a -r -g -k {input[0]} -c ./target_symbols.csv fuzz --random -t {RUNTIME} -s {wildcards.num} > {output[1]} 2>&1
exit 0
"""
else:
script="""
export RUST_BACKTRACE=1
mkdir -p $(dirname {output[0]})
set +e
echo $(pwd)/{input[1]}/debug/fret -n $(pwd)/timedump/{wildcards.fuzzer}/{wildcards.target}#{wildcards.num} -t -a -r -g -k {input[0]} -c ./target_symbols.csv fuzz -t {RUNTIME} -s {wildcards.num}
$(pwd)/{input[1]}/debug/fret -n $(pwd)/timedump/{wildcards.fuzzer}/{wildcards.target}#{wildcards.num} -t -a -r -g -k {input[0]} -c ./target_symbols.csv fuzz -t {RUNTIME} -s {wildcards.num} > {output[1]} 2>&1
exit 0
"""
shell(script) shell(script)
rule run_showmap: rule run_showmap: