public static SubmoduleInfoResult UpdateSubmoduleStructureAndWaitForResult(ISubmoduleStatusProvider provider, GitModule module, bool updateStatus = false) { SubmoduleInfoResult result = null; provider.StatusUpdated += ProviderStatusUpdated; try { provider.UpdateSubmodulesStructure( workingDirectory: module.WorkingDir, noBranchText: string.Empty, updateStatus: updateStatus); AsyncTestHelper.WaitForPendingOperations(AsyncTestHelper.UnexpectedTimeout); } finally { provider.StatusUpdated -= ProviderStatusUpdated; } return(result); void ProviderStatusUpdated(object sender, SubmoduleStatusEventArgs e) { result = e.Info; } }
public void AfterTest(ITest test) { try { try { // Wait for eventual pending operations triggered by the test. AsyncTestHelper.WaitForPendingOperations(AsyncTestHelper.UnexpectedTimeout); } finally { ThreadHelper.JoinableTaskContext = null; if (_denyExecutionSynchronizationContext != null) { SynchronizationContext.SetSynchronizationContext(_denyExecutionSynchronizationContext.UnderlyingContext); } } _denyExecutionSynchronizationContext?.ThrowIfSwitchOccurred(); } catch (Exception ex) when(_threadException != null) { StoreThreadException(ex); } finally { // Reset _threadException to null, and throw if it was set during the current test. Interlocked.Exchange(ref _threadException, null)?.Throw(); } }
public static void UpdateSubmoduleStatusAndWaitForResult(ISubmoduleStatusProvider provider, GitModule module, IReadOnlyList <GitItemStatus> gitStatus) { List <DetailedSubmoduleInfo> result = new List <DetailedSubmoduleInfo>(); provider.StatusUpdated += Provider_StatusUpdated; provider.UpdateSubmodulesStatus( workingDirectory: module.WorkingDir, gitStatus: gitStatus); AsyncTestHelper.WaitForPendingOperations(); provider.StatusUpdated -= Provider_StatusUpdated; return; void Provider_StatusUpdated(object sender, SubmoduleStatusEventArgs e) { } }
public static SubmoduleInfoResult UpdateSubmoduleStatusAndWaitForResult(ISubmoduleStatusProvider provider, GitModule module, bool updateStatus = false) { SubmoduleInfoResult result = null; provider.StatusUpdated += Provider_StatusUpdated; provider.UpdateSubmodulesStatus( updateStatus: updateStatus, workingDirectory: module.WorkingDir, noBranchText: string.Empty); AsyncTestHelper.WaitForPendingOperations(); provider.StatusUpdated -= Provider_StatusUpdated; return(result); void Provider_StatusUpdated(object sender, SubmoduleStatusEventArgs e) { result = e.Info; } }
public static void UpdateSubmoduleStatusAndWaitForResult(ISubmoduleStatusProvider provider, GitModule module, IReadOnlyList <GitItemStatus> gitStatus) { provider.UpdateSubmodulesStatus(workingDirectory: module.WorkingDir, gitStatus: gitStatus, forceUpdate: true); AsyncTestHelper.WaitForPendingOperations(AsyncTestHelper.UnexpectedTimeout); }