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)