/// <summary> /// Ensure that the Execution component of engine is ready for execution usually by loading extensions. /// </summary> public override void Initialize() { DataCollectionParameters dataCollectionParameters = null; try { dataCollectionParameters = (this.ProxyDataCollectionManager == null) ? DataCollectionParameters.CreateDefaultParameterInstance() : this.ProxyDataCollectionManager.BeforeTestRunStart( resetDataCollectors: true, isRunStartingNow: true, runEventsHandler: this.DataCollectionRunEventsHandler); } catch { try { // On failure in calling BeforeTestRunStart, call AfterTestRunEnd to end DataCollectionProcess if (this.ProxyDataCollectionManager != null) { this.ProxyDataCollectionManager.AfterTestRunEnd(isCanceled: true, runEventsHandler: this.DataCollectionRunEventsHandler); } } catch (Exception ex) { // There is an issue with Data Collector, skipping data collection and continuing with test run. if (EqtTrace.IsErrorEnabled) { EqtTrace.Error("TestEngine: Error occured while communicating with DataCollection Process: {0}", ex); } if (EqtTrace.IsWarningEnabled) { EqtTrace.Warning("TestEngine: Skipping Data Collection"); } } } // todo : pass dataCollectionParameters.EnvironmentVariables while initializaing testhostprocess. base.Initialize(); }
public void UpdateTestProcessStartInfoShouldUpdateDataCollectionPortArg() { this.mockDataCollectionManager.Setup(x => x.BeforeTestRunStart(It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <ITestMessageEventHandler>())).Returns(DataCollectionParameters.CreateDefaultParameterInstance()); var testProcessStartInfo = new TestProcessStartInfo(); testProcessStartInfo.Arguments = string.Empty; var proxyExecutionManager = new TestableProxyExecutionManagerWithDataCollection(this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataCollectionManager.Object); proxyExecutionManager.UpdateTestProcessStartInfoWrapper(testProcessStartInfo); Assert.IsTrue(testProcessStartInfo.Arguments.Contains("--datacollectionport 0")); }
public void UpdateTestProcessStartInfoShouldUpdateTelemetryOptedInArgFalseIfTelemetryOptedOut() { var mockRequestData = new Mock <IRequestData>(); this.mockRequestData.Setup(rd => rd.IsTelemetryOptedIn).Returns(false); this.mockDataCollectionManager.Setup(x => x.BeforeTestRunStart(It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <ITestMessageEventHandler>())).Returns(DataCollectionParameters.CreateDefaultParameterInstance()); var testProcessStartInfo = new TestProcessStartInfo(); testProcessStartInfo.Arguments = string.Empty; var proxyExecutionManager = new TestableProxyExecutionManagerWithDataCollection(this.mockRequestData.Object, this.mockRequestSender.Object, this.mockTestHostManager.Object, this.mockDataCollectionManager.Object); // Act. proxyExecutionManager.UpdateTestProcessStartInfoWrapper(testProcessStartInfo); // Verify. Assert.IsTrue(testProcessStartInfo.Arguments.Contains("--telemetryoptedin false")); }