Esempio n. 1
0
        public void OpenResultsInBrowser()
        {
            var response = FullResults();
            var document = BatchResultsWriter.BuildResults(response);

            document.OpenInBrowser();
        }
Esempio n. 2
0
        public void WriteResultsDocument(string file)
        {
            var response = FullResults();
            var document = BatchResultsWriter.BuildResults(response);

            document.WriteToFile(file);
        }
        private static void writeResults(RunInput input, SystemRecycled systemRecycled, BatchRunResponse results)
        {
            results.suite  = input.WorkspaceFlag;
            results.system = systemRecycled.system_name;
            results.time   = DateTime.Now.ToString();

            results.fixtures = buildFixturesWithOverrides(input, systemRecycled);

            var document = BatchResultsWriter.BuildResults(results);

            Console.WriteLine("Writing results to " + input.ResultsPathFlag);
            document.WriteToFile(input.ResultsPathFlag);
        }
Esempio n. 4
0
        public override bool Execute(RunInput input)
        {
            try
            {
                var top   = HierarchyLoader.ReadHierarchy(input.SpecPath);
                var specs = input.GetBatchRunRequest().Filter(top);

                if (!specs.Any())
                {
                    ConsoleWriter.Write(ConsoleColor.Yellow, "Warning: No specs found!");
                }
            }
            catch (SuiteNotFoundException ex)
            {
                ConsoleWriter.Write(ConsoleColor.Red, ex.Message);
                return(false);
            }

            var controller = input.BuildRemoteController();
            var task       = controller.Start(EngineMode.Batch).ContinueWith(t =>
            {
                var systemRecycled = t.Result;
                if (!systemRecycled.success)
                {
                    systemRecycled.WriteSystemUsage();
                    return(false);
                }

                writeSystemUsage(systemRecycled);
                var execution = input.StartBatch(controller);

                // TODO -- put a command level timeout on this thing
                execution.Wait();

                var results = execution.Result;

                var regression = results.Summarize(Lifecycle.Regression);
                var acceptance = results.Summarize(Lifecycle.Acceptance);

                if (input.LifecycleFlag != Lifecycle.Regression)
                {
                    Console.WriteLine(acceptance);
                }

                if (input.LifecycleFlag != Lifecycle.Acceptance)
                {
                    Console.WriteLine(regression);
                }

                var success = regression.Failed == 0;

                results.suite    = input.WorkspaceFlag;
                results.system   = systemRecycled.system_name;
                results.time     = DateTime.Now.ToString();
                results.fixtures = systemRecycled.fixtures;

                var document = BatchResultsWriter.BuildResults(results);
                Console.WriteLine("Writing results to " + input.ResultsPathFlag);
                document.WriteToFile(input.ResultsPathFlag);

                if (input.DumpFlag.IsNotEmpty())
                {
                    dumpJson(input, results);
                }

                if (input.CsvFlag.IsNotEmpty())
                {
                    writePerformanceData(input, results);
                }

                if (input.JsonFlag.IsNotEmpty())
                {
                    Console.WriteLine("Writing the raw result information to " + input.JsonFlag);
                    PerformanceDataWriter.WriteJSON(results, input.JsonFlag);
                }

                if (input.OpenFlag)
                {
                    Process.Start(input.ResultsPathFlag);
                }

                if (success)
                {
                    ConsoleWriter.Write(ConsoleColor.Green, "Success!");
                }
                else
                {
                    ConsoleWriter.Write(ConsoleColor.Red, "Failed with Regression Failures!");
                }

                return(success);
            });

            task.Wait();

            controller.SafeDispose();

            return(task.Result);
        }