Skip to content

Commit 7abb51f

Browse files
Unit test for getRuntimeJars exceptional case
1 parent 0caae10 commit 7abb51f

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/test/java/org/sonarqube/gradle/SonarUtilsTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.mockito.Mockito;
3131

3232
import static org.assertj.core.api.Assertions.assertThat;
33+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
3334
import static org.mockito.Mockito.when;
3435

3536
class SonarUtilsTest {
@@ -89,4 +90,17 @@ void test_join_csv_without_duplicates(){
8990
assertThat(SonarUtils.joinCsvStringsWithoutDuplicates(a, e)).isEqualTo("a,b,c");
9091
}
9192

93+
@Test
94+
void test_getRuntimeJars_throws_IllegalStateException_when_java_home_is_invalid() {
95+
String originalJavaHome = System.getProperty("java.home");
96+
try {
97+
// Set java.home to a path with null character, which will cause an exception in getCanonicalFile()
98+
System.setProperty("java.home", "/invalid\u0000path");
99+
assertThatThrownBy(SonarUtils::getRuntimeJars)
100+
.isInstanceOf(IllegalStateException.class);
101+
} finally {
102+
System.setProperty("java.home", originalJavaHome);
103+
}
104+
}
105+
92106
}

0 commit comments

Comments
 (0)