Skip to content

Commit 638253a

Browse files
committed
Added tests for share/ruby-install/truffleruby-graalvm/functions.sh variables (#475).
1 parent 712af2f commit 638253a

File tree

1 file changed

+374
-0
lines changed

1 file changed

+374
-0
lines changed
Lines changed: 374 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,374 @@
1+
#!/usr/bin/env bash
2+
3+
. ./test/helper.sh
4+
. ./share/ruby-install/ruby-install.sh
5+
6+
function setUp()
7+
{
8+
ruby="truffleruby-graalvm"
9+
ruby_version="23.1.0"
10+
11+
source "$ruby_install_dir/functions.sh"
12+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
13+
}
14+
15+
function test_graalvm_platform_when_os_platform_is_Linux()
16+
{
17+
local original_os_platform="$os_platform"
18+
os_platform="Linux"
19+
20+
source "$ruby_install_dir/functions.sh"
21+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
22+
23+
assertEquals "did not correctly set \$graalvm_platform" \
24+
"linux" \
25+
"$graalvm_platform"
26+
27+
os_platform="$original_os_platform"
28+
}
29+
30+
function test_graalvm_platform_when_os_platform_is_Darwin()
31+
{
32+
local original_os_platform="$os_platform"
33+
os_platform="Darwin"
34+
35+
source "$ruby_install_dir/functions.sh"
36+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
37+
38+
assertEquals "did not correctly set \$graalvm_platform" \
39+
"darwin" \
40+
"$graalvm_platform"
41+
42+
os_platform="$original_os_platform"
43+
}
44+
45+
function test_graalvm_arch_when_os_arch_is_x86_64()
46+
{
47+
local original_os_arch="$os_arch"
48+
os_arch="x86_64"
49+
50+
source "$ruby_install_dir/functions.sh"
51+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
52+
53+
assertEquals "did not correctly set \$graalvm_arch" \
54+
"amd64" \
55+
"$graalvm_arch"
56+
57+
os_arch="$original_os_arch"
58+
}
59+
60+
function test_graalvm_arch_when_os_arch_is_aarch64()
61+
{
62+
local original_os_arch="$os_arch"
63+
os_arch="aarch64"
64+
65+
source "$ruby_install_dir/functions.sh"
66+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
67+
68+
assertEquals "did not correctly set \$graalvm_arch" \
69+
"aarch64" \
70+
"$graalvm_arch"
71+
72+
os_arch="$original_os_arch"
73+
}
74+
75+
function test_graalvm_arch_when_os_arch_is_arm64()
76+
{
77+
local original_os_arch="$os_arch"
78+
os_arch="arm64"
79+
80+
source "$ruby_install_dir/functions.sh"
81+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
82+
83+
assertEquals "did not correctly set \$graalvm_arch" \
84+
"aarch64" \
85+
"$graalvm_arch"
86+
87+
os_arch="$original_os_arch"
88+
}
89+
90+
function test_truffleruby_major()
91+
{
92+
assertEquals "did not correctly set \$truffleruby_major" \
93+
"23" \
94+
"$truffleruby_major"
95+
}
96+
97+
function test_truffleruby_without_major()
98+
{
99+
assertEquals "did not correctly set \$truffleruby_without_major" \
100+
"1.0" \
101+
"$truffleruby_without_major"
102+
}
103+
104+
function test_truffleruby_minor()
105+
{
106+
assertEquals "did not correctly set \$truffleruby_minor" \
107+
"1" \
108+
"$truffleruby_minor"
109+
}
110+
111+
function test_ruby_dir_name_when_ruby_version_is_23_0_0()
112+
{
113+
ruby_version="23.0.0"
114+
115+
source "$ruby_install_dir/functions.sh"
116+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh" >/dev/null
117+
118+
assertEquals "did not correctly set \$ruby_dir_name" \
119+
"graalvm-jdk-17.0.7+8.1" \
120+
"$ruby_dir_name"
121+
}
122+
123+
function test_ruby_dir_name_when_ruby_version_is_greater_or_equal_to_23_1_0()
124+
{
125+
ruby_version="23.1.0"
126+
127+
source "$ruby_install_dir/functions.sh"
128+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
129+
130+
assertEquals "did not correctly set \$ruby_dir_name" \
131+
"truffleruby-$ruby_version-${graalvm_platform/darwin/macos}-$graalvm_arch" \
132+
"$ruby_dir_name"
133+
}
134+
135+
function test_ruby_dir_name_when_ruby_version_is_less_than_23_0_0()
136+
{
137+
ruby_version="22.1.0"
138+
139+
source "$ruby_install_dir/functions.sh"
140+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
141+
142+
assertEquals "did not correctly set \$ruby_dir_name" \
143+
"graalvm-ce-java11-$ruby_version" \
144+
"$ruby_dir_name"
145+
}
146+
147+
function test_ruby_archive_default_value_when_ruby_version_is_23_0_0()
148+
{
149+
ruby_version="23.0.0"
150+
unset ruby_archive
151+
152+
source "$ruby_install_dir/functions.sh"
153+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh" >/dev/null
154+
155+
assertEquals "did not preserve the \$ruby_archive value" \
156+
"graalvm-jdk-17.0.7_${graalvm_platform/darwin/macos}-${graalvm_arch/amd64/x64}_bin.tar.gz" \
157+
"$ruby_archive"
158+
}
159+
160+
function test_ruby_archive_default_value_when_ruby_version_is_greater_or_equal_to_23_1_0()
161+
{
162+
ruby_version="23.1.0"
163+
unset ruby_archive
164+
165+
source "$ruby_install_dir/functions.sh"
166+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
167+
168+
assertEquals "did not preserve the \$ruby_archive value" \
169+
"truffleruby-jvm-$ruby_version-${graalvm_platform/darwin/macos}-$graalvm_arch.tar.gz" \
170+
"$ruby_archive"
171+
}
172+
173+
function test_ruby_archive_default_value_when_ruby_version_is_less_than_23_0_0()
174+
{
175+
ruby_version="22.1.0"
176+
unset ruby_archive
177+
178+
source "$ruby_install_dir/functions.sh"
179+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
180+
181+
assertEquals "did not preserve the \$ruby_archive value" \
182+
"graalvm-ce-java11-$graalvm_platform-$graalvm_arch-$ruby_version.tar.gz" \
183+
"$ruby_archive"
184+
}
185+
186+
function test_ruby_archive_when_its_already_set_and_when_ruby_version_is_23_0_0()
187+
{
188+
ruby_version="23.0.0"
189+
ruby_archive="truffleruby-graalvm-custom-1.2.3.tar.bz2"
190+
191+
source "$ruby_install_dir/functions.sh"
192+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh" >/dev/null
193+
194+
assertEquals "did not correctly set \$ruby_archive" \
195+
"truffleruby-graalvm-custom-1.2.3.tar.bz2" \
196+
"$ruby_archive"
197+
}
198+
199+
function test_ruby_archive_when_its_already_set_and_ruby_version_is_greater_or_equal_to_23_1_0()
200+
{
201+
ruby_version="23.1.0"
202+
ruby_archive="truffleruby-graalvm-custom-1.2.3.tar.bz2"
203+
204+
source "$ruby_install_dir/functions.sh"
205+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
206+
207+
assertEquals "did not correctly set \$ruby_archive" \
208+
"truffleruby-graalvm-custom-1.2.3.tar.bz2" \
209+
"$ruby_archive"
210+
}
211+
212+
function test_ruby_archive_when_its_already_set_and_when_ruby_version_is_less_than_23_0_0()
213+
{
214+
ruby_version="22.0.0"
215+
ruby_archive="truffleruby-graalvm-custom-1.2.3.tar.bz2"
216+
217+
source "$ruby_install_dir/functions.sh"
218+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
219+
220+
assertEquals "did not correctly set \$ruby_archive" \
221+
"truffleruby-graalvm-custom-1.2.3.tar.bz2" \
222+
"$ruby_archive"
223+
}
224+
225+
function test_ruby_mirror_default_value_when_ruby_version_is_23_0_0()
226+
{
227+
ruby_version="23.0.0"
228+
unset ruby_mirror
229+
230+
source "$ruby_install_dir/functions.sh"
231+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh" >/dev/null
232+
233+
assertEquals "did not correctly set \$ruby_mirror" \
234+
"https://download.oracle.com/graalvm/17/archive" \
235+
"$ruby_mirror"
236+
}
237+
238+
function test_ruby_mirror_default_value_when_ruby_version_is_greater_or_equal_to_23_1_0()
239+
{
240+
ruby_version="23.1.0"
241+
unset ruby_mirror
242+
243+
source "$ruby_install_dir/functions.sh"
244+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
245+
246+
assertEquals "did not correctly set \$ruby_mirror" \
247+
"https://github.com/oracle/truffleruby/releases/download" \
248+
"$ruby_mirror"
249+
}
250+
251+
function test_ruby_mirror_default_value_when_ruby_version_is_less_than_23_0_0()
252+
{
253+
ruby_version="22.1.0"
254+
unset ruby_mirror
255+
256+
source "$ruby_install_dir/functions.sh"
257+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
258+
259+
assertEquals "did not correctly set \$ruby_mirror" \
260+
"https://github.com/graalvm/graalvm-ce-builds/releases/download" \
261+
"$ruby_mirror"
262+
}
263+
264+
function test_ruby_mirror_when_its_already_set_and_when_ruby_version_is_greater_or_equal_to_23_1_0()
265+
{
266+
ruby_version="23.1.0"
267+
ruby_mirror="https://example.com/pub/truffleruby-graalvm"
268+
269+
source "$ruby_install_dir/functions.sh"
270+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
271+
272+
assertEquals "did not preserve the \$ruby_mirror value" \
273+
"https://example.com/pub/truffleruby-graalvm" \
274+
"$ruby_mirror"
275+
}
276+
277+
function test_ruby_mirror_when_its_already_set_and_when_ruby_version_is_greater_or_equal_to_23_1_0()
278+
{
279+
ruby_version="22.0.0"
280+
ruby_mirror="https://example.com/pub/truffleruby-graalvm"
281+
282+
source "$ruby_install_dir/functions.sh"
283+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
284+
285+
assertEquals "did not preserve the \$ruby_mirror value" \
286+
"https://example.com/pub/truffleruby-graalvm" \
287+
"$ruby_mirror"
288+
}
289+
290+
function test_ruby_url_default_value_when_ruby_version_is_23_0_0()
291+
{
292+
ruby_version="23.0.0"
293+
unset ruby_mirror ruby_url
294+
295+
source "$ruby_install_dir/functions.sh"
296+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh" >/dev/null
297+
298+
assertEquals "did not correctly set \$ruby_url" \
299+
"https://download.oracle.com/graalvm/17/archive/$ruby_archive" \
300+
"$ruby_url"
301+
}
302+
303+
function test_ruby_url_default_value_when_ruby_version_is_greater_or_equal_to_23_1_0()
304+
{
305+
ruby_version="23.1.0"
306+
unset ruby_mirror ruby_url
307+
308+
source "$ruby_install_dir/functions.sh"
309+
source "$ruby_install_dir/truffleruby/functions.sh" >/dev/null
310+
311+
assertEquals "did not correctly set \$ruby_url" \
312+
"https://github.com/oracle/truffleruby/releases/download/graal-$ruby_version/$ruby_archive" \
313+
"$ruby_url"
314+
}
315+
316+
function test_ruby_url_default_value_when_ruby_version_is_less_than_23_0_0()
317+
{
318+
ruby_version="22.1.0"
319+
unset ruby_mirror ruby_url
320+
321+
source "$ruby_install_dir/functions.sh"
322+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh" >/dev/null
323+
324+
assertEquals "did not correctly set \$ruby_url" \
325+
"https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-$ruby_version/$ruby_archive" \
326+
"$ruby_url"
327+
}
328+
329+
function test_ruby_url_when_its_already_set_and_when_ruby_version_is_23_0_0()
330+
{
331+
ruby_version="23.0.0"
332+
ruby_url="https://example.com/pub/truffleruby-graalvm/truffleruby-graalvm-1.2.3.tar.gz"
333+
334+
source "$ruby_install_dir/functions.sh"
335+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh" >/dev/null
336+
337+
assertEquals "did not preserve the \$ruby_url value" \
338+
"https://example.com/pub/truffleruby-graalvm/truffleruby-graalvm-1.2.3.tar.gz" \
339+
"$ruby_url"
340+
}
341+
342+
function test_ruby_url_when_its_already_set_and_when_ruby_version_is_greater_equal_to_23_1_0()
343+
{
344+
ruby_version="23.1.0"
345+
ruby_url="https://example.com/pub/truffleruby-graalvm/truffleruby-graalvm-1.2.3.tar.gz"
346+
347+
source "$ruby_install_dir/functions.sh"
348+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
349+
350+
assertEquals "did not preserve the \$ruby_url value" \
351+
"https://example.com/pub/truffleruby-graalvm/truffleruby-graalvm-1.2.3.tar.gz" \
352+
"$ruby_url"
353+
}
354+
355+
function test_ruby_url_when_its_already_set_and_when_ruby_version_is_less_than_23_0_0()
356+
{
357+
ruby_version="22.0.0"
358+
ruby_url="https://example.com/pub/truffleruby-graalvm/truffleruby-graalvm-1.2.3.tar.gz"
359+
360+
source "$ruby_install_dir/functions.sh"
361+
source "$ruby_install_dir/truffleruby-graalvm/functions.sh"
362+
363+
assertEquals "did not preserve the \$ruby_url value" \
364+
"https://example.com/pub/truffleruby-graalvm/truffleruby-graalvm-1.2.3.tar.gz" \
365+
"$ruby_url"
366+
}
367+
368+
function tearDown()
369+
{
370+
unset ruby ruby_version ruby_version_family ruby_archive ruby_dir_name \
371+
ruby_mirror ruby_url
372+
}
373+
374+
SHUNIT_PARENT=$0 . $SHUNIT2

0 commit comments

Comments
 (0)