include win32 tests

This commit is contained in:
Doug MacEachern 2004-11-21 02:07:40 +00:00
parent b65a58609f
commit 3d89246fef
2 changed files with 46 additions and 8 deletions

View File

@ -18,9 +18,6 @@ import org.apache.log4j.PropertyConfigurator;
public class SigarTestPrinter extends ResultPrinter { public class SigarTestPrinter extends ResultPrinter {
private static String PACKAGE_NAME =
SigarTestCase.class.getPackage().getName();
private HashMap failures = new HashMap(); private HashMap failures = new HashMap();
private int maxNameLen = 0; private int maxNameLen = 0;
@ -105,6 +102,18 @@ public class SigarTestPrinter extends ResultPrinter {
suite.addTestSuite(test); suite.addTestSuite(test);
} }
private static Class findTest(Class[] tests, String name) {
String tname = "Test" + name;
for (int i=0; i<tests.length; i++) {
if (tests[i].getName().endsWith(tname)) {
return tests[i];
}
}
return null;
}
public static void runTests(Class[] tests, String[] args) { public static void runTests(Class[] tests, String[] args) {
TestSuite suite = new TestSuite("Sigar tests"); TestSuite suite = new TestSuite("Sigar tests");
@ -124,13 +133,12 @@ public class SigarTestPrinter extends ResultPrinter {
SigarTestCase.setWriter(printer.getWriter()); SigarTestCase.setWriter(printer.getWriter());
for (int i=0; i<args.length; i++) { for (int i=0; i<args.length; i++) {
Class test; Class test = findTest(tests, args[i]);
try { if (test == null) {
test = Class.forName(PACKAGE_NAME + ".Test" + args[i]);
} catch (ClassNotFoundException e) {
String msg = "Invalid test: " + args[i]; String msg = "Invalid test: " + args[i];
throw new IllegalArgumentException(msg); throw new IllegalArgumentException(msg);
} }
addTest(printer, suite, test); addTest(printer, suite, test);
} }
} }

View File

@ -4,15 +4,24 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import net.hyperic.sigar.SigarException; import net.hyperic.sigar.SigarException;
import net.hyperic.sigar.SigarLoader;
import net.hyperic.sigar.cmd.SigarCommandBase; import net.hyperic.sigar.cmd.SigarCommandBase;
import net.hyperic.sigar.cmd.Shell; import net.hyperic.sigar.cmd.Shell;
import net.hyperic.sigar.win32.test.TestEventLog;
import net.hyperic.sigar.win32.test.TestMetaBase;
import net.hyperic.sigar.win32.test.TestPdh;
import net.hyperic.sigar.win32.test.TestRegistryKey;
import net.hyperic.sigar.win32.test.TestService;
public class SigarTestRunner extends SigarCommandBase { public class SigarTestRunner extends SigarCommandBase {
private Collection completions; private Collection completions;
private static final Class[] TESTS = { private static final Class[] TESTS;
private static final Class[] ALL_TESTS = {
TestLog.class, TestLog.class,
TestInvoker.class, TestInvoker.class,
TestPTQL.class, TestPTQL.class,
@ -39,6 +48,27 @@ public class SigarTestRunner extends SigarCommandBase {
TestUptime.class, TestUptime.class,
}; };
private static final Class[] WIN32_TESTS = {
TestEventLog.class,
TestPdh.class,
TestMetaBase.class,
TestRegistryKey.class,
TestService.class,
};
static {
if (SigarLoader.IS_WIN32) {
TESTS = new Class[ALL_TESTS.length + WIN32_TESTS.length];
System.arraycopy(ALL_TESTS, 0, TESTS,
0, ALL_TESTS.length);
System.arraycopy(WIN32_TESTS, 0, TESTS,
ALL_TESTS.length, WIN32_TESTS.length);
}
else {
TESTS = ALL_TESTS;
}
}
public SigarTestRunner(Shell shell) { public SigarTestRunner(Shell shell) {
super(shell); super(shell);