summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--run_test.rb33
2 files changed, 34 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index f28a84016..55ef3162f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ gem_*
gem-*
mrb-*.a
src/*.o
+/tmp
diff --git a/run_test.rb b/run_test.rb
new file mode 100644
index 000000000..7be23b4d3
--- /dev/null
+++ b/run_test.rb
@@ -0,0 +1,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