// get the test jobs
DescEntry[] entries = descGetter.getDescriptionFor(testJob,null,true);
if (entries == null) return false;
DynamicClassLoader dcl = new DynamicClassLoader();
ComplexTestCase testClass = null;
boolean returnVal = true;
// the concept of the TimeOut depends on runner logs. If the runner log,
// for exmaple to start a test method, the timeout was restet. This is not
// while the test itself log something like "open docuent...".
// An property of complex test could be that it have only one test method
// which works for serveral minutes. Ih this case the TimeOut get not trigger
// and the office was killed.
// In complex tests just use "ThreadTimeOut" as timout.
// param.put("TimeOut", new Integer(0));
for (int i=0; i<entries.length; i++) {
if (entries[i] == null) continue;
String iniName = entries[i].longName;
iniName = iniName.replace('.', '/');
CfgParser ini = new CfgParser(iniName+".props");
ini.getIniParameters(param);
LogWriter log = (LogWriter)dcl.getInstance(
(String)param.get("LogWriter"));
AppProvider office = null;
if (!param.getBool("NoOffice")) {
try {
office = (AppProvider)dcl.getInstance("helper.OfficeProvider");
Object msf = office.getManager(param);
if (msf == null) {
returnVal = false;
continue;
}
param.put("ServiceFactory",msf);
}
catch(IllegalArgumentException e) {
office = null;
}
}
log.initialize(entries[i],param.getBool(PropertyName.LOGGING_IS_ACTIVE));
entries[i].Logger = log;
// create an instance
try {
testClass = (ComplexTestCase)dcl.getInstance(entries[i].longName);
}
catch(java.lang.Exception e) {
e.printStackTrace();
return false;
}
testClass.executeMethods(entries[i], param);
Summarizer sum = new Summarizer();
sum.summarizeUp(entries[i]);
if (office != null) {