-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Uses built-in byte swap if available (Apple) and if bswap_XX is undef…
…ined. Defers to pre-defined version if found (e.g. protobuf). For protobuf case, the definitions are identical and thus include order should not affect results. Github-Pull: #9366 Rebased-From: 815f4148b2eff6c64c764e910e79677d5a67adc7
- Loading branch information
Showing
7 changed files
with
97 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// Copyright (c) 2016 The Bitcoin Core developers | ||
// Distributed under the MIT software license, see the accompanying | ||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
#include "paymentrequestplus.h" // this includes protobuf's port.h which defines its own bswap macos | ||
|
||
#include "compattests.h" | ||
|
||
#include "compat/byteswap.h" | ||
|
||
void CompatTests::bswapTests() | ||
{ | ||
// Sibling in bitcoin/src/test/bswap_tests.cpp | ||
uint16_t u1 = 0x1234; | ||
uint32_t u2 = 0x56789abc; | ||
uint64_t u3 = 0xdef0123456789abc; | ||
uint16_t e1 = 0x3412; | ||
uint32_t e2 = 0xbc9a7856; | ||
uint64_t e3 = 0xbc9a78563412f0de; | ||
QVERIFY(bswap_16(u1) == e1); | ||
QVERIFY(bswap_32(u2) == e2); | ||
QVERIFY(bswap_64(u3) == e3); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
// Copyright (c) 2009-2015 The Bitcoin Core developers | ||
// Distributed under the MIT software license, see the accompanying | ||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
#ifndef BITCOIN_QT_TEST_COMPATTESTS_H | ||
#define BITCOIN_QT_TEST_COMPATTESTS_H | ||
|
||
#include <QObject> | ||
#include <QTest> | ||
|
||
class CompatTests : public QObject | ||
{ | ||
Q_OBJECT | ||
|
||
private Q_SLOTS: | ||
void bswapTests(); | ||
}; | ||
|
||
#endif // BITCOIN_QT_TEST_COMPATTESTS_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
// Copyright (c) 2016 The Bitcoin Core developers | ||
// Distributed under the MIT software license, see the accompanying | ||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||
|
||
#include "compat/byteswap.h" | ||
#include "test/test_bitcoin.h" | ||
|
||
#include <boost/test/unit_test.hpp> | ||
|
||
BOOST_FIXTURE_TEST_SUITE(bswap_tests, BasicTestingSetup) | ||
|
||
BOOST_AUTO_TEST_CASE(bswap_tests) | ||
{ | ||
// Sibling in bitcoin/src/qt/test/compattests.cpp | ||
uint16_t u1 = 0x1234; | ||
uint32_t u2 = 0x56789abc; | ||
uint64_t u3 = 0xdef0123456789abc; | ||
uint16_t e1 = 0x3412; | ||
uint32_t e2 = 0xbc9a7856; | ||
uint64_t e3 = 0xbc9a78563412f0de; | ||
BOOST_CHECK(bswap_16(u1) == e1); | ||
BOOST_CHECK(bswap_32(u2) == e2); | ||
BOOST_CHECK(bswap_64(u3) == e3); | ||
} | ||
|
||
BOOST_AUTO_TEST_SUITE_END() |