Add OnProcessEngineEntered and OnWillDelayProcessEngine events to TestHelpers.EmptyEngine --- to ensure test assumptions do not rely on timing between concurrent thread.
Add DebugLoggingEnabled flag to toggle a ton of new logging calls in DataUpdateService.
Add OnTimeredCheckForUpdateEntered/-WillExit and OnDataFileUpdatedEntered/-WillExit event pairs to DataUpdateService --- to allow external code to perform locking of resources while update routines are in progress.
Modify CheckForUpdate methods family to ensure OnUpdateComplete event is fired after the exceptions (that happened during the update) are logged.
Dump logs from logger(s) during some tests or on Cleanup in AspectEngineLoadTests and DataUpdateServiceTests.
Use locks, monitors and event slims to ensure the assumptions in tests do not rely on timings when dealing with concurrent threads.
Changes
OnProcessEngineEntered
andOnWillDelayProcessEngine
events toTestHelpers.EmptyEngine
--- to ensure test assumptions do not rely on timing between concurrent thread.DebugLoggingEnabled
flag to toggle a ton of new logging calls inDataUpdateService
.OnTimeredCheckForUpdateEntered
/-WillExit
andOnDataFileUpdatedEntered
/-WillExit
event pairs toDataUpdateService
--- to allow external code to perform locking of resources while update routines are in progress.CheckForUpdate
methods family to ensureOnUpdateComplete
event is fired after the exceptions (that happened during the update) are logged.AspectEngineLoadTests
andDataUpdateServiceTests
.