private static TestSourceData CreateTestSourceData(AssemblyInfo assemblyInfo)
        {
            var data = new TestSourceData()
            {
                MachineName    = Environment.MachineName,
                EnlistmentRoot = Constants.EnlistmentRoot,
                AssemblyName   = assemblyInfo.DisplayName,
                IsJenkins      = Constants.IsJenkinsRun
            };

            if (data.IsJenkins)
            {
                // Add the core git information
                data.CommitSha      = Environment.GetEnvironmentVariable("ghprbActualCommit");
                data.MergeCommitSha = Environment.GetEnvironmentVariable("GIT_COMMIT");
                data.Repository     = Environment.GetEnvironmentVariable("ghprbGhRepository");

                // For PR runs include extra data about the PR.  This enables us to track down bugs server
                // side when PRs are believed to hit test / cache issues.
                var idStr = Environment.GetEnvironmentVariable("ghprbPullId");
                int id;
                if (idStr != null && int.TryParse(idStr, out id))
                {
                    data.IsPullRequest       = true;
                    data.PullRequestId       = id;
                    data.PullRequestUserName = Environment.GetEnvironmentVariable("ghprbPullAuthorLogin");
                }
            }

            return(data);
        }
Exemple #2
0
        public TestResultData GetTestCache(string id, [FromUri] TestSourceData testSourceData)
        {
            TestResult testResult;

            var buildSource = new BuildSource(testSourceData.MachineName, testSourceData.EnlistmentRoot);
            var isJenkins   = string.IsNullOrEmpty(testSourceData.Source)
                ? null
                : (bool?)(testSourceData.Source == "jenkins");

            if (_storage.TryGetValue(id, out testResult))
            {
                var isJenkinsValue = isJenkins ?? false;
                _statsUtil.AddHit(isJenkinsValue);
                _statsUtil.AddUnitTestQuery(testResult.UnitTestData, testResult.Elapsed, isJenkinsValue);

                var testResultData = new TestResultData()
                {
                    ExitCode           = testResult.ExitCode,
                    OutputStandard     = testResult.OutputStandard,
                    OutputError        = testResult.OutputError,
                    ResultsFileName    = testResult.ResultsFileName,
                    ResultsFileContent = testResult.ResultsFileContent,
                    ElapsedSeconds     = (int)testResult.Elapsed.TotalSeconds
                };
                return(testResultData);
            }

            _statsUtil.AddMiss(isJenkins ?? false);
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
Exemple #3
0
        private static TestSourceData CreateTestSourceData(AssemblyInfo assemblyInfo)
        {
            var data = new TestSourceData()
            {
                MachineName = Environment.MachineName,
                EnlistmentRoot = Constants.EnlistmentRoot,
                AssemblyName = assemblyInfo.DisplayName,
                IsJenkins = Constants.IsJenkinsRun
            };

            if (data.IsJenkins)
            {
                // Add the core git information
                data.MergeCommitSha = Environment.GetEnvironmentVariable("GIT_COMMIT");
                data.Repository = Environment.GetEnvironmentVariable("ghprbGhRepository");

                // For PR runs include extra data about the PR.  This enables us to track down bugs server 
                // side when PRs are believed to hit test / cache issues.
                var idStr = Environment.GetEnvironmentVariable("ghprbPullId");
                int id;
                if (idStr != null && int.TryParse(idStr, out id))
                {
                    data.IsPullRequest = true;
                    data.PullRequestId = id;
                    data.PullRequestUserName = Environment.GetEnvironmentVariable("ghprbPullAuthorLogin");
                    data.CommitSha = Environment.GetEnvironmentVariable("ghprbActualCommit");
                }
                else
                {
                    data.CommitSha = data.MergeCommitSha;
                }
            }

            return data;
        }