buildr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lacton (JIRA)" <j...@apache.org>
Subject [jira] Commented: (BUILDR-99) Tests should be run according to dependency order
Date Wed, 09 Jul 2008 06:10:31 GMT

    [ 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.


Mime
View raw message