diff options
author | apolcyn <apolcyn@google.com> | 2018-03-27 16:35:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-27 16:35:25 -0700 |
commit | d9ec9068c7e7b38379229ea10b6b55d43e8dc549 (patch) | |
tree | cb29c3276b3b96b7beb5ff6a7670e0dad2d47467 /test/distrib | |
parent | c2a89cbdab0a3988f1935032681278a6d213edce (diff) | |
parent | a803c0340a54a97ed4b20cdd968f09b2b376b484 (diff) |
Merge pull request #14634 from apolcyn/fix_ruby_omnibus_breakge
Remove source code and native-to-build-host grpc_c.so from ruby linux binary packages
Diffstat (limited to 'test/distrib')
-rwxr-xr-x | test/distrib/ruby/run_distrib_test.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/distrib/ruby/run_distrib_test.sh b/test/distrib/ruby/run_distrib_test.sh index 99fb873589..cb2eb1ff7d 100755 --- a/test/distrib/ruby/run_distrib_test.sh +++ b/test/distrib/ruby/run_distrib_test.sh @@ -35,3 +35,24 @@ gem generate_index --directory "${GEM_SOURCE}" bundle install bundle exec ./distribtest.rb + +# Attempt to repro https://github.com/google/protobuf/issues/4210. +# TODO: This sanity check only works for linux-based distrib tests and for +# binary gRPC packages. It will need to be ran conditionally if this test script is +# used for other types of distrib tests. +INSTALLATION_DIR="$(gem env | grep '\- INSTALLATION DIRECTORY' | awk '{ print $4 }')" +if [[ "$(find "$INSTALLATION_DIR" -name 'grpc_c.so' | wc -l)" == 0 ]]; then + echo "Sanity check failed. The gRPC package is not installed in $INSTALLATION_DIR." + exit 1 +fi +LIBRUBY_DEPENDENCY_EXISTS="$(find "$INSTALLATION_DIR" -name 'grpc_c.so' -exec ldd {} \; | grep -c 'libruby')" || true +if [[ "$LIBRUBY_DEPENDENCY_EXISTS" != 0 ]]; then + echo "A grpc_c.so file in this binary gRPC package is dynamically linked to libruby." +fi +DEPENDENCY_NOT_FOUND="$(find "$INSTALLATION_DIR" -name 'grpc_c.so' -exec ldd {} \; | grep -c 'not found')" || true +if [[ "$DEPENDENCY_NOT_FOUND" != 0 ]]; then + echo "A grpc_c.so file in this binary gRPC package has an non-portable dependency." +fi +if [ "$LIBRUBY_DEPENDENCY_EXISTS" != 0 ] || [ "$DEPENDENCY_NOT_FOUND" != 0 ]; then + exit 1 +fi |