summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-05-06 10:24:33 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-05-06 10:24:33 (GMT)
commit7778a1a48a579ab8d0ee67c7780f7170623d4a12 (patch)
treecbb3cb2690066ecaba401690499f7f5d7217386b
parentd804e11a748ad8e09d22e724aa318997b3ff912c (diff)
parent8d2127d44e6c8af6b041688376de0e5747a1810a (diff)
downloadQt-7778a1a48a579ab8d0ee67c7780f7170623d4a12.zip
Qt-7778a1a48a579ab8d0ee67c7780f7170623d4a12.tar.gz
Qt-7778a1a48a579ab8d0ee67c7780f7170623d4a12.tar.bz2
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-qa-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-qa-team: Remove Q_ASSERT's from QMutex autotest Remove Q_ASSERT from QMetaType autotest Remove Q_ASSERT's in qitemview autotest Remove Q_ASSERT from qitemmodel autotest Remove Q_ASSERT from algorithms autotest Remove Q_ASSERT from qabstractxmlnodemodel test Remove Q_ASSERT from qabstractxmlnodemodel test Remove Q_ASSERT from qabstractxmlnodemodel test Remove Q_ASSERT from qabstractxmlnodemodel test Remove Q_ASSERT's from qabstractfileengine test
-rw-r--r--tests/auto/qabstractfileengine/tst_qabstractfileengine.cpp8
-rw-r--r--tests/auto/qabstractxmlnodemodel/LoadingModel.cpp22
-rw-r--r--tests/auto/qalgorithms/tst_qalgorithms.cpp3
-rw-r--r--tests/auto/qitemmodel/modelstotest.cpp2
-rw-r--r--tests/auto/qitemview/tst_qitemview.cpp65
-rw-r--r--tests/auto/qmetatype/tst_qmetatype.cpp11
-rw-r--r--tests/auto/qmutex/tst_qmutex.cpp11
7 files changed, 92 insertions, 30 deletions
diff --git a/tests/auto/qabstractfileengine/tst_qabstractfileengine.cpp b/tests/auto/qabstractfileengine/tst_qabstractfileengine.cpp
index fc4835a..e77b7bb 100644
--- a/tests/auto/qabstractfileengine/tst_qabstractfileengine.cpp
+++ b/tests/auto/qabstractfileengine/tst_qabstractfileengine.cpp
@@ -360,10 +360,10 @@ public:
void setFileName(const QString &file)
{
- Q_ASSERT(!openForRead_);
- Q_ASSERT(!openForWrite_);
-
- fileName_ = file;
+ if (openForRead_ || openForWrite_)
+ qWarning("%s: Can't set file name while file is open", Q_FUNC_INFO);
+ else
+ fileName_ = file;
}
// typedef QAbstractFileEngineIterator Iterator;
diff --git a/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp b/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp
index cf85486..2ce9466 100644
--- a/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp
+++ b/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp
@@ -77,8 +77,8 @@ const LoadingModel::Node *LoadingModel::toInternal(const QXmlNodeModelIndex &ni)
QXmlNodeModelIndex LoadingModel::createIndex(const Node *const internal) const
{
- Q_ASSERT_X(internal, Q_FUNC_INFO,
- "We shouldn't construct from null pointers.");
+ if (!internal)
+ qFatal("%s: cannot construct a model index from a null pointer", Q_FUNC_INFO);
return QAbstractXmlNodeModel::createIndex(const_cast<Node *>(internal));
}
@@ -98,8 +98,10 @@ QXmlNodeModelIndex::DocumentOrder LoadingModel::compareOrder(const QXmlNodeModel
{
const Node *const in1 = toInternal(n1);
const Node *const in2 = toInternal(n2);
- Q_ASSERT(m_nodes.indexOf(in1) != -1);
- Q_ASSERT(m_nodes.indexOf(in2) != -1);
+ if (m_nodes.indexOf(in1) == -1)
+ qFatal("%s: node n1 is not in internal node list", Q_FUNC_INFO);
+ if (m_nodes.indexOf(in2) == -1)
+ qFatal("%s: node n2 is not in internal node list", Q_FUNC_INFO);
if(in1 == in2)
return QXmlNodeModelIndex::Is;
@@ -111,7 +113,10 @@ QXmlNodeModelIndex::DocumentOrder LoadingModel::compareOrder(const QXmlNodeModel
QXmlNodeModelIndex LoadingModel::root(const QXmlNodeModelIndex &) const
{
- Q_ASSERT(kind(createIndex(m_nodes.first())) == QXmlNodeModelIndex::Document);
+ if (kind(createIndex(m_nodes.first())) != QXmlNodeModelIndex::Document) {
+ qWarning("%s: first node must be a Document node", Q_FUNC_INFO);
+ return QXmlNodeModelIndex();
+ }
return createIndex(m_nodes.first());
}
@@ -124,8 +129,11 @@ QVariant LoadingModel::typedValue(const QXmlNodeModelIndex &ni) const
{
const Node *const internal = toInternal(ni);
- Q_ASSERT(internal->kind == QXmlNodeModelIndex::Attribute
- || internal->kind == QXmlNodeModelIndex::Element);
+ if (internal->kind != QXmlNodeModelIndex::Attribute
+ && internal->kind != QXmlNodeModelIndex::Element) {
+ qWarning("%s: node must be an attribute or element", Q_FUNC_INFO);
+ return QVariant();
+ }
return internal->value;
}
diff --git a/tests/auto/qalgorithms/tst_qalgorithms.cpp b/tests/auto/qalgorithms/tst_qalgorithms.cpp
index 8dd7cbc..f0ae08c 100644
--- a/tests/auto/qalgorithms/tst_qalgorithms.cpp
+++ b/tests/auto/qalgorithms/tst_qalgorithms.cpp
@@ -241,7 +241,8 @@ QList<ResultSet> testAlgorithm(Algorithm &algorithm, QStringList dataSetTypes,
foreach(QString dataSetType, dataSetTypes) {
QVector<DataType> container = generateData<DataType>(dataSetType, size);
results.append(testRun(container, algorithm, time));
- Q_ASSERT(isSorted(container));
+ if (!isSorted(container))
+ qWarning("%s: container is not sorted after test", Q_FUNC_INFO);
}
return results;
}
diff --git a/tests/auto/qitemmodel/modelstotest.cpp b/tests/auto/qitemmodel/modelstotest.cpp
index cec1703..4e63307 100644
--- a/tests/auto/qitemmodel/modelstotest.cpp
+++ b/tests/auto/qitemmodel/modelstotest.cpp
@@ -372,7 +372,7 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model)
return QModelIndex();
}
- Q_ASSERT(false);
+ qFatal("%s: unknown type of model", Q_FUNC_INFO);
return QModelIndex();
}
diff --git a/tests/auto/qitemview/tst_qitemview.cpp b/tests/auto/qitemview/tst_qitemview.cpp
index c987c8f..fa8367e 100644
--- a/tests/auto/qitemview/tst_qitemview.cpp
+++ b/tests/auto/qitemview/tst_qitemview.cpp
@@ -148,12 +148,18 @@ public:
CheckerModel() : QStandardItemModel() {};
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole ) const {
- Q_ASSERT(index.isValid());
+ if (!index.isValid()) {
+ qWarning("%s: index is not valid", Q_FUNC_INFO);
+ return QVariant();
+ }
return QStandardItemModel::data(index, role);
};
Qt::ItemFlags flags(const QModelIndex & index) const {
- Q_ASSERT(index.isValid());
+ if (!index.isValid()) {
+ qWarning("%s: index is not valid", Q_FUNC_INFO);
+ return Qt::ItemFlags();
+ }
if (index.row() == 2 || index.row() == rowCount() - 3
|| index.column() == 2 || index.column() == columnCount() - 3) {
Qt::ItemFlags f = QStandardItemModel::flags(index);
@@ -164,14 +170,26 @@ public:
};
QModelIndex parent ( const QModelIndex & child ) const {
- Q_ASSERT(child.isValid());
+ if (!child.isValid()) {
+ qWarning("%s: child index is not valid", Q_FUNC_INFO);
+ return QModelIndex();
+ }
return QStandardItemModel::parent(child);
};
QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const {
- Q_ASSERT(section >= 0);
- if (orientation == Qt::Horizontal) { Q_ASSERT(section <= columnCount());};
- if (orientation == Qt::Vertical) { Q_ASSERT(section <= rowCount());};
+ if (orientation == Qt::Horizontal
+ && (section < 0 || section > columnCount())) {
+ qWarning("%s: invalid section %d, must be in range 0..%d",
+ Q_FUNC_INFO, section, columnCount());
+ return QVariant();
+ }
+ if (orientation == Qt::Vertical
+ && (section < 0 || section > rowCount())) {
+ qWarning("%s: invalid section %d, must be in range 0..%d",
+ Q_FUNC_INFO, section, rowCount());
+ return QVariant();
+ }
return QStandardItemModel::headerData(section, orientation, role);
}
@@ -180,23 +198,46 @@ public:
};
bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole ) {
- Q_ASSERT(index.isValid());
+ if (!index.isValid()) {
+ qWarning("%s: index is not valid", Q_FUNC_INFO);
+ return false;
+ }
return QStandardItemModel::setData(index, value, role);
}
void sort( int column, Qt::SortOrder order = Qt::AscendingOrder ) {
- Q_ASSERT(column >= 0 && column <= columnCount());
- QStandardItemModel::sort(column, order);
+ if (column < 0 || column > columnCount())
+ qWarning("%s: invalid column %d, must be in range 0..%d",
+ Q_FUNC_INFO, column, columnCount());
+ else
+ QStandardItemModel::sort(column, order);
};
QModelIndexList match ( const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap ) ) const {
- Q_ASSERT(hits > 0);
- Q_ASSERT(value.isValid());
+ if (hits <= 0) {
+ qWarning("%s: hits must be greater than zero", Q_FUNC_INFO);
+ return QModelIndexList();
+ }
+ if (!value.isValid()) {
+ qWarning("%s: value is not valid", Q_FUNC_INFO);
+ return QModelIndexList();
+ }
return QAbstractItemModel::match(start, role, value, hits, flags);
};
bool setHeaderData ( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole ) {
- Q_ASSERT(section >= 0);
+ if (orientation == Qt::Horizontal
+ && (section < 0 || section > columnCount())) {
+ qWarning("%s: invalid section %d, must be in range 0..%d",
+ Q_FUNC_INFO, section, columnCount());
+ return false;
+ }
+ if (orientation == Qt::Vertical
+ && (section < 0 || section > rowCount())) {
+ qWarning("%s: invalid section %d, must be in range 0..%d",
+ Q_FUNC_INFO, section, rowCount());
+ return false;
+ }
return QAbstractItemModel::setHeaderData(section, orientation, value, role);
};
};
diff --git a/tests/auto/qmetatype/tst_qmetatype.cpp b/tests/auto/qmetatype/tst_qmetatype.cpp
index fcb949f..ccf0ac5 100644
--- a/tests/auto/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/qmetatype/tst_qmetatype.cpp
@@ -96,10 +96,18 @@ struct Bar
Bar()
{
// check re-entrancy
- Q_ASSERT(QMetaType::isRegistered(qRegisterMetaType<Foo>("Foo")));
+ if (!QMetaType::isRegistered(qRegisterMetaType<Foo>("Foo"))) {
+ qWarning("%s: re-entrancy test failed", Q_FUNC_INFO);
+ ++failureCount;
+ }
}
+
+public:
+ static int failureCount;
};
+int Bar::failureCount = 0;
+
class MetaTypeTorturer: public QThread
{
Q_OBJECT
@@ -161,6 +169,7 @@ void tst_QMetaType::threadSafety()
QCOMPARE(t1.failureCount, 0);
QCOMPARE(t2.failureCount, 0);
QCOMPARE(t3.failureCount, 0);
+ QCOMPARE(Bar::failureCount, 0);
}
namespace TestSpace
diff --git a/tests/auto/qmutex/tst_qmutex.cpp b/tests/auto/qmutex/tst_qmutex.cpp
index dc3ffa4..e1ad2d2 100644
--- a/tests/auto/qmutex/tst_qmutex.cpp
+++ b/tests/auto/qmutex/tst_qmutex.cpp
@@ -393,6 +393,7 @@ public:
static QBasicAtomicInt lockCount;
static QBasicAtomicInt sentinel;
static QMutex mutex;
+ static int errorCount;
void start()
{
t.start();
@@ -402,13 +403,13 @@ public:
{
while (t.elapsed() < one_minute) {
mutex.lock();
- Q_ASSERT(!sentinel.ref());
- Q_ASSERT(sentinel.deref());
+ if (sentinel.ref()) ++errorCount;
+ if (!sentinel.deref()) ++errorCount;
lockCount.ref();
mutex.unlock();
if (mutex.tryLock()) {
- Q_ASSERT(!sentinel.ref());
- Q_ASSERT(sentinel.deref());
+ if (sentinel.ref()) ++errorCount;
+ if (!sentinel.deref()) ++errorCount;
lockCount.ref();
mutex.unlock();
}
@@ -418,6 +419,7 @@ public:
QMutex StressTestThread::mutex;
QBasicAtomicInt StressTestThread::lockCount = Q_BASIC_ATOMIC_INITIALIZER(0);
QBasicAtomicInt StressTestThread::sentinel = Q_BASIC_ATOMIC_INITIALIZER(-1);
+int StressTestThread::errorCount = 0;
void tst_QMutex::stressTest()
{
@@ -427,6 +429,7 @@ void tst_QMutex::stressTest()
QVERIFY(threads[0].wait(one_minute + 10000));
for (int i = 1; i < threadCount; ++i)
QVERIFY(threads[i].wait(10000));
+ QCOMPARE(StressTestThread::errorCount, 0);
qDebug("locked %d times", int(StressTestThread::lockCount));
}