test/nashorn/script/nosecurity/jjs-common.js
author phh
Sat, 30 Nov 2019 14:33:05 -0800
changeset 59330 5b96c12f909d
parent 47216 71c04702a3d5
permissions -rw-r--r--
8234541: C1 emits an empty message when it inlines successfully Summary: Use "inline" as the message when successfull Reviewed-by: thartmann, mdoerr Contributed-by: navy.xliu@gmail.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     1
/*
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     2
 * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     4
 *
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     7
 * published by the Free Software Foundation.
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     8
 *
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    13
 * accompanied this code).
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    14
 *
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    18
 *
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    21
 * questions.
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    22
 */
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    23
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    24
/**
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    25
 * JDK-8144113: Nashorn: enable jjs testing.
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    26
 * @subtest
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    27
 * @summary test used by all other jjs-option* test cases
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    28
 */
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    29
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    30
load(__DIR__ + "JDK-util.js")
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    31
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    32
var javaHome = System.getenv("JAVA_HOME"),
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    33
    homeJjs = "${javaHome}" + "/bin/jjs",
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    34
    altJjs = which('jjs'),
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    35
    homejavac = "${javaHome}" + "/bin/javac",
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    36
    altjavac = which('javac')
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    37
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    38
if (windows) {
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    39
    if (winCyg) {
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    40
        //Files.exists() expects proper extension as it talks to windows filesystem even on cygwin
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    41
        //make paths work on on underlying shells cygwin/cmd/linux.
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    42
        homeJjs = toShellPath("${javaHome}" + "/bin/jjs.exe")
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    43
        homejavac = toShellPath("${javaHome}" + "/bin/javac.exe")
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    44
    }
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    45
    else {
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    46
        homeJjs = toShellPath("${javaHome}" + "\\bin\\jjs.exe")
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    47
        homejavac = toShellPath("${javaHome}" + "\\bin\\javac.exe")
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    48
    }
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    49
    altJjs = which('jjs.exe')
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    50
    altjavac = which('javac.exe')
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    51
}
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    52
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    53
// Initialize default values for variables used in different functions
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    54
var func_cond_p = <<EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    55
$EXIT == 0
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    56
EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    57
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    58
var func_cond_n = <<EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    59
$EXIT != 0
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    60
EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    61
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    62
var flag_cond_p = <<EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    63
out == e_outp
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    64
EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    65
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    66
var flag_cond_n = <<EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    67
out == e_outn
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    68
EOD
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    69
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    70
var e_outp = "true"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    71
var e_outn = "false"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    72
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    73
// special cases in which arguments used for negative testing also
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    74
var args_p = "-scripting"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    75
var args_n = "-scripting"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    76
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    77
// create file to check -flag passing
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    78
var path_f = Paths.get("temp-flag.js")
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    79
var testflag_file = toShellPath(path_f.toAbsolutePath().toString())
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    80
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    81
// create file to check -flag functionality
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    82
var path_func = Paths.get("temp-func.js")
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    83
var testfunc_file = toShellPath(path_func.toAbsolutePath().toString())
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    84
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    85
function exists(f) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    86
    return Files.exists(Paths.get(f))
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    87
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    88
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    89
var jjs = exists(homeJjs) ? homeJjs : altJjs
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    90
var javac = exists(homejavac) ? homejavac : altjavac
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    91
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    92
if (!exists(jjs)) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    93
    throw "no jjs executable found; tried ${homeJjs} and ${altJjs}"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    94
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    95
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    96
// write code to testflag_file
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    97
function write_testflag_file() {
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
    98
    Files.write(Paths.get(testflag_file), msg_flag.getBytes())
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
    99
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   100
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   101
// write code to testfunc_file
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   102
function write_testfunc_file() {
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
   103
    Files.write(Paths.get(testfunc_file), msg_func.getBytes())
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   104
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   105
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   106
function flag_test_pass() {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   107
    print("flag test PASSED")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   108
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   109
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   110
function flag_test_fail(e_out, out) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   111
    print("flag test FAILED expected out:${e_out} found:${out}")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   112
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   113
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   114
// check functionality of flag,cover both positive and negative cases
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   115
function testjjs_opt_func(args, positive) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   116
    $EXEC("${jjs} ${args}")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   117
    var out = $OUT.trim(),
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   118
        err = $ERR.trim()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   119
    if (positive) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   120
        if (eval(func_cond_p))
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   121
            print("functionality test PASSED")
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
   122
        else 
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   123
            print("functionality test FAILED. stdout: ${out} -- stderr: ${err}")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   124
    }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   125
    else {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   126
        if (eval(func_cond_n))
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   127
            print("functionality test PASSED")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   128
        else
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   129
            print("functionality test FAILED. stdout: ${out} -- stderr: ${err}")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   130
    }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   131
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   132
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   133
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   134
// check if corresponding $OPTIONS._XXX is set for given flag
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   135
function testjjs_opt(args, type, func) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   136
    $EXEC("${jjs} ${args}")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   137
    var out = $OUT.trim(),
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   138
        err = $ERR.trim()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   139
    if (type) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   140
        if (eval(flag_cond_p)) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   141
            flag_test_pass()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   142
            if (func)
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   143
                testjjs_opt_func(arg_p, type)
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   144
        }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   145
        else {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   146
            flag_test_fail(e_outp, out)
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   147
        }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   148
    }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   149
    else {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   150
        if (eval(flag_cond_n)) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   151
            flag_test_pass()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   152
            if (func)
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   153
                testjjs_opt_func(arg_n, type)
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   154
        }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   155
        else {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   156
            flag_test_fail(e_outn, out)
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   157
        }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   158
    }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   159
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   160
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   161
// Main entry point to test both flag and its functionality
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   162
function testjjs_flag_and_func(flag, param) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   163
    try {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   164
        var args = "${flag}" + "${param}"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   165
        write_testflag_file()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   166
        write_testfunc_file()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   167
        print("${flag} flag positive test:")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   168
        testjjs_opt("${args_p} ${args} ${testflag_file}", true, true) // positive test
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   169
        print("${flag} flag negative test:")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   170
        testjjs_opt("${args_n} ${testflag_file}", false, true)        // negative test
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   171
    } finally {
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
   172
        rm("${testflag_file}")
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
   173
        rm("${testfunc_file}")
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   174
    }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   175
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   176
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   177
// Main entry point to check only functionality of given -flag
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   178
function testjjs_functionality(flag, param) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   179
    try {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   180
        var args = "${flag}" + "${param}"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   181
        write_testfunc_file()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   182
        print("${flag} flag positive test:")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   183
        testjjs_opt_func("${args_p} ${args} ${testfunc_file}", true) // positive test
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   184
        print("${flag} flag negative test:")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   185
        testjjs_opt_func("${args_n} ${testfunc_file}", false)        // negative test
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   186
    } finally {
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
   187
        rm("${testfunc_file}")
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   188
    }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   189
}
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   190
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   191
// Main entry point to check only -flag settings for given flag
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   192
function testjjs_flag(flag, param) {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   193
    try {
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   194
        var args = "${flag}" + "${param}"
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   195
        write_testflag_file()
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   196
        print("${flag} flag positive test:")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   197
        testjjs_opt("${args_p} ${args} ${testflag_file}", true, false) // positive test
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   198
        print("${flag} flag negative test:")
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   199
        testjjs_opt("${args_n} ${testflag_file}", false, false)        // negative test
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   200
    } finally {
36689
3370f6f942ff 8147613: enable jjs tests on Windows
sdama
parents: 35324
diff changeset
   201
        rm("${testflag_file}")
35324
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   202
    }
b9b0e5fdc996 8144113: enable jjs testing
mhaupt
parents:
diff changeset
   203
}