public void can_generate_assembly() { Assert.False(File.Exists("tmp\\ByExeTest.dll")); var p = new Process(); p.StartInfo = new ProcessStartInfo("extensionscompiler.exe", "--root \"\" --web false --dllname tmp\\ByExeTest") { UseShellExecute = false, RedirectStandardOutput = false, RedirectStandardError = false, }; p.Start(); bool result = p.WaitForExit(360000); // var results = p.StandardOutput.ReadToEnd(); // Console.WriteLine(results); Console.ForegroundColor = ConsoleColor.Red; // Console.WriteLine(p.StandardError.ReadToEnd()); Console.ResetColor(); Assert.True(result); var assembly = Assembly.LoadFrom("tmp\\ByExeTest.dll"); Assert.True(File.Exists("tmp\\ByExeTest.dll")); var r = new ExtensionsLoader().GetRegistry(assembly); Assert.True(r.ContainsKey("x")); }
public void can_generate_assembly() { Assert.False(File.Exists("tmp\\ByTaskTest.dll")); var task = new ApplicationExtensionsLoadTask(dllname:"tmp\\ByTaskTest",web:false); task.Start(); var assembly = task.Finish(); Assert.True(File.Exists("tmp\\ByTaskTest.dll")); var r = new ExtensionsLoader().GetRegistry(assembly); Assert.True(r.ContainsKey("x")); }
public void need_well_formed_registry() { myapp.files.Write("~/sys/extensions/zzz.boo", @" class A : pass registry['a'] = A "); myapp.files.Write("~/usr/extensions/aaa.boo", @" class Z : pass registry['a'] = Z "); var efs = new ExtensionsFileSystemProvider(); var ex = new ExtensionsCompilerExecutor{Pipeline = new CompileToMemory()}; var a = ex.Compile(efs); var result = new ExtensionsLoader().GetRegistry(a); Assert.AreEqual("Z",((Type)result["a"]).Name); }
private static void endLoadExtensions() { if(UseExtensions) { var result = extensionsloader.Finish(); if(null==result) { throw new Exception("extensions loader not return assembly"); } var dict = new ExtensionsLoader().GetRegistry(result); foreach (var e in dict) { myapp.ioc.set(e.Key, e.Value); } extensionsloader = null; } }
public void loads_registry() { var registry = new ExtensionsLoader().GetRegistry(cu.GeneratedAssembly); Assert.AreEqual(1,registry.Count); Assert.IsInstanceOf<Type>(registry["x"]); Assert.AreEqual("X",((Type)registry["x"]).Name); }