Changeset 5864

Show
Ignore:
Timestamp:
10/10/06 21:19:23
Author:
jan
Message:

warn message for Mac OS X and exec@

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/java_task.rb

    r5863 r5864  
    3838     attr_accessor :fork 
    3939      
     40     attr_accessor :in_vm 
     41      
    4042     def initialize(name, classname) 
    4143        @name = name || classname 
     
    4850        @logging_conf = nil 
    4951        @debug = false 
     52        @in_vm = false 
    5053        @debug_port = 8000 
    5154        @verbose = false 
     
    6164        task name => dependencies do |t| 
    6265        
     66        if in_vm 
     67          klass = Rjb::import(classname) 
     68          klass.main(parameters) 
     69          return 
     70        end 
     71         
    6372        if classpath.respond_to?(:to_cp) 
    6473          cp = classpath.to_cp 
     
    94103          sh "java", *parms                   
    95104        else           
    96           exec "java", *parms 
     105          begin 
     106            exec "java", *parms 
     107          rescue 
     108            puts "running java with fork==false not supported on Mac OS X!" if RUBY_PLATFORM =~ /darwin/i 
     109            raise 
     110          end 
    97111        end        
    98112       end 
  • trunk/sample/Rakefile

    r5863 r5864  
    5050end 
    5151 
     52Rake::JavaTask.new(:run_in_vm, "jerbil.sample.Main") do |t| 
     53  t.classpath = CLASSPATH 
     54  t.parameters = [ "20", "50" ] 
     55  t.depends_on :compile 
     56  t.in_vm = true  
     57end 
     58 
    5259Rake::JavaTask.new(:run_forked, "jerbil.sample.Main") do |t| 
    5360  t.classpath = CLASSPATH 
  • trunk/test/test_build.rb

    r5863 r5864  
    6060    run_rake(:clean, :run) do |ok,res| 
    6161      assert !ok 
    62       assert_equal 70, res.exitstatus 
     62      assert_equal 70, res.exitstatus, "NB: this test fails on Mac OS X" 
    6363    end 
    6464  end 
     
    6767    run_rake(:clean, :run_forked) do |ok,res| 
    6868      assert ok          
     69    end 
     70  end 
     71   
     72  def test_run_in_vm 
     73    run_rake(:clean, :run_in_vm) do |ok,res| 
     74      assert !ok 
     75      assert_equal 70, res.exitstatus            
    6976    end 
    7077  end