summaryrefslogtreecommitdiffhomepage
path: root/run_test.rb
blob: 7be23b4d3d125644547c2df09f51227fcdc7ba9f (plain)
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
#!/usr/bin/env ruby
#
# mrbgems test runner
#

DEPEND_GEMS = []
gemname = File.basename(File.dirname(File.expand_path __FILE__))

if __FILE__ == $0
  repository, dir = 'https://github.com/mruby/mruby.git', 'tmp/mruby'
  build_args = ARGV
  if ARGV.first && ARGV.first.include?('iij')
    repository, dir = 'https://github.com/iij/mruby.git', 'tmp/iij-mruby'
    build_args = ARGV[1, ARGV.size]
  end
  build_args = ['all', 'test']  if build_args.nil? or build_args.empty?

  Dir.mkdir 'tmp'  unless File.exist?('tmp')
  unless File.exist?(dir)
    system "git clone #{repository} #{dir}"
  end

  exit system(%Q[cd #{dir}; MRUBY_CONFIG=#{File.expand_path __FILE__} ruby minirake #{build_args.join(' ')}])
end

MRuby::Build.new do |conf|
  toolchain :gcc
  conf.gems.clear
  conf.gem File.expand_path(File.dirname(__FILE__))
  DEPEND_GEMS.each do |g|
    conf.gem g
  end
end