On (25/02/15 23:29), Jakub Hrozek wrote: >On Wed, Feb 25, 2015 at 11:20:45PM +0100, Lukas Slebodnik wrote: >> On (25/02/15 16:57), Jakub Hrozek wrote: >> >On Wed, Feb 25, 2015 at 03:17:54PM +0100, Pavel Březina wrote: >> >> On 02/25/2015 03:10 PM, Lukas Slebodnik wrote: >> >> >On (25/02/15 10:55), Jakub Hrozek wrote: >> >> >>On Wed, Feb 25, 2015 at 10:14:18AM +0100, Jakub Hrozek wrote: >> >> >>>On Wed, Feb 25, 2015 at 09:51:24AM +0100, Lukas Slebodnik wrote: >> >> >>>>On (25/02/15 08:33), Jakub Hrozek wrote: >> >> >>>>>On Tue, Feb 24, 2015 at 09:16:09PM +0100, Lukas Slebodnik wrote: >> >> >>>>>>On (24/02/15 19:52), Jakub Hrozek wrote: >> >> >>>>>>>On Tue, Feb 24, 2015 at 05:52:26PM +0100, Lukas Slebodnik wrote: >> >> >>>>>>>>On (24/02/15 16:55), Jakub Hrozek wrote: >> >> >>>>>>>>>Hi, >> >> >>>>>>>>> >> >> >>>>>>>>>the attached two patches add a way to detect pre-1.0 cmocka and >> >> >>>>>>>>>adds >> >> >>>>>>>>>compatible definitions in the first patch and uses them to >> >> >>>>>>>>>convert a >> >> >>>>>>>>>single unit test. >> >> >>>>>>>>> >> >> >>>>>>>>>I found the approach ugly myself, so much that I'm considering >> >> >>>>>>>>>converting >> >> >>>>>>>>>all cmocka-based tests to cmocka-1.0 and don't compile the >> >> >>>>>>>>>cmocka tests at >> >> >>>>>>>>>all unless 1.0 or later is present on the system. It's not >> >> >>>>>>>>>functionality >> >> >>>>>>>>>after all, "just" tests and for CI we could add cmocka-1.0 to >> >> >>>>>>>>>the CI >> >> >>>>>>>>>system ourselves.. >> >> >>>>>>>>> >> >> >>>>>>>>>Opinions? >> >> >>>>>>>>+1 for patch. >> >> >>>>>>> >> >> >>>>>>>Does +1 for the patch also mean -1 for the proposal to *only* >> >> >>>>>>>support >> >> >>>>>>>cmocka-1.0 and later? >> >> >>>>>>> >> >> >>>>>>>>I already see deprecated warnings. cmocka 1.0 is in f21 >> >> >>>>>>>>updates-testing >> >> >>>>>>> >> >> >>>>>>>Yes, btw Andreas would update libcmocka on all releases, including >> >> >>>>>>>private RHEL buildroots. So the "only" systems running pre-1.0 >> >> >>>>>>>cmocka >> >> >>>>>>>would be non-RH distributions. >> >> >>>>>>> >> >> >>>>>>>For instance Ubuntu contains 0.4.. >> >> >>>>>>cmocka is optional dependency but we try to run CI build on debian >> >> >>>>>>testing. >> >> >>>>>>Debian testing (Jessie) is frozen since 2014-Oct-05. So we will >> >> >>>>>>need to wait >> >> >>>>>>for next debian release to have cmocka-1.0 in (next) Debian testing) >> >> >>>>>> >> >> >>>>>>If we agree we disable cmocka tests in our CI on debian >> >> >>>>>>I'm fine with support *only* cmocka-1.0 and later. >> >> >>>>> >> >> >>>>>I was proposing to build cmocka-1.0 from source on the Debian CI >> >> >>>>>machines. >> >> >>>>I haven't seen this proposal yet :-) >> >> >>>> >> >> >>>>IMHO, it's reasonable compromise. >> >> >>>>If Nikolai agrees let's go with cmocka-1.0+ way >> >> >>> >> >> >>>Does Nikolai agree? :-) >> >> >> >> >> >>btw what about the stable branches, do we just remove the test when >> >> >>backporting patches with new tests? I think that would be the easiest >> >> >>way.. >> >> >> >> >> >>Alternatively, we could add the new tests to a new block >> >> >>HAVE_CMOCKA_1_0 in >> >> >>Makefile.am -- that would bring some work when backporting patches, but >> >> >>we wouldn't have to diverge or change the code itself, only the >> >> >>Makefile.am hunk, where the conflict would be minimal. >> >> > >> >> >I would prefer adding strict requirements to cmocka-1.0 into configure >> >> >and if it is not detected then cmocka test will not be executed. >> >> > >> >> >We can ignore(disable) deprecated warning in stable branches:-) >> >> > >> >> >LS >> >> >> >> +1 >> > >> >I'm not sure we understood each other, I was specifically asking about >> >stabe branch. In master, we would add strict requirements for cmocka >> >1.0+, convert all tests there and don't run any tests if cmocka 1.0+ is >> >not found. >> > >> Agree with strict requirement >> Agree with converting tests. >> >> >In sssd-1-12, we would keep the existing tests untouched and ignore the >> >deprecation warnings. But what if someone submits a patch that needs to >> >be included in sssd-1-12, too but adds a test that is written using >> >cmocka-1.0 API? We could either: >> > a) backport the patch without the test >> > b) backport the patch as-is, but add the Makefile.am part of the >> > patch into a new block that gets executed only if cmocka 1.0 is >> > available. Currently we only have a global HAVE_CMOCKA if-endif. >> c) >> - add strict requirement for cmocka 1.0+ >> - do not convert tests >> - ignore warnings caused by deprecated function in cmocka 1.0 >> >> Result: >> * change in stable branch will be small >> * there will not be problem with backporting new tests >> * makefile will not be poluted with another if else block >> * if cmocka-1.0+ is not available then cmocka tests will not be executed >> >> Distributions: >> arch - does not run tests at all >> opensuse - does not run tests at all >> gentoo - does not run cmocka test >> debian - cmocka tests are disabled (due to failueres on some arch) [1] >> ubuntu - cmocka tests are disabled (due to failueres on some arch) >> fedora - cmocka-1.0 will be available >> epel{6,7} - cmocka-1.0 will be available > >OK, I didn't propose this change because it would /decrease/ the test >coverage. But seeing the summary above, it does seem like the best >solution.
BTW my current workaround to get rid of deprecated warnings is to modify cmocka.h #define CMOCKA_DEPRECATED instead of #define CMOCKA_DEPRECATED __attribute__ ((deprecated)) I know it's not nice solution. LS _______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel