jdk/test/tools/launcher/ChangeDataModel.java
author ksrini
Wed, 10 May 2017 15:12:43 -0700
changeset 45062 37ed4313c8c1
parent 22066 f2133b498789
permissions -rw-r--r--
8169646: Remove launcher's -d32/-d64 option Reviewed-by: dholmes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     1
/*
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
     2
 * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     4
 *
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     7
 * published by the Free Software Foundation.
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     8
 *
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    13
 * accompanied this code).
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    14
 *
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    18
 *
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    21
 * questions.
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    22
 */
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    23
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    24
/**
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    25
 * @test
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    26
 * @bug 4894330 4810347 6277269 8029388 8169646
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    27
 * @compile -XDignore.symbol.file ChangeDataModel.java
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    28
 * @run main ChangeDataModel
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    29
 * @summary Verify -d32, -d64 and -J prefixed data-model options are rejected on all platforms
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    30
 * @author Joseph D. Darcy, ksrini
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    31
 */
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    32
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    33
import java.util.Arrays;
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    34
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    35
public class ChangeDataModel extends TestHelper {
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    36
22066
f2133b498789 8029388: java.exe consumes argument intended for launched java class
ksrini
parents: 20201
diff changeset
    37
    public static void main(String... args) throws Exception {
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    38
        new ChangeDataModel().run(args);
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    39
    }
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    40
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    41
    @Test
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    42
    public void check32bitRejection() throws Exception {
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    43
        checkRejection("-d32");
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    44
    }
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    45
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    46
    @Test
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    47
    public void check64bitRejection() throws Exception {
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    48
        checkRejection("-d64");
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    49
    }
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    50
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    51
    void checkRejection(String dmodel) throws Exception {
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    52
        String expect = "Unrecognized option: " + dmodel;
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    53
        String[] cmds1 = {
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    54
            javaCmd,
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    55
            dmodel,
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    56
            "-version"
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    57
        };
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    58
        checkRejection(expect, cmds1);
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    59
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    60
        String[] cmds2 = {
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    61
            javacCmd,
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    62
            "-J" + dmodel,
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    63
            "-version"
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    64
        };
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    65
        checkRejection(expect, cmds2);
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    66
    }
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    67
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    68
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    69
    void checkRejection(String expect, String... cmds) throws Exception {
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    70
        TestResult tr = doExec(cmds);
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    71
        tr.checkNegative();
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    72
        if (!tr.contains(expect)) {
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    73
            System.out.println(tr);
45062
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    74
            String error = "did not get " + "\'" + expect + "\'" +
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    75
                           "with options " + Arrays.asList(cmds);
37ed4313c8c1 8169646: Remove launcher's -d32/-d64 option
ksrini
parents: 22066
diff changeset
    76
            throw new Exception(error);
11687
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    77
        }
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    78
    }
f13cadbb0bb5 7127906: (launcher) convert the launcher regression tests to java
ksrini
parents:
diff changeset
    79
}