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
|