New test with C++11 and lambda (UDSEntry testcase)
Volker Krause
vkrause at kde.org
Sun Sep 22 09:57:32 UTC 2013
On Saturday 21 September 2013 19:18:01 Mark wrote:
> I've just created a quite complicated testcase for frameworks which uses
> the new signal/slot connection syntax (since Qt 5.0) and uses a lambda as
> slot. The reason i did this is so that i can keep then entire testcase
> (minus the initialization) contained in one testcase method. Otherwise i
> would have to make signal/slot connections to member functions which is
> probably not something you want for testcases..
>
> You can find the patch here: http://paste.kde.org/p9f82c70a/
>
> Would this be OK to commit?
>
> This testcase would obviously have to be extended a bit to test the
> different detail states for UDSEntry. This test only tests the case where
> UDSEntry is filled with details set to 0. The default is details set to 2
> which this test doesn't test (yet).
>
> I guess the question really is:
> - Can i use C++11 for testcases?
> - Can i use Lambda? The Lambda spec is supported since GCC 4.5.
> http://gcc.gnu.org/projects/cxx0x.html
yes:
http://community.kde.org/Frameworks/Policies#Frameworks_compiler_requirements_and_C.2B.2B11
Unconditionally adding -std=c++0x as you did it will probably break MSVC
though. There it's on by default, so a if(NOT MSVC) should fix that. This
might be something we want to set globally together with other compiler flags,
ecm's KDECompilerSettings.cmake comes to mind.
Looking in there, I see we still set -ansi in some cases (ICC only, probably
too rare for anyone to notice), we had fun with that in Akonadi since it sets
the standard back to C++98...
regards,
Volker
More information about the Kde-frameworks-devel
mailing list