Пример #1
0
        private static async Task SendRunStats(Options options, IDataStorage dataStorage, TimeSpan elapsed, RunAllResult result, int partitionCount, CancellationToken cancellationToken)
        {
            var testRunData = new TestRunData()
            {
                Cache          = dataStorage.Name,
                ElapsedSeconds = (int)elapsed.TotalSeconds,
                JenkinsUrl     = Constants.JenkinsUrl,
                IsJenkins      = Constants.IsJenkinsRun,
                Is32Bit        = !options.Test64,
                AssemblyCount  = options.Assemblies.Count,
                ChunkCount     = partitionCount,
                CacheCount     = result.CacheCount,
                Succeeded      = result.Succeeded,
                HasErrors      = Logger.HasErrors
            };

            var request = new RestRequest("api/testData/run", Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddParameter("text/json", JsonConvert.SerializeObject(testRunData), ParameterType.RequestBody);

            try
            {
                var client   = new RestClient(Constants.DashboardUriString);
                var response = await client.ExecuteTaskAsync(request);

                if (response.StatusCode != System.Net.HttpStatusCode.NoContent)
                {
                    Logger.Log($"Unable to send results: {response.ErrorMessage}");
                }
            }
            catch
            {
                Logger.Log("Unable to send results");
            }
        }
Пример #2
0
        private static async Task SendRunStats(Options options, IDataStorage dataStorage, TimeSpan ellapsed, RunAllResult result, int chunkCount, CancellationToken cancellationToken)
        {
            var obj = new JObject();
            obj["Cache"] = dataStorage.Name;
            obj["EllapsedSeconds"] = (int)ellapsed.TotalSeconds;
            obj["IsJenkins"] = Constants.IsJenkinsRun;
            obj["Is32Bit"] = !options.Test64;
            obj["AssemblyCount"] = options.Assemblies.Count;
            obj["CacheCount"] = result.CacheCount;
            obj["ChunkCount"] = chunkCount;
            obj["Succeeded"] = result.Succeeded;

            var request = new RestRequest("api/testrun", Method.POST);
            request.RequestFormat = DataFormat.Json;
            request.AddParameter("text/json", obj.ToString(), ParameterType.RequestBody);

            try
            {
                var client = new RestClient(Constants.DashboardUriString);
                var response = await client.ExecuteTaskAsync(request);
                if (response.StatusCode != System.Net.HttpStatusCode.NoContent)
                {
                    Logger.Log($"Unable to send results: {response.ErrorMessage}");
                }
            }
            catch
            {
                Logger.Log("Unable to send results");
            }
        }
Пример #3
0
        private static async Task SendRunStats(Options options, IDataStorage dataStorage, TimeSpan elapsed, RunAllResult result, int partitionCount, CancellationToken cancellationToken)
        {
            var obj = new JObject();

            obj["Cache"]          = dataStorage.Name;
            obj["ElapsedSeconds"] = (int)elapsed.TotalSeconds;
            obj["IsJenkins"]      = Constants.IsJenkinsRun;
            obj["Is32Bit"]        = !options.Test64;
            obj["AssemblyCount"]  = options.Assemblies.Count;
            obj["CacheCount"]     = result.CacheCount;
            obj["ChunkCount"]     = partitionCount;
            obj["PartitionCount"] = partitionCount;
            obj["Succeeded"]      = result.Succeeded;

            // During the transition from ellapsed to elapsed the client needs to provide both
            // spellings for the server.
            obj["EllapsedSeconds"] = (int)elapsed.TotalSeconds;

            var request = new RestRequest("api/testrun", Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddParameter("text/json", obj.ToString(), ParameterType.RequestBody);

            try
            {
                var client   = new RestClient(Constants.DashboardUriString);
                var response = await client.ExecuteTaskAsync(request);

                if (response.StatusCode != System.Net.HttpStatusCode.NoContent)
                {
                    Logger.Log($"Unable to send results: {response.ErrorMessage}");
                }
            }
            catch
            {
                Logger.Log("Unable to send results");
            }
        }
Пример #4
0
        private static async Task SendRunStats(Options options, IDataStorage dataStorage, TimeSpan elapsed, RunAllResult result, int partitionCount, CancellationToken cancellationToken)
        {
            var testRunData = new TestRunData()
            {
                Cache = dataStorage.Name,
                ElapsedSeconds = (int)elapsed.TotalSeconds,
                IsJenkins = Constants.IsJenkinsRun,
                Is32Bit = !options.Test64,
                AssemblyCount = options.Assemblies.Count,
                ChunkCount = partitionCount,
                CacheCount = result.CacheCount,
                Succeeded = result.Succeeded
            };

            var request = new RestRequest("api/testData/run", Method.POST);
            request.RequestFormat = DataFormat.Json;
            request.AddParameter("text/json", JsonConvert.SerializeObject(testRunData), ParameterType.RequestBody);

            try
            {
                var client = new RestClient(Constants.DashboardUriString);
                var response = await client.ExecuteTaskAsync(request);
                if (response.StatusCode != System.Net.HttpStatusCode.NoContent)
                {
                    Logger.Log($"Unable to send results: {response.ErrorMessage}");
                }
            }
            catch
            {
                Logger.Log("Unable to send results");
            }
        }