# # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # library(testthat) library(SparkR) # Turn all warnings into errors options("warn" = 2) if (.Platform$OS.type == "windows") { Sys.setenv(TZ = "GMT") } # Setup global test environment # Install Spark first to set SPARK_HOME # NOTE(shivaram): We set overwrite to handle any old tar.gz files or directories left behind on # CRAN machines. For Jenkins we should already have SPARK_HOME set. install.spark(overwrite = TRUE) sparkRDir <- file.path(Sys.getenv("SPARK_HOME"), "R") sparkRWhitelistSQLDirs <- c("spark-warehouse", "metastore_db") invisible(lapply(sparkRWhitelistSQLDirs, function(x) { unlink(file.path(sparkRDir, x), recursive = TRUE, force = TRUE)})) sparkRFilesBefore <- list.files(path = sparkRDir, all.files = TRUE) sparkRTestMaster <- "local[1]" sparkRTestConfig <- list() if (identical(Sys.getenv("NOT_CRAN"), "true")) { sparkRTestMaster <- "" } else { # Disable hsperfdata on CRAN old_java_opt <- Sys.getenv("_JAVA_OPTIONS") Sys.setenv("_JAVA_OPTIONS" = paste("-XX:-UsePerfData", old_java_opt)) tmpDir <- tempdir() tmpArg <- paste0("-Djava.io.tmpdir=", tmpDir) sparkRTestConfig <- list(spark.driver.extraJavaOptions = tmpArg, spark.executor.extraJavaOptions = tmpArg) } test_package("SparkR") if (identical(Sys.getenv("NOT_CRAN"), "true")) { # set random seed for predictable results. mostly for base's sample() in tree and classification set.seed(42) # for testthat 1.0.2 later, change reporter from "summary" to default_reporter() testthat:::run_tests("SparkR", file.path(sparkRDir, "pkg", "tests", "fulltests"), NULL, "summary") } SparkR:::uninstallDownloadedSpark()