1
1
package io .quarkus .deployment .pkg .steps ;
2
2
3
+ import static io .quarkus .deployment .pkg .steps .GraalVM .Distribution .GRAALVM ;
3
4
import static io .quarkus .deployment .pkg .steps .GraalVM .Distribution .MANDREL ;
4
- import static io .quarkus .deployment .pkg .steps .GraalVM .Distribution .ORACLE ;
5
5
import static org .assertj .core .api .Assertions .assertThat ;
6
6
7
7
import java .util .stream .Stream ;
@@ -19,20 +19,20 @@ public class GraalVMTest {
19
19
@ Test
20
20
public void testGraalVMVersionDetected () {
21
21
// Version detection after: https://github.com/oracle/graal/pull/6302 (3 lines of version output)
22
- assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , ORACLE ), MANDREL ,
22
+ assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , GRAALVM ), MANDREL ,
23
23
Version .of (Stream .of (("native-image 17.0.6 2023-01-17\n "
24
24
+ "OpenJDK Runtime Environment Mandrel-23.0.0-dev (build 17.0.6+10)\n "
25
25
+ "OpenJDK 64-Bit Server VM Mandrel-23.0.0-dev (build 17.0.6+10, mixed mode)" ).split ("\\ n" ))));
26
- assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , ORACLE ), MANDREL ,
26
+ assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , GRAALVM ), MANDREL ,
27
27
Version .of (Stream .of (("native-image 17.0.6 2023-01-17\n "
28
28
+ "GraalVM Runtime Environment Mandrel-23.0.0-dev (build 17.0.6+10)\n "
29
29
+ "Substrate VM Mandrel-23.0.0-dev (build 17.0.6+10, serial gc)" ).split ("\\ n" ))));
30
- assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , ORACLE ), MANDREL ,
30
+ assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , GRAALVM ), MANDREL ,
31
31
Version .of (Stream .of (("native-image 17.0.7 2023-04-18\n "
32
32
+ "OpenJDK Runtime Environment Mandrel-23.0.0.0-Final (build 17.0.7+7)\n "
33
33
+ "OpenJDK 64-Bit Server VM Mandrel-23.0.0.0-Final (build 17.0.7+7, mixed mode)" ).split ("\\ n" ))));
34
34
// should also work when the image is not around and we have to download it
35
- assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , ORACLE ), MANDREL ,
35
+ assertVersion (new Version ("GraalVM 23.0.0" , "23.0.0" , GRAALVM ), MANDREL ,
36
36
Version .of (
37
37
Stream .of (("Unable to find image 'quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-17' locally\n "
38
38
+ "jdk-17: Pulling from quarkus/ubi-quarkus-mandrel-builder-image\n "
@@ -57,31 +57,31 @@ public void testGraalVMVersionDetected() {
57
57
+ "OpenJDK Runtime Environment Mandrel-23.0.0.0-Final (build 17.0.7+7)\n "
58
58
+ "OpenJDK 64-Bit Server VM Mandrel-23.0.0.0-Final (build 17.0.7+7, mixed mode)" )
59
59
.split ("\\ n" ))));
60
- assertVersion (new Version ("GraalVM 23.0" , "23.0" , ORACLE ), ORACLE ,
60
+ assertVersion (new Version ("GraalVM 23.0" , "23.0" , GRAALVM ), GRAALVM ,
61
61
Version .of (Stream .of (("native-image 20 2023-03-21\n "
62
62
+ "GraalVM Runtime Environment GraalVM CE (build 20+34-jvmci-23.0-b10)\n "
63
63
+ "Substrate VM GraalVM CE (build 20+34, serial gc)" ).split ("\\ n" ))));
64
64
65
65
// Older version parsing
66
- assertVersion (new Version ("GraalVM 20.1" , "20.1" , ORACLE ), ORACLE ,
66
+ assertVersion (new Version ("GraalVM 20.1" , "20.1" , GRAALVM ), GRAALVM ,
67
67
Version .of (Stream .of ("GraalVM Version 20.1.0 (Java Version 11.0.7)" )));
68
- assertVersion (new Version ("GraalVM 20.1.0.1" , "20.1.0.1" , ORACLE ), MANDREL , Version
68
+ assertVersion (new Version ("GraalVM 20.1.0.1" , "20.1.0.1" , GRAALVM ), MANDREL , Version
69
69
.of (Stream .of ("GraalVM Version 20.1.0.1.Alpha2 56d4ee1b28 (Mandrel Distribution) (Java Version 11.0.8)" )));
70
- assertVersion (new Version ("GraalVM 20.1.0.1" , "20.1.0.1" , ORACLE ), MANDREL , Version
70
+ assertVersion (new Version ("GraalVM 20.1.0.1" , "20.1.0.1" , GRAALVM ), MANDREL , Version
71
71
.of (Stream .of ("GraalVM Version 20.1.0.1-Final 56d4ee1b28 (Mandrel Distribution) (Java Version 11.0.8)" )));
72
- assertVersion (new Version ("GraalVM 21.0" , "21.0" , ORACLE ), MANDREL , Version
72
+ assertVersion (new Version ("GraalVM 21.0" , "21.0" , GRAALVM ), MANDREL , Version
73
73
.of (Stream .of ("GraalVM Version 21.0.0.0-0b3 (Mandrel Distribution) (Java Version 11.0.8)" )));
74
- assertVersion (new Version ("GraalVM 20.3.1.2" , "20.3.1.2" , ORACLE ), MANDREL , Version
74
+ assertVersion (new Version ("GraalVM 20.3.1.2" , "20.3.1.2" , GRAALVM ), MANDREL , Version
75
75
.of (Stream .of ("GraalVM Version 20.3.1.2-dev (Mandrel Distribution) (Java Version 11.0.8)" )));
76
- assertVersion (new Version ("GraalVM 21.1" , "21.1" , ORACLE ), MANDREL , Version
76
+ assertVersion (new Version ("GraalVM 21.1" , "21.1" , GRAALVM ), MANDREL , Version
77
77
.of (Stream .of ("native-image 21.1.0.0-Final (Mandrel Distribution) (Java Version 11.0.11+9)" )));
78
- assertVersion (new Version ("GraalVM 21.1" , "21.1" , ORACLE ), MANDREL , Version
78
+ assertVersion (new Version ("GraalVM 21.1" , "21.1" , GRAALVM ), MANDREL , Version
79
79
.of (Stream .of ("GraalVM 21.1.0.0-Final (Mandrel Distribution) (Java Version 11.0.11+9)" )));
80
- assertVersion (new Version ("GraalVM 21.1" , "21.1" , ORACLE ), ORACLE , Version
80
+ assertVersion (new Version ("GraalVM 21.1" , "21.1" , GRAALVM ), GRAALVM , Version
81
81
.of (Stream .of ("GraalVM 21.1.0 Java 11 CE (Java Version 11.0.11+5-jvmci-21.1-b02)" )));
82
- assertVersion (new Version ("GraalVM 21.1" , "21.1" , ORACLE ), ORACLE , Version
82
+ assertVersion (new Version ("GraalVM 21.1" , "21.1" , GRAALVM ), GRAALVM , Version
83
83
.of (Stream .of ("native-image 21.1.0.0 Java 11 CE (Java Version 11.0.11+5-jvmci-21.1-b02)" )));
84
- assertVersion (new Version ("GraalVM 21.2" , "21.2" , ORACLE ), MANDREL , Version
84
+ assertVersion (new Version ("GraalVM 21.2" , "21.2" , GRAALVM ), MANDREL , Version
85
85
.of (Stream .of ("native-image 21.2.0.0-Final Mandrel Distribution (Java Version 11.0.12+7)" )));
86
86
}
87
87
@@ -93,6 +93,39 @@ static void assertVersion(Version graalVmVersion, Distribution distro, Version v
93
93
}
94
94
}
95
95
96
+ @ Test
97
+ public void testGraalVM21VersionParser () {
98
+ Version graalVM21Dev = Version .of (Stream .of (("native-image 21 2023-09-19\n "
99
+ + "GraalVM Runtime Environment GraalVM CE 21+35.1 (build 21+35-jvmci-23.1-b15)\n "
100
+ + "Substrate VM GraalVM CE 21+35.1 (build 21+35, serial gc)" ).split ("\\ n" )));
101
+ assertThat (graalVM21Dev .distribution .name ()).isEqualTo ("GRAALVM" );
102
+ assertThat (graalVM21Dev .getVersionAsString ()).isEqualTo ("23.1" );
103
+ assertThat (graalVM21Dev .javaFeatureVersion ).isEqualTo (21 );
104
+ assertThat (graalVM21Dev .javaUpdateVersion ).isEqualTo (0 );
105
+ }
106
+
107
+ @ Test
108
+ public void testGraalVM21DevVersionParser () {
109
+ Version graalVM21Dev = Version .of (Stream .of (("native-image 21 2023-09-19\n " +
110
+ "GraalVM Runtime Environment GraalVM CE 21-dev+35.1 (build 21+35-jvmci-23.1-b14)\n " +
111
+ "Substrate VM GraalVM CE 21-dev+35.1 (build 21+35, serial gc)" ).split ("\\ n" )));
112
+ assertThat (graalVM21Dev .distribution .name ()).isEqualTo ("GRAALVM" );
113
+ assertThat (graalVM21Dev .getVersionAsString ()).isEqualTo ("23.1-dev" );
114
+ assertThat (graalVM21Dev .javaFeatureVersion ).isEqualTo (21 );
115
+ assertThat (graalVM21Dev .javaUpdateVersion ).isEqualTo (0 );
116
+ }
117
+
118
+ @ Test
119
+ public void testGraalVM22DevVersionParser () {
120
+ Version graalVM22Dev = Version .of (Stream .of (("native-image 22 2024-03-19\n "
121
+ + "GraalVM Runtime Environment GraalVM CE 22-dev+16.1 (build 22+16-jvmci-b01)\n "
122
+ + "Substrate VM GraalVM CE 22-dev+16.1 (build 22+16, serial gc)" ).split ("\\ n" )));
123
+ assertThat (graalVM22Dev .distribution .name ()).isEqualTo ("GRAALVM" );
124
+ assertThat (graalVM22Dev .getVersionAsString ()).isEqualTo ("24.0-dev" );
125
+ assertThat (graalVM22Dev .javaFeatureVersion ).isEqualTo (22 );
126
+ assertThat (graalVM22Dev .javaUpdateVersion ).isEqualTo (0 );
127
+ }
128
+
96
129
@ Test
97
130
public void testGraalVMVersionsOlderThan () {
98
131
assertOlderThan ("GraalVM Version 19.3.6 CE" , "GraalVM Version 20.2.0 (Java Version 11.0.9)" );
0 commit comments