示例#1
0
        public when_test_requested()
        {
            var runTestsMessage = new RunTestsMessage()
            {
                Tests = new List <string>(requestedTestNames),
            };

            var message = new Message()
            {
                MessageType = "TestRunner.Execute",
                Payload     = JToken.FromObject(runTestsMessage),
            };

            receivedMessage = JsonConvert.SerializeObject(message);
        }
示例#2
0
        public async Task <int> RunTestsAsync(params string[] tests)
        {
            // This will block until the test host replies
            var payload = new RunTestsMessage();

            payload.Tests = tests == null ? new List <string>() : new List <string>(tests);

            var listener = Task.Run(() => StartCommandAndWaitForResponse("TestExecution.Start", payload, "TestExecution.Response"));

            Process.WaitForExit();

            await listener;

            return(Process.ExitCode);
        }
        public void GetTestRunnerStartInfo(IEnumerable <string> tests)
        {
            var runTestsMessage = new RunTestsMessage();

            if (tests != null && tests.Any())
            {
                runTestsMessage.Tests = tests.ToList();
            }

            var message = new Message {
                MessageType = TestMessageTypes.TestExecutionGetTestRunnerProcessStartInfo,
                Payload     = JToken.FromObject(runTestsMessage)
            };

            queue.Post(message);
        }
示例#4
0
        public string Receive()
        {
            var runTestsMessage = new RunTestsMessage()
            {
                Tests = new List <string>(debugTests),
            };

            var message = new Message()
            {
                MessageType = "TestRunner.Execute",
                Payload     = JToken.FromObject(runTestsMessage),
            };

            string receivedMessage = JsonConvert.SerializeObject(message);

            string loggedMessage = JsonConvert.SerializeObject(message, jsonSettings);

            Console.WriteLine("-- BEGIN --");
            Console.WriteLine("Debug Channel, Receive:");
            Console.WriteLine(loggedMessage);
            Console.WriteLine("--- END ---");

            return(receivedMessage);
        }
示例#5
0
        public async Task<int> RunTestsAsync(params string[] tests)
        {
            // This will block until the test host replies
            var payload = new RunTestsMessage();
            payload.Tests = tests == null ? new List<string>() : new List<string>(tests);

            var listener = Task.Run(() => StartCommandAndWaitForResponse("TestExecution.Start", payload, "TestExecution.Response"));

            Process.WaitForExit();

            await listener;

            return Process.ExitCode;
        }