aboutsummaryrefslogtreecommitdiff
path: root/dev/run-tests.py
diff options
context:
space:
mode:
authorPatrick Wendell <patrick@databricks.com>2015-08-30 21:39:16 -0700
committerPatrick Wendell <patrick@databricks.com>2015-08-30 21:39:16 -0700
commit35e896a79bb5e72d63b82b047f46f4f6fa2e1970 (patch)
treea6884edde9192b62138fa722e9d5c758a510483f /dev/run-tests.py
parent8d2ab75d3b71b632f2394f2453af32f417cb45e5 (diff)
downloadspark-35e896a79bb5e72d63b82b047f46f4f6fa2e1970.tar.gz
spark-35e896a79bb5e72d63b82b047f46f4f6fa2e1970.tar.bz2
spark-35e896a79bb5e72d63b82b047f46f4f6fa2e1970.zip
SPARK-9545, SPARK-9547: Use Maven in PRB if title contains "[test-maven]"
This is just some small glue code to actually make use of the AMPLAB_JENKINS_BUILD_TOOL switch. As far as I can tell, we actually don't currently use the Maven support in the tool even though it exists. This patch switches to Maven when the PR title contains "test-maven". There are a few small other pieces of cleanup in the patch as well. Author: Patrick Wendell <patrick@databricks.com> Closes #7878 from pwendell/maven-tests.
Diffstat (limited to 'dev/run-tests.py')
-rwxr-xr-xdev/run-tests.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/dev/run-tests.py b/dev/run-tests.py
index 4fd703a7c2..d8b22e1665 100755
--- a/dev/run-tests.py
+++ b/dev/run-tests.py
@@ -21,6 +21,7 @@ from __future__ import print_function
import itertools
from optparse import OptionParser
import os
+import random
import re
import sys
import subprocess
@@ -239,11 +240,32 @@ def build_spark_documentation():
os.chdir(SPARK_HOME)
+def get_zinc_port():
+ """
+ Get a randomized port on which to start Zinc
+ """
+ return random.randrange(3030, 4030)
+
+
+def kill_zinc_on_port(zinc_port):
+ """
+ Kill the Zinc process running on the given port, if one exists.
+ """
+ cmd = ("/usr/sbin/lsof -P |grep %s | grep LISTEN "
+ "| awk '{ print $2; }' | xargs kill") % zinc_port
+ subprocess.check_call(cmd, shell=True)
+
+
def exec_maven(mvn_args=()):
"""Will call Maven in the current directory with the list of mvn_args passed
in and returns the subprocess for any further processing"""
- run_cmd([os.path.join(SPARK_HOME, "build", "mvn")] + mvn_args)
+ zinc_port = get_zinc_port()
+ os.environ["ZINC_PORT"] = "%s" % zinc_port
+ zinc_flag = "-DzincPort=%s" % zinc_port
+ flags = [os.path.join(SPARK_HOME, "build", "mvn"), "--force", zinc_flag]
+ run_cmd(flags + mvn_args)
+ kill_zinc_on_port(zinc_port)
def exec_sbt(sbt_args=()):
@@ -514,7 +536,9 @@ def main():
build_apache_spark(build_tool, hadoop_version)
# backwards compatibility checks
- detect_binary_inop_with_mima()
+ if build_tool == "sbt":
+ # Note: compatiblity tests only supported in sbt for now
+ detect_binary_inop_with_mima()
# run the test suites
run_scala_tests(build_tool, hadoop_version, test_modules)