github.com/cosmos/cosmos-sdk@v0.50.10/fuzz/oss-fuzz-build.sh (about)

     1  #!/bin/bash
     2  
     3  set -euo pipefail
     4  
     5  export FUZZ_ROOT="github.com/cosmos/cosmos-sdk"
     6  
     7  build_go_fuzzer() {
     8  	local function="$1"
     9  	local fuzzer="$2"
    10  
    11  	go run github.com/orijtech/otils/corpus2ossfuzz@latest -o "$OUT"/"$fuzzer"_seed_corpus.zip -corpus fuzz/tests/testdata/fuzz/"$function"
    12  	compile_native_go_fuzzer "$FUZZ_ROOT"/fuzz/tests "$function" "$fuzzer"
    13  }
    14  
    15  (
    16  	cd math && \
    17  	go get github.com/AdamKorcz/go-118-fuzz-build/testing && \
    18  	compile_native_go_fuzzer cosmossdk.io/math FuzzLegacyNewDecFromStr fuzz_math_legacy_new_dec_from_str
    19  )
    20  
    21  go get github.com/AdamKorcz/go-118-fuzz-build/testing
    22  
    23  # TODO: fails to build with
    24  # main.413864645.go:12:2: found packages query (collections_pagination.go) and query_test (fuzz_test.go_fuzz.go) in /src/cosmos-sdk/types/query
    25  # because of the separate query_test package.
    26  # compile_native_go_fuzzer "$FUZZ_ROOT"/types/query FuzzPagination fuzz_types_query_pagination
    27  compile_native_go_fuzzer "$FUZZ_ROOT"/types FuzzCoinUnmarshalJSON fuzz_types_coin_unmarshal_json
    28  
    29  build_go_fuzzer FuzzCryptoHDDerivePrivateKeyForPath fuzz_crypto_hd_deriveprivatekeyforpath
    30  build_go_fuzzer FuzzCryptoHDNewParamsFromPath fuzz_crypto_hd_newparamsfrompath
    31  
    32  build_go_fuzzer FuzzCryptoTypesCompactbitarrayMarshalUnmarshal fuzz_crypto_types_compactbitarray_marshalunmarshal
    33  
    34  build_go_fuzzer FuzzTendermintAminoDecodeTime fuzz_tendermint_amino_decodetime
    35  
    36  build_go_fuzzer FuzzTypesParseCoin fuzz_types_parsecoin
    37  build_go_fuzzer FuzzTypesParseDecCoin fuzz_types_parsedeccoin
    38  build_go_fuzzer FuzzTypesParseTimeBytes fuzz_types_parsetimebytes
    39  build_go_fuzzer FuzzTypesVerifyAddressFormat fuzz_types_verifyaddressformat
    40  build_go_fuzzer FuzzTypesDecSetString fuzz_types_dec_setstring
    41  
    42  build_go_fuzzer FuzzUnknownProto fuzz_unknownproto
    43  
    44  build_go_fuzzer FuzzXBankTypesAddressFromBalancesStore fuzz_x_bank_types_addressfrombalancesstore