[Development] Qt 4.8 autotests need attention; over 100 insignificant tests!

Rohan McGovern rohan.mcgovern at nokia.com
Thu Jun 14 00:47:11 CEST 2012


Thiago Macieira said:
> On quarta-feira, 13 de junho de 2012 17.32.43, Friedemann Kleint wrote:
> > In  Qt 5, this was solved by introducing the QFINDTESTDATA macro, but 
> > porting it to Qt 4 is a non-trivial task.
> > 
> > https://codereview.qt-project.org/#change,28579 (Fix QLibrary test) and 
> > https://codereview.qt-project.org/#change,27579 (QApplication) 
> > illustrate what needs to be done for such cases:
> > 
> > - Removing CONFIG -= app_bundle causes the Mac binary to be created in 
> > the test root folder
> > 
> > - On Windows, cd up one level if the current working directory is 
> > 'debug' or 'release' in the test constructor
> 
> Another solution we used to use is to add to the test's .pro file:
> 
> DEFINES += SRCDIR=\\\"$$PWD/\\\"
> 
> Then all file references should be prefixed with SRCDIR. E.g:
> 
>     QFile f(SRCDIR "./testdata");
> 
> Don't forget the space! It's an error to write SRCDIR"./testdata" in C++11.
> 

Please avoid this one in Qt 5.
It makes the test not able to work when deployed to a device, unless you
explicitly recreate the whole SRCDIR directory structure on the device
or introduce a separate code path in the test.
QFINDTESTDATA should be preferred, since it already searches the source
directory.

It is reasonable to fix the Qt 4.8 tests in this way, though.



More information about the Development mailing list