RFR: 8290504: Close streams returned by ModuleReader::list
Chris Hegarty
chegar at openjdk.org
Wed Jul 20 08:18:00 UTC 2022
On Tue, 19 Jul 2022 14:07:17 GMT, Ryan Ernst <duke at openjdk.org> wrote:
> This commit ensures streams returned by ModuleReader::list are closed.
test/jdk/java/lang/invoke/callerSensitive/CallerSensitiveAccess.java line 411:
> 409: try (ModuleReader reader = mref.open();
> 410: Stream<String> stream = reader.list()) {
> 411: return stream
This change is causing the test to fail, in the `callerSensitiveMethods` DataProvider, because the data provider is expecting an open stream to be returned by `callerSensitiveMethods(Module)` - the stream is now closed.
There are a couple of ways to resolve this, but the most straightforward would be to revert this part of the change, and have the `callerSensitiveMethods` DataProvider close the returned stream. E.g.:
@DataProvider(name = "callerSensitiveMethods")
static Object[][] callerSensitiveMethods() {
try (var methodStream = callerSensitiveMethods(Object.class.getModule())) {
return methodStream
.map(m -> new Object[]{m, shortDescription(m)})
.toArray(Object[][]::new);
}
}
-------------
PR: https://git.openjdk.org/jdk/pull/9557
More information about the core-libs-dev
mailing list