public List <IAssemblyWrapper> GetAssembliesGroupedByType(TestPlatform mode)
        {
            var assemblies = GetAssembliesGroupedByTypeAsync(mode);

            while (assemblies.MoveNext())
            {
            }

            return(assemblies.Current.Where(pair => mode.IsFlagIncluded(pair.Key)).SelectMany(pair => pair.Value).ToList());
        }
Example #2
0
        public override IEnumerator Execute(TestJobData testJobData)
        {
            if (testJobData.testTree != null)
            {
                yield break;
            }

            var assembliesEnumerator = m_testAssemblyProvider.GetAssembliesGroupedByTypeAsync(m_TestPlatform);

            while (assembliesEnumerator.MoveNext())
            {
                yield return(null);
            }

            if (assembliesEnumerator.Current == null)
            {
                throw new Exception("Assemblies not retrieved.");
            }

            var assemblies    = assembliesEnumerator.Current.Where(pair => m_TestPlatform.IsFlagIncluded(pair.Key)).SelectMany(pair => pair.Value).Select(x => x.Assembly).ToArray();
            var buildSettings = UnityTestAssemblyBuilder.GetNUnitTestBuilderSettings(m_TestPlatform);
            var enumerator    = m_testAssemblyBuilder.BuildAsync(assemblies, Enumerable.Repeat(m_TestPlatform, assemblies.Length).ToArray(), buildSettings);

            while (enumerator.MoveNext())
            {
                yield return(null);
            }

            var testList = enumerator.Current;

            if (testList == null)
            {
                throw new Exception("Test list not retrieved.");
            }

            testList.ParseForNameDuplicates();
            testJobData.testTree = testList;
            m_CallbacksDelegator.TestTreeRebuild(testList);
        }
Example #3
0
        public IEnumerator <ITest> GetTestListAsync(TestPlatform platform)
        {
            var assembliesTask = m_AssemblyProvider.GetAssembliesGroupedByTypeAsync(platform);

            while (assembliesTask.MoveNext())
            {
                yield return(null);
            }

            var assemblies = assembliesTask.Current.Where(pair => platform.IsFlagIncluded(pair.Key))
                             .SelectMany(pair => pair.Value.Select(assemblyInfo => Tuple.Create(assemblyInfo.Assembly, pair.Key))).ToArray();

            var settings = UnityTestAssemblyBuilder.GetNUnitTestBuilderSettings(platform);
            var test     = m_AssemblyBuilder.BuildAsync(assemblies.Select(a => a.Item1).ToArray(), assemblies.Select(a => a.Item2).ToArray(), settings);

            while (test.MoveNext())
            {
                yield return(null);
            }

            yield return(test.Current);
        }