Allen Wittenauer created YETUS-656:
--------------------------------------

             Summary: Reduce build time by skipping tests in no-test-triggering 
modules
                 Key: YETUS-656
                 URL: https://issues.apache.org/jira/browse/YETUS-656
             Project: Yetus
          Issue Type: Improvement
          Components: Test Patch
            Reporter: Allen Wittenauer
            Assignee: Allen Wittenauer


While thinking about  --skip-dirs, and .gitignore, and config files that sit in 
the base of a source tree, it occurred to me that modifying them while also 
modifying another file elsewhere in the tree has a severely negative 
consequence that probably could be avoided almost automatically.

For example:

Patch modifies:

        /BUILDING.txt
        /coolproject-main/src/main/java/Foo.java


Current path:

        /BUILDING.txt - > no tests triggered
        /coolproject-main/../Foo.java -> compile, javac, javadoc, unit, ...


Result:

        / and /cool-project-main directories get compile, javac, javadoc, unit, 
... run.


Proposal:

        Keep track of which modules have which tests triggered.  Ask the 
personality if (list of modules that didn't trigger tests) should be run while 
running a given test.  Or ask the plugin whether that module should be run?

        This would mean that, for example, if BUILDING.txt is modified in /, 
unit tests wouldn't be run for the whole project.

[NOTE: This might not be viable while test-patch is written in shell.  As I 
finish the rewrite in Python though, this might be something to look at...]




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to