aboutsummaryrefslogtreecommitdiff
path: root/dev/run-tests.py
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-10-16 14:26:34 +0100
committerSean Owen <sowen@cloudera.com>2015-10-16 14:26:34 +0100
commit08698ee1d6f29b2c999416f18a074d5193cdacd5 (patch)
tree0b66c536d886da071cc8e2ee244074f35f20caca /dev/run-tests.py
parented775042cceb61a0566502e1306ac3c70f4a6a5f (diff)
downloadspark-08698ee1d6f29b2c999416f18a074d5193cdacd5.tar.gz
spark-08698ee1d6f29b2c999416f18a074d5193cdacd5.tar.bz2
spark-08698ee1d6f29b2c999416f18a074d5193cdacd5.zip
[SPARK-11094] Strip extra strings from Java version in test runner
Removes any extra strings from the Java version, fixing subsequent integer parsing. This is required since some OpenJDK versions (specifically in Debian testing), append an extra "-internal" string to the version field. Author: Jakob Odersky <jodersky@gmail.com> Closes #9111 from jodersky/fixtestrunner.
Diffstat (limited to 'dev/run-tests.py')
-rwxr-xr-xdev/run-tests.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/dev/run-tests.py b/dev/run-tests.py
index 1a81658518..d4d6880491 100755
--- a/dev/run-tests.py
+++ b/dev/run-tests.py
@@ -176,17 +176,14 @@ def determine_java_version(java_exe):
# find raw version string, eg 'java version "1.8.0_25"'
raw_version_str = next(x for x in raw_output_lines if " version " in x)
- version_str = raw_version_str.split()[-1].strip('"') # eg '1.8.0_25'
- version, update = version_str.split('_') # eg ['1.8.0', '25']
+ match = re.search('(\d+)\.(\d+)\.(\d+)_(\d+)', raw_version_str)
- # map over the values and convert them to integers
- version_info = [int(x) for x in version.split('.') + [update]]
-
- return JavaVersion(major=version_info[0],
- minor=version_info[1],
- patch=version_info[2],
- update=version_info[3])
+ major = int(match.group(1))
+ minor = int(match.group(2))
+ patch = int(match.group(3))
+ update = int(match.group(4))
+ return JavaVersion(major, minor, patch, update)
# -------------------------------------------------------------------------------------------------
# Functions for running the other build and test scripts