[ 
https://issues.apache.org/jira/browse/BUILDR-99?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611908#action_12611908
 ] 

Lacton commented on BUILDR-99:
------------------------------

Thinking more about this issue, it occurred to me that the test order should 
respect test dependencies and not just compile dependencies.

E.g.,

define "test_order2" do
  define "moduleA" do
    test.with project('moduleB') # moduleA has no compile dependencies, but it 
uses moduleB.jar at runtime for testing purpose.
    package :jar
  end
  define "moduleB" do
    package :jar
  end
end

I guess it means all test tasks of the projects figuring in the test 
dependencies of a given module should be run before running the test task of 
this module (e.g., 'moduleA:test'=>'moduleB:test').

That would mirror the behavior for compiling (i.e., all compile tasks of the 
projects figuring in the compile dependencies of a given module are run before 
running the compile task of this module).

> Tests should be run according to dependency order
> -------------------------------------------------
>
>                 Key: BUILDR-99
>                 URL: https://issues.apache.org/jira/browse/BUILDR-99
>             Project: Buildr
>          Issue Type: Improvement
>          Components: Test frameworks
>    Affects Versions: 1.3.1, 1.3.2
>            Reporter: Lacton
>            Priority: Minor
>             Fix For: 1.3.3
>
>
> Let's have two modules, moduleA and moduleB.
> Let's say moduleA depends on moduleB.
> buildr compiles moduleB before compiling moduleA. This is the expected 
> behavior.
> Then buildr runs tests from moduleA before running tests from moduleB. This 
> behavior can be misleading. A defect in moduleB could make a test in moduleA 
> fail. The test process will stop at moduleA and will not show the failing 
> test in moduleB.
> Although the information that a test in moduleB is failing can be obtained by 
> calling buildr with the 'test=all' option, it requires more intellectual 
> effort to analyze the situation.
> I propose buildr runs tests according to the test dependency tree.
> define "test_order" do
>   define "moduleA" do
>     compile.with project('moduleB')
>     package :jar
>   end
>   define "moduleB" do
>     package :jar
>   end
> end

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to