[SPARK-30663][SPARK-33313][TESTS][R] Drop testthat 1.x support and add testthat 3.x support

### What changes were proposed in this pull request?

This PR modifies `R/pkg/tests/run-all.R` by:

- Removing `testthat` 1.x support, as Jenkins has been upgraded to 2.x with SPARK-30637 and this code is no longer relevant.
- Add `testthat` 3.x support to avoid AppVeyor failures.

### Why are the changes needed?

Currently used internal API has been removed in the latest `testthat` release.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Tests executed against `testthat == 2.3.2` and `testthat == 3.0.0`

Closes #30219 from zero323/SPARK-33313.

Authored-by: zero323 <mszymkiewicz@gmail.com>
Signed-off-by: HyukjinKwon <gurwls223@apache.org>
This commit is contained in:
zero323 2020-11-02 08:54:08 +09:00 committed by HyukjinKwon
parent 2b6dfa5f7b
commit d71b2febaf

View file

@ -60,25 +60,37 @@ 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)
# TODO (SPARK-30663) To be removed once testthat 1.x is removed from all builds
if (packageVersion("testthat")$major <= 1) {
# testthat 1.x
test_runner <- testthat:::run_tests
reporter <- "summary"
if (packageVersion("testthat")$major <= 1) stop("testhat 1.x is not supported")
test_runner <- if (packageVersion("testthat")$major == 2) {
# testthat >= 2.0.0, < 3.0.0
function(path, package, reporter, filter) {
testthat:::test_package_dir(
test_path = path,
package = package,
filter = filter,
reporter = reporter
)
}
} else {
# testthat >= 2.0.0
test_runner <- testthat:::test_package_dir
dir.create("target/test-reports", showWarnings = FALSE)
reporter <- MultiReporter$new(list(
SummaryReporter$new(),
JunitReporter$new(file = "target/test-reports/test-results.xml")
))
# testthat >= 3.0.0
testthat::test_dir
}
test_runner("SparkR",
file.path(sparkRDir, "pkg", "tests", "fulltests"),
NULL,
reporter)
dir.create("target/test-reports", showWarnings = FALSE)
reporter <- MultiReporter$new(list(
SummaryReporter$new(),
JunitReporter$new(
file = file.path(getwd(), "target/test-reports/test-results.xml")
)
))
test_runner(
path = file.path(sparkRDir, "pkg", "tests", "fulltests"),
package = "SparkR",
reporter = reporter,
filter = NULL
)
}
SparkR:::uninstallDownloadedSpark()