1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using System.Collections;
- using System.Linq;
- using UnityEditor.TestTools.TestRunner.UnityTestProtocol;
- using UnityEngine;
- using UnityEngine.TestRunner.NUnitExtensions.Runner;
- using UnityEngine.TestTools;
-
- namespace UnityEditor.TestTools.TestRunner.TestRun.Tasks
- {
- internal class GenerateContextTask : TestTaskBase
- {
- public GenerateContextTask()
- {
- RerunAfterResume = true;
- }
-
- public override IEnumerator Execute(TestJobData testJobData)
- {
- if (testJobData.taskInfoStack.Peek().taskMode == TaskMode.Normal)
- {
- testJobData.setUpTearDownState = new BeforeAfterTestCommandState();
- testJobData.outerUnityTestActionState = new BeforeAfterTestCommandState();
- testJobData.enumerableTestState = new EnumerableTestState();
- }
-
- testJobData.Context = new UnityTestExecutionContext()
- {
- SetUpTearDownState = testJobData.setUpTearDownState,
- OuterUnityTestActionState = testJobData.outerUnityTestActionState,
- EnumerableTestState = testJobData.enumerableTestState,
- Automated = UnityTestProtocolStarter.IsEnabled(),
- RetryCount = testJobData.executionSettings.retryCount,
- RepeatCount = testJobData.executionSettings.repeatCount,
- RetryRepeatState = testJobData.RetryRepeatState
- };
-
- if (testJobData.executionSettings.ignoreTests != null)
- {
- testJobData.Context.IgnoreTests = testJobData.executionSettings.ignoreTests.Select(ignoreTest => ignoreTest.ParseToEngine()).ToArray();
- }
-
- testJobData.Context.FeatureFlags = testJobData.executionSettings.featureFlags;
-
- UnityTestExecutionContext.CurrentContext = testJobData.Context;
-
- yield break;
- }
- }
- }
|