Class: Mrubyc::Test::Tool
Instance Method Summary collapse
Instance Method Details
#make ⇒ Object
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 |
# File 'lib/mrubyc-test.rb', line 45 def make config = Mrubyc::Test::Config.read tmp_dir = File.join(Dir.pwd, config['test_tmp_dir']) puts "cd #{tmp_dir}" puts exit_code = 0 pwd = Dir.pwd FileUtils.mv "#{pwd}/#{config['mrubyc_src_dir']}/hal", "#{pwd}/#{config['mrubyc_src_dir']}/~hal" begin FileUtils.ln_s "#{pwd}/#{config['test_tmp_dir']}/hal", "#{pwd}/#{config['mrubyc_src_dir']}/hal" Dir.chdir(tmp_dir) do ['~/.rbenv/versions/mruby-1.4.1/bin/mrbc -E -B test test.rb', "cc -I #{pwd}/#{config['mrubyc_src_dir']} -DMRBC_DEBUG -o test main.c #{pwd}/#{config['mrubyc_src_dir']}/*.c #{pwd}/#{config['mrubyc_src_dir']}/hal/*.c", './test'].each do |cmd| puts cmd puts exit_code = system(cmd) ? 0 : 1 end puts puts "cd -" puts end ensure FileUtils.rm "#{pwd}/#{config['mrubyc_src_dir']}/hal" FileUtils.mv "#{pwd}/#{config['mrubyc_src_dir']}/~hal", "#{pwd}/#{config['mrubyc_src_dir']}/hal" end exit(exit_code) end |
#prepare ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/mrubyc-test.rb', line 23 def prepare config = Mrubyc::Test::Config.read model_files = Dir.glob(File.join(Dir.pwd, config['mruby_lib_dir'], 'models', '*.rb')) test_path = File.join(Dir.pwd, config['test_dir'], '*.rb') test_files = Dir.glob(test_path) if test_files.size == 0 puts 'Test not found' puts 'search path: ' + test_path exit(1) end # gather attributes from your implementations and tests attributes = Mrubyc::Test::Generator::Attribute.run(model_files: model_files, test_files: test_files) # convert attributes into tast_cases test_cases = Mrubyc::Test::Generator::TestCase.run(attributes) # generate a ruby script that will be compiled by mrbc and executed in mruby/c VM Mrubyc::Test::Generator::Script.run(model_files: model_files, test_files: test_files, test_cases: test_cases) end |
#test ⇒ Object
75 76 77 78 |
# File 'lib/mrubyc-test.rb', line 75 def test prepare make end |