/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Eclipse Public License (EPL);
* You may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.opensource.org/licenses/eclipse-1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
class Mangled_Name_s_ {
static boolean verbose = true; // set to true to get messages for each test
static boolean allTestPass = true;
public static native void
setVerboseOff();
// method name for special case
public static native int _underscore();
public static native int with_underscore();
public static native int overload();
public static native int overload(int i);
public static native int overload(boolean b, int i, String[] args);
public static void main(String[] args) {
int returnValue;
boolean returnBoolean;
System.loadLibrary("Mangled_Name_s_");
if (args.length != 0) {
if (args[0].equals("-quiet")) {
verbose = false;
setVerboseOff();
}
}
returnValue = _underscore();
checkTest(returnValue, "_underscore");
returnValue = with_underscore();
checkTest(returnValue, "with_underscore");
returnValue = overload();
checkTest(returnValue, "overload");
returnValue = overload(1);
checkTest(returnValue, "overload(int)");
returnValue = overload(true, 1, args);
checkTest(returnValue, "int overload(boolean,int,String[]");
// Summarize
if (allTestPass)
System.out.println("PASS: Mangled_Name_s_");
else
System.out.println("FAIL: Mangled_Name_s_");
}
static void printVerbose(String str) {
if (verbose)
System.out.println(str);
}
static void checkTest(int returnValue, String testName) {
if (returnValue == 0) {
printVerbose("PASS: " + testName);
} else {
allTestPass = false;
printVerbose("FAIL: " + testName);
}
}
}