purpose unittests on Windows

David Faure faure at kde.org
Sun Aug 12 14:16:56 BST 2018


On samedi 11 août 2018 07:02:18 CEST Ben Cooksley wrote:
> On Fri, Aug 10, 2018 at 7:28 PM David Faure <faure at kde.org> wrote:
> > Any idea why purpose can't find the KIO http and file protocols -- on
> > Windows?
> > 
> > https://build.kde.org/view/Frameworks/job/Frameworks%20purpose%20kf5-qt5%2
> > 0WindowsMSVCQt5.10/76/testReport/junit/(root)/TestSuite/alternativesmodelt
> > est/
> > 
> > That's very odd, because the dependency from purpose on kio is there in
> > kde-build-metadata (it wouldn't build otherwise), and using kio_file from
> > other frameworks surely works (e.g. in KParts).
> > 
> > The lookup for protocols looks for "kf5/kio" under all Qt plugin
> > directories, i.e. $QT_PLUGIN_PATH.
> > 
> > The CI log says
> > QT_PLUGIN_PATH            = 'C:\CI\workspace\Frameworks purpose kf5-qt5
> > WindowsMSVCQt5.10\install-prefix\lib\plugins;C:\Craft\CI\windows-msvc2017
> > _64-cl-debug\lib\qca-qt5'
> > 
> > => is there a kf5\kio subdir in C:\CI\workspace\Frameworks purpose kf5-qt5
> > WindowsMSVCQt5.10\install-prefix\lib\plugins ?
> I've checked and the following seem to be present in that directory,
> which looks correct to me:
> 
> Mode                LastWriteTime         Length Name
> ----                -------------         ------ ----
> -a----        8/10/2018   8:39 PM         274944 file.dll
> -a----        8/10/2018   8:40 PM         352256 ftp.dll
> -a----        8/10/2018   8:40 PM         185856 ghelp.dll
> -a----        8/10/2018   8:39 PM         185856 help.dll
> -a----        8/10/2018   8:45 PM         946688 http.dll
> -a----        8/10/2018   8:40 PM         189440 remote.dll
> -a----        8/10/2018   8:40 PM         122880 trash.dll
> 
> Is there any debug output we can enable to see how it is searching for
> the plugins?

I have now added debug output to kcoreaddons and kio, and the result is:

    Checking for plugins in ("C:/CI/workspace/Frameworks purpose kf5-qt5 WindowsMSVCQt5.10/build/bin/kf5/kio", "C:/Craft/CI/windows-msvc2017_64-cl-debug/plugins/kf5/kio")

This list doesn't include the above directory, C:\CI\workspace\Frameworks purpose kf5-qt5 WindowsMSVCQt5.10\install-prefix\lib\plugins.

Yet, ECMAddTests.cmake adds to QT_PLUGIN_PATH, it doesn't overwrite it...
I wonder if set(PATHSEP "\\;") is correct though (why double backslash?)
QCoreApplication::libraryPaths reads that env var and splits it using QDir::listSeparator() which is ';' on Windows.
Kevin, any reason for the backslash?
Do you see any other reason for this to fail, otherwise?

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5





More information about the Kde-frameworks-devel mailing list