--- old/test/jdk/java/net/httpclient/security/Security.java 2017-11-30 04:05:34.612411630 -0800 +++ new/test/jdk/java/net/httpclient/security/Security.java 2017-11-30 04:05:34.417394585 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -82,7 +82,6 @@ import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionStage; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; import java.util.concurrent.Flow; @@ -297,15 +296,15 @@ CompletableFuture> cf = client.sendAsync(request, new HttpResponse.BodyHandler() { @Override - public HttpResponse.BodyProcessor apply(int status, HttpHeaders responseHeaders) { - final HttpResponse.BodyProcessor stproc = sth.apply(status, responseHeaders); - return new HttpResponse.BodyProcessor() { + public HttpResponse.BodySubscriber apply(int status, HttpHeaders responseHeaders) { + final HttpResponse.BodySubscriber stproc = sth.apply(status, responseHeaders); + return new HttpResponse.BodySubscriber() { @Override public CompletionStage getBody() { return stproc.getBody(); } @Override - public void onNext(ByteBuffer item) { + public void onNext(List item) { SecurityManager sm = System.getSecurityManager(); // should succeed. sm.checkPermission(new RuntimePermission("foobar")); @@ -337,6 +336,9 @@ Throwable t = e.getCause(); if (t instanceof SecurityException) throw (SecurityException)t; + else if ((t instanceof IOException) + && (t.getCause() instanceof SecurityException)) + throw ((SecurityException)t.getCause()); else throw new RuntimeException(t); } @@ -379,7 +381,7 @@ r.execute(); if (!succeeds) { System.out.println("FAILED: expected security exception"); - throw new RuntimeException("Failed"); + throw new RuntimeException("FAILED: expected security exception\""); } System.out.println (policy + " succeeded as expected"); } catch (BindException e) { @@ -419,12 +421,6 @@ } finally { s1.stop(0); executor.shutdownNow(); - for (HttpClient client : clients) { - Executor e = client.executor(); - if (e instanceof ExecutorService) { - ((ExecutorService)e).shutdownNow(); - } - } } }