summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qfile/tst_qfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/io/qfile/tst_qfile.cpp')
-rw-r--r--tests/auto/corelib/io/qfile/tst_qfile.cpp82
1 files changed, 43 insertions, 39 deletions
diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp
index 2b71bb738c..07f6b44a4d 100644
--- a/tests/auto/corelib/io/qfile/tst_qfile.cpp
+++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp
@@ -348,6 +348,10 @@ void tst_QFile::cleanup()
void tst_QFile::initTestCase()
{
+ // chdir to testdata directory and use relative paths.
+ QString testdata_dir = QFileInfo(QFINDTESTDATA("testfile.txt")).absolutePath();
+ QVERIFY2(QDir::setCurrent(testdata_dir), qPrintable("Could not chdir to " + testdata_dir));
+
QFile::remove("noreadfile");
// create a file and make it read-only
@@ -404,7 +408,7 @@ void tst_QFile::cleanupTestCase()
void tst_QFile::exists()
{
- QFile f( SRCDIR "testfile.txt" );
+ QFile f( QFINDTESTDATA("testfile.txt") );
QCOMPARE( f.exists(), (bool)TRUE );
QFile file("nobodyhassuchafile");
@@ -443,7 +447,7 @@ void tst_QFile::open_data()
static const QString denied("Permission denied");
#endif
QTest::newRow( "exist_readOnly" )
- << QString(SRCDIR "testfile.txt") << int(QIODevice::ReadOnly)
+ << QString(QFINDTESTDATA("testfile.txt")) << int(QIODevice::ReadOnly)
<< (bool)TRUE << QFile::NoError;
QTest::newRow( "exist_writeOnly" )
@@ -469,7 +473,7 @@ void tst_QFile::open_data()
QTest::newRow("nullfile") << QString() << int(QIODevice::ReadOnly) << (bool)FALSE
<< QFile::OpenError;
- QTest::newRow("two-dots") << QString(SRCDIR "two.dots.file") << int(QIODevice::ReadOnly) << (bool)TRUE
+ QTest::newRow("two-dots") << QString(QFINDTESTDATA("two.dots.file")) << int(QIODevice::ReadOnly) << (bool)TRUE
<< QFile::NoError;
QTest::newRow("readonlyfile") << QString("readonlyfile") << int(QIODevice::WriteOnly)
@@ -512,7 +516,7 @@ void tst_QFile::open()
void tst_QFile::openUnbuffered()
{
- QFile file(SRCDIR "testfile.txt");
+ QFile file(QFINDTESTDATA("testfile.txt"));
QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Unbuffered));
char c = '\0';
QVERIFY(file.seek(1));
@@ -545,7 +549,7 @@ void tst_QFile::size_data()
QTest::addColumn<QString>("filename");
QTest::addColumn<qint64>("size");
- QTest::newRow( "exist01" ) << QString(SRCDIR "testfile.txt") << (qint64)245;
+ QTest::newRow( "exist01" ) << QString(QFINDTESTDATA("testfile.txt")) << (qint64)245;
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
// Only test UNC on Windows./
QTest::newRow("unc") << "//" + QString(QtNetworkSettings::winServerName() + "/testshare/test.pri") << (qint64)34;
@@ -687,7 +691,7 @@ void tst_QFile::setSizeSeek()
void tst_QFile::atEnd()
{
- QFile f( SRCDIR "testfile.txt" );
+ QFile f( QFINDTESTDATA("testfile.txt") );
QVERIFY(f.open( QIODevice::ReadOnly ));
int size = f.size();
@@ -700,7 +704,7 @@ void tst_QFile::atEnd()
void tst_QFile::readLine()
{
- QFile f( SRCDIR "testfile.txt" );
+ QFile f( QFINDTESTDATA("testfile.txt") );
QVERIFY(f.open( QIODevice::ReadOnly ));
int i = 0;
@@ -720,7 +724,7 @@ void tst_QFile::readLine()
void tst_QFile::readLine2()
{
- QFile f( SRCDIR "testfile.txt" );
+ QFile f( QFINDTESTDATA("testfile.txt") );
f.open( QIODevice::ReadOnly );
char p[128];
@@ -755,13 +759,13 @@ void tst_QFile::readAll_data()
{
QTest::addColumn<bool>("textMode");
QTest::addColumn<QString>("fileName");
- QTest::newRow( "TextMode unixfile" ) << true << SRCDIR "testfile.txt";
- QTest::newRow( "BinaryMode unixfile" ) << false << SRCDIR "testfile.txt";
- QTest::newRow( "TextMode dosfile" ) << true << SRCDIR "dosfile.txt";
- QTest::newRow( "BinaryMode dosfile" ) << false << SRCDIR "dosfile.txt";
- QTest::newRow( "TextMode bigfile" ) << true << SRCDIR "tst_qfile.cpp";
- QTest::newRow( "BinaryMode bigfile" ) << false << SRCDIR "tst_qfile.cpp";
- QVERIFY(QFile(SRCDIR "tst_qfile.cpp").size() > 64*1024);
+ QTest::newRow( "TextMode unixfile" ) << true << QFINDTESTDATA("testfile.txt");
+ QTest::newRow( "BinaryMode unixfile" ) << false << QFINDTESTDATA("testfile.txt");
+ QTest::newRow( "TextMode dosfile" ) << true << QFINDTESTDATA("dosfile.txt");
+ QTest::newRow( "BinaryMode dosfile" ) << false << QFINDTESTDATA("dosfile.txt");
+ QTest::newRow( "TextMode bigfile" ) << true << QFINDTESTDATA("tst_qfile.cpp");
+ QTest::newRow( "BinaryMode bigfile" ) << false << QFINDTESTDATA("tst_qfile.cpp");
+ QVERIFY(QFile(QFINDTESTDATA("tst_qfile.cpp")).size() > 64*1024);
}
void tst_QFile::readAll()
@@ -923,7 +927,7 @@ void tst_QFile::readLineStdin_lineByLine()
void tst_QFile::text()
{
// dosfile.txt is a binary CRLF file
- QFile file(SRCDIR "dosfile.txt");
+ QFile file(QFINDTESTDATA("dosfile.txt"));
QVERIFY(file.open(QFile::Text | QFile::ReadOnly));
QCOMPARE(file.readLine(),
QByteArray("/dev/system/root / reiserfs acl,user_xattr 1 1\n"));
@@ -936,7 +940,7 @@ void tst_QFile::text()
void tst_QFile::missingEndOfLine()
{
- QFile file(SRCDIR "noendofline.txt");
+ QFile file(QFINDTESTDATA("noendofline.txt"));
QVERIFY(file.open(QFile::ReadOnly));
int nlines = 0;
@@ -950,7 +954,7 @@ void tst_QFile::missingEndOfLine()
void tst_QFile::readBlock()
{
- QFile f( SRCDIR "testfile.txt" );
+ QFile f( QFINDTESTDATA("testfile.txt") );
f.open( QIODevice::ReadOnly );
int length = 0;
@@ -965,7 +969,7 @@ void tst_QFile::readBlock()
void tst_QFile::getch()
{
- QFile f( SRCDIR "testfile.txt" );
+ QFile f( QFINDTESTDATA("testfile.txt") );
f.open( QIODevice::ReadOnly );
char c;
@@ -982,7 +986,7 @@ void tst_QFile::getch()
void tst_QFile::ungetChar()
{
- QFile f(SRCDIR "testfile.txt");
+ QFile f(QFINDTESTDATA("testfile.txt"));
QVERIFY(f.open(QIODevice::ReadOnly));
QByteArray array = f.readLine();
@@ -1083,7 +1087,7 @@ void tst_QFile::permissions_data()
QTest::addColumn<bool>("expected");
QTest::newRow("data0") << QCoreApplication::instance()->applicationFilePath() << uint(QFile::ExeUser) << true;
- QTest::newRow("data1") << SRCDIR "tst_qfile.cpp" << uint(QFile::ReadUser) << true;
+ QTest::newRow("data1") << QFINDTESTDATA("tst_qfile.cpp") << uint(QFile::ReadUser) << true;
QTest::newRow("resource1") << ":/tst_qfileinfo/resources/file1.ext1" << uint(QFile::ReadUser) << true;
QTest::newRow("resource2") << ":/tst_qfileinfo/resources/file1.ext1" << uint(QFile::WriteUser) << false;
QTest::newRow("resource3") << ":/tst_qfileinfo/resources/file1.ext1" << uint(QFile::ExeUser) << false;
@@ -1121,8 +1125,8 @@ void tst_QFile::copy()
QFile::setPermissions("tst_qfile_copy.cpp", QFile::WriteUser);
QFile::remove("tst_qfile_copy.cpp");
QFile::remove("test2");
- QVERIFY(QFile::copy(SRCDIR "tst_qfile.cpp", "tst_qfile_copy.cpp"));
- QFile in1(SRCDIR "tst_qfile.cpp"), in2("tst_qfile_copy.cpp");
+ QVERIFY(QFile::copy(QFINDTESTDATA("tst_qfile.cpp"), "tst_qfile_copy.cpp"));
+ QFile in1(QFINDTESTDATA("tst_qfile.cpp")), in2("tst_qfile_copy.cpp");
QVERIFY(in1.open(QFile::ReadOnly));
QVERIFY(in2.open(QFile::ReadOnly));
QByteArray data1 = in1.readAll(), data2 = in2.readAll();
@@ -1169,9 +1173,9 @@ void tst_QFile::copyAfterFail()
void tst_QFile::copyRemovesTemporaryFile() const
{
const QString newName(QLatin1String("copyRemovesTemporaryFile"));
- QVERIFY(QFile::copy(SRCDIR "forCopying.txt", newName));
+ QVERIFY(QFile::copy(QFINDTESTDATA("forCopying.txt"), newName));
- QVERIFY(!QFile::exists(QLatin1String( SRCDIR "qt_temp.XXXXXX")));
+ QVERIFY(!QFile::exists(QFINDTESTDATA("qt_temp.XXXXXX")));
QVERIFY(QFile::remove(newName));
}
@@ -1179,7 +1183,7 @@ void tst_QFile::copyShouldntOverwrite()
{
// Copy should not overwrite existing files.
QFile::remove("tst_qfile.cpy");
- QFile file(SRCDIR "tst_qfile.cpp");
+ QFile file(QFINDTESTDATA("tst_qfile.cpp"));
QVERIFY(file.copy("tst_qfile.cpy"));
bool ok = QFile::setPermissions("tst_qfile.cpy", QFile::WriteOther);
@@ -1271,10 +1275,10 @@ void tst_QFile::link()
{
QFile::remove("myLink.lnk");
- QFileInfo info1(SRCDIR "tst_qfile.cpp");
+ QFileInfo info1(QFINDTESTDATA("tst_qfile.cpp"));
QString referenceTarget = QDir::cleanPath(info1.absoluteFilePath());
- QVERIFY(QFile::link(SRCDIR "tst_qfile.cpp", "myLink.lnk"));
+ QVERIFY(QFile::link(QFINDTESTDATA("tst_qfile.cpp"), "myLink.lnk"));
QFileInfo info2("myLink.lnk");
QVERIFY(info2.isSymLink());
@@ -1386,13 +1390,13 @@ void tst_QFile::readTextFile()
void tst_QFile::readTextFile2()
{
{
- QFile file(SRCDIR "testlog.txt");
+ QFile file(QFINDTESTDATA("testlog.txt"));
QVERIFY(file.open(QIODevice::ReadOnly));
file.read(4097);
}
{
- QFile file(SRCDIR "testlog.txt");
+ QFile file(QFINDTESTDATA("testlog.txt"));
QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
file.read(4097);
}
@@ -2015,7 +2019,7 @@ public:
{
if (fileName.startsWith(":!")) {
QDir dir;
- QString realFile = SRCDIR + fileName.mid(2);
+ QString realFile = QFINDTESTDATA(fileName.mid(2));
if (dir.exists(realFile))
return new QFSFileEngine(realFile);
}
@@ -2379,7 +2383,7 @@ void tst_QFile::renameWithAtEndSpecialFile() const
/* Cleanup, so we're a bit more robust. */
QFile::remove(newName);
- const QString originalName(QString(SRCDIR "forRenaming.txt"));
+ const QString originalName(QString(QFINDTESTDATA("forRenaming.txt")));
PeculiarAtEnd file;
file.setFileName(originalName);
@@ -2502,7 +2506,7 @@ void tst_QFile::handle()
{
int fd;
#if !defined(Q_OS_WINCE)
- QFile file(SRCDIR "tst_qfile.cpp");
+ QFile file(QFINDTESTDATA("tst_qfile.cpp"));
QVERIFY(file.open(QIODevice::ReadOnly));
fd = int(file.handle());
QVERIFY(fd > 2);
@@ -2533,7 +2537,7 @@ void tst_QFile::handle()
//test round trip of adopted stdio file handle
QFile file2;
- FILE *fp = fopen(SRCDIR "tst_qfile.cpp", "r");
+ FILE *fp = fopen(qPrintable(QFINDTESTDATA("tst_qfile.cpp")), "r");
file2.open(fp, QIODevice::ReadOnly);
QCOMPARE(int(file2.handle()), int(fileno(fp)));
QCOMPARE(int(file2.handle()), int(fileno(fp)));
@@ -2542,7 +2546,7 @@ void tst_QFile::handle()
//test round trip of adopted posix file handle
#ifdef Q_OS_UNIX
QFile file3;
- fd = QT_OPEN(SRCDIR "tst_qfile.cpp", QT_OPEN_RDONLY);
+ fd = QT_OPEN(qPrintable(QFINDTESTDATA("tst_qfile.cpp")), QT_OPEN_RDONLY);
file3.open(fd, QIODevice::ReadOnly);
QCOMPARE(int(file3.handle()), fd);
QT_CLOSE(fd);
@@ -2599,8 +2603,8 @@ void tst_QFile::readEof_data()
QTest::addColumn<QString>("filename");
QTest::addColumn<int>("imode");
- QTest::newRow("buffered") << SRCDIR "testfile.txt" << 0;
- QTest::newRow("unbuffered") << SRCDIR "testfile.txt" << int(QIODevice::Unbuffered);
+ QTest::newRow("buffered") << QFINDTESTDATA("testfile.txt") << 0;
+ QTest::newRow("unbuffered") << QFINDTESTDATA("testfile.txt") << int(QIODevice::Unbuffered);
#if defined(Q_OS_UNIX)
QTest::newRow("sequential,buffered") << "/dev/null" << 0;
@@ -2945,7 +2949,7 @@ void tst_QFile::mapOpenMode()
void tst_QFile::openDirectory()
{
- QFile f1(SRCDIR "resources");
+ QFile f1(QFINDTESTDATA("resources"));
// it's a directory, it must exist
QVERIFY(f1.exists());
@@ -3070,7 +3074,7 @@ void tst_QFile::resize()
void tst_QFile::objectConstructors()
{
QObject ob;
- QFile* file1 = new QFile(SRCDIR "testfile.txt", &ob);
+ QFile* file1 = new QFile(QFINDTESTDATA("testfile.txt"), &ob);
QFile* file2 = new QFile(&ob);
QVERIFY(file1->exists());
QVERIFY(!file2->exists());