test/nashorn/script/nosecurity/JDK-8193137.js
author sundar
Thu, 28 Jun 2018 18:04:19 +0530
changeset 50878 fb7800b66c92
parent 48220 ef5199ed52f0
permissions -rw-r--r--
8204492: Add deprecation annotation to Nashorn APIs and warning to nashorn, jjs Reviewed-by: jlaskey, hannesw
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48220
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     1
/*
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     2
 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     4
 *
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    10
 *
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    15
 * accompanied this code).
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    16
 *
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    20
 *
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    23
 * questions.
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    24
 */
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    25
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    26
/**
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    27
 * JDK-8193137 : Nashorn crashes when given an empty script file.
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    28
 *
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    29
 * @test
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    30
 * @option -scripting
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    31
 * @run
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    32
 */
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    33
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    34
var System = java.lang.System;
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    35
var File = java.io.File;
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    36
var javahome = System.getProperty("java.home");
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    37
var nashornJar = new File(System.getProperty("nashorn.jar"));
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    38
if (! nashornJar.isAbsolute()) {
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    39
    nashornJar = new File(".", nashornJar);
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    40
}
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    41
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    42
// we want to use nashorn.jar passed and not the one that comes with JRE
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    43
var jjsCmd = javahome + "/../bin/jjs";
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    44
jjsCmd = jjsCmd.toString().replace(/\//g, File.separator);
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    45
if (! new File(jjsCmd).isFile()) {
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    46
    jjsCmd = javahome + "/bin/jjs";
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    47
    jjsCmd = jjsCmd.toString().replace(/\//g, File.separator);
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    48
}
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    49
jjsCmd += " -J--patch-module=jdk.scripting.nashorn=" + nashornJar;
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    50
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    51
$ENV.PWD=System.getProperty("user.dir")
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    52
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    53
var emptyFile = new File($ENV.PWD+File.separator+"empty.js");
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    54
emptyFile.createNewFile();
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    55
emptyFile.deleteOnExit();
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    56
50878
fb7800b66c92 8204492: Add deprecation annotation to Nashorn APIs and warning to nashorn, jjs
sundar
parents: 48220
diff changeset
    57
$EXEC(jjsCmd + " --no-deprecation-warning empty.js");
48220
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    58
if($ERR != "")
ef5199ed52f0 8193137: Nashorn crashes when given an empty script file
hannesw
parents:
diff changeset
    59
    fail("jjs fails with empty script file");