mirror of
https://github.com/codeflash-ai/codeflash.git
synced 2026-05-04 18:25:17 +00:00
refactor: drop legacy JDK 8 version mapping in _detect_java_version
This commit is contained in:
parent
54a14765ee
commit
c40b5e7a74
2 changed files with 33 additions and 3 deletions
|
|
@ -583,9 +583,9 @@ class JavaSupport(LanguageSupport):
|
|||
end = line.find('"', start + 1)
|
||||
if start != -1 and end != -1:
|
||||
full_version = line[start + 1 : end]
|
||||
# Use major version only: "17.0.2" -> "17", "1.8.0_292" -> "8"
|
||||
major = full_version.split(".")[0]
|
||||
self._language_version = "8" if major == "1" else major
|
||||
# Use major version only: "17.0.2" -> "17". JDK 8 and earlier (reported as
|
||||
# "1.x.y") are unsupported — the downstream minimum-version check rejects them.
|
||||
self._language_version = full_version.split(".")[0]
|
||||
return
|
||||
except Exception:
|
||||
pass
|
||||
|
|
|
|||
|
|
@ -175,3 +175,33 @@ class TestJdkVersionCheck:
|
|||
with patch("codeflash.languages.java.support.detect_java_project", return_value=mock_config):
|
||||
result = support.ensure_runtime_environment(tmp_path)
|
||||
assert result is True
|
||||
|
||||
def test_detect_java_version_legacy_jdk8_format(self) -> None:
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
support = get_java_support()
|
||||
support._language_version = None
|
||||
|
||||
mock_result = MagicMock()
|
||||
mock_result.stderr = 'openjdk version "1.8.0_292"\n'
|
||||
mock_result.stdout = ""
|
||||
|
||||
with patch("subprocess.run", return_value=mock_result):
|
||||
support._detect_java_version()
|
||||
|
||||
assert support._language_version == "1"
|
||||
|
||||
def test_detect_java_version_modern_format(self) -> None:
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
support = get_java_support()
|
||||
support._language_version = None
|
||||
|
||||
mock_result = MagicMock()
|
||||
mock_result.stderr = 'openjdk version "17.0.2"\n'
|
||||
mock_result.stdout = ""
|
||||
|
||||
with patch("subprocess.run", return_value=mock_result):
|
||||
support._detect_java_version()
|
||||
|
||||
assert support._language_version == "17"
|
||||
|
|
|
|||
Loading…
Reference in a new issue