Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
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...]
Attachments
Attachments
Issue Links
- is related to
-
YETUS-21 patch to a unit test should only trigger that unit test
- Resolved