summaryrefslogtreecommitdiffstats
path: root/debuginfo-tests/dexter/dex/utils/Version.py
diff options
context:
space:
mode:
Diffstat (limited to 'debuginfo-tests/dexter/dex/utils/Version.py')
-rw-r--r--debuginfo-tests/dexter/dex/utils/Version.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/debuginfo-tests/dexter/dex/utils/Version.py b/debuginfo-tests/dexter/dex/utils/Version.py
new file mode 100644
index 00000000000..1a257fa7107
--- /dev/null
+++ b/debuginfo-tests/dexter/dex/utils/Version.py
@@ -0,0 +1,40 @@
+# DExTer : Debugging Experience Tester
+# ~~~~~~ ~ ~~ ~ ~~
+#
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+"""DExTer version output."""
+
+import os
+from subprocess import CalledProcessError, check_output, STDOUT
+import sys
+
+from dex import __version__
+
+
+def _git_version():
+ dir_ = os.path.dirname(__file__)
+ try:
+ branch = (check_output(
+ ['git', 'rev-parse', '--abbrev-ref', 'HEAD'],
+ stderr=STDOUT,
+ cwd=dir_).rstrip().decode('utf-8'))
+ hash_ = check_output(
+ ['git', 'rev-parse', 'HEAD'], stderr=STDOUT,
+ cwd=dir_).rstrip().decode('utf-8')
+ repo = check_output(
+ ['git', 'remote', 'get-url', 'origin'], stderr=STDOUT,
+ cwd=dir_).rstrip().decode('utf-8')
+ return '[{} {}] ({})'.format(branch, hash_, repo)
+ except (OSError, CalledProcessError):
+ pass
+ return None
+
+
+def version(name):
+ lines = []
+ lines.append(' '.join(
+ [s for s in [name, __version__, _git_version()] if s]))
+ lines.append(' using Python {}'.format(sys.version))
+ return '\n'.join(lines)
OpenPOWER on IntegriCloud