//----< load assemblies from testersLocation and run their tests >----- /////////////////////////////////////////////////////////////////////////loads libraries and start tests string loadAndExerciseTesters() { AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.AssemblyResolve += new ResolveEventHandler(LoadFromComponentLibFolder); try { DllLoaderExec loader = new DllLoaderExec(); files = Directory.GetFiles(testersLocation, "*.dll"); Console.Write("\n\n============================================================================================"); foreach (string file in files) { Console.Write("\nLoaded file is {0}", file); Console.Write("\n\n============================================================================================"); Assembly asm = Assembly.LoadFile(file); string fileName = Path.GetFileName(file); Console.Write("\n loaded {0}", fileName); Type[] types = asm.GetTypes(); foreach (Type t in types) { if (t.GetInterface("DllLoaderDemo.ITest", true) != null) { if (!loader.runSimulatedTest(t, asm, logFileN)) { Console.Write("\n test {0} failed to run", t.ToString()); using (log = new System.IO.StreamWriter(System.IO.Path.Combine(LogFilePath, logFileN + ".txt"), true)) { log.WriteLine("\n test {0} failed to run", t.ToString()); } } else { Console.Write("\n test {0} succeeded", t.ToString()); using (log = new System.IO.StreamWriter(System.IO.Path.Combine(LogFilePath, logFileN + ".txt"), true)) { log.WriteLine("\n test {0} succeeded", t.ToString()); } } } } } } catch (Exception ex) { return(ex.Message); } return("Simulated Testing completed"); }
//----< load assemblies from testersLocation and run their tests >----- string loadAndExerciseTesters() { AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.AssemblyResolve += new ResolveEventHandler(LoadFromComponentLibFolder); try { DllLoaderExec loader = new DllLoaderExec(); // load each assembly found in testersLocation string[] files = Directory.GetFiles(testersLocation, "*.dll"); foreach (string file in files) { //Assembly asm = Assembly.LoadFrom(file); Assembly asm = Assembly.LoadFile(file); string fileName = Path.GetFileName(file); Console.Write("\n loaded {0}", fileName); // exercise each tester found in assembly Type[] types = asm.GetTypes(); foreach (Type t in types) { // if type supports ITest interface then run test if (t.GetInterface("DllLoaderDemo.ITest", true) != null) { if (!loader.runSimulatedTest(t, asm)) { Console.Write("\n test {0} failed to run", t.ToString()); } } } } } catch (Exception ex) { return(ex.Message); } return("Simulated Testing completed"); }