Example #1
0
        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);
        }
Example #2
0
        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)));
        }