public async Task FileAndForgetFilterCanIgnoreExceptions() { using var helper = new ThreadExceptionHelper(); var ex = new Exception(); ThrowExceptionAsync(ex).FileAndForget(fileOnlyIf: e => e != ex); await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout); Assert.Null(helper.Exception, helper.Message); }
public async Task FileAndForgetFilterCanAllowExceptions() { using var helper = new ThreadExceptionHelper(); var ex = new Exception(); ThrowExceptionAsync(ex).FileAndForget(fileOnlyIf: e => e == ex); await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout); Assert.AreSame(ex, helper.Exception); }
public async Task FileAndForgetReportsThreadException() { using var helper = new ThreadExceptionHelper(); var ex = new Exception(); ThrowExceptionAsync(ex).FileAndForget(); await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout); Assert.AreSame(ex, helper.Exception); }
public async Task FileAndForgetFilterIgnoresCancellationExceptions() { using var helper = new ThreadExceptionHelper(); var form = new Form(); form.Dispose(); YieldOntoControlMainThreadAsync(form).FileAndForget(fileOnlyIf: ex => true); await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout); Assert.Null(helper.Exception, helper.Message); }
public void FileAndForgetFilterCanIgnoreExceptions() { using (var helper = new ThreadExceptionHelper()) { var ex = new Exception(); ThreadHelper.JoinableTaskFactory.Run(() => { ThrowExceptionAsync(ex).FileAndForget(fileOnlyIf: e => e != ex); return(Task.CompletedTask); }); JoinPendingOperations(); Assert.Null(helper.Exception, helper.Message); } }
public void FileAndForgetReportsThreadException() { using (var helper = new ThreadExceptionHelper()) { var ex = new Exception(); ThreadHelper.JoinableTaskFactory.Run(() => { ThrowExceptionAsync(ex).FileAndForget(); return(Task.CompletedTask); }); JoinPendingOperations(); Assert.AreSame(ex, helper.Exception); } }
public void FileAndForgetIgnoresCancellationExceptions() { using (var helper = new ThreadExceptionHelper()) { var form = new Form(); form.Dispose(); ThreadHelper.JoinableTaskFactory.Run(() => { YieldOntoControlMainThreadAsync(form).FileAndForget(); return(Task.CompletedTask); }); JoinPendingOperations(); Assert.Null(helper.Exception, helper.Message); } }