https://bugs.kde.org/show_bug.cgi?id=386456
Bug ID: 386456
Summary: tests fail – kirigamiplugin doesn't register
components
Product: frameworks-kirigami
Version: 5.39.0
Platform: Other
OS: Linux
Status: UNCONFIRMED
Severity: minor
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: Not decided
Running the tests of kirigami 5.39.0 fail with several errors like this:
file://…/build/bin/org/kde/kirigami.2/ApplicationWindow.qml:97:1: Type
AbstractApplicationWindow unavailable
AbstractApplicationWindow {
^
When strace-ing the tests (see below), I discovered that
AbstractApplicationWindow.qml is searched in the wrong directory:
It exists in
–/build/bin/org/kde/kirigami.2/, but is searched in
…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/.
Additionally it is searched *twice*.
The pattern of the strace matches the code:
`KirigamiPlugin::registerTypes()` is registering the types [1] in this
order, and `KirigamiPlugin::componentUrl()` [2] tries to resolve them
based on the list of styles. Since `AbstractApplicationWindow.qml` is
not part of the style, `componentUrl()` falls back to
`resolveFileUrl()` [3] – to this is the second try.
[1] https://cgit.kde.org/kirigami.git/tree/src/kirigamiplugin.cpp?h=v5.39.0#n91
[2] https://cgit.kde.org/kirigami.git/tree/src/kirigamiplugin.cpp?h=v5.39.0#n40
[3] https://cgit.kde.org/kirigami.git/tree/src/kirigamiplugin.h?h=v5.39.0#n87
.....8<---------------
stat("…/build/bin/org/kde/kirigami.2//styles/org.kde.desktop",
{st_mode=S_IFDIR|0755, st_size=180, ...}) = 0
stat("…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/Theme.qml",
{st_mode=S_IFREG|0644, st_size=3109, ...}) = 0
stat("…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/Units.qml",
{st_mode=S_IFREG|0644, st_size=4769, ...}) = 0
stat("…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/Action.qml",
0x7ff443c3fe40) = -1 ENOENT (No such file or directory)
stat("…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/Action.qml",
0x7ff443c3fe40) = -1 ENOENT (No such file or directory)
stat("…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/AbstractApplicationHeader.qml",
{st_mode=S_IFREG|0644, st_size=1820, ...}) = 0
stat("…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/AbstractApplicationWindow.qml",
0x7ff443c3fe40) = -1 ENOENT (No such file or directory)
stat("…/build/bin/org/kde/kirigami.2/styles/org.kde.desktop/AbstractApplicationWindow.qml",
0x7ff443c3fe40) = -1 ENOENT (No such file or directory)
.....8<---------------
Please note that I'm packaging kirigami for GNU Guix [1]. GNU Guix builds all
software in an isolated environment (a container), which includes only
the packages and tools specified explicitly.
So if you can not reproduce this bug straigtly, please use strace to
verify that the tests are *not* using some .qml-files installed on
your system.
--
You are receiving this mail because:
You are watching all bug changes.