private ExecuteProcessResult Bootstrap() { Submit submit = Settings.Submit; ExecuteProcessResult result = new ExecuteProcessResult(); result.ExitCode = 0; result.Result = ExitCode.Success; try { IFileSystem fileSystem = ServiceLocator.Instance.GetService <IFileSystem>(); Assignment assignment = Settings.Assignment; string teamSubmitDirName = CreateTeamDirectory(Settings.Submit.Team.Id.ToString(), assignment); Settings.OutputPath = teamSubmitDirName; Settings.SourcesPath = teamSubmitDirName; CopyFiles(assignment, submit, teamSubmitDirName); } catch (Exception ex) { result.Output = ex.Message; result.Result = ExitCode.Failure; } return(result); }
protected virtual ExecuteProcessResult ExecuteProcess(ProcessStartInfo psi) { ExecuteProcessResult result = new ExecuteProcessResult(); result.ExitCode = -99; try { psi.RedirectStandardOutput = true; psi.CreateNoWindow = true; psi.UseShellExecute = false; using (Process exeProcess = System.Diagnostics.Process.Start(psi)) { exeProcess.WaitForExit(); result.Output = exeProcess.StandardOutput.ReadToEnd(); exeProcess.WaitForExit(); result.ExitCode = exeProcess.ExitCode; } } catch { } return(result); }
protected virtual ExecuteProcessResult ExecuteProcess(ProcessStartInfo psi) { ExecuteProcessResult result = new ExecuteProcessResult(); result.ExitCode = -99; try { psi.RedirectStandardOutput = true; psi.CreateNoWindow = true; psi.UseShellExecute = false; using (Process exeProcess = System.Diagnostics.Process.Start(psi)) { exeProcess.WaitForExit(); result.Output = exeProcess.StandardOutput.ReadToEnd(); exeProcess.WaitForExit(); result.ExitCode = exeProcess.ExitCode; } } catch { } return result; }
public void TestMethod1() { ProcessSettings settings = new ProcessSettings(); BaseProcess process = new MoCSValidationProcess(settings); ExecuteProcessResult result = process.Process(); }
private ExecuteProcessResult CheckBusinessRules(string outputDllPath) { ExecuteProcessResult result = new ExecuteProcessResult(); //Compilation is successfull. Now check businessrules. //check if the assembly is found; if (!FileSystem.FileExists(outputDllPath)) { result.Result = ExitCode.Failure; result.Output = "compiled dll was not found."; return(result); } Type implementedClass = null; Assembly assembly = FileSystem.LoadAssembly(outputDllPath); //loop through the types in the assembly foreach (Type type in assembly.GetTypes()) { //try to find the class that was implemented if (type.Name.Equals(Settings.Assignment.ClassNameToImplement)) { implementedClass = type; break; } } //if the classToImplement cannot be found, return with an error if (implementedClass == null) { result.Result = ExitCode.Failure; result.Output = string.Format("The class to implement ({0}) is not found", Settings.Assignment.ClassNameToImplement); return(result); } //check to see if it implements the required interface... Type requiredInterface = implementedClass.GetInterface(Settings.Assignment.InterfaceNameToImplement); if (requiredInterface == null) { result.Result = ExitCode.Failure; result.Output = string.Format("The class to implement ({0}) does not implement the required interface {1}", Settings.Assignment.ClassNameToImplement, Settings.Assignment.InterfaceNameToImplement); return(result); } return(result); }
private ExecuteProcessResult Start() { ExecuteProcessResult totalResult = new ExecuteProcessResult(); foreach (BaseProcess process in _processes) { totalResult = process.Process(); if (totalResult.Result == ExitCode.Failure) { break; } } return(totalResult); }
private ExecuteProcessResult Start() { ExecuteProcessResult totalResult = new ExecuteProcessResult(); foreach (BaseProcess process in _processes) { totalResult = process.Process(); if (totalResult.Result == ExitCode.Failure) { break; } } return totalResult; }
private ExecuteProcessResult Compile() { ProcessStartInfo startInfo = ProcessStartInfoFactory.CreateCompileProcessStartInfo(Settings); ExecuteProcessResult result = ExecuteProcess(startInfo); if (result.ExitCode == 0) { result.Result = ExitCode.Success; } else { result.Result = ExitCode.Failure; } return(result); }
private ExecuteProcessResult CheckBusinessRules(string outputDllPath) { ExecuteProcessResult result = new ExecuteProcessResult(); //Compilation is successfull. Now check businessrules. //check if the assembly is found; if (!FileSystem.FileExists(outputDllPath)) { result.Result = ExitCode.Failure; result.Output = "compiled dll was not found."; return result; } Type implementedClass = null; Assembly assembly = FileSystem.LoadAssembly(outputDllPath); //loop through the types in the assembly foreach (Type type in assembly.GetTypes()) { //try to find the class that was implemented if (type.Name.Equals(Settings.Assignment.ClassNameToImplement)) { implementedClass = type; break; } } //if the classToImplement cannot be found, return with an error if (implementedClass == null) { result.Result = ExitCode.Failure; result.Output = string.Format("The class to implement ({0}) is not found", Settings.Assignment.ClassNameToImplement); return result; } //check to see if it implements the required interface... Type requiredInterface = implementedClass.GetInterface(Settings.Assignment.InterfaceNameToImplement); if (requiredInterface == null) { result.Result = ExitCode.Failure; result.Output = string.Format("The class to implement ({0}) does not implement the required interface {1}", Settings.Assignment.ClassNameToImplement, Settings.Assignment.InterfaceNameToImplement); return result; } return result; }
private void button1_Click(object sender, EventArgs e) { var logger = Substitute.For <ILogger>(); var facade = Substitute.For <IBuildServiceFacade>(); var filesys = new FileSystemWrapper(); ProcessSettings processSettings = new ProcessSettings(); processSettings.BaseResultPath = @"c:\mocs\"; processSettings.NunitAssemblyPath = @"C:\Program Files\NUnit 2.5.9\bin\net-2.0\framework"; processSettings.CscPath = @"C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe"; processSettings.NunitConsolePath = @"C:\Program Files\NUnit 2.5.9\bin\net-2.0\nunit-console.exe"; processSettings.SourcesPath = ""; processSettings.OutputPath = ""; processSettings.TestLogFileName = "testresult.xml"; processSettings.NunitTimeOut = 5000; processSettings.CleanUp = true; processSettings.Assignment = CreateTestAssignment(facade); processSettings.Submit = CreateTestSubmit(); processSettings.Submit.TournamentAssignment.Assignment = processSettings.Assignment; ServiceLocator services = ServiceLocator.Instance; services.AddService(typeof(IFileSystem), filesys); BaseProcess process = new MoCSValidationProcess(processSettings, filesys); ExecuteProcessResult result = process.Process(); richTextBox1.Clear(); if (result.Result == ExitCode.Success) { this.panel1.BackColor = Color.Green; } else { this.panel1.BackColor = Color.Red; richTextBox1.AppendText(result.Output); } }
private TestResults RunUnitTests() { ProcessStartInfo startInfo = null; startInfo = ProcessStartInfoFactory.CreateTestProcessStartInfoNunit(Settings); ExecuteProcessResult result = ExecuteProcess(startInfo); TestResults testResults = TestResultsInterpreter.InterpretTestResults(Settings.GetTestLogPath()); if (testResults.FailingTests.Count == 0 && result.ExitCode == 0) { testResults.ResultCode = ExitCode.Success; } else { testResults.ResultCode = ExitCode.Failure; } return(testResults); }
public void Process() { IBuildServiceFacade facade = ServiceLocator.Instance.GetService <IBuildServiceFacade>(); ProcessSettings settings = ServiceLocator.Instance.GetService <ProcessSettings>().Clone(); settings.Submit = this.Submit; settings.Assignment = facade.GetAssignmentById(this.Submit.TournamentAssignment.Assignment.Id, true); this.Submit.TournamentAssignment.Assignment = settings.Assignment; facade.UpdateSubmitStatusDetails(Submit.Id, SubmitStatus.Processing, "submit is being processed", DateTime.Now); IFileSystem fileSystem = ServiceLocator.Instance.GetService <IFileSystem>(); MoCSValidationProcess process = new MoCSValidationProcess(settings, fileSystem); ExecuteProcessResult result = process.Process(); this.Result = result; SaveStatusToDatabase(); }
public override ExecuteProcessResult Process() { TestResults testResults = RunUnitTests(); ExecuteProcessResult result = new ExecuteProcessResult(); result.Result = testResults.ResultCode; if (testResults.ResultCode == ExitCode.Failure) { StringBuilder sb = new StringBuilder(); foreach (string message in testResults.FailingTests) { sb.AppendLine(message); } result.Output = sb.ToString(); } return result; }
public override ExecuteProcessResult Process() { TestResults testResults = RunUnitTests(); ExecuteProcessResult result = new ExecuteProcessResult(); result.Result = testResults.ResultCode; if (testResults.ResultCode == ExitCode.Failure) { StringBuilder sb = new StringBuilder(); foreach (string message in testResults.FailingTests) { sb.AppendLine(message); } result.Output = sb.ToString(); } return(result); }
private ExecuteProcessResult Bootstrap() { Submit submit = Settings.Submit; ExecuteProcessResult result = new ExecuteProcessResult(); result.ExitCode = 0; result.Result = ExitCode.Success; try { IFileSystem fileSystem = ServiceLocator.Instance.GetService<IFileSystem>(); Assignment assignment = Settings.Assignment; string teamSubmitDirName = CreateTeamDirectory(Settings.Submit.Team.Id.ToString(), assignment); Settings.OutputPath = teamSubmitDirName; Settings.SourcesPath = teamSubmitDirName; CopyFiles(assignment, submit, teamSubmitDirName); } catch(Exception ex) { result.Output = ex.Message; result.Result = ExitCode.Failure; } return result; }