From kde-commits Thu Sep 30 22:25:27 2010 From: =?utf-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Thu, 30 Sep 2010 22:25:27 +0000 To: kde-commits Subject: KDE/kdegraphics/gwenview/tests Message-Id: <20100930222527.B044BAC894 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=128588555526712 SVN commit 1181403 by gateau: Unbreak remote tests Seems like reading inside tarballs is broken when running in unittests. Use sftp for now. M +2 -0 CMakeLists.txt M +14 -19 documenttest.cpp D test.tar.gz A testutils.cpp [License: GPL (v2+)] M +9 -2 testutils.h M +5 -4 thumbnailloadjobtest.cpp --- trunk/KDE/kdegraphics/gwenview/tests/CMakeLists.txt #1181402:1181403 @@ -33,6 +33,7 @@ # Document set(documenttest_SRCS documenttest.cpp + testutils.cpp ) @@ -64,6 +65,7 @@ # ThumbnailLoadJob set(thumbnailloadjobtest_SRCS thumbnailloadjobtest.cpp + testutils.cpp ) kde4_add_unit_test(thumbnailloadjobtest ${thumbnailloadjobtest_SRCS}) --- trunk/KDE/kdegraphics/gwenview/tests/documenttest.cpp #1181402:1181403 @@ -218,19 +218,20 @@ } void DocumentTest::testLoadRemote() { - QString testTarGzPath = pathForTestFile("test.tar.gz"); - KUrl url; - url.setProtocol("tar"); - url.setPath(testTarGzPath + "/test.png"); + KUrl url = setUpRemoteTestDir("test.png"); + if (!url.isValid()) { + return; + } + url.addPath("test.png"); - QVERIFY2(KIO::NetAccess::exists(url, KIO::NetAccess::SourceSide, 0), "test archive not found"); + QVERIFY2(KIO::NetAccess::exists(url, KIO::NetAccess::SourceSide, 0), "test url not found"); Document::Ptr doc = DocumentFactory::instance()->load(url); doc->startLoadingFullImage(); doc->waitUntilLoaded(); QImage image = doc->image(); - QCOMPARE(image.width(), 300); - QCOMPARE(image.height(), 200); + QCOMPARE(image.width(), 150); + QCOMPARE(image.height(), 100); } void DocumentTest::testLoadAnimated() { @@ -264,25 +265,19 @@ } void DocumentTest::testSaveRemote() { + KUrl dstUrl = setUpRemoteTestDir(); + if (!dstUrl.isValid()) { + return; + } + KUrl srcUrl = urlForTestFile("test.png"); Document::Ptr doc = DocumentFactory::instance()->load(srcUrl); doc->startLoadingFullImage(); doc->waitUntilLoaded(); - KUrl dstUrl; - dstUrl.setProtocol("trash"); - dstUrl.setPath("/test.png"); - QVERIFY(!waitUntilJobIsDone(doc->save(dstUrl, "png"))); - - if (qgetenv("REMOTE_SFTP_TEST").isEmpty()) { - kWarning() << "*** Define the environment variable REMOTE_SFTP_TEST to try saving an image to sftp://localhost/tmp/test.png"; - } else { - dstUrl.setProtocol("sftp"); - dstUrl.setHost("localhost"); - dstUrl.setPath("/tmp/test.png"); + dstUrl.addPath("testSaveRemote.png"); QVERIFY(waitUntilJobIsDone(doc->save(dstUrl, "png"))); } -} /** * Check that deleting a document while it is loading does not crash --- trunk/KDE/kdegraphics/gwenview/tests/testutils.h #1181402:1181403 @@ -55,7 +55,7 @@ return url; } -bool waitForSignal(const QSignalSpy& spy, int timeout = 5) { +inline bool waitForSignal(const QSignalSpy& spy, int timeout = 5) { for (int x = 0; x < timeout; ++x) { if (spy.count() > 0) { return true; @@ -65,7 +65,7 @@ return false; } -bool fuzzyImageCompare(const QImage& img1, const QImage& img2) { +inline bool fuzzyImageCompare(const QImage& img1, const QImage& img2) { if (img1.size() != img2.size()) { kWarning() << "Different sizes" << img1.size() << img2.size(); return false; @@ -86,4 +86,11 @@ return true; } +/** + * Returns the url of the remote url dir if remote test dir was successfully + * set up. + * If testFile is valid, it is copied into the test dir. + */ +KUrl setUpRemoteTestDir(const QString& testFile = QString()); + #endif /* TESTUTILS_H */ --- trunk/KDE/kdegraphics/gwenview/tests/thumbnailloadjobtest.cpp #1181402:1181403 @@ -196,10 +196,11 @@ void ThumbnailLoadJobTest::testLoadRemote() { - QString testTarGzPath = pathForTestFile("test.tar.gz"); - KUrl url; - url.setProtocol("tar"); - url.setPath(testTarGzPath + "/test.png"); + KUrl url = setUpRemoteTestDir("test.png"); + if (!url.isValid()) { + return; + } + url.addPath("test.png"); KFileItemList list; KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url);