mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-13 23:17:57 +00:00
133 lines
2.7 KiB
Java
133 lines
2.7 KiB
Java
/* -*- Mode: C; tab-width: 4, indent-tabs-mode: nil; -*- */
|
|
/*
|
|
* @(#)executeJCKWrapper
|
|
*
|
|
* Copyright Notice
|
|
* This file contains proprietary information of Netscape Communications.
|
|
* Copying or reproduction without prior written approval is prohibited.
|
|
*
|
|
* Copyright (c) 1997
|
|
*
|
|
*/
|
|
|
|
/* Package Name */
|
|
|
|
/* Imports */
|
|
import java.io.PrintStream;
|
|
import java.lang.reflect.Method;
|
|
|
|
/**
|
|
* executeJCKWrapper runs a given simple JCK test.
|
|
*
|
|
* @param args Command line arguements.
|
|
*
|
|
* @author Patrick Dionisio <11-04-97 1:00pm>
|
|
*/
|
|
public class executeJCKWrapper {
|
|
|
|
/**
|
|
* The method that runs the test.
|
|
*
|
|
* @param args The command line arguments.
|
|
* log Stream to report messages to.
|
|
*
|
|
* @author Patrick Dionisio <11-04-97 1:00pm>
|
|
*/
|
|
public void test(String[] args, PrintStream log) {
|
|
|
|
String className = null;
|
|
String[] executeArgs = { };
|
|
|
|
int i = 0;
|
|
|
|
/* Get the executeClass. */
|
|
if (i < args.length) {
|
|
className = args[i];
|
|
i++;
|
|
}
|
|
|
|
/* Get any optional args. */
|
|
if (i < args.length) {
|
|
executeArgs = new String[args.length - i];
|
|
System.arraycopy(args, i, executeArgs, 0, executeArgs.length);
|
|
}
|
|
|
|
System.out.println(className);
|
|
|
|
try {
|
|
|
|
Class c;
|
|
c = Class.forName(className);
|
|
|
|
Class[] runParamTypes = {executeArgs.getClass(), log.getClass()};
|
|
|
|
Method runMethod = c.getMethod("run", runParamTypes);
|
|
|
|
/* Invoke the test class. */
|
|
Object[] runArgs = {executeArgs,log};
|
|
Object result = runMethod.invoke(null, runArgs);
|
|
|
|
/* Print the result. */
|
|
switch (((Integer)result).intValue()) {
|
|
case 0:
|
|
System.out.println("STATUS:Passed.");
|
|
break;
|
|
|
|
case 1:
|
|
System.out.println("STATUS:Check me.");
|
|
break;
|
|
|
|
case 2:
|
|
System.out.println("STATUS:Failed.");
|
|
break;
|
|
|
|
default:
|
|
System.out.println("STATUS:Check me");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch(VerifyError error) {
|
|
|
|
/* Assume that the verifier is enabled, catch any verify errors. */
|
|
System.out.println("STATUS:Passed.");
|
|
|
|
}
|
|
|
|
catch(Exception e) {
|
|
|
|
/* Print out any exceptions. */
|
|
System.out.println("STATUS:Failed.");
|
|
System.out.println("Exception caught.");
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Main method. Checks is args is valid before running the test.
|
|
*
|
|
* @param args The command line arguments.
|
|
*
|
|
* @author Patrick Dionisio <11-04-97 1:00pm>
|
|
*/
|
|
public static void main(String[] args) {
|
|
|
|
/* Check if the number of args is valid. */
|
|
if (args.length >= 1) {
|
|
|
|
executeJCKWrapper run = new executeJCKWrapper();
|
|
run.test(args, System.out);
|
|
|
|
} else {
|
|
|
|
System.out.println("usage: java executeJCKWrapper classname arguments");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|