[SPARK-24535][SPARKR] fix tests on java check error

## What changes were proposed in this pull request?

change to skip tests if
- couldn't determine java version

fix problem on windows

## How was this patch tested?

unit test, manual, win-builder

Author: Felix Cheung <felixcheung_m@hotmail.com>

Closes #21666 from felixcheung/rjavaskip.
This commit is contained in:
Felix Cheung 2018-07-06 00:08:03 -07:00 committed by Felix Cheung
parent bf67f70c48
commit 141953f4c4
3 changed files with 24 additions and 10 deletions

View file

@ -71,15 +71,20 @@ checkJavaVersion <- function() {
# If java is missing from PATH, we get an error in Unix and a warning in Windows
javaVersionOut <- tryCatch(
launchScript(javaBin, "-version", wait = TRUE, stdout = TRUE, stderr = TRUE),
error = function(e) {
stop("Java version check failed. Please make sure Java is installed",
" and set JAVA_HOME to point to the installation directory.", e)
},
warning = function(w) {
stop("Java version check failed. Please make sure Java is installed",
" and set JAVA_HOME to point to the installation directory.", w)
})
if (is_windows()) {
# See SPARK-24535
system2(javaBin, "-version", wait = TRUE, stdout = TRUE, stderr = TRUE)
} else {
launchScript(javaBin, "-version", wait = TRUE, stdout = TRUE, stderr = TRUE)
},
error = function(e) {
stop("Java version check failed. Please make sure Java is installed",
" and set JAVA_HOME to point to the installation directory.", e)
},
warning = function(w) {
stop("Java version check failed. Please make sure Java is installed",
" and set JAVA_HOME to point to the installation directory.", w)
})
javaVersionFilter <- Filter(
function(x) {
grepl(" version", x)
@ -93,6 +98,7 @@ checkJavaVersion <- function() {
stop(paste("Java version", sparkJavaVersion, "is required for this package; found version:",
javaVersionStr))
}
return(javaVersionNum)
}
launchBackend <- function(args, sparkHome, jars, sparkSubmitOpts, packages) {

View file

@ -167,7 +167,7 @@ sparkR.sparkContext <- function(
submitOps <- getClientModeSparkSubmitOpts(
Sys.getenv("SPARKR_SUBMIT_ARGS", "sparkr-shell"),
sparkEnvirMap)
checkJavaVersion()
invisible(checkJavaVersion())
launchBackend(
args = path,
sparkHome = sparkHome,

View file

@ -18,6 +18,10 @@
context("basic tests for CRAN")
test_that("create DataFrame from list or data.frame", {
tryCatch( checkJavaVersion(),
error = function(e) { skip("error on Java check") },
warning = function(e) { skip("warning on Java check") } )
sparkR.session(master = sparkRTestMaster, enableHiveSupport = FALSE,
sparkConfig = sparkRTestConfig)
@ -50,6 +54,10 @@ test_that("create DataFrame from list or data.frame", {
})
test_that("spark.glm and predict", {
tryCatch( checkJavaVersion(),
error = function(e) { skip("error on Java check") },
warning = function(e) { skip("warning on Java check") } )
sparkR.session(master = sparkRTestMaster, enableHiveSupport = FALSE,
sparkConfig = sparkRTestConfig)