Skip to content

Commit 46fd2b5

Browse files
committed
tests: mock internal Java version and env implementations to avoid invoking real Java
1 parent c7b2617 commit 46fd2b5

2 files changed

Lines changed: 29 additions & 8 deletions

File tree

tests/testthat/test-java_find.R

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,16 @@ test_that("java_find_system detects JAVA_HOME environment variable", {
1919

2020
withr::local_envvar(JAVA_HOME = java_home)
2121

22-
# Mock java_check_version_cmd
22+
# Mock the internal implementation to avoid calling real java -version
2323
local_mocked_bindings(
24-
java_check_version_cmd = function(java_home, quiet = TRUE) "17",
24+
._java_version_check_impl_original = function(java_home) {
25+
list(
26+
major_version = "17",
27+
java_home = java_home,
28+
java_path = "mock",
29+
java_version_output = "mock"
30+
)
31+
},
2532
.package = "rJavaEnv"
2633
)
2734

@@ -131,9 +138,16 @@ test_that("java_find_system detects multiple Java installations", {
131138
# Set JAVA_HOME to one of them
132139
withr::local_envvar(JAVA_HOME = java_17)
133140

134-
# Mock java_check_version_cmd
141+
# Mock the internal implementation
135142
local_mocked_bindings(
136-
java_check_version_cmd = function(java_home, quiet = TRUE) "17",
143+
._java_version_check_impl_original = function(java_home) {
144+
list(
145+
major_version = "17",
146+
java_home = java_home,
147+
java_path = "mock",
148+
java_version_output = "mock"
149+
)
150+
},
137151
.package = "rJavaEnv"
138152
)
139153

@@ -502,9 +516,16 @@ test_that("java_find_system includes real system Java even when cache exists", {
502516

503517
withr::local_envvar(JAVA_HOME = system_java)
504518

505-
# Mock java_check_version_cmd to return a version
519+
# Mock the internal implementation
506520
local_mocked_bindings(
507-
java_check_version_cmd = function(java_home, quiet = TRUE) "17",
521+
._java_version_check_impl_original = function(java_home) {
522+
list(
523+
major_version = "17",
524+
java_home = java_home,
525+
java_path = "mock",
526+
java_version_output = "mock"
527+
)
528+
},
508529
.package = "rJavaEnv"
509530
)
510531

tests/testthat/test-java_wrappers.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ test_that("use_java executes flow correctly", {
4242
java_list_installed_cache = function(...) data.frame(),
4343
java_download = function(...) "mock_distrib_path",
4444
java_unpack = function(...) "mock_install_path",
45-
# Capture the arguments passed to java_env_set to verify logic
46-
java_env_set = function(where, java_home, quiet, ...) {
45+
# Mock the internal implementation to avoid libjvm.so warnings
46+
._java_env_set_impl = function(where, java_home, quiet, ...) {
4747
if (where != "session") {
4848
stop("Wrong 'where' argument")
4949
}

0 commit comments

Comments
 (0)