Skip to content

Commit a6f9935

Browse files
committed
remove polling
1 parent 9c17622 commit a6f9935

File tree

5 files changed

+8
-110
lines changed

5 files changed

+8
-110
lines changed

FineCodeCoverageTests/FCCEngine_Tests.cs

Lines changed: 3 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void Should_Initialize_AppFolder_Then_Utils()
4949

5050
var openCoverMock = mocker.GetMock<ICoverageUtilManager>().Setup(openCover => openCover.Initialize(appDataFolderPath, disposalToken)).Callback(() => callOrder.Add(4));
5151

52-
fccEngine.Initialize(null,disposalToken);
52+
fccEngine.Initialize(disposalToken);
5353

5454
Assert.AreEqual(4, callOrder.Count);
5555
Assert.AreEqual(1, callOrder[0]);
@@ -62,7 +62,7 @@ public void Should_Set_AppDataFolderPath_From_Initialized_AppDataFolder_Director
6262
var appDataFolderPath = "some path";
6363
var mockAppDataFolder = mocker.GetMock<IAppDataFolder>();
6464
mockAppDataFolder.Setup(appDataFolder => appDataFolder.DirectoryPath).Returns(appDataFolderPath);
65-
fccEngine.Initialize(null, CancellationToken.None);
65+
fccEngine.Initialize(CancellationToken.None);
6666
Assert.AreEqual("some path", fccEngine.AppDataFolderPath);
6767
}
6868

@@ -101,46 +101,6 @@ public async Task Should_Log_Starting_When_Initialized()
101101
VerifyLogsReloadCoverageStatus(ReloadCoverageStatus.Start);
102102
}
103103

104-
[Test]
105-
public async Task Should_Poll_For_Initialized()
106-
{
107-
var times = 5;
108-
var initializeWait = 1000;
109-
fccEngine.InitializeWait = initializeWait;
110-
111-
var mockInitializeStatusProvider = new Mock<IInitializeStatusProvider>();
112-
mockInitializeStatusProvider.SetupProperty(i => i.InitializeStatus);
113-
var initializeStatusProvider = mockInitializeStatusProvider.Object;
114-
115-
fccEngine.Initialize(initializeStatusProvider, CancellationToken.None);
116-
117-
fccEngine.ReloadCoverage(() => Task.FromResult(new List<ICoverageProject>()));
118-
await Task.Delay(times * initializeWait).ContinueWith(_ =>
119-
{
120-
initializeStatusProvider.InitializeStatus = InitializeStatus.Initialized;
121-
});
122-
await fccEngine.reloadCoverageTask;
123-
mocker.Verify<ILogger>(l => l.Log(fccEngine.GetLogReloadCoverageStatusMessage(ReloadCoverageStatus.Initializing)), Times.AtLeast(times));
124-
}
125-
126-
[Test]
127-
public async Task Should_Throw_With_initializationFailedMessagePrefix_When_Initialize_Has_Failed()
128-
{
129-
var mockInitializerStatusProvider = new Mock<IInitializeStatusProvider>();
130-
mockInitializerStatusProvider.Setup(i => i.InitializeStatus).Returns(InitializeStatus.Error);
131-
var initializeExceptionMessage = "An exception was thrown";
132-
mockInitializerStatusProvider.Setup(i => i.InitializeExceptionMessage).Returns(initializeExceptionMessage);
133-
134-
fccEngine.Initialize(mockInitializerStatusProvider.Object, CancellationToken.None);
135-
136-
fccEngine.ReloadCoverage(() => Task.FromResult(new List<ICoverageProject>()));
137-
138-
await fccEngine.reloadCoverageTask;
139-
140-
mocker.Verify<ILogger>(l => l.Log(fccEngine.GetLogReloadCoverageStatusMessage(ReloadCoverageStatus.Error),It.Is<Exception>(exc => (FCCEngine.initializationFailedMessagePrefix + Environment.NewLine + initializeExceptionMessage) == exc.Message)));
141-
142-
}
143-
144104
[Test]
145105
public async Task Should_Prepare_For_Coverage_Suitable_CoverageProjects()
146106
{
@@ -301,14 +261,6 @@ public async Task Should_Process_ReportGenerator_Output_If_Success_Raising_Event
301261

302262
}
303263

304-
[Test]
305-
public async Task Should_Log_Single_Exception_From_Aggregate_Exception()
306-
{
307-
Exception exception = null;
308-
await ThrowException(exc => exception = exc);
309-
mocker.Verify<ILogger>(l => l.Log(fccEngine.GetLogReloadCoverageStatusMessage(ReloadCoverageStatus.Error),exception));
310-
}
311-
312264
[Test]
313265
public async Task Should_Cancel_Running_Coverage_Logging_Cancelled_When_StopCoverage()
314266
{
@@ -416,21 +368,6 @@ private async Task ThrowReadingReportHtml()
416368

417369
}
418370

419-
private async Task ThrowException(Action<Exception> exceptionCallback = null)
420-
{
421-
var exception = new Exception("an exception");
422-
exceptionCallback?.Invoke(exception);
423-
Task<List<ICoverageProject>> thrower() => Task.FromException<List<ICoverageProject>>(exception);
424-
425-
var mockInitializeStatusProvider = new Mock<IInitializeStatusProvider>();
426-
mockInitializeStatusProvider.Setup(i => i.InitializeStatus).Returns(InitializeStatus.Initialized);
427-
fccEngine.Initialize(mockInitializeStatusProvider.Object, CancellationToken.None);
428-
429-
fccEngine.ReloadCoverage(thrower);
430-
431-
await fccEngine.reloadCoverageTask;
432-
}
433-
434371
private async Task StopCoverage()
435372
{
436373
var mockSuitableCoverageProject = new Mock<ICoverageProject>();
@@ -460,9 +397,7 @@ private void SetUpSuccessfulRunReportGenerator()
460397
private async Task ReloadInitializedCoverage(params ICoverageProject[] coverageProjects)
461398
{
462399
var projectsFromTask = Task.FromResult(coverageProjects.ToList());
463-
var mockInitializeStatusProvider = new Mock<IInitializeStatusProvider>();
464-
mockInitializeStatusProvider.Setup(i => i.InitializeStatus).Returns(InitializeStatus.Initialized);
465-
fccEngine.Initialize(mockInitializeStatusProvider.Object, CancellationToken.None);
400+
fccEngine.Initialize(CancellationToken.None);
466401
fccEngine.ReloadCoverage(() => projectsFromTask);
467402
await fccEngine.reloadCoverageTask;
468403
}

FineCodeCoverageTests/Initializer_Tests.cs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public async Task Should_Initialize_Dependencies_In_Order()
8989
{
9090
callOrder.Add(1);
9191
});
92-
mocker.GetMock<IFCCEngine>().Setup(engine => engine.Initialize(initializer, disposalToken)).Callback(() =>
92+
mocker.GetMock<IFCCEngine>().Setup(engine => engine.Initialize(disposalToken)).Callback(() =>
9393
{
9494
callOrder.Add(2);
9595
});
@@ -102,14 +102,5 @@ public async Task Should_Initialize_Dependencies_In_Order()
102102
await initializer.InitializeAsync(disposalToken);
103103
Assert.AreEqual(new List<int> { 1, 2, 3 }, callOrder);
104104
}
105-
106-
[Test]
107-
public async Task Should_Pass_Itself_To_FCCEngine_For_InitializeStatus()
108-
{
109-
var disposalToken = CancellationToken.None;
110-
await initializer.InitializeAsync(disposalToken);
111-
mocker.Verify<IFCCEngine>(engine => engine.Initialize(initializer, disposalToken));
112-
}
113-
114105
}
115106
}

SharedProject/Core/FCCEngine.cs

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ internal class FCCEngine : IFCCEngine,IDisposable
6060
private readonly ILogger logger;
6161
private readonly IAppDataFolder appDataFolder;
6262

63-
private IInitializeStatusProvider initializeStatusProvider;
6463
private readonly ICoverageToolOutputManager coverageOutputManager;
6564
internal System.Threading.Tasks.Task reloadCoverageTask;
6665
#pragma warning disable IDE0052 // Remove unread private members
@@ -116,10 +115,8 @@ private void LogReloadCoverageStatus(ReloadCoverageStatus reloadCoverageStatus)
116115
logger.Log(GetLogReloadCoverageStatusMessage(reloadCoverageStatus));
117116
}
118117

119-
public void Initialize(IInitializeStatusProvider initializeStatusProvider, CancellationToken cancellationToken)
118+
public void Initialize(CancellationToken cancellationToken)
120119
{
121-
this.initializeStatusProvider = initializeStatusProvider;
122-
123120
appDataFolder.Initialize(cancellationToken);
124121
AppDataFolderPath = appDataFolder.DirectoryPath;
125122

@@ -323,29 +320,7 @@ private void RaiseReportFiles(ReportResult reportResult)
323320
this.eventAggregator.SendMessage(new ReportFilesMessage { CoberturaFile = reportResult.CoberturaFile, HotspotsFile = reportResult.HotspotsFile });
324321
}
325322
}
326-
327-
private async System.Threading.Tasks.Task PollInitializedStatusAsync(CancellationToken cancellationToken)
328-
{
329-
while (true)
330-
{
331-
cancellationToken.ThrowIfCancellationRequested();
332-
var InitializeStatus = initializeStatusProvider.InitializeStatus;
333-
switch (InitializeStatus)
334-
{
335-
case InitializeStatus.Initialized:
336-
return;
337-
338-
case InitializeStatus.Initializing:
339-
reportGeneratorUtil.LogCoverageProcess("Initializing");
340-
LogReloadCoverageStatus(ReloadCoverageStatus.Initializing);
341-
await System.Threading.Tasks.Task.Delay(InitializeWait);
342-
break;
343-
case InitializeStatus.Error:
344-
throw new Exception(initializationFailedMessagePrefix + Environment.NewLine + initializeStatusProvider.InitializeExceptionMessage);
345-
}
346-
}
347-
}
348-
323+
349324
public void RunAndProcessReport(string[] coberturaFiles, Action cleanUp = null)
350325
{
351326
RunCancellableCoverageTask(async (vsShutdownLinkedCancellationToken) =>
@@ -369,7 +344,6 @@ private void RunCancellableCoverageTask(
369344
{
370345
reloadCoverageTask = System.Threading.Tasks.Task.Run(async () =>
371346
{
372-
await PollInitializedStatusAsync(vsShutdownLinkedCancellationToken);
373347
var result = await taskCreator(vsShutdownLinkedCancellationToken);
374348
return result;
375349

@@ -385,8 +359,6 @@ public void ReloadCoverage(Func<System.Threading.Tasks.Task<List<ICoverageProjec
385359
{
386360
ReportResult reportResult = new ReportResult();
387361

388-
await PollInitializedStatusAsync(vsShutdownLinkedCancellationToken);
389-
390362
reportGeneratorUtil.LogCoverageProcess("Starting coverage - full details in FCC Output Pane");
391363
LogReloadCoverageStatus(ReloadCoverageStatus.Start);
392364

SharedProject/Core/IFCCEngine.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace FineCodeCoverage.Engine
88
internal interface IFCCEngine
99
{
1010
string AppDataFolderPath { get; }
11-
void Initialize(IInitializeStatusProvider initializeStatusProvider, System.Threading.CancellationToken cancellationToken);
11+
void Initialize(System.Threading.CancellationToken cancellationToken);
1212
void StopCoverage();
1313
void ReloadCoverage(Func<System.Threading.Tasks.Task<List<ICoverageProject>>> coverageRequestCallback);
1414
void RunAndProcessReport(string[] coberturaFiles,Action cleanUp = null);

SharedProject/Core/Initialization/Initializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public async Task InitializeAsync(CancellationToken cancellationToken)
4242
cancellationToken.ThrowIfCancellationRequested();
4343
coverageProjectFactory.Initialize();
4444

45-
fccEngine.Initialize(this, cancellationToken);
45+
fccEngine.Initialize(cancellationToken);
4646

4747
cancellationToken.ThrowIfCancellationRequested();
4848
logger.Log($"Initialized");

0 commit comments

Comments
 (0)