private ClrModule GetMscorlib() { ClrModule mscorlib = null; string moduleName = ClrInfo.Flavor == ClrFlavor.Core ? "system.private.corelib" : "mscorlib"; foreach (ClrModule module in _modules.Values) { if (module.Name.ToLowerInvariant().Contains(moduleName)) { mscorlib = module; break; } } if (mscorlib == null) { IAppDomainStoreData ads = GetAppDomainStoreData(); IAppDomainData sharedDomain = GetAppDomainData(ads.SharedDomain); foreach (ulong assembly in GetAssemblyList(ads.SharedDomain, sharedDomain.AssemblyCount)) { string name = GetAssemblyName(assembly); if (name.ToLowerInvariant().Contains(moduleName)) { IAssemblyData assemblyData = GetAssemblyData(ads.SharedDomain, assembly); ulong module = GetModuleList(assembly, assemblyData.ModuleCount).Single(); mscorlib = GetModule(module); } } } return(mscorlib); }
public static bool ReadFixture(Type fixtureType, IAssemblyData data, string workingDirectory) { var fixtureAttribs = fixtureType.GetCustomAttributes(typeof(TestFixtureAttribute), true); if (!fixtureAttribs.Any()) { //Console.WriteLine("Specified fixture does not have the required TestFixture attribute."); return(false); } var fixData = new FixtureData(data, fixtureType.Name); data.Fixtures.Add(fixData); foreach (var test in fixtureType.GetMethods()) { var testAttribs = test.GetCustomAttributes(typeof(TestAttribute), false); if (!testAttribs.Any()) { // skip this method continue; } if (!ReadTest(test, fixData, workingDirectory)) { //Console.WriteLine(string.Format("Journal could not be created for test:{0} in fixture:{1}", _test,_fixture)); continue; } } return(true); }
internal IEnumerable <ulong> EnumerateModules(IAppDomainData appDomain) { if (appDomain != null) { ulong[] assemblies = GetAssemblyList(appDomain.Address, appDomain.AssemblyCount); if (assemblies != null) { foreach (ulong assembly in assemblies) { IAssemblyData data = GetAssemblyData(appDomain.Address, assembly); if (data == null) { continue; } ulong[] moduleList = GetModuleList(assembly, data.ModuleCount); if (moduleList != null) { foreach (ulong module in moduleList) { yield return(module); } } } } } }
public static void RunAssembly(IAssemblyData ad) { foreach (var fix in ad.Fixtures) { RunFixture(fix); } }
public static bool ReadFixture(Type fixtureType, IAssemblyData data, string workingDirectory) { var fixtureAttribs = CustomAttributeData.GetCustomAttributes(fixtureType); if (!fixtureAttribs.Any(x => x.Constructor.DeclaringType.Name == "TestFixtureAttribute")) { //Console.WriteLine("Specified fixture does not have the required TestFixture attribute."); return false; } var fixData = new FixtureData(data, fixtureType.Name); data.Fixtures.Add(fixData); foreach (var test in fixtureType.GetMethods()) { var testAttribs = CustomAttributeData.GetCustomAttributes(test); if (!testAttribs.Any(x => x.Constructor.DeclaringType.Name == "TestAttribute")) { // skip this method continue; } if (!ReadTest(test, fixData, workingDirectory)) { //Console.WriteLine(string.Format("Journal could not be created for test:{0} in fixture:{1}", _test,_fixture)); continue; } } // sort the collection fixData.Tests = fixData.Tests.Sorted(x => x.Name); return true; }
public CategoryData(IAssemblyData assembly, string name) { Name = name; Tests = new ObservableCollection <ITestData>(); Assembly = assembly; Tests.CollectionChanged += Tests_CollectionChanged; }
public FixtureData(IAssemblyData assembly, string name) { Assembly = assembly; Tests = new ObservableCollection<ITestData>(); Name = name; FixtureStatus = FixtureStatus.None; Tests.CollectionChanged += Tests_CollectionChanged; }
public FixtureData(IAssemblyData assembly, string name) { Assembly = assembly; Tests = new ObservableCollection <ITestData>(); Name = name; FixtureStatus = FixtureStatus.None; Tests.CollectionChanged += Tests_CollectionChanged; }
public void RunAssembly(IAssemblyData ad) { if (!File.Exists(AddinPath)) { CreateAddin(AddinPath, AssemblyPath); } foreach (var fix in ad.Fixtures) { RunFixture(fix); } }
protected MemberData(TMemberInfo member, AnalysisContext context) : base(context) { Argument.VerifyNotNull("member", member); this.inner = member; if (member.DeclaringType != null) { this.declaringType = context.Resolver.Resolve(member.DeclaringType); } this.assembly = context.Resolver.Resolve(member.Module.Assembly); }
private void Run() { string[] assemblyFiles = IOC.Get <IAssemblyFilesSelector>().SelectAssemblies(); if (null == assemblyFiles) { return; } foreach (String assemblyFile in assemblyFiles) { IAssemblyData assemblyData = IOC.Get <IAssemblyData>(With.Parameters.ConstructorArgument("assemblyFile", assemblyFile)); assemblyData.InjectCode(); } }
private DesktopAppDomain InitDomain(ulong domain, string name = null) { ulong[] bases = new ulong[1]; IAppDomainData domainData = GetAppDomainData(domain); if (domainData == null) { return(null); } DesktopAppDomain appDomain = new DesktopAppDomain(this, domainData, name ?? GetAppDomaminName(domain)); if (domainData.AssemblyCount > 0) { foreach (ulong assembly in GetAssemblyList(domain, domainData.AssemblyCount)) { IAssemblyData assemblyData = GetAssemblyData(domain, assembly); if (assemblyData == null) { continue; } if (assemblyData.ModuleCount > 0) { foreach (ulong module in GetModuleList(assembly, assemblyData.ModuleCount)) { DesktopModule clrModule = GetModule(module); if (clrModule != null) { clrModule.AddMapping(appDomain, module); appDomain.AddModule(clrModule); } } } } } return(appDomain); }
public FixtureData(IAssemblyData assembly, string name) { Assembly = assembly; Tests = new List <ITestData>(); Name = name; }
public CategoryData(IAssemblyData assembly, string name) { Name = name; Tests = new ObservableCollection<ITestData>(); Assembly = assembly; }
/// <summary> /// Setup all tests in a selected assembly. /// </summary> /// <param name="ad"></param> /// <param name="continuous"></param> private void SetupAssemblyTests(IAssemblyData ad, bool continuous = false) { if (ad.ShouldRun == false) return; foreach (var fix in ad.Fixtures) { if (cancelRequested) { cancelRequested = false; break; } SetupFixtureTests(fix as IFixtureData, continuous); } }
internal IEnumerable<TypeData> LoadTypes(IAssemblyData assembly) { return assembly.Types.SelectDescendantsAndSelves( type => type.Members.OfType<TypeData>() ); }
private static bool ReadFixture(Type fixtureType, IAssemblyData data) { var fixtureAttribs = fixtureType.GetCustomAttributes(typeof (TestFixtureAttribute), true); if (!fixtureAttribs.Any()) { Console.WriteLine("Specified fixture does not have the required TestFixture attribute."); return false; } var fixData = new FixtureData(data, fixtureType.Name); data.Fixtures.Add(fixData); foreach (var test in fixtureType.GetMethods()) { var testAttribs = test.GetCustomAttributes(typeof(TestAttribute), false); if (!testAttribs.Any()) { // skip this method continue; } if (!ReadTest(test, fixData)) { Console.WriteLine(string.Format("Journal could not be created for test:{0} in fixture:{1}", _test, _fixture)); continue; } } return true; }
public FixtureData(IAssemblyData assembly, string name) { Assembly = assembly; Tests = new List<ITestData>(); Name = name; }
internal IEnumerable <TypeData> LoadTypes(IAssemblyData assembly) { return(assembly.Types.SelectDescendantsAndSelves( type => type.Members.OfType <TypeData>() )); }