Testing for Qt6

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Testing for Qt6

Anjani Kumar
Hello,
For my GSoC project, I'm trying to prepare a testing strategy for every class I port. Before I start the work, should I build all the tests with Qt6? I was following the guidelines from here https://doc-snapshots.qt.io/qt6-dev/qttest-best-practices-qdoc.html

Thanks
Anjani
Sent from Mailspring
Reply | Threaded
Open this post in threaded view
|

Re: Testing for Qt6

Gilles Caulier-4
Hi,

Yes, first I recommend building code, and later writing unit tests to check fonctionnalites.

Typically, the best way is to build digiKam step by  step. I recommend disabling the advanced section of the application, typically to build core/libs first. Almost all unit tests from core/tests check the libs classes.

core/libs is used to compile the shared libdigikam.so used by unt tests. So compiling this object will allow to compile and link the uni-tests (that you can disabled temporary while porting codes.

Best

Gilles Caulier

Le sam. 22 mai 2021 à 11:10, Anjani Kumar <[hidden email]> a écrit :
Hello,
For my GSoC project, I'm trying to prepare a testing strategy for every class I port. Before I start the work, should I build all the tests with Qt6? I was following the guidelines from here https://doc-snapshots.qt.io/qt6-dev/qttest-best-practices-qdoc.html

Thanks
Anjani
Sent from Mailspring
Reply | Threaded
Open this post in threaded view
|

Re: Testing for Qt6

Anjani Kumar
Hello,

I tried to build tests with Qt6. I applied a patch that is attached in this email. That didn't go as expected.

CMake throws this error for all tests

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Test" does
not agree with the value of QT_MAJOR_VERSION already determined
for "libmodeltest".

I see QT_MIN_VERSION to be set to Qt5, is that the source of the problem? How to proceed?

On May 22 2021, at 4:41 pm, Gilles Caulier <[hidden email]> wrote:
Hi,

Yes, first I recommend building code, and later writing unit tests to check fonctionnalites.

Typically, the best way is to build digiKam step by  step. I recommend disabling the advanced section of the application, typically to build core/libs first. Almost all unit tests from core/tests check the libs classes.

core/libs is used to compile the shared libdigikam.so used by unt tests. So compiling this object will allow to compile and link the uni-tests (that you can disabled temporary while porting codes.

Best

Gilles Caulier

Sent from Mailspring
Le sam. 22 mai 2021 à 11:10, Anjani Kumar <[hidden email]> a écrit :
Hello,
For my GSoC project, I'm trying to prepare a testing strategy for every class I port. Before I start the work, should I build all the tests with Qt6? I was following the guidelines from here https://doc-snapshots.qt.io/qt6-dev/qttest-best-practices-qdoc.html

Thanks
Anjani
Sent from Mailspring

=?utf-8?Q?test=5Fpatch.txt?= (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Testing for Qt6

Gilles Caulier-4
Hi,

I saw that you try to use QtWebEngine from Qt6. I'm not sure if Qt6.1 includes the WebEngine framework yet.

Best

Gilles Caulier

Le jeu. 27 mai 2021 à 04:28, Anjani Kumar <[hidden email]> a écrit :
Hello,

I tried to build tests with Qt6. I applied a patch that is attached in this email. That didn't go as expected.

CMake throws this error for all tests

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Test" does
not agree with the value of QT_MAJOR_VERSION already determined
for "libmodeltest".

I see QT_MIN_VERSION to be set to Qt5, is that the source of the problem? How to proceed?

On May 22 2021, at 4:41 pm, Gilles Caulier <[hidden email]> wrote:
Hi,

Yes, first I recommend building code, and later writing unit tests to check fonctionnalites.

Typically, the best way is to build digiKam step by  step. I recommend disabling the advanced section of the application, typically to build core/libs first. Almost all unit tests from core/tests check the libs classes.

core/libs is used to compile the shared libdigikam.so used by unt tests. So compiling this object will allow to compile and link the uni-tests (that you can disabled temporary while porting codes.

Best

Gilles Caulier

Sent from Mailspring
Le sam. 22 mai 2021 à 11:10, Anjani Kumar <[hidden email]> a écrit :
Hello,
For my GSoC project, I'm trying to prepare a testing strategy for every class I port. Before I start the work, should I build all the tests with Qt6? I was following the guidelines from here https://doc-snapshots.qt.io/qt6-dev/qttest-best-practices-qdoc.html

Thanks
Anjani
Sent from Mailspring
Reply | Threaded
Open this post in threaded view
|

Re: Testing for Qt6

Anjani Kumar
Okay, I think the problem here is using both Qt5 and Qt6 simultaneously. I  did some tests on dummy projects and the results are same.
https://cmake.org/cmake/help/latest/prop_tgt/AUTOMOC.html#qt-version-detection
You suggested to first port code and then build tests. That seems to be the only solution for testing.

On another note, I think I need to prepare a new list of Qt5 deprecated warnings as I noticed there are a lot of them which are new. I'll make a plan on which modules to work first and send it to you.

Thanks,
Anjani

On May 27 2021, at 2:11 pm, Gilles Caulier <[hidden email]> wrote:
Hi,

I saw that you try to use QtWebEngine from Qt6. I'm not sure if Qt6.1 includes the WebEngine framework yet.

Best

Gilles Caulier

Sent from Mailspring
Le jeu. 27 mai 2021 à 04:28, Anjani Kumar <[hidden email]> a écrit :
Hello,

I tried to build tests with Qt6. I applied a patch that is attached in this email. That didn't go as expected.

CMake throws this error for all tests

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Test" does
not agree with the value of QT_MAJOR_VERSION already determined
for "libmodeltest".

I see QT_MIN_VERSION to be set to Qt5, is that the source of the problem? How to proceed?

On May 22 2021, at 4:41 pm, Gilles Caulier <[hidden email]> wrote:
Hi,

Yes, first I recommend building code, and later writing unit tests to check fonctionnalites.

Typically, the best way is to build digiKam step by  step. I recommend disabling the advanced section of the application, typically to build core/libs first. Almost all unit tests from core/tests check the libs classes.

core/libs is used to compile the shared libdigikam.so used by unt tests. So compiling this object will allow to compile and link the uni-tests (that you can disabled temporary while porting codes.

Best

Gilles Caulier

Sent from Mailspring
Le sam. 22 mai 2021 à 11:10, Anjani Kumar <[hidden email]> a écrit :
Hello,
For my GSoC project, I'm trying to prepare a testing strategy for every class I port. Before I start the work, should I build all the tests with Qt6? I was following the guidelines from here https://doc-snapshots.qt.io/qt6-dev/qttest-best-practices-qdoc.html

Thanks
Anjani
Sent from Mailspring