Skip to content

Commit b4946f0

Browse files
SCANJLIB-280 Support zOS as a valid Operating System (#260)
1 parent 0469f46 commit b4946f0

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/src/main/java/org/sonarsource/scanner/lib/internal/util/OsResolver.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public OperatingSystem getOs() {
5050
return OperatingSystem.WINDOWS;
5151
} else if (osNameLowerCase.contains("linux")) {
5252
return isAlpine() ? OperatingSystem.ALPINE : OperatingSystem.LINUX;
53+
} else if (osNameLowerCase.contains("z/os")) {
54+
return OperatingSystem.ZOS;
5355
}
5456
}
5557
throw new IllegalStateException(String.format("Failed to detect OS, use the property '%s' to set it manually.", SCANNER_OS));
@@ -75,6 +77,6 @@ private boolean isAlpine() {
7577
* Operating systems supported by the JRE provisioning.
7678
*/
7779
public enum OperatingSystem {
78-
LINUX, WINDOWS, MACOS, ALPINE
80+
LINUX, WINDOWS, MACOS, ALPINE, ZOS
7981
}
8082
}

lib/src/test/java/org/sonarsource/scanner/lib/internal/util/OsResolverTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ void getOs_alpine() throws IOException {
9696
assertThat(underTest.getOs()).isEqualTo(OsResolver.OperatingSystem.LINUX);
9797
}
9898

99+
@Test
100+
void getOs_zOS() {
101+
when(system.getProperty(OS_NAME)).thenReturn("z/OS");
102+
assertThat(underTest.getOs()).isEqualTo(OsResolver.OperatingSystem.ZOS);
103+
}
104+
99105
@Test
100106
void getOs_unknown() {
101107
when(system.getProperty(OS_NAME)).thenReturn("aix");

0 commit comments

Comments
 (0)