private SubmitRunResult Run(Task task, string input, string runString) { var runService = new RunService(_runnerPath, _workingDirectory); var configuration = new Configuration(runString, _workingDirectory, task.TimeLimitMilliseconds, task.MemoryLimitBytes); configuration.InputFile = input; configuration.OutputFile = "output.txt"; //TODO var runResult = runService.Run(configuration); var result = new SubmitRunResult { Description = runResult.Description, Output = runResult.Output, PeakMemoryBytes = runResult.PeakMemoryBytes, RunStatus = runResult.RunStatus, TextStatus = runResult.TextStatus, TimeConsumedMilliseconds = runResult.TimeConsumedMilliseconds, TimePassedMilliseconds = runResult.TimePassedMilliseconds }; if (runResult.RunStatus == RunStatus.Success) { var checkAnswerResult = CheckAnswer(configuration); result.CheckMessage = checkAnswerResult.Message; result.CheckStatus = checkAnswerResult.CheckStatus; } return(result); }
private CheckResult CheckAnswer(Configuration configuration) { var checker = new Checker.Checker(); string answerFileName = configuration.InputFile + ".a"; return(checker.Check(_workingDirectory, configuration.InputFile, configuration.OutputFile, answerFileName)); }
private CheckResult CheckAnswer(Configuration configuration) { var checker = new Checker.Checker(); var answerFileName = configuration.InputFile + ".a"; var checkResult = checker.Check(_workingDirectory, configuration.InputFile, configuration.OutputFile, answerFileName); this.logger.Info( $"Check result: {configuration.InputFile}, {checkResult.CheckStatus}, {checkResult.Message}"); return(checkResult); }