aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/distrib/python/docgen.py4
-rwxr-xr-xtools/distrib/python/submit.py2
-rwxr-xr-xtools/run_tests/build_python.sh23
-rwxr-xr-xtools/run_tests/python_tests.json122
-rwxr-xr-xtools/run_tests/run_python.sh9
-rwxr-xr-xtools/run_tests/run_tests.py60
6 files changed, 53 insertions, 167 deletions
diff --git a/tools/distrib/python/docgen.py b/tools/distrib/python/docgen.py
index 3ab84a6ba1..d76792c56f 100755
--- a/tools/distrib/python/docgen.py
+++ b/tools/distrib/python/docgen.py
@@ -51,8 +51,8 @@ SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
PROJECT_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, '..', '..', '..'))
CONFIG = args.config
-SETUP_PATH = os.path.join(PROJECT_ROOT, 'src/python/src/setup.py')
-DOC_PATH = os.path.join(PROJECT_ROOT, 'src/python/src/doc/build')
+SETUP_PATH = os.path.join(PROJECT_ROOT, 'src/python/grpcio/setup.py')
+DOC_PATH = os.path.join(PROJECT_ROOT, 'src/python/grpcio/doc/build')
INCLUDE_PATH = os.path.join(PROJECT_ROOT, 'include')
LIBRARY_PATH = os.path.join(PROJECT_ROOT, 'libs/{}'.format(CONFIG))
VIRTUALENV_DIR = os.path.join(SCRIPT_DIR, 'distrib_virtualenv')
diff --git a/tools/distrib/python/submit.py b/tools/distrib/python/submit.py
index a3615b3640..909ba56327 100755
--- a/tools/distrib/python/submit.py
+++ b/tools/distrib/python/submit.py
@@ -59,7 +59,7 @@ args = parser.parse_args()
# Move to the root directory of Python GRPC.
pkgdir = os.path.join(os.path.dirname(os.path.abspath(__file__)),
- '../../../src/python/src')
+ '../../../src/python/grpcio')
# Remove previous distributions; they somehow confuse twine.
try:
shutil.rmtree(os.path.join(pkgdir, 'dist/'))
diff --git a/tools/run_tests/build_python.sh b/tools/run_tests/build_python.sh
index ae0fb42241..203c8b7720 100755
--- a/tools/run_tests/build_python.sh
+++ b/tools/run_tests/build_python.sh
@@ -33,7 +33,9 @@ set -ex
# change to grpc repo root
cd $(dirname $0)/../..
-root=`pwd`
+ROOT=`pwd`
+GRPCIO=$ROOT/src/python/grpcio
+GRPCIO_TEST=$ROOT/src/python/grpcio_test
make_virtualenv() {
virtualenv_name="python"$1"_virtual_environment"
@@ -42,9 +44,16 @@ make_virtualenv() {
# Build the entire virtual environment
virtualenv -p `which "python"$1` $virtualenv_name
source $virtualenv_name/bin/activate
- pip install -r src/python/requirements.txt
- CFLAGS="-I$root/include -std=c89" LDFLAGS=-L$root/libs/$CONFIG GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install src/python/src
- pip install src/python/interop
+
+ # Install grpcio
+ cd $GRPCIO
+ pip install -r requirements.txt
+ CFLAGS="-I$ROOT/include -std=c89" LDFLAGS=-L$ROOT/libs/$CONFIG GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install $GRPCIO
+
+ # Install grpcio_test
+ cd $GRPCIO_TEST
+ pip install -r requirements.txt
+ pip install $GRPCIO_TEST
else
source $virtualenv_name/bin/activate
# Uninstall and re-install the packages we care about. Don't use
@@ -52,13 +61,13 @@ make_virtualenv() {
# unnecessarily to dependencies. Don't use --no-deps to avoid missing
# dependency upgrades.
(yes | pip uninstall grpcio) || true
- (yes | pip uninstall interop) || true
- (CFLAGS="-I$root/include -std=c89" LDFLAGS=-L$root/libs/$CONFIG GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install src/python/src) || (
+ (yes | pip uninstall grpcio_test) || true
+ (CFLAGS="-I$ROOT/include -std=c89" LDFLAGS=-L$ROOT/libs/$CONFIG GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install $GRPCIO) || (
# Fall back to rebuilding the entire environment
rm -rf $virtualenv_name
make_virtualenv $1
)
- pip install src/python/interop
+ pip install $GRPCIO_TEST
fi
}
diff --git a/tools/run_tests/python_tests.json b/tools/run_tests/python_tests.json
deleted file mode 100755
index 3d75d8de36..0000000000
--- a/tools/run_tests/python_tests.json
+++ /dev/null
@@ -1,122 +0,0 @@
-[
- {
- "module": "grpc._adapter._c_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._adapter._low_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._adapter._intermediary_low_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._adapter._links_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._adapter._lonely_rear_link_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._adapter._blocking_invocation_inline_service_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._adapter._event_invocation_synchronous_event_service_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._adapter._future_invocation_asynchronous_event_service_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._links._lonely_invocation_link_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc._links._transmission_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc.early_adopter.implementations_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc.framework.base.implementations_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc.framework.face.blocking_invocation_inline_service_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc.framework.face.event_invocation_synchronous_event_service_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc.framework.face.future_invocation_asynchronous_event_service_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc.framework.foundation._later_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "grpc.framework.foundation._logging_pool_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "interop._insecure_interop_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "module": "interop._secure_interop_test",
- "pythonVersions": [
- "2.7"
- ]
- },
- {
- "file": "test/compiler/python_plugin_test.py",
- "pythonVersions": [
- "2.7"
- ]
- }
-]
diff --git a/tools/run_tests/run_python.sh b/tools/run_tests/run_python.sh
index 4959c0241c..5ffd4460b9 100755
--- a/tools/run_tests/run_python.sh
+++ b/tools/run_tests/run_python.sh
@@ -33,8 +33,9 @@ set -ex
# change to grpc repo root
cd $(dirname $0)/../..
-root=`pwd`
-export LD_LIBRARY_PATH=$root/libs/$CONFIG
-export DYLD_LIBRARY_PATH=$root/libs/$CONFIG
+ROOT=`pwd`
+GRPCIO_TEST=$ROOT/src/python/grpcio_test
+export LD_LIBRARY_PATH=$ROOT/libs/$CONFIG
+export DYLD_LIBRARY_PATH=$ROOT/libs/$CONFIG
source "python"$PYVER"_virtual_environment"/bin/activate
-"python"$PYVER -B $*
+"python"$PYVER $GRPCIO_TEST/setup.py test -a "-n8 --cov=grpc --junitxml=./report.xml"
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index 38da1f043a..fa749498d2 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -187,40 +187,18 @@ class PhpLanguage(object):
class PythonLanguage(object):
def __init__(self):
- with open('tools/run_tests/python_tests.json') as f:
- self._tests = json.load(f)
- self._build_python_versions = set([
- python_version
- for test in self._tests
- for python_version in test['pythonVersions']])
+ self._build_python_versions = ['2.7']
self._has_python_versions = []
def test_specs(self, config, travis):
- job_specifications = []
- for test in self._tests:
- command = None
- short_name = None
- if 'module' in test:
- command = ['tools/run_tests/run_python.sh', '-m', test['module']]
- short_name = test['module']
- elif 'file' in test:
- command = ['tools/run_tests/run_python.sh', test['file']]
- short_name = test['file']
- else:
- raise ValueError('expected input to be a module or file to run '
- 'unittests from')
- for python_version in test['pythonVersions']:
- if python_version in self._has_python_versions:
- environment = dict(_FORCE_ENVIRON_FOR_WRAPPERS)
- environment['PYVER'] = python_version
- job_specifications.append(config.job_spec(
- command, None, environ=environment, shortname=short_name))
- else:
- jobset.message(
- 'WARNING',
- 'Could not find Python {}; skipping test'.format(python_version),
- '{}\n'.format(command), do_newline=True)
- return job_specifications
+ environment = dict(_FORCE_ENVIRON_FOR_WRAPPERS)
+ environment['PYVER'] = '2.7'
+ return [config.job_spec(
+ ['tools/run_tests/run_python.sh'],
+ None,
+ environ=environment,
+ shortname='py.test',
+ )]
def make_targets(self):
return ['static_c', 'grpc_python_plugin', 'shared_c']
@@ -304,6 +282,25 @@ class CSharpLanguage(object):
return 'csharp'
+class ObjCLanguage(object):
+
+ def test_specs(self, config, travis):
+ return [config.job_spec(['src/objective-c/tests/run_tests.sh'], None,
+ environ=_FORCE_ENVIRON_FOR_WRAPPERS)]
+
+ def make_targets(self):
+ return ['grpc_objective_c_plugin', 'interop_server']
+
+ def build_steps(self):
+ return [['src/objective-c/tests/build_tests.sh']]
+
+ def supports_multi_config(self):
+ return False
+
+ def __str__(self):
+ return 'objc'
+
+
class Sanity(object):
def test_specs(self, config, travis):
@@ -369,6 +366,7 @@ _LANGUAGES = {
'python': PythonLanguage(),
'ruby': RubyLanguage(),
'csharp': CSharpLanguage(),
+ 'objc' : ObjCLanguage(),
'sanity': Sanity(),
'build': Build(),
}