Ver Fonte

oeqa.buildperf: add git commit count to result data

This number represents the number of commits since the beginning of git
history until the tested revision. This helps e.g. in ordering results.

(From OE-Core rev: b52070dd057ff5b410cd193f9be2f25bc4c506cc)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Lehtonen há 8 anos atrás
pai
commit
d0bac259bd
1 ficheiros alterados com 11 adições e 7 exclusões
  1. 11 7
      meta/lib/oeqa/buildperf/base.py

+ 11 - 7
meta/lib/oeqa/buildperf/base.py

@@ -96,30 +96,34 @@ class BuildPerfTestResult(unittest.TextTestResult):
             self.repo = GitRepo('.')
         except GitError:
             self.repo = None
-        self.git_commit, self.git_branch = self.get_git_revision()
+        self.git_commit, self.git_commit_count, self.git_branch = \
+                self.get_git_revision()
         self.hostname = socket.gethostname()
         self.start_time = self.elapsed_time = None
         self.successes = []
-        log.info("Using Git branch:commit %s:%s", self.git_branch,
-                 self.git_commit)
+        log.info("Using Git branch:commit %s:%s (%s)", self.git_branch,
+                 self.git_commit, self.git_commit_count)
 
     def get_git_revision(self):
         """Get git branch and commit under testing"""
         commit = os.getenv('OE_BUILDPERFTEST_GIT_COMMIT')
+        commit_cnt = os.getenv('OE_BUILDPERFTEST_GIT_COMMIT_COUNT')
         branch = os.getenv('OE_BUILDPERFTEST_GIT_BRANCH')
-        if not self.repo and (not commit or not branch):
+        if not self.repo and (not commit or not commit_cnt or not branch):
             log.info("The current working directory doesn't seem to be a Git "
                      "repository clone. You can specify branch and commit "
-                     "displayed in test results with OE_BUILDPERFTEST_GIT_BRANCH "
-                     "and OE_BUILDPERFTEST_GIT_COMMIT environment variables")
+                     "displayed in test results with OE_BUILDPERFTEST_GIT_BRANCH, "
+                     "OE_BUILDPERFTEST_GIT_COMMIT and "
+                     "OE_BUILDPERFTEST_GIT_COMMIT_COUNT environment variables")
         else:
             if not commit:
                 commit = self.repo.rev_parse('HEAD^0')
+                commit_cnt = self.repo.run_cmd(['rev-list', '--count', 'HEAD^0'])
             if not branch:
                 branch = self.repo.get_current_branch()
                 if not branch:
                     log.debug('Currently on detached HEAD')
-        return str(commit), str(branch)
+        return str(commit), str(commit_cnt), str(branch)
 
     def addSuccess(self, test):
         """Record results from successful tests"""