Exemplo n.º 1
0
        protected Process LaunchTestsApp(FileInfo appFile, Actions action, Guid telemetryKey, ProgramInfo pi = null, bool waitForExit = true, string viewName = null)
        {
            Arguments args = new Arguments {
                ApiUrl = this.BaseUrl, Action = action
            };

            args.DebugMode    = true;
            args.ProgramInfo  = pi;
            args.ViewName     = viewName;
            args.TelemetryKey = telemetryKey;


            Process process = ProcessCreator.Create(appFile, args, this.outputs, this.errors);

            this.Log($"Started process: {appFile.FullName}");
            process.Start();
            process.BeginOutputReadLine();
            process.BeginErrorReadLine();
            if (waitForExit)
            {
                process.WaitForExit();
                this.Log($"Finished process: {appFile.FullName}");
            }

            return(process);
        }
        internal override ProcessResult Prepare(ProcessResult processResult)
        {
            processResult = base.Prepare(processResult);

            if (processResult.State == ProcessState.Error)
            {
                return(processResult);
            }

            var udidName = Guid.NewGuid().ToString();

            logger.MoveSrcToTempDir();
            FilesHelper.MoveToTemp(WorkingDir, SRC_FILE_NAME, udidName + SRC_EXT);

            logger.CreateProcess(CREATE_ARGS);
            Process proc = ProcessCreator.Create(WorkingDir, CREATE_ARGS);

            logger.CreateConsoleProject();
            processResult = ExecuteProcess <CreateDotNetConsoleProjectFailed>(proc, processResult);

            if (processResult.State == ProcessState.Error)
            {
                logger.CreateConsoleProject(false);
                logger.EndWriting();

                return(processResult);
            }

            logger.CreateConsoleProject(true);
            logger.MoveSrcToWorkingDir();
            FilesHelper.MoveFromTemp(WorkingDir, udidName + SRC_EXT, SRC_FILE_NAME);

            return(processResult);
        }
        // In windows fpc -version returned ExitCode = 1, while version is successfully printed, and compilation works
        internal override ProcessResult TestBuildSystem(ProcessResult processResult)
        {
            logger.TestBuildSystem();
            processResult.Status = BuildStatus.BuildSystemTest;

            logger.CreateProcess(VersionCheckParams);
            Process proc = ProcessCreator.Create(WorkingDir, VersionCheckParams);

            processResult = ExecuteTestBuildProcess <BuildSystemNotFound>(proc, processResult);

            if (processResult.State == ProcessState.Error)
            {
                logger.TestBuildSystem(false);
                logger.EndWriting();
            }
            else
            {
                logger.TestBuildSystem(true);
            }
            return(processResult);
        }
Exemplo n.º 4
0
        protected Process LaunchPackageUpdaterTestsAppWithArgs(out FileInfo appFile, string appName, string testSubfolderName, bool waitForExit)
        {
            appFile = TestAppProvider.ExtractApp(appName, testSubfolderName, this.Log);
            Arguments args = new Arguments {
                ApiUrl = this.BaseUrl
            };

            args.TelemetryKey = Apps.Keys.PackageUpdaterClient;

            Process process = ProcessCreator.Create(appFile, args, this.outputs, this.errors);

            this.Log($"Started process: {appFile.FullName}");
            process.Start();
            process.BeginOutputReadLine();
            process.BeginErrorReadLine();
            if (waitForExit)
            {
                process.WaitForExit();
                this.Log($"Finished process: {appFile.FullName}");
            }

            return(process);
        }