public static Task <TResult> Run <TResult>(Func <Task <TResult> > function, CancellationToken cancellationToken) { if (CoyoteRuntime.IsExecutionControlled) { var runtime = CoyoteRuntime.Current; var task = runtime.ScheduleFunction(function, null, cancellationToken); return(runtime.UnwrapTask(task)); } return(Task.Run(FuzzingProvider.CreateFunc(function), cancellationToken)); }
public static Task Run(Action action, CancellationToken cancellationToken) => CoyoteRuntime.IsExecutionControlled ? CoyoteRuntime.Current.ScheduleAction(action, null, OperationContext.CreateOperationExecutionOptions(), false, cancellationToken) : Task.Run(FuzzingProvider.CreateAction(action), cancellationToken);
public static Task Delay(TimeSpan delay, CancellationToken cancellationToken) => CoyoteRuntime.IsExecutionControlled ? CoyoteRuntime.Current.ScheduleDelay(delay, cancellationToken) : Task.Delay(FuzzingProvider.CreateDelay(delay), cancellationToken);
public static Task Delay(TimeSpan delay) => CoyoteRuntime.IsExecutionControlled ? CoyoteRuntime.Current.ScheduleDelay(delay, default) : Task.Delay(FuzzingProvider.CreateDelay(delay));
public static Task Delay(int millisecondsDelay, CancellationToken cancellationToken) => CoyoteRuntime.IsExecutionControlled ? CoyoteRuntime.Current.ScheduleDelay(TimeSpan.FromMilliseconds(millisecondsDelay), cancellationToken) : Task.Delay(FuzzingProvider.CreateDelay(millisecondsDelay), cancellationToken);
public static Task Delay(int millisecondsDelay) => CoyoteRuntime.IsExecutionControlled ? CoyoteRuntime.Current.ScheduleDelay(TimeSpan.FromMilliseconds(millisecondsDelay), default) : Task.Delay(FuzzingProvider.CreateDelay(millisecondsDelay));
public static Task <TResult> Run <TResult>(Func <TResult> function, CancellationToken cancellationToken) => CoyoteRuntime.IsExecutionControlled ? CoyoteRuntime.Current.ScheduleFunction(function, null, cancellationToken) : Task.Run(FuzzingProvider.CreateFunc(function), cancellationToken);