File: run-tests

package info (click to toggle)
ruby-standalone 3.0~2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 92 kB
  • sloc: sh: 98; makefile: 68; ansic: 25; ruby: 6
file content (76 lines) | stat: -rwxr-xr-x 2,261 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/sh

if [ -z "$AUTOPKGTEST_TMP" ]; then
  export PATH="$(dirname $0):$PATH"
  export RUBYLIB="$(dirname $0)/lib"
else
  export PATH="/usr/lib/ruby-standalone/bin:$PATH"
fi

ruby_api_version=$(ruby -e 'puts RbConfig::CONFIG["ruby_version"]')

test_basics() {
  output=$(ruby -e 'puts ARGV.join(",")' 1 2 3)
  assertEquals "1,2,3" "$output"
}

has_ruby_ffi() {
  dpkg-query --show ruby-ffi > /dev/null
}

test_cant_load_stuff_from_vendor_ruby() {
  if ! has_ruby_ffi; then echo SKIP; return; fi
  rc=0
  ruby -rffi -e 'true' 2>/dev/null || rc=$?
  assertNotEquals 0 "$rc"
}

test_rubygems_dont_see_debian_package() {
  if ! has_ruby_ffi; then echo SKIP; return; fi
  rc=0
  (gem list ffi | grep 'ffi\s') || rc=$?
  assertNotEquals 0 "$rc"
}

test_rubygems_sees_default_gems() {
  rc=0
  (gem list io-console | grep -q io-console) || rc=$?
  assertEquals 0 "$rc"
}

test_rubygems_installs_to_var_lib_as_root() {
  if [ "$(whoami)" != 'root' ]; then echo SKIP; return; fi
  default_dir=$(ruby -e 'puts Gem.default_dir')
  assertEquals "/var/lib/gems/$ruby_api_version" "$default_dir"
}

test_rubygems_installs_programs_to_usr_local_as_root() {
  if [ "$(whoami)" != 'root' ]; then echo SKIP; return; fi
  default_bindir=$(ruby -e 'puts Gem.default_bindir')
  assertEquals '/usr/local/bin' "$default_bindir"
}

test_rubygems_installs_to_home_as_non_root() {
  if [ "$(whoami)" = 'root' ]; then echo SKIP; return; fi
  expected_default_dir=$(ruby -e 'puts Gem.user_dir')
  default_dir=$(ruby -e 'puts Gem.default_dir')
  assertEquals "$expected_default_dir" "$default_dir"
}

test_rubygems_installs_programs_to_user_dir_as_non_root() {
  if [ "$(whoami)" = 'root' ]; then echo SKIP; return; fi
  expected_default_bindir=$(ruby -e 'puts Gem.user_dir')/bin
  default_bindir=$(ruby -e 'puts Gem.default_bindir')
  assertEquals "$expected_default_bindir" "$default_bindir"
}

test_rubygems_installed_as_root_are_available_to_user() {
  default_path=$(ruby -e 'puts Gem.default_path.join(":")')
  assertEquals "$(ruby -e 'puts Gem.user_dir'):/var/lib/gems/$ruby_api_version:/usr/lib/ruby/gems/$ruby_api_version" "$default_path"
}

test_shebang() {
  assertEquals "lib/ruby-standalone/bin/ruby" "$(ruby -e 'puts Gem.ruby.gsub(%r{^/usr(/local)?/}, "")')"
}

. shunit2