//----< 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");
        }
Beispiel #2
0
        //----< 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");
        }