Skip to content

Commit f64a494

Browse files
committed
More unit tests for uname and semantic versioning
1 parent 34e3e45 commit f64a494

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

src/test/java/com/fizzed/jne/SemanticVersionTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,19 @@ void freeBsdVersion() {
5050
assertThat(v.getBuildMetadata(), is(nullValue()));
5151
}
5252

53+
@Test
54+
void freeBsdVersionWithRevision() {
55+
String s = "13.5-RELEASE-p6";
56+
SemanticVersion v = SemanticVersion.parse(s);
57+
58+
assertThat(v.getMajor(), is(equalTo(13)));
59+
assertThat(v.getMinor(), is(equalTo(5)));
60+
assertThat(v.getPatch(), is(equalTo(0)));
61+
assertThat(v.getRevision(), is(equalTo(0)));
62+
assertThat(v.getFlavor(), is(equalTo("RELEASE-p6")));
63+
assertThat(v.getBuildMetadata(), is(nullValue()));
64+
}
65+
5366
@Test
5467
void openBsdVersion() {
5568
String s = "7.4";

src/test/java/com/fizzed/jne/internal/UnameTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,42 @@ public void parseFreeBSD() {
7272
assertNull(u.getOperatingSystem());
7373
}
7474

75+
@Test
76+
public void parseFreeBSD13() {
77+
String freebsdOutput = "FreeBSD bmh-build-x64-freebsd13-1 13.5-RELEASE-p6 FreeBSD 13.5-RELEASE-p6 GENERIC amd64";
78+
Uname u = Uname.parse(freebsdOutput);
79+
80+
assertNotNull(u);
81+
assertEquals("FreeBSD", u.getSysname());
82+
assertEquals("bmh-build-x64-freebsd13-1", u.getNodename());
83+
assertEquals("13.5-RELEASE-p6", u.getVersion());
84+
assertEquals("FreeBSD 13.5-RELEASE-p6 GENERIC", u.getFlavor());
85+
assertEquals("amd64", u.getMachine());
86+
87+
// GNU-specific fields should be null
88+
assertNull(u.getProcessor());
89+
assertNull(u.getHardwarePlatform());
90+
assertNull(u.getOperatingSystem());
91+
}
92+
93+
@Test
94+
public void parseFreeBSD15() {
95+
String freebsdOutput = "FreeBSD bmh-build-x64-freebsd15-1 15.0-ALPHA1 FreeBSD 15.0-ALPHA1 #0 stable/15-n280099-0b3d82579a01: Sat Sep 6 19:04:24 -00 2025 root@releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC aarch64";
96+
Uname u = Uname.parse(freebsdOutput);
97+
98+
assertNotNull(u);
99+
assertEquals("FreeBSD", u.getSysname());
100+
assertEquals("bmh-build-x64-freebsd15-1", u.getNodename());
101+
assertEquals("15.0-ALPHA1", u.getVersion());
102+
assertEquals("FreeBSD 15.0-ALPHA1 #0 stable/15-n280099-0b3d82579a01: Sat Sep 6 19:04:24 -00 2025 root@releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC", u.getFlavor());
103+
assertEquals("aarch64", u.getMachine());
104+
105+
// GNU-specific fields should be null
106+
assertNull(u.getProcessor());
107+
assertNull(u.getHardwarePlatform());
108+
assertNull(u.getOperatingSystem());
109+
}
110+
75111
@Test
76112
public void parseOpenBSD() {
77113
String openbsdOutput = "OpenBSD my-openbsd.local 7.4 GENERIC.MP#6 amd64";

0 commit comments

Comments
 (0)