Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.6 KiB
54 lines
1.6 KiB
#!/usr/bin/env bash |
|
|
|
# Exit on any error. |
|
set -e |
|
|
|
test_version() { |
|
version=$1 |
|
|
|
# TODO(teboring): timestamp parsing is incorrect only on mac due to mktime. |
|
if [[ $(uname -s) == Linux ]] |
|
then |
|
RUBY_CONFORMANCE=test_ruby |
|
elif [[ $(uname -s) == Darwin ]] |
|
then |
|
# TODO(teboring): timestamp parsing is incorrect only on mac due to mktime. |
|
RUBY_CONFORMANCE=test_ruby_mac |
|
fi |
|
|
|
if [ "$version" == "jruby-1.7" ] ; then |
|
# No conformance tests yet -- JRuby is too broken to run them. |
|
bash --login -c \ |
|
"rvm install $version && rvm use $version && rvm get head && \ |
|
which ruby && \ |
|
git clean -f && \ |
|
gem install bundler && bundle && \ |
|
rake test" |
|
elif [ "$version" == "ruby-2.6.0" ] ; then |
|
bash --login -c \ |
|
"rvm install $version && rvm use $version && \ |
|
which ruby && \ |
|
git clean -f && \ |
|
gem install bundler -v 1.17.3 && bundle && \ |
|
rake test && |
|
rake gc_test && |
|
cd ../conformance && make ${RUBY_CONFORMANCE} && |
|
cd ../ruby/compatibility_tests/v3.0.0 && |
|
cp -R ../../lib lib && ./test.sh" |
|
else |
|
# Recent versions of OSX have deprecated OpenSSL, so we have to explicitly |
|
# provide a path to the OpenSSL directory installed via Homebrew. |
|
bash --login -c \ |
|
"rvm install $version --with-openssl-dir=`brew --prefix openssl` && \ |
|
rvm use $version && \ |
|
which ruby && \ |
|
git clean -f && \ |
|
gem install bundler -v 1.17.3 && bundle && \ |
|
rake test && |
|
rake gc_test && |
|
cd ../conformance && make ${RUBY_CONFORMANCE} && |
|
cd ../ruby/compatibility_tests/v3.0.0 && ./test.sh" |
|
fi |
|
} |
|
|
|
test_version $1
|
|
|