kio: fix hang in kdirlister test

This commit is contained in:
Ivailo Monev 2015-08-27 02:25:18 +03:00
parent ae9f79c80e
commit 2dcb9b1cad
4 changed files with 11 additions and 14 deletions

View file

@ -312,12 +312,12 @@ void KDirListerTest::testNewItemsInSymlink() // #213799
qDebug() << "Deleting" << (path+fileName);
QTest::qWait(1000); // for timestamp difference
QFile::remove(path + fileName);
while (dirLister2.spyDeleteItem.count() == 0) {
while (dirLister2.spyItemsDeleted.count() == 0) {
QVERIFY(++numTries < 10);
QTest::qWait(200);
}
QCOMPARE(dirLister2.spyDeleteItem.count(), 1);
const KFileItem item = dirLister2.spyDeleteItem[0][0].value<KFileItem>();
QCOMPARE(dirLister2.spyItemsDeleted.count(), 1);
const KFileItem item = dirLister2.spyItemsDeleted[0][0].value<KFileItem>();
QCOMPARE(item.url().toLocalFile(), QString(symPath + '/' + fileName));
}
@ -441,18 +441,17 @@ void KDirListerTest::testDeleteItem()
const int origItemCount = m_items.count();
QCOMPARE(fileCount(), origItemCount);
const QString path = m_tempDir.name();
connect(&m_dirLister, SIGNAL(deleteItem(KFileItem)), this, SLOT(exitLoop()));
connect(&m_dirLister, SIGNAL(itemsDeleted(KFileItemList)), this, SLOT(exitLoop()));
//kDebug() << "Removing " << path+"toplevelfile_1";
QFile::remove(path+"toplevelfile_1");
// the remove() doesn't always trigger kdirwatch in stat mode, if this all happens in the same second
KDirWatch::self()->setDirty(path);
if (m_dirLister.spyDeleteItem.count() == 0) {
qDebug("waiting for deleteItem");
if (m_dirLister.spyItemsDeleted.count() == 0) {
qDebug("waiting for itemsDeleted");
enterLoop();
}
QCOMPARE(m_dirLister.spyDeleteItem.count(), 1);
QCOMPARE(m_dirLister.spyItemsDeleted.count(), 1);
// OK now kdirlister told us the file was deleted, let's try a re-listing

View file

@ -51,7 +51,6 @@ public:
spyCanceled(this, SIGNAL(canceled())),
spyCanceledKUrl(this, SIGNAL(canceled(KUrl))),
spyRedirection(this, SIGNAL(redirection(KUrl))),
spyDeleteItem(this, SIGNAL(deleteItem(KFileItem))),
spyItemsDeleted(this, SIGNAL(itemsDeleted(KFileItemList)))
{}
@ -65,7 +64,6 @@ public:
spyCanceled.clear();
spyCanceledKUrl.clear();
spyRedirection.clear();
spyDeleteItem.clear();
spyItemsDeleted.clear();
}
@ -77,7 +75,6 @@ public:
QSignalSpy spyCanceled;
QSignalSpy spyCanceledKUrl;
QSignalSpy spyRedirection;
QSignalSpy spyDeleteItem;
QSignalSpy spyItemsDeleted;
protected:
virtual void handleError(KIO::Job* job);

View file

@ -75,8 +75,8 @@ KDirListerTest::KDirListerTest( QWidget *parent )
debug, SLOT(newItems(KFileItemList)) );
connect( lister, SIGNAL(itemsFilteredByMime(KFileItemList)),
debug, SLOT(itemsFilteredByMime(KFileItemList)) );
connect( lister, SIGNAL(deleteItem(KFileItem)),
debug, SLOT(deleteItem(KFileItem)) );
connect( lister, SIGNAL(itemsDeleted(KFileItemList)),
debug, SLOT(itemsDeleted(KFileItemList)) );
connect( lister, SIGNAL(refreshItems(QList<QPair<KFileItem,KFileItem> >)),
debug, SLOT(refreshItems(QList<QPair<KFileItem,KFileItem> >)) );
connect( lister, SIGNAL(infoMessage(QString)),

View file

@ -69,9 +69,10 @@ public Q_SLOTS:
for ( it = items.constBegin() ; it != itEnd ; ++it )
cout << (*it).name().toLocal8Bit().data() << endl;
}
void deleteItem( const KFileItem& item )
void itemsDeleted( const KFileItemList& items )
{
cout << "*** deleteItem: " << item.url().prettyUrl().toLocal8Bit().data() << endl;
cout << "*** itemsDeleted: " << endl;
// TODO
}
void itemsFilteredByMime( const KFileItemList& )
{