57 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/usr/bin/env bash
 | |
| set -e
 | |
| 
 | |
| # Usage:
 | |
| #   script/test <test_file>
 | |
| #   script/test [ruby|jruby]
 | |
| #   script/test
 | |
| 
 | |
| if [ -d test/dest ]
 | |
|   then rm -r test/dest
 | |
| fi
 | |
| 
 | |
| # -----------------------------------------------------------------------------
 | |
| # If you send us a ruby then we use that, if you do not then we test with
 | |
| # whatever we can detect, this way you can run both suites when you test out
 | |
| # your source, we expect full coverage now, not just MRI.
 | |
| # -----------------------------------------------------------------------------
 | |
| 
 | |
| if [[ "$1" == "ci" ]]
 | |
| then
 | |
|   rubies=(
 | |
|     ruby
 | |
|   )
 | |
| 
 | |
|   shift
 | |
| elif [[ "$1" == "ruby" ]] || [[ "$1" == "jruby" ]]
 | |
| then
 | |
|   rubies=(
 | |
|     $1
 | |
|   )
 | |
| 
 | |
|   shift
 | |
| else
 | |
|   rubies=($(script/rubies))
 | |
| fi
 | |
| 
 | |
| 
 | |
| for ruby in $rubies; do
 | |
|   if [[ "$ruby" == "jruby" ]]
 | |
|   then
 | |
|     testopts=""
 | |
|   else
 | |
|     testopts="--profile"
 | |
|   fi
 | |
| 
 | |
|   if [[ $# -lt 1 ]]
 | |
|   then
 | |
|     set -x
 | |
|     time $ruby -S bundle exec \
 | |
|       rake TESTOPTS=$testopts test
 | |
|    else
 | |
|     set -x
 | |
|     time $ruby -S bundle exec ruby -Itest \
 | |
|       "$@" $testops
 | |
|   fi
 | |
| done
 |