test/hotspot/jtreg/vmTestbase/nsk/jdi/ListeningConnector/startListening/startlis001.java
author amenkov
Wed, 15 May 2019 11:06:33 -0700
changeset 54884 8a6093c186a6
parent 50018 3ba0d8631f24
permissions -rw-r--r--
8184770: JDWP support for IPv6 Reviewed-by: sspitsyn, chegar
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     1
/*
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
     2
 * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     4
 *
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     7
 * published by the Free Software Foundation.
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     8
 *
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    13
 * accompanied this code).
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    14
 *
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    18
 *
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    21
 * questions.
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    22
 */
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    23
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    24
package nsk.jdi.ListeningConnector.startListening;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    25
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    26
import com.sun.jdi.Bootstrap;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    27
import com.sun.jdi.connect.*;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    28
import com.sun.jdi.VirtualMachine;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    29
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    30
import java.io.*;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    31
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    32
import java.net.InetAddress;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    33
import java.net.UnknownHostException;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    34
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
    35
import java.util.Arrays;
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    36
import java.util.Iterator;
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
    37
import java.util.LinkedList;
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    38
import java.util.List;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    39
import java.util.Map;
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
    40
import java.util.stream.Collectors;
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    41
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    42
import nsk.share.*;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    43
import nsk.share.jpda.*;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    44
import nsk.share.jdi.*;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    45
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    46
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    47
/**
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    48
 * The test exercises JDI function <code>ListeningConnector.startListening</code>.
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    49
 * The <b>Socket Listening Connector</b> is using as listening
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    50
 * connector.<br>
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    51
 * The test cases include:
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    52
 * <li> checking that listening address returned by
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    53
 * <code>ListeningConnector.startListening()</code> matches the address
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    54
 * which was set via connector's arguments;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    55
 * <li> checking that address generated by
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    56
 * <code>ListeningConnector.startListening()</code> is valid i.e.
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    57
 * debugee VM is accessible via this address.
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    58
 */
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    59
public class startlis001 {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    60
    static final int PASSED = 0;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    61
    static final int FAILED = 2;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    62
    static final int JCK_STATUS_BASE = 95;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    63
    static final String CONNECTOR_NAME =
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    64
        "com.sun.jdi.SocketListen";
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    65
    static final String DEBUGEE_CLASS =
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    66
        "nsk.jdi.ListeningConnector.startListening.startlis001t";
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    67
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    68
    private Log log;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    69
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    70
    private VirtualMachine vm;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    71
    private ListeningConnector connector;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    72
    private Map<java.lang.String,? extends com.sun.jdi.connect.Connector.Argument> connArgs;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    73
    private PrintStream out;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    74
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    75
    IORedirector outRedirector;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    76
    IORedirector errRedirector;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    77
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    78
    boolean totalRes = true;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    79
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    80
    public static void main (String argv[]) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    81
        System.exit(run(argv,System.out) + JCK_STATUS_BASE);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    82
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    83
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    84
    public static int run(String argv[], PrintStream out) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    85
        return new startlis001().runIt(argv, out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    86
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    87
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    88
    private int runIt(String argv[], PrintStream out) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    89
        String port;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    90
        String addr;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    91
        ArgumentHandler argHandler = new ArgumentHandler(argv);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    92
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    93
// pass if CONNECTOR_NAME is not implemented
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    94
// on this platform
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    95
        if (argHandler.shouldPass(CONNECTOR_NAME))
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    96
            return PASSED;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    97
        this.out = out;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    98
        log = new Log(out, argHandler);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
    99
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   100
        long timeout = argHandler.getWaitTime() * 60 * 1000;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   101
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   102
        /* Check that listening address returned by ListeningConnector.startListening()
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   103
         * matches the address which was set via connector's arguments.
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   104
         * Empty host address causes listening for local connections only (loopback interface).
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   105
         * */
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   106
        String hostname = "localhost";
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   107
        List<String> validAddresses = new LinkedList<>();
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   108
        validAddresses.add(hostname);
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   109
        try {
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   110
            Arrays.stream(InetAddress.getAllByName(hostname))
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   111
                    .forEach(address -> validAddresses.add(address.getHostAddress()));
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   112
        } catch (UnknownHostException e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   113
            log.complain("FAILURE: caught UnknownHostException " +
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   114
                    e.getMessage());
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   115
            totalRes = false;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   116
        }
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   117
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   118
        port = argHandler.getTransportPortIfNotDynamic();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   119
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   120
        initConnector(port);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   121
        if ((addr = startListen()) == null) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   122
            log.complain("Test case #1 FAILED: unable to start listening");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   123
            totalRes = false;
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   124
        } else {
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   125
            String validAddrList = validAddresses.stream()
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   126
                    .map(value -> value + ":" + port)
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   127
                    .collect(Collectors.joining(" or "));
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   128
            log.display("Test case #1: start listening the address " + addr);
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   129
            log.display("Expected addresses: " + validAddrList);
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   130
            final String listenAddr = addr;
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   131
            boolean isValid = validAddresses.stream()
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   132
                    .anyMatch(value -> listenAddr.startsWith(value) && (port == null || listenAddr.endsWith(port)));
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   133
            if (!isValid) {
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   134
                log.complain("Test case #1 FAILED: listening address " + addr +
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   135
                    "\ndoes not match expected address:\n" + validAddrList);
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   136
                totalRes = false;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   137
            }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   138
            if (!stopListen()) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   139
                log.complain("TEST: unable to stop listening #1");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   140
                totalRes = false;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   141
            }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   142
            else
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   143
               log.display("Test case #1 PASSED: listening address matches expected address");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   144
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   145
54884
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   146
        /* Check that an address generated by ListeningConnector.startListening()
8a6093c186a6 8184770: JDWP support for IPv6
amenkov
parents: 50018
diff changeset
   147
           is valid i.e. debugee VM is accessible via this address */
50018
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   148
        initConnector(null);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   149
        if ((addr = startListen()) == null) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   150
            log.complain("Test case #2 FAILED: unable to start listening");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   151
            return FAILED;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   152
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   153
        else
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   154
            log.display("Test case #2: start listening the address " + addr);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   155
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   156
        String java = argHandler.getLaunchExecPath()
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   157
                          + " " + argHandler.getLaunchOptions();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   158
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   159
        String cmd = java +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   160
            " -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=n,address=" +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   161
            addr + " " + DEBUGEE_CLASS;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   162
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   163
        Binder binder = new Binder(argHandler, log);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   164
        Debugee debugee = null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   165
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   166
        log.display("command: " + cmd);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   167
        try {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   168
            debugee = binder.startLocalDebugee(cmd);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   169
            debugee.redirectOutput(log);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   170
        } catch (Exception e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   171
            stopListen();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   172
            throw new Failure(e);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   173
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   174
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   175
        if ((vm = attachTarget()) == null) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   176
            log.complain("Test case #2 FAILED: unable to attach the debugee VM");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   177
            debugee.close();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   178
            stopListen();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   179
            return FAILED;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   180
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   181
        else
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   182
            log.display("Test case #2 PASSED: successfully attach the debugee VM");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   183
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   184
        if (!stopListen()) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   185
            log.complain("TEST: unable to stop listening #2");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   186
            debugee.close();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   187
            return FAILED;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   188
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   189
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   190
        debugee.setupVM(vm);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   191
        debugee.waitForVMInit(timeout);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   192
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   193
        log.display("\nResuming debugee VM");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   194
        debugee.resume();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   195
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   196
        log.display("\nWaiting for debugee VM exit");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   197
        int code = debugee.waitFor();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   198
        if (code != (JCK_STATUS_BASE+PASSED)) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   199
            log.complain("Debugee VM has crashed: exit code=" +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   200
                code);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   201
            return FAILED;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   202
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   203
        log.display("Debugee VM: exit code=" + code);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   204
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   205
        if (totalRes) return PASSED;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   206
        else return FAILED;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   207
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   208
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   209
    private VirtualMachine attachTarget() {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   210
        try {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   211
            return connector.accept(connArgs);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   212
        } catch (IOException e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   213
            log.complain("FAILURE: caught IOException: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   214
                e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   215
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   216
            return null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   217
        } catch (IllegalConnectorArgumentsException e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   218
            log.complain("FAILURE: Illegal connector arguments: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   219
                e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   220
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   221
            return null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   222
        } catch (Exception e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   223
            log.complain("FAILURE: Exception: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   224
                e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   225
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   226
            return null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   227
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   228
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   229
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   230
    private void initConnector(String port) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   231
        Connector.Argument arg;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   232
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   233
        connector = (ListeningConnector)
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   234
            findConnector(CONNECTOR_NAME);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   235
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   236
        connArgs = connector.defaultArguments();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   237
        Iterator cArgsValIter = connArgs.keySet().iterator();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   238
        while (cArgsValIter.hasNext()) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   239
            String argKey = (String) cArgsValIter.next();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   240
            String argVal = null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   241
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   242
            if ((arg = (Connector.Argument) connArgs.get(argKey)) == null) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   243
                log.complain("Argument " + argKey.toString() +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   244
                    "is not defined for the connector: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   245
                    connector.name());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   246
            }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   247
            if (arg.name().equals("port") && port != null)
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   248
                arg.setValue(port);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   249
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   250
            log.display("\targument name=" + arg.name());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   251
            if ((argVal = arg.value()) != null)
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   252
                log.display("\t\tvalue=" + argVal);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   253
            else log.display("\t\tvalue=NULL");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   254
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   255
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   256
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   257
    private String startListen() {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   258
        try {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   259
            return connector.startListening(connArgs);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   260
        } catch (IOException e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   261
            log.complain("FAILURE: caught IOException: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   262
                e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   263
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   264
            return null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   265
        } catch (IllegalConnectorArgumentsException e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   266
            log.complain("FAILURE: Illegal connector arguments: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   267
                e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   268
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   269
            return null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   270
        } catch (Exception e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   271
            log.complain("FAILURE: Exception: " + e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   272
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   273
            return null;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   274
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   275
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   276
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   277
    private boolean stopListen() {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   278
        try {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   279
            connector.stopListening(connArgs);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   280
        } catch (IOException e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   281
            log.complain("FAILURE: caught IOException: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   282
                e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   283
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   284
            return false;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   285
        } catch (IllegalConnectorArgumentsException e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   286
            log.complain("FAILURE: Illegal connector arguments: " +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   287
                e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   288
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   289
            return false;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   290
        } catch (Exception e) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   291
            log.complain("FAILURE: Exception: " + e.getMessage());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   292
            e.printStackTrace(out);
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   293
            return false;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   294
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   295
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   296
        return true;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   297
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   298
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   299
    private Connector findConnector(String connectorName) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   300
        List connectors = Bootstrap.virtualMachineManager().allConnectors();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   301
        Iterator iter = connectors.iterator();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   302
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   303
        while (iter.hasNext()) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   304
            Connector connector = (Connector) iter.next();
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   305
            if (connector.name().equals(connectorName)) {
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   306
                log.display("Connector name=" + connector.name() +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   307
                    "\n\tdescription=" + connector.description() +
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   308
                    "\n\ttransport=" + connector.transport().name());
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   309
                return connector;
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   310
            }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   311
        }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   312
        throw new Error("No appropriate connector");
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   313
    }
3ba0d8631f24 8199382: [TESTBUG] Open source VM testbase JDI tests
iignatyev
parents:
diff changeset
   314
}