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