I am helping beber admin but given that there is no system documentation on how 
things are complexly setup I feel I am not much help to fix this issue.

Sent from my iPhone

> On 16 Dec 2016, at 11:43, Gustavo Sverzut Barbieri <barbi...@gmail.com> wrote:
> 
>> On Fri, Dec 16, 2016 at 7:54 AM, Stefan Schmidt <ste...@osg.samsung.com> 
>> wrote:
>> Hello.
>> 
>>> On 13/12/16 16:32, Gustavo Sverzut Barbieri wrote:
>>>> On Tue, Dec 13, 2016 at 11:54 AM, Stefan Schmidt <ste...@osg.samsung.com> 
>>>> wrote:
>>>> Hello.
>>>> 
>>>>> On 13/12/16 14:09, Felipe Magno de Almeida wrote:
>>>>>> On Tue, Dec 13, 2016 at 8:28 AM, Stefan Schmidt <ste...@osg.samsung.com> 
>>>>>> wrote:
>>>>>> Hello.
>>>>> 
>>>>> [snip]
>>>>> 
>>>>>> I fully agree (even have native IPv6 here) but we need to be defensive
>>>>>> what we expect to be available in our test suite.
>>>>> 
>>>>> Why? It is testing, I agree we should need to be defensive in the
>>>>> implementation and interfaces where EFL might run in stranger
>>>>> environments,
>>>> 
>>>> If the implementation would handle this all gracefully the test would
>>>> never had been a problem. :)
>>> 
>>> no no... the code gracefully handles that, but the test is explicit
>>> "resolve ::1 to ::1 and I expect it to work". The test itself should
>>> be conditional and I'm willing to do that, HOWEVER our test bots
>>> should have IPv6 so we check that code.
>>> 
>>> 
>>> 
>>>> but a test that fails on a machine that doesn't
>>>>> handle IPv6 seems fine to me as long as it is rare enough.
>>>> 
>>>> We assume IPv6 now, we assume a working internet connection, we assume
>>>> udev for eeze testing, we assume a working dbus setup, in some cases we
>>>> assume a file system which supports extended attributes, etc...
>>>> 
>>>> If it is complicated to run make check we will have even less people
>>>> running it. It should be the other way around. I guess I could look at
>>>> anybody here who contributed a few patches this year and see someone who
>>>> broke make check. If it is to complicated or fails for some reason
>>>> people will just stop using it.
>>> 
>>> our test suite is unusable the way it is...
>> 
>> While I agree that the test suite needs improvements calling it unusable
>> is over the top.
> 
> ok, so  improved... particularly for developers to run them... also
> something that simplifies to write them, and how to do it properly.
> 
> For instance, very few tests uses correct macros in check.h, like
> ck_assert_int_eq(), that will highlight expected values and required
> values, compared to failif(a == b). Some tests miss granularity, so
> they do bunch of tests at once, missing the "unit test" aspect...  and
> while we can manually select the test suite to run (calling it
> directly), and sometimes the component (ie: ecore_con_suite -h to list
> them), it would be very helpful to select individual functions to
> test, particularly under development. And some helpers to debug
> failing tests (I always need to check for CK_FORK=no and things like
> that).
> 
> what happens in most of the cases is that the suite is painful to deal
> with so it's easier to write the "other required" bit that is the
> example and test from there, rather than do it from the test suite...
> which is what I did, and some guys follow the same pattern (or just
> commit to enlightenment an usage).
> 
> 
>>  really it lacks
>>> granularity, it takes lots of time and most of the time it looks like
>>> it failed since people forget to trap EINA_LOG to capture errors, then
>>> you get tons of error messages (although the test reports success,
>>> messages confuses users).
>> 
>> In the normal run you see a green PASS or red FAILED. The eina_log
>> errors are only in the log file itself.
> 
> still, this is for build bot or random users running the tests. Not to
> us, the developers... you're going to run the full test suite after
> each development step... becomes costly and painful :-/
> 
> 
>> What is the way to trap these
>> error messages that will come if we do test error cases? IIRC you did
>> eina_log initially so you surely have a good solution here. :)
> 
> see src/tests/ecore_con/ecore_con_test_efl_net_ip_address.c
> 
> but it was done in a similar way for other tests, you simply trap by
> providing your own print callback and checking if you got the message
> you expected.
> 
> and this is the kind of stuff that we could improve as well.. I had to
> find in the code other similar usages and redo it... but it's not that
> generic that can be used everywhere... so a better solution would be
> handy. as well as more "ck_assert*" macros for our stuff, like
> "ck_assert_eina_list_str_equal()",
> "ck_assert_eina_list_str_contains()", and things like that. Also ways
> to run the main loop with an automatic timeout, ecore_con_suite for
> failed tests were cumbersome to test as if you didn't get a result
> (ie: ecore_con_url test), then it would sit there forever... adding an
> ecore_timer_add() + ecore_main_loop_quit() would help, but this could
> be automatic.
> 
> 
>>> just  the time it takes to run it all is one of the reasons I don't
>>> run them that frequently. :-/
>> 
>> You know that you can run the suites individually. When doing ecore_con
>> stuff for example you could ignore the suites like eina and ecore which
>> take a lot time.
> 
> still, I was doing ip_address tests and ecore_con_url and
> ecore_con_server tests took a painful amount of time... with lots of
> logs on their own... why can't I simply say:
> 
> ecore_con_suite 
> Efl_Net_Ip_Address:ecore_test_efl_net_ip_address_ipv4_manual_ok
> 
> or something similar to that, so I can run a single test case?
> 
> 
>> On a bigger patchset I would still expect that you run
>> a full make check before pushing due to all the possible side effects
>> the changes could have.
>> 
>> POretty sure the time costs of not running it, letting me find them,
>> bisect them, report them back to you and then dealing with me over mail
>> is higher compared to running them before pushing a patchset and fixing
>> them. :P
> 
> :-) that I agree, and sorry for those in the past :-D
> 
> -- 
> Gustavo Sverzut Barbieri
> --------------------------------------
> Mobile: +55 (16) 99354-9890
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most 
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to