Fix tst_QFileSystemWatcher failure on Mac OS X
authorBradley T. Hughes <bradley.hughes@nokia.com>
Tue, 14 Feb 2012 06:03:18 +0000 (07:03 +0100)
committerQt by Nokia <qt-info@nokia.com>
Fri, 17 Feb 2012 04:25:26 +0000 (05:25 +0100)
The watchFileAndItsDirectory() test would fail due to atime updates for
the first watched file coming up to 2 seconds after the file was closed.
Observation shows that the atime has a 2 second resolution on Mac OS X
using HFS+, so add an appropriate delay to make sure that the atime
update from the kqueue based file system watcher can dispatch all
updates.

Task-number: QTBUG-22744
Change-Id: Ie79af20d6b4c154021307c8a8f6d336369720337
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
tests/auto/corelib/io/qfilesystemwatcher/qfilesystemwatcher.pro
tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp

index e712a6a..8ada44f 100644 (file)
@@ -2,5 +2,3 @@ CONFIG += testcase parallel_test
 TARGET = tst_qfilesystemwatcher
 QT = core testlib
 SOURCES = tst_qfilesystemwatcher.cpp
-
-mac: CONFIG += insignificant_test # QTBUG-22744
index 2635565..8caccb6 100644 (file)
@@ -432,6 +432,11 @@ void tst_QFileSystemWatcher::watchFileAndItsDirectory()
     testFile.write(QByteArray("hello again"));
     testFile.close();
 
+#ifdef Q_OS_MAC
+    // wait again for the file's atime to be updated
+    QTest::qWait(2000);
+#endif
+
     QTRY_VERIFY(fileChangedSpy.count() > 0);
 
     //according to Qt 4 documentation: