Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-134634

tst_QUuid::uint128 fails on big-endian

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 6.10
    • Core: I/O
    • None
    • Debian 64-bit big-endian PPC 64 (powermac G5)

    Description

      134: FAIL!  : tst_QUuid::uint128() The computed value is expected to be equal to the baseline, but is not
      134:    Computed (uuid) : {d128b8c5-ee95-a43c-3644-34cc9eb569fc}
      134:    Baseline (uuidA): {fc69b59e-cc34-4436-a43c-ee95d128b8c5}
      134:    Loc: [/home/rutledge/dev/qt6/qtbase/tests/auto/corelib/plugin/quuid/tst_quuid.cpp(303)]
      
      void tst_QUuid::uint128()
      {
      #ifdef QT_SUPPORTS_INT128
          constexpr quint128 u = Q_UINT128_C(0xfc69b59e'cc344436'a43cee95'd128b8c5); // This is LE
          constexpr quint128 be = qToBigEndian(u);
          constexpr QUuid uuid = QUuid::fromUInt128(be);
          static_assert(uuid.toUInt128() == be, "Round-trip through QUuid failed");
          
          QT_TEST_EQUALITY_OPS(uuid, uuidA, true);
      

      Maybe we could ifdef it or do something different in that case. I don't understand yet if there is an actual QUuid bug, or just the test wasn't expected to work on big-endian architectures.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-134634
          # Subject Branch Project Status CR V

          Activity

            People

              thiago Thiago Macieira
              srutledg Shawn Rutledge
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There is 1 open Gerrit change