diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp index 12d2fe756f..feda8f441d 100644 --- a/src/corelib/tools/qbytearray.cpp +++ b/src/corelib/tools/qbytearray.cpp @@ -70,7 +70,7 @@ int qFindByteArray( int qAllocMore(int alloc, int extra) { Q_ASSERT(alloc >= 0 && extra >= 0); - Q_ASSERT(alloc < (1 << 30) - extra); + Q_ASSERT_X(alloc < (1 << 30) - extra, "qAllocMore", "Requested size is too large!"); unsigned nalloc = alloc + extra; diff --git a/tests/auto/corelib/tools/qvector/tst_qvector.cpp b/tests/auto/corelib/tools/qvector/tst_qvector.cpp index f5d77d4acc..6304477ba3 100644 --- a/tests/auto/corelib/tools/qvector/tst_qvector.cpp +++ b/tests/auto/corelib/tools/qvector/tst_qvector.cpp @@ -250,7 +250,6 @@ private slots: void testOperators() const; - void outOfMemory(); void reserve(); void reallocAfterCopy_data(); void reallocAfterCopy(); @@ -1739,153 +1738,6 @@ struct Foo ~Foo() { delete p; ++fooDtor; } }; -void tst_QVector::outOfMemory() -{ - fooCtor = 0; - fooDtor = 0; - - const int N = 0x7fffffff / sizeof(Foo); - - { - QVector a; - - QSKIP("QTBUG-27285 - This test crashes on many of our machines."); - a.resize(N); - if (a.size() == N) { - QVERIFY(a.capacity() >= N); - QCOMPARE(fooCtor, N); - QCOMPARE(fooDtor, 0); - - for (int i = 0; i < N; i += 35000) - a[i] = Foo(); - } else { - // this is the case we're actually testing - QCOMPARE(a.size(), 0); - QCOMPARE(a.capacity(), 0); - QCOMPARE(fooCtor, 0); - QCOMPARE(fooDtor, 0); - - a.resize(5); - QCOMPARE(a.size(), 5); - QVERIFY(a.capacity() >= 5); - QCOMPARE(fooCtor, 5); - QCOMPARE(fooDtor, 0); - - const int Prealloc = a.capacity(); - a.resize(Prealloc + 1); - QCOMPARE(a.size(), Prealloc + 1); - QVERIFY(a.capacity() >= Prealloc + 1); - QCOMPARE(fooCtor, Prealloc + 6); - QCOMPARE(fooDtor, 5); - - a.resize(0x10000000); - QCOMPARE(a.size(), 0); - QCOMPARE(a.capacity(), 0); - QCOMPARE(fooCtor, Prealloc + 6); - QCOMPARE(fooDtor, Prealloc + 6); - } - } - - fooCtor = 0; - fooDtor = 0; - - { - QVector a(N); - if (a.size() == N) { - QVERIFY(a.capacity() >= N); - QCOMPARE(fooCtor, N); - QCOMPARE(fooDtor, 0); - - for (int i = 0; i < N; i += 35000) - a[i] = Foo(); - } else { - // this is the case we're actually testing - QCOMPARE(a.size(), 0); - QCOMPARE(a.capacity(), 0); - QCOMPARE(fooCtor, 0); - QCOMPARE(fooDtor, 0); - } - } - - Foo foo; - - fooCtor = 0; - fooDtor = 0; - - { - QVector a(N, foo); - if (a.size() == N) { - QVERIFY(a.capacity() >= N); - QCOMPARE(fooCtor, N); - QCOMPARE(fooDtor, 0); - - for (int i = 0; i < N; i += 35000) - a[i] = Foo(); - } else { - // this is the case we're actually testing - QCOMPARE(a.size(), 0); - QCOMPARE(a.capacity(), 0); - QCOMPARE(fooCtor, 0); - QCOMPARE(fooDtor, 0); - } - } - - fooCtor = 0; - fooDtor = 0; - - { - QVector a; - a.resize(10); - QCOMPARE(fooCtor, 10); - QCOMPARE(fooDtor, 0); - - QVector b(a); - QCOMPARE(fooCtor, 10); - QCOMPARE(fooDtor, 0); - - a.resize(N); - if (a.size() == N) { - QCOMPARE(fooCtor, N + 10); - } else { - QCOMPARE(a.size(), 0); - QCOMPARE(a.capacity(), 0); - QCOMPARE(fooCtor, 10); - QCOMPARE(fooDtor, 0); - - QCOMPARE(b.size(), 10); - QVERIFY(b.capacity() >= 10); - } - } - - { - QVector a; - a.resize(10); - - QVector b(a); - - a.resize(N); - if (a.size() == N) { - for (int i = 0; i < N; i += 60000) - a[i] = i; - } else { - QCOMPARE(a.size(), 0); - QCOMPARE(a.capacity(), 0); - - QCOMPARE(b.size(), 10); - QVERIFY(b.capacity() >= 10); - } - - b.resize(N - 1); - if (b.size() == N - 1) { - for (int i = 0; i < N - 1; i += 60000) - b[i] = i; - } else { - QCOMPARE(b.size(), 0); - QCOMPARE(b.capacity(), 0); - } - } -} - void tst_QVector::reserve() { fooCtor = 0;