Branch data Line data Source code
1 : : // Copyright (c) 2020 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 <flatfile.h>
6 : : #include <test/fuzz/FuzzedDataProvider.h>
7 : : #include <test/fuzz/fuzz.h>
8 : : #include <test/fuzz/util.h>
9 : :
10 : : #include <cassert>
11 : : #include <cstdint>
12 : : #include <optional>
13 : : #include <string>
14 : : #include <vector>
15 : :
16 [ + - ]: 451 : FUZZ_TARGET(flatfile)
17 : : {
18 : 39 : FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
19 : 39 : std::optional<FlatFilePos> flat_file_pos = ConsumeDeserializable<FlatFilePos>(fuzzed_data_provider);
20 [ + + ]: 39 : if (!flat_file_pos) {
21 : : return;
22 : : }
23 : 25 : std::optional<FlatFilePos> another_flat_file_pos = ConsumeDeserializable<FlatFilePos>(fuzzed_data_provider);
24 [ + + ]: 25 : if (another_flat_file_pos) {
25 [ + + + + : 30 : assert((*flat_file_pos == *another_flat_file_pos) != (*flat_file_pos != *another_flat_file_pos));
- + ]
26 : : }
27 : 25 : (void)flat_file_pos->ToString();
28 : : }
|