On Mon, Aug 29, 2016 at 03:51:06PM +0200, Lukas Slebodnik 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 <lsleb...@redhat.com> 
> >>wrote:
> >>> On (29/08/16 14:15), Fabiano Fidêncio wrote:
> >>>>On Mon, Aug 29, 2016 at 12:36 PM, Lukas Slebodnik <lsleb...@redhat.com> 
> >>>>wrote:
> >>>>> On (29/08/16 12:08), Fabiano Fidêncio wrote:
> >>>>>>On Mon, Aug 29, 2016 at 11:12 AM, Jakub Hrozek <jhro...@redhat.com> 
> >>>>>>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 
> >>>>>>>> ><fiden...@redhat.com> 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?= <fiden...@redhat.com>
> >>>>>>>> >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 <fiden...@redhat.com>
> >>>>>>>> >---
> >>>>>>>> > 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?= <fiden...@redhat.com>
> >>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 <fiden...@redhat.com>
> >>---
> >> 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

awesome!

Can we:
    1) file tickets for any additional work?
    2) write a wiki page for developers with instructions how to run the
    tests?
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to