Branch data Line data Source code
1 : : // Copyright (c) 2019-2022 The Bitcoin Core developers
2 : : // Distributed under the MIT software license, see the accompanying
3 : : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 : :
5 : : #include <consensus/validation.h>
6 : : #include <core_memusage.h>
7 : : #include <policy/feerate.h>
8 : : #include <policy/policy.h>
9 : : #include <primitives/transaction.h>
10 : : #include <streams.h>
11 : : #include <test/fuzz/fuzz.h>
12 : :
13 [ + - ]: 472 : FUZZ_TARGET(tx_out)
14 : : {
15 : 60 : DataStream ds{buffer};
16 : 60 : CTxOut tx_out;
17 : 60 : try {
18 [ + + ]: 60 : ds >> tx_out;
19 [ - + ]: 18 : } catch (const std::ios_base::failure&) {
20 : 18 : return;
21 : 18 : }
22 : :
23 [ + - ]: 42 : const CFeeRate dust_relay_fee{DUST_RELAY_TX_FEE};
24 [ + - ]: 42 : (void)GetDustThreshold(tx_out, dust_relay_fee);
25 [ + - ]: 42 : (void)IsDust(tx_out, dust_relay_fee);
26 [ + + ]: 42 : (void)RecursiveDynamicUsage(tx_out);
27 : :
28 [ + - ]: 42 : (void)tx_out.ToString();
29 : 42 : (void)tx_out.IsNull();
30 : 42 : tx_out.SetNull();
31 [ - + ]: 42 : assert(tx_out.IsNull());
32 : 60 : }
|