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

tst_QUuid::uint128 fails on big-endian

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3: Somewhat important P3: Somewhat important
    • 6.8.4, 6.9.1, 6.10.0 FF
    • 6.10
    • Core: I/O
    • None
    • Debian 64-bit big-endian PPC 64 (powermac G5)
    • aa8721486 (dev), f31510492 (6.9), 04ec5f144 (6.8)

      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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes