RFR: 8237566: FindTests.gmk should only include existing TEST.ROOT files

Erik Helin erik.helin at oracle.com
Thu Feb 13 12:44:41 UTC 2020


Hi all,

this small patch changes FindTest.gmk to only include TEST.ROOT files 
that actually are present. The motivation for this change is that both 
Git and Mercurial supports so called "sparse" checkouts [0][1] (still 
somewhat experimental for both, but actively worked on). While 
experimenting with these features I noticed that FindTests.gmk demands 
that test/{jtreg,jdk,langtools,nashorn,jaxp}/TEST.ROOT are present even 
if you are only trying to run e.g. `make hotspot`. This small patch 
ensures that we only include TEST.ROOT files that actually exist on disk.

Webrev:
https://cr.openjdk.java.net/~ehelin/8237566/00/

Issue:
https://bugs.openjdk.java.net/browse/JDK-8237566

Testing:
- Tier 1,2,3 on Linux, macOS, Windows (all x64)

Thanks,
Erik

[0]: https://www.mercurial-scm.org/repo/hg/file/tip/hgext/sparse.py
[1]: 
https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/

PS. For the curious, I did manage to create a minimal working directory 
for hotspot using git version 2.25 (with this patch applied):

$ git clone https://github.com/openjdk/jdk --no-checkout
$ cd jdk
$ git sparse-checkout init --cone
$ git sparse-checkout set make src/java.base src/hotspot
$ curl https://cr.openjdk.java.net/~ehelin/8237566/00/JDK-8237566.patch 
| git apply
$ bash configure
$ make hotspot


More information about the build-dev mailing list