Check QFileInfo::isExecutable for symlinks, works as intended.
authorDavid Faure <faure@kde.org>
Fri, 21 Oct 2011 18:55:34 +0000 (20:55 +0200)
committerQt by Nokia <qt-info@nokia.com>
Sat, 22 Oct 2011 22:56:45 +0000 (00:56 +0200)
Change-Id: I35acce7ba0e111f651864b9d16abf1bac1923f22
Reviewed-by: Thiago Macieira (Intel) <thiago.macieira@intel.com>
tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp

index 4adfb9f..5a43bca 100644 (file)
@@ -1473,7 +1473,24 @@ void tst_QFileInfo::isExecutable()
     QFileInfo fi(appPath);
     QCOMPARE(fi.isExecutable(), true);
 
-    QCOMPARE(QFileInfo("qfileinfo.pro").isExecutable(), false);
+    QCOMPARE(QFileInfo(SRCDIR "qfileinfo.pro").isExecutable(), false);
+
+#ifdef Q_OS_UNIX
+    QFile::remove("link.lnk");
+
+    // Symlink to executable
+    QFile appFile(appPath);
+    QVERIFY(appFile.link("link.lnk"));
+    QCOMPARE(QFileInfo("link.lnk").isExecutable(), true);
+    QFile::remove("link.lnk");
+
+    // Symlink to .pro file
+    QFile proFile(SRCDIR "qfileinfo.pro");
+    QVERIFY(proFile.link("link.lnk"));
+    QCOMPARE(QFileInfo("link.lnk").isExecutable(), false);
+    QFile::remove("link.lnk");
+#endif
+
 }