On (29/08/16 18:11), Fabiano Fidêncio wrote:
>On Mon, Aug 29, 2016 at 6:03 PM, Lukas Slebodnik <[email protected]> wrote:
>> On (29/08/16 16:38), Lukas Slebodnik wrote:
>>>On (29/08/16 16:05), Fabiano Fidêncio wrote:
>>>>On Mon, Aug 29, 2016 at 3:51 PM, Lukas Slebodnik <[email protected]> 
>>>>wrote:
>>>>> On (29/08/16 14:47), Lukas Slebodnik wrote:
>>>>>>On (29/08/16 14:36), Fabiano Fidêncio wrote:
>>>>>>>On Mon, Aug 29, 2016 at 2:27 PM, Lukas Slebodnik <[email protected]> 
>>>>>>>wrote:
>>>>>>>> On (29/08/16 14:15), Fabiano Fidêncio wrote:
>>>>>>>>>On Mon, Aug 29, 2016 at 12:36 PM, Lukas Slebodnik 
>>>>>>>>><[email protected]> wrote:
>>>>>>>>>> On (29/08/16 12:08), Fabiano Fidêncio wrote:
>>>>>>>>>>>On Mon, Aug 29, 2016 at 11:12 AM, Jakub Hrozek <[email protected]> 
>>>>>>>>>>>wrote:
>>>>>>>>>>>> On Mon, Aug 29, 2016 at 10:38:46AM +0200, Lukas Slebodnik wrote:
>>>>>>>>>>>>> On (29/08/16 07:09), Fabiano Fidêncio wrote:
>>>>>>>>>>>>> >Hoiwdy!
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >On Fri, Aug 19, 2016 at 1:08 AM, Fabiano Fidêncio 
>>>>>>>>>>>>> ><[email protected]> wrote:
>>>>>>>>>>>>> >> This patch is a first attempt to make "make intgcheck" less
>>>>>>>>>>>>> >> painful/time consuming than it is now.
>>>>>>>>>>>>> >>
>>>>>>>>>>>>> >> Although the patch provides a good improvement on having 5 new
>>>>>>>>>>>>> >> targets, I know it's still not ideal. The ideal case, IMO, 
>>>>>>>>>>>>> >> would be
>>>>>>>>>>>>> >> being able to select which subset of tests would be run, but 
>>>>>>>>>>>>> >> that's an
>>>>>>>>>>>>> >> improvement that can be done later on.
>>>>>>>>>>>>> >>
>>>>>>>>>>>>> >> Tips are welcome.
>>>>>>>>>>>>> >>
>>>>>>>>>>>>> >> Best Regards,
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >After a few dicussions and some tests done when we met 
>>>>>>>>>>>>> >personally, I
>>>>>>>>>>>>> >found out that the patch was broken.
>>>>>>>>>>>>> >Taking Lukaš suggestion (almost) I've merged the -prepare and
>>>>>>>>>>>>> >-configure parts and re-worked the way we get the prefix.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >Now it seems to be working!
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >Best Regards,
>>>>>>>>>>>>> >--
>>>>>>>>>>>>> >Fabiano Fidêncio
>>>>>>>>>>>>>
>>>>>>>>>>>>> >From a33e1dffd063845e709f5fc1cfec93c330445ab4 Mon Sep 17 
>>>>>>>>>>>>> >00:00:00 2001
>>>>>>>>>>>>> >From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <[email protected]>
>>>>>>>>>>>>> >Date: Thu, 18 Aug 2016 16:24:17 +0200
>>>>>>>>>>>>> >Subject: [PATCH v2] BUILD: Add a few more targets for intg tests
>>>>>>>>>>>>> >MIME-Version: 1.0
>>>>>>>>>>>>> >Content-Type: text/plain; charset=UTF-8
>>>>>>>>>>>>> >Content-Transfer-Encoding: 8bit
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >Running "make intgcheck" has been proven to be a bit painful 
>>>>>>>>>>>>> >(mainly
>>>>>>>>>>>>> >when the developer is just writing down a single test case), as 
>>>>>>>>>>>>> >it
>>>>>>>>>>>>> >cleans up the build directory and fireis a new build before, 
>>>>>>>>>>>>> >finally,
>>>>>>>>>>>>> >run the tests.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >In order to make it a little less painful, let's break the whole
>>>>>>>>>>>>> >operation into 4 new targets:
>>>>>>>>>>>>> >    intgcheck-{prepare,build,run,clean}.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >As expected, "make intgcheck" calls these 4 new operations in 
>>>>>>>>>>>>> >the same
>>>>>>>>>>>>> >order they were presented, not changing then the current 
>>>>>>>>>>>>> >behavior.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >Each operation will trigger the previous one in case there is no
>>>>>>>>>>>>> >"$$prefix" directory created and the directory is _only_ created 
>>>>>>>>>>>>> >in the
>>>>>>>>>>>>> >very first operation (intghceck-prepare).
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >Signed-off-by: Fabiano Fidêncio <[email protected]>
>>>>>>>>>>>>> >---
>>>>>>>>>>>>> > Makefile.am | 52 
>>>>>>>>>>>>> > ++++++++++++++++++++++++++++++++++++----------------
>>>>>>>>>>>>> > 1 file changed, 36 insertions(+), 16 deletions(-)
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >diff --git a/Makefile.am b/Makefile.am
>>>>>>>>>>>>> >index 30d874e..8372b92 100644
>>>>>>>>>>>>> >--- a/Makefile.am
>>>>>>>>>>>>> >+++ b/Makefile.am
>>>>>>>>>>>>> >@@ -3076,30 +3076,50 @@ endif
>>>>>>>>>>>>> > # Integration tests #
>>>>>>>>>>>>> > #####################
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >-intgcheck:
>>>>>>>>>>>>> >+intgcheck-prepare:
>>>>>>>>>>>>> >     echo "temporarily disabled"
>>>>>>>>>>>>> >     set -e; \
>>>>>>>>>>>>> >-    rm -Rf intg; \
>>>>>>>>>>>>> >-    $(MKDIR_P) intg/bld; \
>>>>>>>>>>>>> >-    : Use /hopefully/ short prefix to keep D-Bus socket path 
>>>>>>>>>>>>> >short; \
>>>>>>>>>>>>> >-    prefix=`mktemp --tmpdir --directory sssd-intg.XXXXXXXX`; \
>>>>>>>>>>>>> >-    $(LN_S) "$$prefix" intg/pfx; \
>>>>>>>>>>>>> >-    cd intg/bld; \
>>>>>>>>>>>>> >+    rm -Rf intg ; \
>>>>>>>>>>>>> >+    $(MKDIR_P) intg/bld ; \
>>>>>>>>>>>>> >+    : Use /hopefully/ short prefix to keep D-Bus socket path 
>>>>>>>>>>>>> >short ; \
>>>>>>>>>>>>> >+    prefix=`mktemp --tmpdir --directory sssd-intg.XXXXXXXX` ; \
>>>>>>>>>>>>> >+    $(LN_S) "$$prefix" intg/pfx ; \
>>>>>>>>>>>>> >+    cd intg/bld ; \
>>>>>>>>>>>>> >     $(abs_top_srcdir)/configure \
>>>>>>>>>>>>> >-        --prefix="$$prefix" \
>>>>>>>>>>>>> >+        --prefix=$$prefix \
>>>>>>>>>>>>> >         --with-ldb-lib-dir="$$prefix"/lib/ldb \
>>>>>>>>>>>>> >         --enable-intgcheck-reqs \
>>>>>>>>>>>>> >         --without-semanage \
>>>>>>>>>>>>> >-        $(INTGCHECK_CONFIGURE_FLAGS); \
>>>>>>>>>>>>> >-    $(MAKE) $(AM_MAKEFLAGS); \
>>>>>>>>>>>>> >-    : Force single-thread install to workaround concurrency 
>>>>>>>>>>>>> >issues; \
>>>>>>>>>>>>> >-    $(MAKE) $(AM_MAKEFLAGS) -j1 install; \
>>>>>>>>>>>>> >-    : Remove .la files from LDB module directory to avoid 
>>>>>>>>>>>>> >loader warnings; \
>>>>>>>>>>>>> >-    rm "$$prefix"/lib/ldb/*.la; \
>>>>>>>>>>>>> >-    $(MAKE) $(AM_MAKEFLAGS) -C src/tests/intg 
>>>>>>>>>>>>> >intgcheck-installed; \
>>>>>>>>>>>>> >-    cd ../..; \
>>>>>>>>>>>>> >+        $(INTGCHECK_CONFIGURE_FLAGS) ; \
>>>>>>>>>>>>> >+    cd ../..
>>>>>>>>>>>>> >+
>>>>>>>>>>>>> >+intgcheck-build:
>>>>>>>>>>>>> >+    if [ ! -d intg/pfx ]; then $(MAKE) intgcheck-prepare; fi ; \
>>>>>>>>>>>>> >+    prefix=`readlink -e intg/pfx` ; \
>>>>>>>>>>>>> >+    cd intg/bld ; \
>>>>>>>>>>>>> >+    $(MAKE) $(AM_MAKEFLAGS) ; \
>>>>>>>>>>>>> >+    : Force single-thread install to workaround concurrency 
>>>>>>>>>>>>> >issues ; \
>>>>>>>>>>>>> >+    $(MAKE) $(AM_MAKEFLAGS) -j1 install ; \
>>>>>>>>>>>>> >+    : Remove .la files from LDB module directory to avoid 
>>>>>>>>>>>>> >loader warnings ; \
>>>>>>>>>>>>> >+    rm "$$prefix"/lib/ldb/*.la ; \
>>>>>>>>>>>>> >+    cd ../..
>>>>>>>>>>>>> >+
>>>>>>>>>>>>> >+intgcheck-run:
>>>>>>>>>>>>> >+    if [ ! -d intg/pfx ]; then $(MAKE) intgcheck-build; fi ; \
>>>>>>>>>>>>> >+    cd intg/bld ; \
>>>>>>>>>>>>> >+    $(MAKE) $(AM_MAKEFLAGS) -C src/tests/intg 
>>>>>>>>>>>>> >intgcheck-installed ; \
>>>>>>>>>>>>> >+    cd ../..
>>>>>>>>>>>>> >+
>>>>>>>>>>>>> >+intgcheck-clean:
>>>>>>>>>>>>> >+    prefix=`readlink -e intg/pfx` ; \
>>>>>>>>>>>>> >     rm -Rf "$$prefix" intg
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >+intgcheck:
>>>>>>>>>>>>> >+    $(MAKE) intgcheck-prepare
>>>>>>>>>>>>> >+    $(MAKE) intgcheck-build
>>>>>>>>>>>>> I would merge intgcheck-prepare and intgcheck-build bas well.
>>>>>>>>>>>
>>>>>>>>>>>Can be done. But if that's not a mandatory requirement I still think
>>>>>>>>>>>it may be useful for someone else in the way it's split.
>>>>>>>>>>>
>>>>>>>>>> "prepare" and "build" it's the same for me.
>>>>>>>>>> It is a prerequisity for
>>>>>>>>>> <userstory>
>>>>>>>>>>     As a developer, I need a way to run a single test without
>>>>>>>>>>     re-compiling SSSD every time and waiting for all the tests to
>>>>>>>>>>     finish.
>>>>>>>>>> </userstory>
>>>>>>>>>
>>>>>>>>>Okay. I've merged both and kept the "-build" name.
>>>>>>>>>
>>>>>>>> "-build" is a little bit confusing IMHO.
>>>>>>>> Because the target not only build sssd with custom prefix but also
>>>>>>>> *install* sssd. So prepare might be more appropriate.
>>>>>>>>
>>>>>>>> Sorry for nitpicking and fell free to propose different name.
>>>>>>>
>>>>>>>s/build/prepare done.
>>>>>>>Please, see the attached patch.
>>>>>>>
>>>>>>>Being completely honest here, I don't like the idea of not having a
>>>>>>>step that builds and installs.
>>>>>>>Let's see if someone complains in the future, then we can end up
>>>>>>>re-adding this extra step.
>>>>>>>
>>>>>>Agree, it might change in future when more people will try to write
>>>>>>tests.
>>>>>>
>>>>>>Personally, I will use just a intgcheck-prepare
>>>>>>then I will jump into intg/bld and then I will use
>>>>>>ordinary make targets (all, check, install, clean)
>>>>>>
>>>>>>Other intgcheck-* targets might be usefull for others
>>>>>>or they can be a considered as a backword compatibility
>>>>>>for CI script.
>>>>>>
>>>>>>>From 33e66d12b39ef1c4fa6e23b38a644bdbafa6b7e9 Mon Sep 17 00:00:00 2001
>>>>>>>From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <[email protected]>
>>>>>>>Date: Thu, 18 Aug 2016 16:24:17 +0200
>>>>>>>Subject: [PATCH v4] BUILD: Add a few more targets for intg tests
>>>>>>>MIME-Version: 1.0
>>>>>>>Content-Type: text/plain; charset=UTF-8
>>>>>>>Content-Transfer-Encoding: 8bit
>>>>>>>
>>>>>>>Running "make intgcheck" has been proven to be a bit painful (mainly
>>>>>>>when the developer is just writing down a single test case), as it
>>>>>>>cleans up the build directory and fireis a new build before, finally,
>>>>>>>run the tests.
>>>>>>>
>>>>>>>In order to make it a little less painful, let's break the whole
>>>>>>>operation into 3 new targets:
>>>>>>>    intgcheck-{prepare,run,clean}.
>>>>>>>
>>>>>>>As expected, "make intgcheck" calls these 3 new operations in the same
>>>>>>>order they were presented, not changing then the current behavior.
>>>>>>>
>>>>>>>Each operation will trigger the previous one in case there is no
>>>>>>>"$$prefix" directory created and the directory is _only_ created in the
>>>>>>>very first operation (intghcheck-prepare).
>>>>>>>
>>>>>>>A note must be done about how to run a simple test file or a simple test
>>>>>>>from a test file when running "make intgcheck-run". The option always
>>>>>>>been here but only makes sense now that we have the intgcheck split in a
>>>>>>>few useful steps. See the examples below (and for more detailed
>>>>>>>information, check the py.test documentation):
>>>>>>> #Run a single file
>>>>>>> INTGCHECK_PYTEST_ARGS="-k test_netgroup.py" make intgcheck-run
>>>>>>> #Run a single test from a single file
>>>>>>> INTGCHECK_PYTEST_ARGS="test_netgroup.py -k test_add_empty_netgroup" 
>>>>>>> make intgcheck-run
>>>>>>>
>>>>>>>Signed-off-by: Fabiano Fidêncio <[email protected]>
>>>>>>>---
>>>>>>> Makefile.am | 17 +++++++++++++++--
>>>>>>> 1 file changed, 15 insertions(+), 2 deletions(-)
>>>>>>>
>>>>>>ACK.
>>>>>>
>>>>>>Just waiting for Ci results. We do not want to break them :-)
>>>>>>
>>>>> http://sssd-ci.duckdns.org/logs/job/52/62/summary.html
>>>>>
>>>>> master:
>>>>> * 6159c33125f8ee82e88d495ea2aa5d00018ea844
>>>>>
>>>>> And I would like to keep workflow the same for stable branch
>>>>>
>>>>> sssd-1-13:
>>>>> * 3bfe059a2af7e839ef9b54961403ddffa51f77f7
>>>>
>>>>Ouch, seems that one typo was not caught during the review/CI.
>>>>Sorry about that but we will also need to push the attached patch for
>>>>both master and 1-13.
>>>>
>>>>>
>>>>> LS
>>>>> _______________________________________________
>>>>> sssd-devel mailing list
>>>>> [email protected]
>>>>> https://lists.fedorahosted.org/admin/lists/[email protected]
>>>
>>>>From 711e8c3cfca88e1431b6f667946c901f02665b31 Mon Sep 17 00:00:00 2001
>>>>From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <[email protected]>
>>>>Date: Mon, 29 Aug 2016 16:01:59 +0200
>>>>Subject: [PATCH] BUILD: Fix typo in intgcheck-run rule
>>>>MIME-Version: 1.0
>>>>Content-Type: text/plain; charset=UTF-8
>>>>Content-Transfer-Encoding: 8bit
>>>>
>>>>During the review process "intgcheck-build" ended up being merged to the
>>>>"intgcheck-prepare" rule.
>>>>
>>>>Signed-off-by: Fabiano Fidêncio <[email protected]>
>>>>---
>>>> Makefile.am | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>>diff --git a/Makefile.am b/Makefile.am
>>>>index 4a56d8b..25a81b9 100644
>>>>--- a/Makefile.am
>>>>+++ b/Makefile.am
>>>>@@ -3099,7 +3099,7 @@ intgcheck-prepare:
>>>>      cd ../..
>>>>
>>>> intgcheck-run:
>>>>-     if [ ! -d intg/pfx ]; then $(MAKE) intgcheck-build; fi; \
>>>>+     if [ ! -d intg/pfx ]; then $(MAKE) intgcheck-prepare; fi; \
>>>>      cd intg/bld; \
>>>>      $(MAKE) $(AM_MAKEFLAGS) -C src/tests/intg intgcheck-installed; \
>>>>      cd ../..
>>>>--
>>>>2.7.4
>>>>
>>>ACK
>>>
>>>I tested intgcheck-run but I forgot that directory was already created
>>>due to intgcheck-prepare.
>>>
>> BTW the 1st invocation of make intgcheck-run took
>>   real    0m58.740s
>>   user    3m5.992s
>>   sys     1m54.904s
>> and the 2nd just a
>>   real    0m4.718s
>>   user    0m0.619s
>>   sys     0m0.159s
>>
>> master:
>> * 9639cf410dd6ba9670748535811f061e0c475bc6
>
>Should be applied to 1-13 as well, right?
>
Sure

sssd-1-13:
* 6357b97dcadc6265e6ed1912ba6715a379f03ed4

LS
_______________________________________________
sssd-devel mailing list
[email protected]
https://lists.fedorahosted.org/admin/lists/[email protected]

Reply via email to