JezK
Edit File: rvm_gemsets
#!/usr/bin/env bash set -o errtrace base_dir="${PWD##\//\\\/}" export PS4="+ \${BASH_SOURCE##\${rvm_path:-}} : \${FUNCNAME[0]:+\${FUNCNAME[0]}()} \${LINENO} > " if [[ ! -s ./scripts/rvm ]] ; then echo "ERROR: This test must be run from within RVM project root." exit 1 fi rubies=(1.8.7 1.9.2 ree rbx) if [[ "Darwin" = "$(uname)" ]] ; then rubies=(${rubies[@]} macruby) fi mkdir -p test/log results=() gemset_name="test_gemsets_$$" for ruby in "${rubies[@]}" ; do ( set -o errexit # Plan: # Ensure gemset test does not exist for the ruby. if message=$(rvm gemset use $gemset_name) ; then # -> Ensure failure is returned printf "'rvm gemset use' did not return failure when gemset does not exist.\n" false else # -> Ensure the error message shows. case $message in *does not exist*) true ;; *) printf "'rvm gemset use' did not tell the user 'does not exist'.\n" false ;; esac fi if message=$(rvm gemset create $gemset_name) ; then else fi # -> Ensure success is returned # -> Ensure message is returned # -> Ensure gemset $gemset_name directory exists. if message=$(rvm gemset use $gemset_name) ; then else fi # -> Ensure success is returned # -> Ensure message is returned # -> Ensure that GEM_HOME, GEM_PATH are set correctly if message=$(rvm gemset delete $gemset_name) ; then # -> Ensure success is returned # -> Ensure message is returned case $message in *deleted*) true ;; *) printf "'rvm gemset use' did not tell the user 'does not exist'.\n" false ;; esac true else fi # -> Ensure gemset dirctory no longer exists source "./scripts/rvm" rvm install $ruby > test/log/$ruby.log 2>&1 ) results=(${results[@]} $?) done result=0 for ((index=0 ; index < ${#rubies[@]} ; index++)) ; do if [[ ${results[$index]} -gt 0 ]] ; then printf "fail : ${rubies[$index]} : install\n" result=${rubies[$index]} else printf "pass : ${rubies[$index]} : install\n" fi done exit $result