test/jdk/java/net/httpclient/security/Driver.java
author chegar
Sun, 05 Nov 2017 21:19:55 +0000
branchhttp-client-branch
changeset 55764 34d7cc00f87a
parent 55763 634d8e14c172
child 55973 4d9b002587db
permissions -rw-r--r--
http-client-branch: WebSocket permission checks, test updates, and more
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
     1
/*
46093
5d86e010d558 8185794: java/net/httpclient/security/Driver.java fails in timeout
dfuchs
parents: 43711
diff changeset
     2
 * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
     4
 *
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
42460
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
     7
 * published by the Free Software Foundation.
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
     8
 *
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    13
 * accompanied this code).
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    14
 *
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    18
 *
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
40684
2e37c119dc2a 8164982: Fix legal notices in java/lang, java/net, java/util tests.
shurailine
parents: 37791
diff changeset
    21
 * questions.
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    22
 */
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    23
41355
f80c213ae8ff 8166791: Fix module dependencies for networking component tests
skovalev
parents: 40684
diff changeset
    24
/*
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    25
 * @test
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    26
 * @bug 8087112
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    27
 * @library /lib/testlibrary/
42460
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    28
 * @modules jdk.incubator.httpclient
41890
ab67b8f4f2fe 8169002: Several java/net/httpclient have undeclared dependency on java.logging module
skovalev
parents: 41355
diff changeset
    29
 *          java.logging
41355
f80c213ae8ff 8166791: Fix module dependencies for networking component tests
skovalev
parents: 40684
diff changeset
    30
 *          jdk.httpserver
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    31
 * @build jdk.testlibrary.SimpleSSLContext jdk.testlibrary.Utils
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    32
 * @compile ../../../../com/sun/net/httpserver/LogFilter.java
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    33
 * @compile ../../../../com/sun/net/httpserver/FileServerHandler.java
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    34
 * @compile ../ProxyServer.java
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    35
 * @build Security
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    36
 *
55763
634d8e14c172 http-client-branch: intial load from jdk10/sandbox
chegar
parents: 47216
diff changeset
    37
 * @run main/othervm Driver
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    38
 */
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    39
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    40
/**
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    41
 * driver required for allocating free portnumbers and putting this number
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    42
 * into security policy file used in some tests.
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    43
 *
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    44
 * The tests are in Security.java and port number supplied in -Dport.number
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    45
 * and -Dport.number1 for tests that require a second free port
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    46
 */
41355
f80c213ae8ff 8166791: Fix module dependencies for networking component tests
skovalev
parents: 40684
diff changeset
    47
import java.io.File;
f80c213ae8ff 8166791: Fix module dependencies for networking component tests
skovalev
parents: 40684
diff changeset
    48
import java.io.FileOutputStream;
f80c213ae8ff 8166791: Fix module dependencies for networking component tests
skovalev
parents: 40684
diff changeset
    49
import java.io.IOException;
f80c213ae8ff 8166791: Fix module dependencies for networking component tests
skovalev
parents: 40684
diff changeset
    50
import java.io.InputStream;
f80c213ae8ff 8166791: Fix module dependencies for networking component tests
skovalev
parents: 40684
diff changeset
    51
import java.io.OutputStream;
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    52
import java.util.ArrayList;
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    53
import java.util.List;
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    54
import java.util.stream.Collectors;
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    55
import jdk.testlibrary.Utils;
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    56
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    57
/**
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    58
 * Driver for tests
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    59
 */
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    60
public class Driver {
42460
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    61
    // change the default value to "true" to get the subprocess traces.
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    62
    final static boolean DEBUG = Boolean.parseBoolean(System.getProperty("test.debug", "false"));
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    63
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    64
    public static void main(String[] args) throws Throwable {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    65
        System.out.println("Starting Driver");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    66
        runtest("1.policy", "1");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    67
        runtest("10.policy", "10");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    68
        runtest("11.policy", "11");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    69
        runtest("12.policy", "12");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    70
        System.out.println("DONE");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    71
    }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    72
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    73
    static class Logger extends Thread {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    74
        private final OutputStream ps;
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    75
        private final InputStream stdout;
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    76
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    77
        Logger(String cmdLine, Process p, String dir) throws IOException {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    78
            super();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    79
            setDaemon(true);
42460
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    80
            cmdLine = "Command line = [" + cmdLine + "]\n";
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    81
            stdout = p.getInputStream();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    82
            File f = File.createTempFile("debug", ".txt", new File(dir));
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    83
            ps = new FileOutputStream(f);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    84
            ps.write(cmdLine.getBytes());
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    85
            ps.flush();
42460
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    86
            if (DEBUG) {
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    87
                System.out.print(cmdLine);
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    88
                System.out.flush();
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    89
            }
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    90
        }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    91
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    92
        public void run() {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    93
            try {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    94
                byte[] buf = new byte[128];
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    95
                int c;
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
    96
                while ((c = stdout.read(buf)) != -1) {
42460
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    97
                    if (DEBUG) {
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    98
                        System.out.write(buf, 0, c);
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
    99
                        System.out.flush();
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
   100
                    }
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   101
                    ps.write(buf, 0, c);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   102
                    ps.flush();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   103
                }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   104
                ps.close();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   105
            } catch (Throwable e) {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   106
                e.printStackTrace();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   107
            }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   108
        }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   109
    }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   110
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   111
    public static void runtest(String policy, String testnum) throws Throwable {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   112
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   113
        String testJdk = System.getProperty("test.jdk", "?");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   114
        String testSrc = System.getProperty("test.src", "?");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   115
        String testClassPath = System.getProperty("test.class.path", "?");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   116
        String testClasses = System.getProperty("test.classes", "?");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   117
        String sep = System.getProperty("file.separator", "?");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   118
        String javaCmd = testJdk + sep + "bin" + sep + "java";
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   119
        int retval = 10; // 10 is special exit code denoting a bind error
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   120
                         // in which case, we retry
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   121
        while (retval == 10) {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   122
            List<String> cmd = new ArrayList<>();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   123
            cmd.add(javaCmd);
55764
34d7cc00f87a http-client-branch: WebSocket permission checks, test updates, and more
chegar
parents: 55763
diff changeset
   124
            cmd.add("-ea");
34d7cc00f87a http-client-branch: WebSocket permission checks, test updates, and more
chegar
parents: 55763
diff changeset
   125
            cmd.add("-esa");
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   126
            cmd.add("-Dtest.jdk=" + testJdk);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   127
            cmd.add("-Dtest.src=" + testSrc);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   128
            cmd.add("-Dtest.classes=" + testClasses);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   129
            cmd.add("-Djava.security.manager");
43711
4f9c9cda3767 8174716: java/net/httpclient/security/Driver.java failing in JDK 9
michaelm
parents: 42460
diff changeset
   130
            cmd.add("--add-modules=jdk.incubator.httpclient");
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   131
            cmd.add("-Djava.security.policy=" + testSrc + sep + policy);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   132
            cmd.add("-Dport.number=" + Integer.toString(Utils.getFreePort()));
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   133
            cmd.add("-Dport.number1=" + Integer.toString(Utils.getFreePort()));
42460
7133f144981a 8170648: Move java.net.http package out of Java SE to incubator namespace
michaelm
parents: 41890
diff changeset
   134
            cmd.add("-Djdk.httpclient.HttpClient.log=all,frames:all");
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   135
            cmd.add("-cp");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   136
            cmd.add(testClassPath);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   137
            cmd.add("Security");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   138
            cmd.add(testnum);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   139
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   140
            ProcessBuilder processBuilder = new ProcessBuilder(cmd)
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   141
                .redirectOutput(ProcessBuilder.Redirect.PIPE)
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   142
                .redirectErrorStream(true);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   143
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   144
            String cmdLine = cmd.stream().collect(Collectors.joining(" "));
55763
634d8e14c172 http-client-branch: intial load from jdk10/sandbox
chegar
parents: 47216
diff changeset
   145
            long start = System.currentTimeMillis();
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   146
            Process child = processBuilder.start();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   147
            Logger log = new Logger(cmdLine, child, testClasses);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   148
            log.start();
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   149
            retval = child.waitFor();
55763
634d8e14c172 http-client-branch: intial load from jdk10/sandbox
chegar
parents: 47216
diff changeset
   150
            long elapsed = System.currentTimeMillis() - start;
634d8e14c172 http-client-branch: intial load from jdk10/sandbox
chegar
parents: 47216
diff changeset
   151
            System.out.println("Security " + testnum
634d8e14c172 http-client-branch: intial load from jdk10/sandbox
chegar
parents: 47216
diff changeset
   152
                               + ": retval = " + retval
634d8e14c172 http-client-branch: intial load from jdk10/sandbox
chegar
parents: 47216
diff changeset
   153
                               + ", duration=" + elapsed+" ms");
37791
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   154
        }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   155
        if (retval != 0) {
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   156
            Thread.sleep(2000);
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   157
            throw new RuntimeException("Non zero return value");
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   158
        }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   159
    }
ae33107fd8b3 8155928: Remove hardcoded port numbers from httpclient/Security.java test
michaelm
parents:
diff changeset
   160
}