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 [ + - ]: 520 : FUZZ_TARGET(tx_out)
14 : : {
15 : 88 : DataStream ds{buffer};
16 : 88 : CTxOut tx_out;
17 : 88 : try {
18 [ + + ]: 88 : ds >> tx_out;
19 [ - + ]: 27 : } catch (const std::ios_base::failure&) {
20 : 27 : return;
21 : 27 : }
22 : :
23 [ + - ]: 61 : const CFeeRate dust_relay_fee{DUST_RELAY_TX_FEE};
24 [ + - ]: 61 : (void)GetDustThreshold(tx_out, dust_relay_fee);
25 [ + - ]: 61 : (void)IsDust(tx_out, dust_relay_fee);
26 [ + + ]: 61 : (void)RecursiveDynamicUsage(tx_out);
27 : :
28 [ + - ]: 61 : (void)tx_out.ToString();
29 : 61 : (void)tx_out.IsNull();
30 : 61 : tx_out.SetNull();
31 [ - + ]: 61 : assert(tx_out.IsNull());
32 : 88 : }
|