public ITest[] LoadAllPlugs(IPlugLoadInfo info) { //resetMessages(); ArrayList tests = new ArrayList(); string assemblyName = null; string appDomainName = null; try { string[] assemblies = info.GetAssemblyFiles(); for (int i = 0; i < assemblies.Length; i++) { assemblyName = assemblies[i]; appDomainName = info.GetAppDomainName(assemblies[i]); AppDomain appDomain = LoadAppDomain(appDomainName); string[] testcases = info.GetTestsFromAssembly(assemblyName); LoadAllPlugs(assemblyName, appDomain, testcases, tests); } } catch (Exception e) { PlugLoadEventArgs loadEvent = new PlugLoadEventArgs(); loadEvent.AppDomainName = appDomainName; loadEvent.AssemblyName = assemblyName; loadEvent.ExceptionInfo = BaseUtils.GetExceptionInfo(e); if (PlugLoadException != null) { PlugLoadException(this, loadEvent); } } //message += "\n\nDone !\n\n"; ITest[] ret = new ITest[tests.Count]; for (int i = 0; i < tests.Count; i++) { ret[i] = (ITest)tests[i]; } //return (ITest[])tests.ToArray(typeof(ITest)); return(ret); }
public TestLoadInfo[] GetAllPlugs(IPlugLoadInfo info) { ArrayList tests = new ArrayList(); string[] assemblies = info.GetAssemblyFiles(); foreach (string assemblyFile in assemblies) { string appDomainName = info.GetAppDomainName(assemblyFile); string[] testcases = info.GetTestsFromAssembly(assemblyFile); foreach (string testcase in testcases) { bool auto = info.IsAutoLoad(testcase, assemblyFile); tests.Add(new TestLoadInfo(appDomainName, assemblyFile, testcase, auto)); } } return((TestLoadInfo[])tests.ToArray(typeof(TestLoadInfo))); }