Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
 public Task <QualificationRunResult> Run(QualifcationConfiguration qualifcationConfiguration, QualificationRunOptions runOptions, CancellationToken cancellationToken) =>
 execute(qualifcationConfiguration, runOptions, cancellationToken, validate: false);