From e35841e37456f4c5bc494a1674bb3f014a4d93c1 Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Tue, 2 Sep 2014 17:55:56 +0300 Subject: Fix endianness part of QSysInfo::buildAbi() string Both Q_LITTLE_ENDIAN and Q_BIG_ENDIAN macros are always defined on all architectures. So, byte order detection results in "little_endian" value for big endian systems. Test the system endianness in a right way, according to Q_BYTE_ORDER macro documentation. Change-Id: I5523f90567e78d679a3ff2902a8f5377ed39ceb1 Reviewed-by: Thiago Macieira --- tests/auto/corelib/global/qglobal/tst_qglobal.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/auto/corelib/global/qglobal/tst_qglobal.cpp b/tests/auto/corelib/global/qglobal/tst_qglobal.cpp index 0389ae7976..076e3eee1c 100644 --- a/tests/auto/corelib/global/qglobal/tst_qglobal.cpp +++ b/tests/auto/corelib/global/qglobal/tst_qglobal.cpp @@ -45,6 +45,8 @@ #include #include +#include +#include class tst_QGlobal: public QObject { @@ -65,6 +67,7 @@ private slots: void integerForSize(); void qprintable(); void qprintable_data(); + void buildAbiEndianness(); }; void tst_QGlobal::qIsNull() @@ -652,5 +655,15 @@ void tst_QGlobal::qprintable_data() } +void tst_QGlobal::buildAbiEndianness() +{ +#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN + QLatin1String endian("little_endian"); +#elif Q_BYTE_ORDER == Q_BIG_ENDIAN + QLatin1String endian("big_endian"); +#endif + QVERIFY(QSysInfo::buildAbi().contains(endian)); +} + QTEST_APPLESS_MAIN(tst_QGlobal) #include "tst_qglobal.moc" -- cgit v1.2.3