MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / BOOST_AUTO_TEST_CASE

Function BOOST_AUTO_TEST_CASE

src/test/hash_tests.cpp:16–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14BOOST_FIXTURE_TEST_SUITE(hash_tests, BasicTestingSetup)
15
16BOOST_AUTO_TEST_CASE(murmurhash3)
17{
18
19#define T(expected, seed, data) BOOST_CHECK_EQUAL(MurmurHash3(seed, ParseHex(data)), expected)
20
21 // Test MurmurHash3 with various inputs. Of course this is retested in the
22 // bloom filter tests - they would fail if MurmurHash3() had any problems -
23 // but is useful for those trying to implement Bitcoin libraries as a
24 // source of test data for their MurmurHash3() primitive during
25 // development.
26 //
27 // The magic number 0xFBA4C795 comes from CBloomFilter::Hash()
28
29 T(0x00000000U, 0x00000000, "");
30 T(0x6a396f08U, 0xFBA4C795, "");
31 T(0x81f16f39U, 0xffffffff, "");
32
33 T(0x514e28b7U, 0x00000000, "00");
34 T(0xea3f0b17U, 0xFBA4C795, "00");
35 T(0xfd6cf10dU, 0x00000000, "ff");
36
37 T(0x16c6b7abU, 0x00000000, "0011");
38 T(0x8eb51c3dU, 0x00000000, "001122");
39 T(0xb4471bf8U, 0x00000000, "00112233");
40 T(0xe2301fa8U, 0x00000000, "0011223344");
41 T(0xfc2e4a15U, 0x00000000, "001122334455");
42 T(0xb074502cU, 0x00000000, "00112233445566");
43 T(0x8034d2a0U, 0x00000000, "0011223344556677");
44 T(0xb4698defU, 0x00000000, "001122334455667788");
45
46#undef T
47}
48
49/*
50 SipHash-2-4 output with

Callers

nothing calls this directly

Calls 9

PresaltedSipHasherClass · 0.85
sizeFunction · 0.85
WriteLE32Function · 0.85
rand256Method · 0.80
rand32Method · 0.80
FinalizeMethod · 0.45
WriteMethod · 0.45
GetHashMethod · 0.45
rand64Method · 0.45

Tested by

no test coverage detected