internal override IEnumerable <AAction> CreateTestActions(AActionContext context) { // Run Test yield return(new ARunAllMCutTestCasesAction("Run Determinism Test")); if (context.MCutTestRun != null) { // View w/Concurrency Explorer yield return(new AViewConcurrencyExplorerAction()); // Repeat Test yield return(new ARerunMChessTestAction("Repeat Test") { ChildrenIfApplicable = new[] { MChessTestController.CreateMChessOptionsModifier_WithBounds(), //MChessTestController.CreateMChessOptionsModifier_WithTracing(false), MChessTestController.CreateMChessOptionsModifier_WithDebugger(), MChessTestController.CreateMChessOptionsModifier_WithLogging(), } }); // Repro Chess Result if (context.ChessResult != null) { yield return(new SeparatorFauxAction()); foreach (var a in MChessTestController.CreateChessResultActions()) { yield return(a); } } } }
internal override IEnumerable <AAction> CreateTestActions(AActionContext context) { // NOTE: For data race tests, we're not giving the user as many of the options as a normal MChess test // If users want certain options available, then we can add back as we go. // Run Test yield return(new ARunAllMCutTestCasesAction <MChessTestRunOptions>("Run Schedule Test") { ChildrenIfApplicable = MChessTestController.CreateChessBoundsActions(), }); if (context.MCutTestRun != null) { // View w/Concurrency Explorer yield return(new AViewConcurrencyExplorerAction()); // Repeat Test yield return(new ARerunMChessTestAction("Repeat Test") { ChildrenIfApplicable = new[] { MChessTestController.CreateMChessOptionsModifier_WithBounds(), //MChessTestController.CreateMChessOptionsModifier_WithTracing(false), MChessTestController.CreateMChessOptionsModifier_WithDebugger(), MChessTestController.CreateMChessOptionsModifier_WithLogging(), } }); // Continue Test yield return(new AContinueMChessTestRunAction() { ChildrenIfApplicable = new[] { MChessTestController.CreateMChessOptionsModifier_WithBounds(), //MChessTestController.CreateMChessOptionsModifier_WithTracing(true), } }); // Repro Last Schedule yield return(new AReproLastMChessTestRunScheduleAction() { ChildrenIfApplicable = new[] { MChessTestController.CreateMChessOptionsModifier_WithTracing(false), MChessTestController.CreateMChessOptionsModifier_WithDebugger(), MChessTestController.CreateMChessOptionsModifier_WithLogging(), } }); // Repro Chess Result if (context.ChessResult != null) { yield return(new SeparatorFauxAction()); foreach (var a in MChessTestController.CreateChessResultActions()) { yield return(a); } } } }