protected override Task Context() { _snapshotTask = A.Fake <ISnapshotTask>(); _jsonSerializer = A.Fake <IJsonSerializer>(); _workspace = A.Fake <ICoreWorkspace>(); _workspacePersistor = A.Fake <IWorkspacePersistor>(); _exportSimulationRunner = A.Fake <IExportSimulationRunner>(); _logger = A.Fake <ILogger>(); _dataRepositoryTask = A.Fake <IDataRepositoryTask>(); _markdownReporterTask = A.Fake <IMarkdownReporterTask>(); sut = new QualificationRunner(_snapshotTask, _jsonSerializer, _workspace, _workspacePersistor, _exportSimulationRunner, _dataRepositoryTask, _markdownReporterTask, _logger); _runOptions = new QualificationRunOptions(); _qualificationConfiguration = new QualifcationConfiguration(); return(_completed); }
private async Task <QualificationRunResult> execute(QualifcationConfiguration qualifcationConfiguration, QualificationRunOptions runOptions, CancellationToken cancellationToken, bool validate) { _logger.AddDebug(Logs.StartingQualificationRunForProject(qualifcationConfiguration.Project)); var logFile = Path.Combine(qualifcationConfiguration.TempFolder, "log.txt"); var configFile = Path.Combine(qualifcationConfiguration.TempFolder, "config.json"); var project = qualifcationConfiguration.Project; var qualificationRunResult = new QualificationRunResult { ConfigFile = configFile, LogFile = logFile, Project = project, MappingFile = qualifcationConfiguration.MappingFile }; await _jsonSerializer.Serialize(qualifcationConfiguration, configFile); _logger.AddDebug(Logs.QualificationConfigurationForProjectExportedTo(project, configFile)); var pksimCLIPath = _applicationConfiguration.PKSimCLIPathFor(runOptions.PKSimInstallationFolder); if (!FileHelper.FileExists(pksimCLIPath)) { throw new QualificationRunException(Errors.PKSimCLIFileNotFound(pksimCLIPath)); } return(await Task.Run(() => { var code = startBatchProcess(configFile, logFile, runOptions.LogLevel, validate, project, pksimCLIPath, cancellationToken); qualificationRunResult.Success = (code == ExitCodes.Success); return qualificationRunResult; }, cancellationToken)); }
public Task <QualificationRunResult> Run(QualifcationConfiguration qualifcationConfiguration, QualificationRunOptions runOptions, CancellationToken cancellationToken) => execute(qualifcationConfiguration, runOptions, cancellationToken, validate: false);