You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Aki Yoshida <el...@gmail.com> on 2014/11/14 16:53:04 UTC

Re: Faster execution of JUnit tests

Hi Camel-Team,
I have been talking with Milos about this ekstazi tool.
Although we have identified a few shortcomings in some cases during
our tests and discussion, I think this tool offers an interesting test
option for Camel developers. And I believe It will be a mutual benefit
for us to use this tool as a testing option and to give them our
feedback.

Milos has prepared a profile for this tool and we can keep this
profile disabled by default. So there will be no change to the default
build and tests.
You can try it out by using profile ekstazi.
so running the following mvn comand twice, in the second time, there
will be much less tests executed (ideally, only those relevant to the
changes that took place between the two builds).

mvn -Pekstazi test

when you want to rerun all the tests, you can set property
esktazi.forcelall to true.
-Dekstazi.forceall=true

For more details, you can look at their online documentation or just
ask him ;-).

I am planning to add this profile to master. If you have objections or
concern, please let me know.

Thanks.

regards, aki


2014-10-14 16:31 GMT+02:00 Jan Matèrne (jhm) <ap...@materne.de>:
> For info: ASL 2.0
> http://www.ekstazi.org/downloads.html
>
> cheers
> Jan
>
>> -----Ursprüngliche Nachricht-----
>> Von: Milos Gligoric [mailto:milos.gligoric@gmail.com]
>> Gesendet: Dienstag, 14. Oktober 2014 14:21
>> An: dev@camel.apache.org
>> Betreff: Faster execution of JUnit tests
>>
>> Dear All,
>>
>> We have been developing a tool that speeds up the execution of JUnit
>> tests.  The tool automatically detects recent changes and runs only a
>> subset of the tests.  We have tried the tool on several Apache
>> projects, including camel-core, and obtained significant savings in
>> execution time (on average over several commits).
>>
>> Our tool, called Ekstazi (pronounced "ecstasy") is available online:
>>
>>   www.ekstazi.org
>>
>> It should be trivial to integrate Ekstazi in your development process;
>> it is also available from Maven central.
>>
>> A couple of Apache developers have already tried our tool and we were
>> encouraged to share the info on this mailing list.
>>
>> We hope that you get a chance to try Ekstazi.  We would be happy to
>> answer any question and to help with the setup if needed.  Also if any
>> feature is missing, we can add it.
>>
>> Thanks,
>> Milos
>> http://mir.cs.illinois.edu/gliga/
>

Re: Faster execution of JUnit tests

Posted by Aki Yoshida <el...@gmail.com>.
Okay.
we can now move this and further conversations on ekstazi to the new
google group.
;-)
regards, aki

2014-11-27 4:57 GMT+01:00 Milos Gligoric <mi...@gmail.com>:
> Hi,
>
>> +1 for using a dedicated jira and forum.
>
> As suggested, I created a Google group:
> https://groups.google.com/forum/#!forum/ekstazi. Also, GitHub page can
> be used to track issues and request features:
> https://github.com/gliga/ekstazi/issues.  Let me know if you prefer
> JIRA.
>
> Let me also reply to Henryk's questions:
>
>> Next question then - is there a way to automatically skip 'select'
>> goal if tests are skipped?
>
> I uploaded a new version of Ekstazi (4.3.1) today, which skips the
> execution if skipTests is set to true.  (Same as surefire, Ekstazi
> prints an info message in this case.)
>
> I will next work on simplifying integration of Ekstazi in pom.xml, as
> suggested by Henryk (i.e., removing "excludesFile" and "argLine").
>
> Looking forward to more feedback on the Google group,
> Thanks,
> Milos
>
>> p.s. by the way, the profile has been added in master.
>
> Great!
>
>
> On Wed, Nov 26, 2014 at 1:36 PM, Aki Yoshida <el...@gmail.com> wrote:
>> @Milos,
>> +1 for using a dedicated jira and forum.
>>
>> regards, aki
>> p.s. by the way, the profile has been added in master.
>>
>>
>>
>>
>>
>> 2014-11-20 23:04 GMT+01:00 Henryk Konsek <he...@gmail.com>:
>>> Hi Milos,
>>>
>>>> in the next version (which I plan to release
>>>> before the end of the month) no change to the existing pom files will
>>>> be needed.  The only requirement will be to include Ekstazi plugin.
>>>
>>> +1
>>>
>>>> b) This is an item that I also discussed with Aki.  We agreed that
>>>> this is an important item and I plan to get to this as soon as I am
>>>> done with a).
>>>
>>> +1 :)
>>>
>>> Next question then - is there a way to automatically skip 'select'
>>> goal if tests are skipped? I know that I can enclose Ekstazi
>>> definition in the profile like that:
>>>
>>> <activation>
>>>   <property>
>>>     <name>!skipTests</name>
>>>   </property>
>>> </activation>
>>>
>>> ...but I will be nice if Ekstazi could detect this property by itself,
>>> to avoid profile boilerplate in POM. It doesn't make sense to call
>>> 'select' goal (what can take some time for larger modules) if we know
>>> that tests will be skipped anyway.
>>>
>>> BTW Do you have a Jira and forum? Google group dedicated for the
>>> project would be nice :) .
>>>
>>> Cheers.
>>>
>>> --
>>> Henryk Konsek
>>> http://henryk-konsek.blogspot.com

Re: Faster execution of JUnit tests

Posted by Milos Gligoric <mi...@gmail.com>.
Hi,

> +1 for using a dedicated jira and forum.

As suggested, I created a Google group:
https://groups.google.com/forum/#!forum/ekstazi. Also, GitHub page can
be used to track issues and request features:
https://github.com/gliga/ekstazi/issues.  Let me know if you prefer
JIRA.

Let me also reply to Henryk's questions:

> Next question then - is there a way to automatically skip 'select'
> goal if tests are skipped?

I uploaded a new version of Ekstazi (4.3.1) today, which skips the
execution if skipTests is set to true.  (Same as surefire, Ekstazi
prints an info message in this case.)

I will next work on simplifying integration of Ekstazi in pom.xml, as
suggested by Henryk (i.e., removing "excludesFile" and "argLine").

Looking forward to more feedback on the Google group,
Thanks,
Milos

> p.s. by the way, the profile has been added in master.

Great!


On Wed, Nov 26, 2014 at 1:36 PM, Aki Yoshida <el...@gmail.com> wrote:
> @Milos,
> +1 for using a dedicated jira and forum.
>
> regards, aki
> p.s. by the way, the profile has been added in master.
>
>
>
>
>
> 2014-11-20 23:04 GMT+01:00 Henryk Konsek <he...@gmail.com>:
>> Hi Milos,
>>
>>> in the next version (which I plan to release
>>> before the end of the month) no change to the existing pom files will
>>> be needed.  The only requirement will be to include Ekstazi plugin.
>>
>> +1
>>
>>> b) This is an item that I also discussed with Aki.  We agreed that
>>> this is an important item and I plan to get to this as soon as I am
>>> done with a).
>>
>> +1 :)
>>
>> Next question then - is there a way to automatically skip 'select'
>> goal if tests are skipped? I know that I can enclose Ekstazi
>> definition in the profile like that:
>>
>> <activation>
>>   <property>
>>     <name>!skipTests</name>
>>   </property>
>> </activation>
>>
>> ...but I will be nice if Ekstazi could detect this property by itself,
>> to avoid profile boilerplate in POM. It doesn't make sense to call
>> 'select' goal (what can take some time for larger modules) if we know
>> that tests will be skipped anyway.
>>
>> BTW Do you have a Jira and forum? Google group dedicated for the
>> project would be nice :) .
>>
>> Cheers.
>>
>> --
>> Henryk Konsek
>> http://henryk-konsek.blogspot.com

Re: Faster execution of JUnit tests

Posted by Aki Yoshida <el...@gmail.com>.
@Milos,
+1 for using a dedicated jira and forum.

regards, aki
p.s. by the way, the profile has been added in master.





2014-11-20 23:04 GMT+01:00 Henryk Konsek <he...@gmail.com>:
> Hi Milos,
>
>> in the next version (which I plan to release
>> before the end of the month) no change to the existing pom files will
>> be needed.  The only requirement will be to include Ekstazi plugin.
>
> +1
>
>> b) This is an item that I also discussed with Aki.  We agreed that
>> this is an important item and I plan to get to this as soon as I am
>> done with a).
>
> +1 :)
>
> Next question then - is there a way to automatically skip 'select'
> goal if tests are skipped? I know that I can enclose Ekstazi
> definition in the profile like that:
>
> <activation>
>   <property>
>     <name>!skipTests</name>
>   </property>
> </activation>
>
> ...but I will be nice if Ekstazi could detect this property by itself,
> to avoid profile boilerplate in POM. It doesn't make sense to call
> 'select' goal (what can take some time for larger modules) if we know
> that tests will be skipped anyway.
>
> BTW Do you have a Jira and forum? Google group dedicated for the
> project would be nice :) .
>
> Cheers.
>
> --
> Henryk Konsek
> http://henryk-konsek.blogspot.com

Re: Faster execution of JUnit tests

Posted by Henryk Konsek <he...@gmail.com>.
Hi Milos,

> in the next version (which I plan to release
> before the end of the month) no change to the existing pom files will
> be needed.  The only requirement will be to include Ekstazi plugin.

+1

> b) This is an item that I also discussed with Aki.  We agreed that
> this is an important item and I plan to get to this as soon as I am
> done with a).

+1 :)

Next question then - is there a way to automatically skip 'select'
goal if tests are skipped? I know that I can enclose Ekstazi
definition in the profile like that:

<activation>
  <property>
    <name>!skipTests</name>
  </property>
</activation>

...but I will be nice if Ekstazi could detect this property by itself,
to avoid profile boilerplate in POM. It doesn't make sense to call
'select' goal (what can take some time for larger modules) if we know
that tests will be skipped anyway.

BTW Do you have a Jira and forum? Google group dedicated for the
project would be nice :) .

Cheers.

-- 
Henryk Konsek
http://henryk-konsek.blogspot.com

Re: Faster execution of JUnit tests

Posted by Milos Gligoric <mi...@gmail.com>.
Hi Henryk,

[ As I am travelling until November 25, my replies are not prompt. ]

It is great that you had a chance to try Ekstazi; thanks for the
feedback.  I am happy that you liked it.

Answers to your questions:

a) Currently, excludesFile (and sometimes argLine) has to be
specified. However, in the next version (which I plan to release
before the end of the month) no change to the existing pom files will
be needed.  The only requirement will be to include Ekstazi plugin.

b) This is an item that I also discussed with Aki.  We agreed that
this is an important item and I plan to get to this as soon as I am
done with a).

I will send you updates for the items above.  Please, let me know if
you have any other questions/comments.

Thanks and have a good time at the conference,
Milos



On Sat, Nov 15, 2014 at 1:55 PM, Henryk Konsek <he...@gmail.com> wrote:
> Hi guys,
>
> I've just been playing with Ekstazi and it looks really promising.
> Good job, guys! Some questions from my side:
>
> a) do we really have to specify this excludeFile on Surefire plugin? :)
>
> b) can you add support for retsting the whole Maven module on pom.xml
> or src/*/resource/* change?
>
> +1 for ekstazi profile. Thanks for adding it, Aki. BTW see you at the
> ApacheCon in the few days :) .
>
> Cheers.
>
>
> On Fri, Nov 14, 2014 at 4:53 PM, Aki Yoshida <el...@gmail.com> wrote:
>> Hi Camel-Team,
>> I have been talking with Milos about this ekstazi tool.
>> Although we have identified a few shortcomings in some cases during
>> our tests and discussion, I think this tool offers an interesting test
>> option for Camel developers. And I believe It will be a mutual benefit
>> for us to use this tool as a testing option and to give them our
>> feedback.
>>
>> Milos has prepared a profile for this tool and we can keep this
>> profile disabled by default. So there will be no change to the default
>> build and tests.
>> You can try it out by using profile ekstazi.
>> so running the following mvn comand twice, in the second time, there
>> will be much less tests executed (ideally, only those relevant to the
>> changes that took place between the two builds).
>>
>> mvn -Pekstazi test
>>
>> when you want to rerun all the tests, you can set property
>> esktazi.forcelall to true.
>> -Dekstazi.forceall=true
>>
>> For more details, you can look at their online documentation or just
>> ask him ;-).
>>
>> I am planning to add this profile to master. If you have objections or
>> concern, please let me know.
>>
>> Thanks.
>>
>> regards, aki
>>
>>
>> 2014-10-14 16:31 GMT+02:00 Jan Matèrne (jhm) <ap...@materne.de>:
>>> For info: ASL 2.0
>>> http://www.ekstazi.org/downloads.html
>>>
>>> cheers
>>> Jan
>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Milos Gligoric [mailto:milos.gligoric@gmail.com]
>>>> Gesendet: Dienstag, 14. Oktober 2014 14:21
>>>> An: dev@camel.apache.org
>>>> Betreff: Faster execution of JUnit tests
>>>>
>>>> Dear All,
>>>>
>>>> We have been developing a tool that speeds up the execution of JUnit
>>>> tests.  The tool automatically detects recent changes and runs only a
>>>> subset of the tests.  We have tried the tool on several Apache
>>>> projects, including camel-core, and obtained significant savings in
>>>> execution time (on average over several commits).
>>>>
>>>> Our tool, called Ekstazi (pronounced "ecstasy") is available online:
>>>>
>>>>   www.ekstazi.org
>>>>
>>>> It should be trivial to integrate Ekstazi in your development process;
>>>> it is also available from Maven central.
>>>>
>>>> A couple of Apache developers have already tried our tool and we were
>>>> encouraged to share the info on this mailing list.
>>>>
>>>> We hope that you get a chance to try Ekstazi.  We would be happy to
>>>> answer any question and to help with the setup if needed.  Also if any
>>>> feature is missing, we can add it.
>>>>
>>>> Thanks,
>>>> Milos
>>>> http://mir.cs.illinois.edu/gliga/
>>>
>
>
>
> --
> Henryk Konsek
> http://henryk-konsek.blogspot.com

Re: Faster execution of JUnit tests

Posted by Henryk Konsek <he...@gmail.com>.
Hi guys,

I've just been playing with Ekstazi and it looks really promising.
Good job, guys! Some questions from my side:

a) do we really have to specify this excludeFile on Surefire plugin? :)

b) can you add support for retsting the whole Maven module on pom.xml
or src/*/resource/* change?

+1 for ekstazi profile. Thanks for adding it, Aki. BTW see you at the
ApacheCon in the few days :) .

Cheers.


On Fri, Nov 14, 2014 at 4:53 PM, Aki Yoshida <el...@gmail.com> wrote:
> Hi Camel-Team,
> I have been talking with Milos about this ekstazi tool.
> Although we have identified a few shortcomings in some cases during
> our tests and discussion, I think this tool offers an interesting test
> option for Camel developers. And I believe It will be a mutual benefit
> for us to use this tool as a testing option and to give them our
> feedback.
>
> Milos has prepared a profile for this tool and we can keep this
> profile disabled by default. So there will be no change to the default
> build and tests.
> You can try it out by using profile ekstazi.
> so running the following mvn comand twice, in the second time, there
> will be much less tests executed (ideally, only those relevant to the
> changes that took place between the two builds).
>
> mvn -Pekstazi test
>
> when you want to rerun all the tests, you can set property
> esktazi.forcelall to true.
> -Dekstazi.forceall=true
>
> For more details, you can look at their online documentation or just
> ask him ;-).
>
> I am planning to add this profile to master. If you have objections or
> concern, please let me know.
>
> Thanks.
>
> regards, aki
>
>
> 2014-10-14 16:31 GMT+02:00 Jan Matèrne (jhm) <ap...@materne.de>:
>> For info: ASL 2.0
>> http://www.ekstazi.org/downloads.html
>>
>> cheers
>> Jan
>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Milos Gligoric [mailto:milos.gligoric@gmail.com]
>>> Gesendet: Dienstag, 14. Oktober 2014 14:21
>>> An: dev@camel.apache.org
>>> Betreff: Faster execution of JUnit tests
>>>
>>> Dear All,
>>>
>>> We have been developing a tool that speeds up the execution of JUnit
>>> tests.  The tool automatically detects recent changes and runs only a
>>> subset of the tests.  We have tried the tool on several Apache
>>> projects, including camel-core, and obtained significant savings in
>>> execution time (on average over several commits).
>>>
>>> Our tool, called Ekstazi (pronounced "ecstasy") is available online:
>>>
>>>   www.ekstazi.org
>>>
>>> It should be trivial to integrate Ekstazi in your development process;
>>> it is also available from Maven central.
>>>
>>> A couple of Apache developers have already tried our tool and we were
>>> encouraged to share the info on this mailing list.
>>>
>>> We hope that you get a chance to try Ekstazi.  We would be happy to
>>> answer any question and to help with the setup if needed.  Also if any
>>> feature is missing, we can add it.
>>>
>>> Thanks,
>>> Milos
>>> http://mir.cs.illinois.edu/gliga/
>>



-- 
Henryk Konsek
http://henryk-konsek.blogspot.com