Loading bin/ruby-build +13 −6 Original line number Diff line number Diff line Loading @@ -800,12 +800,19 @@ fix_rbx_irb() { require_java() { local required="$1" local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1 | grep -o '1\.[0-9]\+')" if [ -z "$version" ] || [ "${version##*.}" -lt "$required" ]; then local java_version="$(java -version 2>&1)" local version_string="$(grep 'java version' <<<"$java_version" | head -1 | grep -o '[0-9.]\+' || true)" [ -n "$version_string" ] || version_string="$(grep 'openjdk version' <<<"$java_version" | head -1 | grep -o '[0-9.]\+' || true)" IFS="." local nums=($version_string) IFS="$OLDIFS" local found_version="${nums[0]}" [ "$found_version" -gt 1 ] 2>/dev/null || found_version="${nums[1]}" [ "$found_version" -ge "$required" ] 2>/dev/null && return 0 colorize 1 "ERROR" >&3 echo ": Java ${required} required. Please install a 1.${required}-compatible JRE." >&3 echo ": Java ${required} required, but your Java version was:" >&3 cat <<<"$java_version" >&3 return 1 fi } # keep for backwards compatibility Loading test/build.bats +17 −4 Original line number Diff line number Diff line Loading @@ -569,20 +569,21 @@ require_java7 install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby DEF assert_failure assert_output_contains "ERROR: Java 7 required. Please install a 1.7-compatible JRE." assert_output_contains "ERROR: Java 7 required, but your Java version was:" } @test "JRuby Java is outdated" { cached_tarball "jruby-9000.dev" bin/jruby stub java '-version : echo java version "1.6.0_21" >&2' stub java "-version : echo 'java version \"1.6.0_21\"' >&2" run_inline_definition <<DEF require_java7 install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby DEF assert_failure assert_output_contains "ERROR: Java 7 required. Please install a 1.7-compatible JRE." assert_output_contains "ERROR: Java 7 required, but your Java version was:" assert_output_contains 'java version "1.6.0_21"' } @test "JRuby Java 7 up-to-date" { Loading Loading @@ -624,7 +625,7 @@ DEF @test "JRuby Java 9 version string" { cached_tarball "jruby-9000.dev" bin/jruby stub java '-version : echo java version "9" >&2' stub java "-version : echo 'java version \"9\"' >&2" run_inline_definition <<DEF require_java7 Loading @@ -633,6 +634,18 @@ DEF assert_success } @test "JRuby Java 10 version string" { cached_tarball "jruby-9000.dev" bin/jruby stub java "-version : echo 'java version \"10.8\"' >&2" run_inline_definition <<DEF require_java 9 install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby DEF assert_success } @test "TruffleRuby post-install hook" { executable "${RUBY_BUILD_CACHE_PATH}/truffleruby-test/lib/truffle/post_install_hook.sh" <<OUT echo Running post-install hook Loading Loading
bin/ruby-build +13 −6 Original line number Diff line number Diff line Loading @@ -800,12 +800,19 @@ fix_rbx_irb() { require_java() { local required="$1" local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1 | grep -o '1\.[0-9]\+')" if [ -z "$version" ] || [ "${version##*.}" -lt "$required" ]; then local java_version="$(java -version 2>&1)" local version_string="$(grep 'java version' <<<"$java_version" | head -1 | grep -o '[0-9.]\+' || true)" [ -n "$version_string" ] || version_string="$(grep 'openjdk version' <<<"$java_version" | head -1 | grep -o '[0-9.]\+' || true)" IFS="." local nums=($version_string) IFS="$OLDIFS" local found_version="${nums[0]}" [ "$found_version" -gt 1 ] 2>/dev/null || found_version="${nums[1]}" [ "$found_version" -ge "$required" ] 2>/dev/null && return 0 colorize 1 "ERROR" >&3 echo ": Java ${required} required. Please install a 1.${required}-compatible JRE." >&3 echo ": Java ${required} required, but your Java version was:" >&3 cat <<<"$java_version" >&3 return 1 fi } # keep for backwards compatibility Loading
test/build.bats +17 −4 Original line number Diff line number Diff line Loading @@ -569,20 +569,21 @@ require_java7 install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby DEF assert_failure assert_output_contains "ERROR: Java 7 required. Please install a 1.7-compatible JRE." assert_output_contains "ERROR: Java 7 required, but your Java version was:" } @test "JRuby Java is outdated" { cached_tarball "jruby-9000.dev" bin/jruby stub java '-version : echo java version "1.6.0_21" >&2' stub java "-version : echo 'java version \"1.6.0_21\"' >&2" run_inline_definition <<DEF require_java7 install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby DEF assert_failure assert_output_contains "ERROR: Java 7 required. Please install a 1.7-compatible JRE." assert_output_contains "ERROR: Java 7 required, but your Java version was:" assert_output_contains 'java version "1.6.0_21"' } @test "JRuby Java 7 up-to-date" { Loading Loading @@ -624,7 +625,7 @@ DEF @test "JRuby Java 9 version string" { cached_tarball "jruby-9000.dev" bin/jruby stub java '-version : echo java version "9" >&2' stub java "-version : echo 'java version \"9\"' >&2" run_inline_definition <<DEF require_java7 Loading @@ -633,6 +634,18 @@ DEF assert_success } @test "JRuby Java 10 version string" { cached_tarball "jruby-9000.dev" bin/jruby stub java "-version : echo 'java version \"10.8\"' >&2" run_inline_definition <<DEF require_java 9 install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby DEF assert_success } @test "TruffleRuby post-install hook" { executable "${RUBY_BUILD_CACHE_PATH}/truffleruby-test/lib/truffle/post_install_hook.sh" <<OUT echo Running post-install hook Loading