public IEnumerable<KeyValuePair<string, bool?>> ExecuteAllTests(ExecutionEnvironment environment, IPackage package) { var descriptor = new PackageDescriptor(); descriptor.Dependencies.Add(new PackageDependencyBuilder(Guid.NewGuid().ToString()).Name(package.Name).VersionVertex(new EqualVersionVertex(package.Version))); var allAssemblyReferences = _resolver.GetAssemblyReferences(false, environment, descriptor, package.Source, _environment.ProjectRepository, _environment.SystemRepository); var runners = _factories.SelectMany(x=>x.GetTestRunners(allAssemblyReferences)).NotNull(); var export = package.GetExport("tests", environment); if (export == null) return Enumerable.Empty<KeyValuePair<string, bool?>>(); var testAssemblies = from item in export.Items where item.FullPath.EndsWithNoCase(".dll") select item.FullPath; return from runner in runners from asm in testAssemblies from result in runner.ExecuteTests(allAssemblyReferences.Select(x => x.FullPath).ToList(), testAssemblies) select result; }