Changeset 5863
- Timestamp:
- 10/10/06 19:41:18
- Files:
-
- trunk/lib/java_task.rb (modified) (1 diff)
- trunk/sample/Rakefile (modified) (1 diff)
- trunk/sample/src/jerbil/sample/Main.java (modified) (1 diff)
- trunk/test/test_build.rb (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/java_task.rb
r5858 r5863 92 92 93 93 if @fork 94 ret = Kernel.fork { 95 exec "java", *parms 96 } 97 98 exit! if ret.nil? 99 Process.wait 100 raise unless $?.exitstatus == 0 101 else 102 sh "java", *parms 103 #exec "java", *parms 104 end 105 94 sh "java", *parms 95 else 96 exec "java", *parms 97 end 106 98 end 107 99 end trunk/sample/Rakefile
r5846 r5863 46 46 Rake::JavaTask.new(:run, "jerbil.sample.Main") do |t| 47 47 t.classpath = CLASSPATH 48 t.parameters = [ " 50", "50" ]48 t.parameters = [ "20", "50" ] 49 49 t.depends_on :compile 50 end 51 52 Rake::JavaTask.new(:run_forked, "jerbil.sample.Main") do |t| 53 t.classpath = CLASSPATH 54 t.parameters = [ "50", "-50" ] 55 t.depends_on :compile 56 t.fork = true 57 end 58 59 Rake::JavaTask.new(:run_forked_fail, "jerbil.sample.Main") do |t| 60 t.classpath = CLASSPATH 61 t.parameters = [ "0", "20" ] 62 t.depends_on :compile 63 t.fork = true 50 64 end 51 65 trunk/sample/src/jerbil/sample/Main.java
r5844 r5863 15 15 } 16 16 17 System.exit(sum == 100 ? 0 : 1);17 System.exit(sum); 18 18 } 19 19 } trunk/test/test_build.rb
r5858 r5863 10 10 class TestBuild < Test::Unit::TestCase 11 11 def test_compile 12 run_rake(:clean, :compile) do 12 run_rake(:clean, :compile) do |ok,res| 13 assert ok 13 14 assert_files_exist(JAVA_FILES.to_classfiles) 14 15 end … … 16 17 17 18 def test_javadoc 18 run_rake(:clean, :javadoc) do 19 run_rake(:clean, :javadoc) do |ok,res| 20 assert ok 19 21 assert File.exists?(File.join(JAVADOC_DIR, "index.html")) 20 22 end … … 22 24 23 25 def test_test_compile 24 run_rake(:clean, :test_compile) do 26 run_rake(:clean, :test_compile) do |ok,res| 27 assert ok 25 28 assert_files_exist(JAVA_FILES.to_classfiles) 26 29 assert_files_exist(JAVA_TEST_FILES.to_classfiles) … … 29 32 30 33 def test_jar 31 run_rake(:clean, :jar) do 34 run_rake(:clean, :jar) do |ok,res| 35 assert ok 32 36 assert File.exists?(DISTJAR) 33 37 end … … 35 39 36 40 def test_test 37 run_rake(:clean, :test) do 41 run_rake(:clean, :test) do |ok,res| 42 assert ok 38 43 assert File.directory?(TESTOUTPUTDIR) 39 44 assert File.exists?(File.join(TESTOUTPUTDIR, "Command line suite", "index.html")) … … 42 47 43 48 def test_find_annotations 44 run_rake(:clean, :find_annotations) do 49 run_rake(:clean, :find_annotations) do |ok,res| 50 assert ok 45 51 assert File.exists?(ANNOTATED_CLASSES) 46 52 classes = YAML.load_file(ANNOTATED_CLASSES) 47 53 48 assert classes.length == 154 assert_equal 1, classes.length 49 55 assert_equal ["jerbil.sample.Jerbiliser"], classes 50 56 end 51 57 end 52 58 53 def test_run 59 def test_run_no_fork 54 60 run_rake(:clean, :run) do |ok,res| 55 #res.status 61 assert !ok 62 assert_equal 70, res.exitstatus 63 end 64 end 65 66 def test_run_forked_ok 67 run_rake(:clean, :run_forked) do |ok,res| 68 assert ok 69 end 70 end 71 72 def test_run_forked_fail 73 run_rake(:clean, :run_forked_fail) do |ok,res| 74 assert !ok 75 assert_equal 1, res.exitstatus 56 76 end 57 77 end … … 59 79 def test_clean 60 80 run_rake(:clean, :compile, :jar, :test) 61 run_rake(:clean) do 81 run_rake(:clean) do |ok,res| 82 assert ok 62 83 assert !File.directory?(TESTOUTPUTDIR) 63 84 assert !File.directory?(BUILD_DIR) … … 71 92 end 72 93 73 def run_rake(*args )94 def run_rake(*args, &block) 74 95 Dir.chdir("sample") do 75 96 #sh "rake --quiet #{args.join(' ')}" do |ok,res| 76 97 cmd = args.join(" ") 77 98 #on windows, exec invokes a subshell which does not inherit environment variables, 78 #therefore we cannot invoke directly 79 ruby %{-rubygems -e "require 'rake'; Rake.application.run" #{cmd} --quiet} do |ok,res| 80 flunk "could not invoke rake" if res.nil? 81 flunk "rake failed: #{res}" unless ok 82 yield(ok, res) if block_given? 99 #therefore we cannot invoke rake directly 100 101 unless block_given? 102 block = lambda {|ok,res| flunk "rake failed: #{res}" unless ok } 103 end 104 105 ruby %{-rubygems -e "require 'rake'; Rake.application.run" #{cmd} --quiet} do |ok,res| 106 flunk "could not invoke rake" if res.nil? 107 block.call(ok, res) 83 108 end 84 109 end
