Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 474004 - [qt overlay] dev-qt/qtsvg:5 fails tests
Summary: [qt overlay] dev-qt/qtsvg:5 fails tests
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-21 07:32 UTC by Patrick Lauer
Modified: 2014-12-18 07:26 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
disable-test.patch (disable-test.patch,460 bytes, patch)
2014-07-24 15:16 UTC, Michael Palimaka (kensington)
Details | Diff
disable-test.patch (test.patch,706 bytes, patch)
2014-07-27 18:09 UTC, Michael Palimaka (kensington)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Lauer gentoo-dev 2013-06-21 07:32:17 UTC
make[1]: Entering directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qsvgrenderer'
LD_LIBRARY_PATH=/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/lib:/usr/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} '/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner' ./tst_qsvgrenderer 
make[1]: Entering directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qsvgdevice'
LD_LIBRARY_PATH=/usr/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} '/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner' ./tst_qsvgdevice 
make[1]: Entering directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qsvggenerator'
LD_LIBRARY_PATH=/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/lib:/usr/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} '/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner' ./tst_qsvggenerator 
No protocol specified
QXcbConnection: Could not connect to display :0
/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner: line 4:  4864 Aborted                 "$@"
make[1]: *** [check] Error 134
make[1]: Leaving directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qsvgrenderer'
make: *** [sub-qsvgrenderer-check] Error 2
make: *** Waiting for unfinished jobs....
No protocol specified
QXcbConnection: Could not connect to display :0
/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner: line 4:  4867 Aborted                 "$@"
make[1]: *** [check] Error 134
make[1]: Leaving directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qsvgdevice'
make: *** [sub-qsvgdevice-check] Error 2
make[1]: Entering directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qicon_svg'
LD_LIBRARY_PATH=/usr/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} '/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner' ./tst_qicon_svg 
No protocol specified
QXcbConnection: Could not connect to display :0
/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner: line 4:  4868 Aborted                 "$@"
make[1]: *** [check] Error 134
make[1]: Leaving directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qsvggenerator'
make: *** [sub-qsvggenerator-check] Error 2
No protocol specified
QXcbConnection: Could not connect to display :0
/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/gentoo-testrunner: line 4:  4870 Aborted                 "$@"
make[1]: *** [check] Error 134
make[1]: Leaving directory `/var/tmp/portage/dev-qt/qtsvg-5.1.0_rc1/work/qtsvg-opensource-src-5.1.0-rc1_build/tests/auto/qicon_svg'
make: *** [sub-qicon_svg-check] Error 2
 * ERROR: dev-qt/qtsvg-5.1.0_rc1 failed (test phase):
 *   emake failed
Comment 1 Michael Palimaka (kensington) gentoo-dev 2014-05-14 16:28:00 UTC
With 5.3.0_rc, turning on virtual X eliminates the errors in comment #0 but there is the following output:

Detecting CXX compiler ABI info - done
CMake Error at /var/tmp/portage/dev-qt/qtsvg-5.3.0_rc/work/qtsvg-opensource-src-5.3.0-RC_build/lib/cmake/Qt5Svg/Qt5SvgConfig.cmake:27 (message):
  The imported target "Qt5::Svg" references the file

     "/var/tmp/portage/dev-qt/qtsvg-5.3.0_rc/work/qtsvg-opensource-src-5.3.0-RC_build/include/qt5/"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/var/tmp/portage/dev-qt/qtsvg-5.3.0_rc/work/qtsvg-opensource-src-5.3.0-RC_build/lib/cmake/Qt5Svg/Qt5SvgConfig.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /var/tmp/portage/dev-qt/qtsvg-5.3.0_rc/work/qtsvg-opensource-src-5.3.0-RC_build/lib/cmake/Qt5Svg/Qt5SvgConfig.cmake:62 (_qt5_Svg_check_file_exists)
  CMakeLists.txt:15 (find_package)


Configuring
Configuring incomplete, errors occurred!
See also "/var/tmp/portage/dev-qt/qtsvg-5.3.0_rc/work/qtsvg-opensource-src-5.3.0-RC_build/tests/auto/cmake/build/module_includes/build/CMakeFiles/CMakeOutput.log".



0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.43 sec

The following tests FAILED:
          1 - module_includes (Failed)

Errors while running CTest
make[1]: *** [check] Error 8
make[1]: Leaving directory `/var/tmp/portage/dev-qt/qtsvg-5.3.0_rc/work/qtsvg-opensource-src-5.3.0-RC_build/tests/auto/cmake'
make: *** [sub-cmake-check] Error 2
 * __helpers_die: WARNING: emake failed

Additionally there's probably an error in our virtual X code because portage doesn't treat the test as failed.
Comment 2 Davide Pesavento (RETIRED) gentoo-dev 2014-05-14 16:34:40 UTC
(In reply to Michael Palimaka (kensington) from comment #1)

All the paths in $D look wrong... anyway, these tests require cmake installed right? In that case I'm not sure how to handle the dependency (see also bug 457182)
Comment 3 Michael Palimaka (kensington) gentoo-dev 2014-05-14 16:40:37 UTC
(In reply to Davide Pesavento from comment #2)
> All the paths in $D look wrong... anyway, these tests require cmake
> installed right? In that case I'm not sure how to handle the dependency (see
> also bug 457182)

It would appear so, but that's not restricted to tests - it looks like every Qt module generates files for consumption by cmake (eg. /usr/lib64/cmake/Qt5Core/Qt5CoreConfig.cmake)
Comment 4 Davide Pesavento (RETIRED) gentoo-dev 2014-05-14 16:49:07 UTC
(In reply to Michael Palimaka (kensington) from comment #3)
> (In reply to Davide Pesavento from comment #2)
> > All the paths in $D look wrong... anyway, these tests require cmake
> > installed right? In that case I'm not sure how to handle the dependency (see
> > also bug 457182)
> 
> It would appear so, but that's not restricted to tests - it looks like every
> Qt module generates files for consumption by cmake (eg.
> /usr/lib64/cmake/Qt5Core/Qt5CoreConfig.cmake)

Yep, but those files are not generated by cmake, but by the qt buildsystem itself with some qmake trickery. IOW, cmake is not a dependency at build time, unless tests are enabled, in which case cmake/ctest are used during src_test().

So, either we add the dependency and fix those tests, or we disable all tests that require cmake.
Comment 5 Michael Palimaka (kensington) gentoo-dev 2014-07-24 14:03:14 UTC
I think we should punt the cmake-based tests.

The test does find_package(Qt5Foo), calling Qt5FooConfig.cmake:

    set(_Qt5Foo_OWN_INCLUDE_DIRS "${_qt5Foo_install_prefix}/include/qt5/" "${_qt5Foo_install_prefix}/include/qt5/QtFoo")

    foreach(_dir ${_Qt5Foo_OWN_INCLUDE_DIRS})
        _qt5_Foo_check_file_exists(${_dir})
    endforeach()


Even though install_prefix is set to the build dir for the test, it fails because the include/qt5 subdirectory isn't created until install time.
Comment 6 Davide Pesavento (RETIRED) gentoo-dev 2014-07-24 15:05:01 UTC
(In reply to Michael Palimaka (kensington) from comment #5)
> I think we should punt the cmake-based tests.
> 

Yeah I agree.

> Even though install_prefix is set to the build dir for the test, it fails
> because the include/qt5 subdirectory isn't created until install time.

Assuming that with "install time" you mean src_install, then the paths are still wrong, because the build dir is somewhere under $WORKDIR, while the install destination is $D.
Comment 7 Michael Palimaka (kensington) gentoo-dev 2014-07-24 15:16:20 UTC
Created attachment 381498 [details, diff]
disable-test.patch

Happy with this patch?
Comment 8 Davide Pesavento (RETIRED) gentoo-dev 2014-07-24 23:52:54 UTC
That sed expression only matches in qtbase, qtsensors, qtserialport, qtx11extras. I suppose all modules are affected by this problem...?
Comment 9 Michael Palimaka (kensington) gentoo-dev 2014-07-26 18:01:24 UTC
Right, that's unfortunate...I don't suppose there's any qmake argument to override? Safe to just punt any instance of 'cmake' in the file?
Comment 10 Davide Pesavento (RETIRED) gentoo-dev 2014-07-27 01:25:24 UTC
(In reply to Michael Palimaka (kensington) from comment #9)
> Right, that's unfortunate...I don't suppose there's any qmake argument to
> override?

'qmake [...] -after SUBDIRS-=cmake' is worth trying.

> Safe to just punt any instance of 'cmake' in the file?

No, way too risky IMO. Actually, some repos such as qtbase also have a installed_cmake test subdir, do you know what that is? Should we remove it too? In either case, matching only 'cmake' looks wrong to me.
Comment 11 Michael Palimaka (kensington) gentoo-dev 2014-07-27 18:09:49 UTC
Created attachment 381664 [details, diff]
disable-test.patch

Revised patch. One module would require an extra patch to remove a custom test target.

I wonder if we should just restrict tests (at least for certain modules)...they seem to be mostly broken in one way or another.
Comment 12 Davide Pesavento (RETIRED) gentoo-dev 2014-07-27 19:52:07 UTC
(In reply to Michael Palimaka (kensington) from comment #11)
> Created attachment 381664 [details, diff] [details, diff]
> disable-test.patch
> 
> Revised patch. One module would require an extra patch to remove a custom
> test target.

ACK, go ahead please.

> 
> I wonder if we should just restrict tests (at least for certain
> modules)...they seem to be mostly broken in one way or another.

I intend to fix tests, but it's a low priority task for me at the moment. I guess for now we can restrict them globally in the eclass, and revisit the issue after the move to gx86.
Comment 13 Michael Palimaka (kensington) gentoo-dev 2014-12-18 07:26:28 UTC
The patch has since been applied, and tests pass.