summaryrefslogtreecommitdiff
path: root/chromium/third_party/protobuf/ruby/travis-test.sh
blob: cb53338f72c3739cdfcc90a5fd2decc74f965220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/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