aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/distrib
diff options
context:
space:
mode:
authorGravatar Mehrdad Afshari <mmx@google.com>2018-04-11 14:03:27 -0700
committerGravatar Mehrdad Afshari <mehrdada@users.noreply.github.com>2018-04-11 14:48:48 -0700
commitb189923376a4a1409a476579c989df6ca451d8ba (patch)
treeae93d45ac7fb969d1d6866a207a0d57246602faa /test/distrib
parent84b2088bf4378499d65de70cc06ebc2e10457280 (diff)
Split binary and source distribtests for Python
Diffstat (limited to 'test/distrib')
-rwxr-xr-xtest/distrib/python/run_binary_distrib_test.sh18
-rwxr-xr-xtest/distrib/python/run_distrib_test.sh66
-rwxr-xr-xtest/distrib/python/run_source_distrib_test.sh18
-rwxr-xr-xtest/distrib/python/test_packages.sh63
4 files changed, 99 insertions, 66 deletions
diff --git a/test/distrib/python/run_binary_distrib_test.sh b/test/distrib/python/run_binary_distrib_test.sh
new file mode 100755
index 0000000000..061d041637
--- /dev/null
+++ b/test/distrib/python/run_binary_distrib_test.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+# Copyright 2018 gRPC authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -ex
+
+"$(dirname "$0")/test_packages.sh" binary
diff --git a/test/distrib/python/run_distrib_test.sh b/test/distrib/python/run_distrib_test.sh
deleted file mode 100755
index a855ae3b61..0000000000
--- a/test/distrib/python/run_distrib_test.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2015 gRPC authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -ex
-
-cd "$(dirname "$0")"
-
-shopt -s nullglob
-
-# Pick up the source dist archive whatever its version is
-SDIST_ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio-*.tar.gz)
-BDIST_ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio-*.whl)
-TOOLS_SDIST_ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio_tools-*.tar.gz)
-TOOLS_BDIST_ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio_tools-*.whl)
-
-function make_virtualenv() {
- virtualenv "$1"
- "$1/bin/python" -m pip install --upgrade six pip
- "$1/bin/python" -m pip install cython
-}
-
-function at_least_one_installs() {
- for file in "$@"; do
- if python -m pip install "$file"; then
- return 0
- fi
- done
- return -1
-}
-
-make_virtualenv bdist_test
-make_virtualenv sdist_test
-
-#
-# Install our distributions in order of dependencies
-#
-
-(source bdist_test/bin/activate && at_least_one_installs "${BDIST_ARCHIVES[@]}")
-(source bdist_test/bin/activate && at_least_one_installs "${TOOLS_BDIST_ARCHIVES[@]}")
-
-(source sdist_test/bin/activate && at_least_one_installs "${SDIST_ARCHIVES[@]}")
-(source sdist_test/bin/activate && at_least_one_installs "${TOOLS_SDIST_ARCHIVES[@]}")
-
-#
-# Test our distributions
-#
-
-# TODO(jtattermusch): add a .proto file to the distribtest, generate python
-# code from it and then use the generated code from distribtest.py
-(source bdist_test/bin/activate && python -m grpc.tools.protoc --help)
-(source sdist_test/bin/activate && python -m grpc.tools.protoc --help)
-
-(source bdist_test/bin/activate && python distribtest.py)
-(source sdist_test/bin/activate && python distribtest.py)
diff --git a/test/distrib/python/run_source_distrib_test.sh b/test/distrib/python/run_source_distrib_test.sh
new file mode 100755
index 0000000000..f667674613
--- /dev/null
+++ b/test/distrib/python/run_source_distrib_test.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+# Copyright 2018 gRPC authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -ex
+
+"$(dirname "$0")/test_packages.sh" source
diff --git a/test/distrib/python/test_packages.sh b/test/distrib/python/test_packages.sh
new file mode 100755
index 0000000000..e16eddd577
--- /dev/null
+++ b/test/distrib/python/test_packages.sh
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+# Copyright 2018 gRPC authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -ex
+
+cd "$(dirname "$0")"
+
+shopt -s nullglob
+
+if [[ "$1" == "binary" ]]
+then
+ echo "Testing Python binary distribution"
+ ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio-*.whl)
+ TOOLS_ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio_tools-*.whl)
+else
+ echo "Testing Python source distribution"
+ ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio-*.tar.gz)
+ TOOLS_ARCHIVES=("$EXTERNAL_GIT_ROOT"/input_artifacts/grpcio_tools-*.tar.gz)
+fi
+
+VIRTUAL_ENV=$(mktemp -d)
+virtualenv "$VIRTUAL_ENV"
+PYTHON=$VIRTUAL_ENV/bin/python
+"$PYTHON" -m pip install --upgrade six pip
+
+function at_least_one_installs() {
+ for file in "$@"; do
+ if "$PYTHON" -m pip install "$file"; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+
+#
+# Install our distributions in order of dependencies
+#
+
+at_least_one_installs "${ARCHIVES[@]}"
+at_least_one_installs "${TOOLS_ARCHIVES[@]}"
+
+#
+# Test our distributions
+#
+
+# TODO(jtattermusch): add a .proto file to the distribtest, generate python
+# code from it and then use the generated code from distribtest.py
+"$PYTHON" -m grpc.tools.protoc --help
+
+"$PYTHON" distribtest.py