diff --git a/test/fuzz/llvm/nvmf/fuzz_json.conf b/test/fuzz/llvm/nvmf/fuzz_json.conf index cd524cca7..22673c599 100644 --- a/test/fuzz/llvm/nvmf/fuzz_json.conf +++ b/test/fuzz/llvm/nvmf/fuzz_json.conf @@ -53,15 +53,6 @@ { "subsystem": "nvmf", "config": [ - { - "method": "nvmf_set_config", - "params": { - "poll_groups_mask": "0x1", - "admin_cmd_passthru": { - "identify_ctrlr": false - } - } - }, { "method": "nvmf_create_transport", "params": { diff --git a/test/fuzz/llvm/nvmf/run.sh b/test/fuzz/llvm/nvmf/run.sh index 623472a45..5a534547f 100755 --- a/test/fuzz/llvm/nvmf/run.sh +++ b/test/fuzz/llvm/nvmf/run.sh @@ -3,6 +3,8 @@ # Copyright (C) 2021 Intel Corporation # All rights reserved. # + +FUZZER=nvmf if [[ $SPDK_TEST_FUZZER_SHORT -eq 0 ]]; then TIME=60000 else @@ -19,54 +21,50 @@ done function start_llvm_fuzz() { local fuzzer_type=$1 - local corpus_dir - corpus_dir=/tmp/llvm_fuzz$fuzzer_type - mkdir -p $corpus_dir - $rootdir/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz -m 0x1 -i 0 -F "$trid" -c $testdir/fuzz_json.conf -t $TIME -D $corpus_dir -Z $fuzzer_type -} + local timen=$2 + local core=$3 + local corpus_dir=$rootdir/../corpus/llvm_nvmf_$fuzzer_type + local nvmf_cfg=/tmp/fuzz_json_$fuzzer_type.conf -function run_fuzz() { - local startday - local today - local interval=0 - local weekloop - # Get the date number, format is like '22078' - # The purpose is when Jenkins schedule one fuzz in Saturday - # We can decide which one fuzz will be run , there are lots of fuzz, but only run one of them in Saturday each time - # and make sure all fuzz will be tested, so use this function. Such run fuzz 0 in 03/26, and run fuzz 1 in 04/02, run fuzz 2 in 04/09 .... - startday=$(date -d '2022-03-19' '+%y%j') - today=$(date '+%y%j') - interval=$(((today - startday) / 7)) - weekloop=$((interval / fuzz_num)) - if [[ $weekloop -lt 1 ]]; then # The first loop of fuzz - fuzzer_type=$interval - else - fuzzer_type=$((interval % fuzz_num)) - fi - start_llvm_fuzz $fuzzer_type &> $output_dir/fuzzer_${fuzzer_type}.log + port="44$(printf "%02d" $fuzzer_type)" + mkdir -p $corpus_dir + + trid="trtype:tcp adrfam:IPv4 subnqn:nqn.2016-06.io.spdk:cnode1 traddr:127.0.0.1 trsvcid:$port" + sed -e "s/\"trsvcid\": \"4420\"/\"trsvcid\": \"$port\"/" $testdir/fuzz_json.conf > $nvmf_cfg + + $rootdir/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz \ + -m $core \ + -s $mem_size \ + -F "$trid" \ + -c $nvmf_cfg \ + -t $timen \ + -D $corpus_dir \ + -Z $fuzzer_type \ + -r /var/tmp/spdk$fuzzer_type.sock + + rm -rf $nvmf_cfg } testdir=$(readlink -f $(dirname $0)) rootdir=$(readlink -f $testdir/../../../../) source $rootdir/test/common/autotest_common.sh +source $rootdir/test/setup/common.sh +source $testdir/../common.sh fuzzfile=$rootdir/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz.c -fuzz_num=$(($(grep -c "fn =" $fuzzfile) - 1)) -[[ $fuzz_num -ne 0 ]] +fuzz_num=$(($(grep -c "\.fn =" $fuzzfile) - 1)) +((fuzz_num != 0)) -trap 'process_shm --id 0; rm -rf /tmp/llvm_fuzz*; exit 1' SIGINT SIGTERM EXIT - -trid="trtype:tcp adrfam:IPv4 subnqn:nqn.2016-06.io.spdk:cnode1 traddr:127.0.0.1 trsvcid:4420" +trap 'cleanup /tmp/llvm_fuzz*; exit 1' SIGINT SIGTERM EXIT +mem_size=512 if [[ $SPDK_TEST_FUZZER_SHORT -eq 1 ]]; then - for ((i = 0; i < fuzz_num; i++)); do - start_llvm_fuzz $i - done + start_llvm_fuzz_short $fuzz_num $TIME elif [[ $SPDK_TEST_FUZZER -eq 1 ]]; then - run_fuzz + get_testn $fuzz_num $mem_size + start_llvm_fuzz_all $TESTN $fuzz_num $TIME else - start_llvm_fuzz $1 + start_llvm_fuzz $1 $TIME 0x1 fi -rm -rf /tmp/llvm_fuzz* trap - SIGINT SIGTERM EXIT