warbler 1.4.10 → 2.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -29
  3. data/Gemfile +1 -12
  4. data/History.txt +5 -7
  5. data/Mavenfile +1 -2
  6. data/README.rdoc +51 -53
  7. data/Rakefile +7 -13
  8. data/ext/JarMain.java +12 -58
  9. data/ext/WarMain.java +13 -41
  10. data/ext/WarblerJar.java +8 -12
  11. data/lib/warbler.rb +0 -1
  12. data/lib/warbler/config.rb +11 -2
  13. data/lib/warbler/gems.rb +9 -9
  14. data/lib/warbler/jar.rb +2 -4
  15. data/lib/warbler/rake_helper.rb +0 -7
  16. data/lib/warbler/traits.rb +0 -1
  17. data/lib/warbler/traits/bundler.rb +12 -12
  18. data/lib/warbler/traits/gemspec.rb +12 -22
  19. data/lib/warbler/traits/rails.rb +5 -5
  20. data/lib/warbler/traits/war.rb +2 -7
  21. data/lib/warbler/version.rb +1 -1
  22. data/lib/warbler/web_server.rb +4 -16
  23. data/lib/warbler/zip_support.rb +3 -21
  24. data/lib/warbler_jar.jar +0 -0
  25. data/pom.xml +23 -6
  26. data/spec/drb_default_id_conv.rb +48 -50
  27. data/spec/sample_bundler/Gemfile +1 -1
  28. data/spec/sample_bundler/vendor/bundle/jruby/{1.8 → 2.2.0}/bin/rake +7 -3
  29. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/cache/rake-10.4.2.gem +0 -0
  30. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.autotest +7 -0
  31. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.gemtest +0 -0
  32. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.rubocop.yml +27 -0
  33. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.togglerc +7 -0
  34. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/CONTRIBUTING.rdoc +34 -0
  35. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/History.rdoc +651 -0
  36. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/MIT-LICENSE +21 -0
  37. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/Manifest.txt +166 -0
  38. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/README.rdoc +140 -0
  39. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/Rakefile +81 -0
  40. data/spec/sample_bundler/vendor/bundle/{ruby/1.8/gems/rake-0.8.7 → jruby/2.2.0/gems/rake-10.4.2}/bin/rake +5 -3
  41. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake.rb +79 -0
  42. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/alt_system.rb +110 -0
  43. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/application.rb +790 -0
  44. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/backtrace.rb +23 -0
  45. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/clean.rb +76 -0
  46. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/cloneable.rb +16 -0
  47. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/.document +1 -0
  48. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/compositepublisher.rb +21 -0
  49. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/ftptools.rb +137 -0
  50. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/publisher.rb +81 -0
  51. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  52. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/sshpublisher.rb +61 -0
  53. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/sys.rb +4 -0
  54. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/cpu_counter.rb +125 -0
  55. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/default_loader.rb +14 -0
  56. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/dsl_definition.rb +201 -0
  57. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/early_time.rb +21 -0
  58. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/core.rb +25 -0
  59. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/module.rb +2 -0
  60. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/pathname.rb +25 -0
  61. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/string.rb +173 -0
  62. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/time.rb +16 -0
  63. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_creation_task.rb +24 -0
  64. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_list.rb +428 -0
  65. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_task.rb +46 -0
  66. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_utils.rb +128 -0
  67. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb +144 -0
  68. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/gempackagetask.rb +4 -0
  69. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/invocation_chain.rb +56 -0
  70. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/invocation_exception_mixin.rb +16 -0
  71. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/late_time.rb +17 -0
  72. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/linked_list.rb +103 -0
  73. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/loaders/makefile.rb +40 -0
  74. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/multi_task.rb +13 -0
  75. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/name_space.rb +38 -0
  76. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/packagetask.rb +199 -0
  77. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/pathmap.rb +3 -0
  78. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/phony.rb +15 -0
  79. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/private_reader.rb +20 -0
  80. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/promise.rb +99 -0
  81. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/pseudo_status.rb +29 -0
  82. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rake_module.rb +38 -0
  83. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb +22 -0
  84. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rdoctask.rb +4 -0
  85. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
  86. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  87. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/runtest.rb +27 -0
  88. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/scope.rb +42 -0
  89. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task.rb +383 -0
  90. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_argument_error.rb +7 -0
  91. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_arguments.rb +98 -0
  92. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_manager.rb +310 -0
  93. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/tasklib.rb +24 -0
  94. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/testtask.rb +212 -0
  95. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/thread_history_display.rb +48 -0
  96. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/thread_pool.rb +164 -0
  97. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/trace_output.rb +22 -0
  98. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/version.rb +7 -0
  99. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/win32.rb +56 -0
  100. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/rakelib/publish.rake +20 -0
  101. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/rakelib/test_times.rake +25 -0
  102. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/file_creation.rb +34 -0
  103. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/helper.rb +130 -0
  104. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/support/rakefile_definitions.rb +478 -0
  105. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/support/ruby_runner.rb +34 -0
  106. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_private_reader.rb +42 -0
  107. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake.rb +40 -0
  108. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_application.rb +643 -0
  109. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_application_options.rb +466 -0
  110. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_backtrace.rb +119 -0
  111. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_clean.rb +61 -0
  112. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_cpu_counter.rb +68 -0
  113. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_definitions.rb +84 -0
  114. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_directory_task.rb +76 -0
  115. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_dsl.rb +40 -0
  116. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_early_time.rb +31 -0
  117. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_extension.rb +59 -0
  118. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_creation_task.rb +56 -0
  119. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_list.rb +655 -0
  120. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_list_path_map.rb +8 -0
  121. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_task.rb +197 -0
  122. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_utils.rb +309 -0
  123. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_ftp_file.rb +74 -0
  124. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_functional.rb +482 -0
  125. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_invocation_chain.rb +64 -0
  126. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_late_time.rb +18 -0
  127. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_linked_list.rb +84 -0
  128. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_makefile_loader.rb +46 -0
  129. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_multi_task.rb +64 -0
  130. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_name_space.rb +57 -0
  131. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_package_task.rb +79 -0
  132. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map.rb +168 -0
  133. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map_explode.rb +34 -0
  134. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map_partial.rb +18 -0
  135. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_pathname_extensions.rb +15 -0
  136. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_pseudo_status.rb +21 -0
  137. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_rake_test_loader.rb +20 -0
  138. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_reduce_compat.rb +26 -0
  139. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_require.rb +40 -0
  140. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_rules.rb +388 -0
  141. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_scope.rb +44 -0
  142. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task.rb +393 -0
  143. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_argument_parsing.rb +119 -0
  144. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_arguments.rb +127 -0
  145. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_lib.rb +9 -0
  146. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_manager.rb +178 -0
  147. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
  148. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_with_arguments.rb +172 -0
  149. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_test_task.rb +146 -0
  150. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_thread_pool.rb +145 -0
  151. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_top_level_functions.rb +71 -0
  152. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_win32.rb +72 -0
  153. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_thread_history_display.rb +101 -0
  154. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_trace_output.rb +52 -0
  155. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/specifications/rake-10.4.2.gemspec +43 -0
  156. data/spec/sample_jar/sample_jar.gemspec +1 -2
  157. data/spec/spec_helper.rb +2 -8
  158. data/spec/warbler/bundler_spec.rb +11 -22
  159. data/spec/warbler/config_spec.rb +0 -3
  160. data/spec/warbler/jar_spec.rb +3 -77
  161. data/spec/warbler/task_spec.rb +5 -6
  162. data/spec/warbler/web_server_spec.rb +2 -2
  163. data/warble.rb +4 -4
  164. data/warbler.gemspec +8 -8
  165. metadata +451 -64
  166. data/lib/warbler/bundler_helper.rb +0 -22
  167. data/lib/warbler/traits/merb.rb +0 -35
  168. data/spec/sample_bundler/vendor/bundle/jruby/1.8/cache/rake-0.8.7.gem +0 -0
  169. data/spec/sample_bundler/vendor/bundle/jruby/1.8/gems/rake-0.8.7/bin/rake +0 -31
  170. data/spec/sample_bundler/vendor/bundle/jruby/1.8/gems/rake-0.8.7/lib/rake.rb +0 -2506
  171. data/spec/sample_bundler/vendor/bundle/jruby/1.8/specifications/rake-0.8.7.gemspec +0 -31
  172. data/spec/sample_bundler/vendor/bundle/jruby/1.9/bin/rake +0 -19
  173. data/spec/sample_bundler/vendor/bundle/jruby/1.9/cache/rake-0.8.7.gem +0 -0
  174. data/spec/sample_bundler/vendor/bundle/jruby/1.9/gems/rake-0.8.7/bin/rake +0 -31
  175. data/spec/sample_bundler/vendor/bundle/jruby/1.9/gems/rake-0.8.7/lib/rake.rb +0 -2506
  176. data/spec/sample_bundler/vendor/bundle/jruby/1.9/specifications/rake-0.8.7.gemspec +0 -30
  177. data/spec/sample_bundler/vendor/bundle/ruby/1.8/bin/rake +0 -19
  178. data/spec/sample_bundler/vendor/bundle/ruby/1.8/cache/rake-0.8.7.gem +0 -0
  179. data/spec/sample_bundler/vendor/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb +0 -2506
  180. data/spec/sample_bundler/vendor/bundle/ruby/1.8/specifications/rake-0.8.7.gemspec +0 -30
  181. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/bin/rake +0 -19
  182. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/cache/rake-0.8.7.gem +0 -0
  183. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/gems/rake-0.8.7/bin/rake +0 -31
  184. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb +0 -2506
  185. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/specifications/rake-0.8.7.gemspec +0 -30
  186. data/spec/sample_jar/sbin/sample_jar +0 -5
@@ -0,0 +1,74 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+ require 'date'
3
+ require 'time'
4
+ require 'rake/contrib/ftptools'
5
+
6
+ class FakeDate
7
+ def self.today
8
+ Date.new(2003, 10, 3)
9
+ end
10
+
11
+ def self.now
12
+ Time.local(2003, 10, 3, 12, 00, 00)
13
+ end
14
+ end
15
+
16
+ class TestRakeFtpFile < Rake::TestCase
17
+
18
+ def setup
19
+ super
20
+
21
+ Rake::FtpFile.class_eval {
22
+ @date_class = FakeDate
23
+ @time_class = FakeDate
24
+ }
25
+ end
26
+
27
+ def test_general
28
+ file = Rake::FtpFile.new(
29
+ "here",
30
+ "-rw-r--r-- 1 a279376 develop 121770 Mar 6 14:50 wiki.pl")
31
+ assert_equal "wiki.pl", file.name
32
+ assert_equal "here/wiki.pl", file.path
33
+ assert_equal "a279376", file.owner
34
+ assert_equal "develop", file.group
35
+ assert_equal 0644, file.mode
36
+ assert_equal 121_770, file.size
37
+ assert_equal Time.mktime(2003, 3, 6, 14, 50, 0, 0), file.time
38
+ assert ! file.directory?
39
+ assert ! file.symlink?
40
+ end
41
+
42
+ def test_far_date
43
+ file = Rake::FtpFile.new(
44
+ ".",
45
+ "drwxr-xr-x 3 a279376 develop 4096 Nov 26 2001 vss")
46
+ assert_equal Time.mktime(2001, 11, 26, 0, 0, 0, 0), file.time
47
+ end
48
+
49
+ def test_close_date
50
+ file = Rake::FtpFile.new(
51
+ ".",
52
+ "drwxr-xr-x 3 a279376 develop 4096 Nov 26 15:35 vss")
53
+ assert_equal Time.mktime(2002, 11, 26, 15, 35, 0, 0), file.time
54
+ end
55
+
56
+ def test_directory
57
+ file = Rake::FtpFile.new(
58
+ ".",
59
+ "drwxrwxr-x 9 a279376 develop 4096 Mar 13 14:32 working")
60
+ assert file.directory?
61
+ assert !file.symlink?
62
+ end
63
+
64
+ def test_symlink
65
+ file = Rake::FtpFile.new(
66
+ ".",
67
+ "lrwxrwxrwx 1 a279376 develop 64 Mar 26 2002 " +
68
+ "xtrac -> /home/a279376/working/ics/development/java/" +
69
+ "com/fmr/fwp/ics/xtrac")
70
+ assert_equal 'xtrac', file.name
71
+ assert file.symlink?
72
+ assert !file.directory?
73
+ end
74
+ end
@@ -0,0 +1,482 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+ require 'fileutils'
3
+ require 'open3'
4
+
5
+ class TestRakeFunctional < Rake::TestCase
6
+ include RubyRunner
7
+
8
+ def setup
9
+ super
10
+
11
+ if @verbose
12
+ puts
13
+ puts
14
+ puts '-' * 80
15
+ puts @__name__
16
+ puts '-' * 80
17
+ end
18
+ end
19
+
20
+ def test_rake_default
21
+ rakefile_default
22
+
23
+ rake
24
+
25
+ assert_match(/^DEFAULT$/, @out)
26
+ end
27
+
28
+ def test_rake_error_on_bad_task
29
+ rakefile_default
30
+
31
+ rake '-t', 'xyz'
32
+
33
+ assert_match(/rake aborted/, @err)
34
+ end
35
+
36
+ def test_env_available_at_top_scope
37
+ rakefile_default
38
+
39
+ rake "TESTTOPSCOPE=1"
40
+
41
+ assert_match(/^TOPSCOPE$/, @out)
42
+ end
43
+
44
+ def test_env_available_at_task_scope
45
+ rakefile_default
46
+
47
+ rake 'TESTTASKSCOPE=1', 'task_scope'
48
+
49
+ assert_match(/^TASKSCOPE$/, @out)
50
+ end
51
+
52
+ def test_multi_desc
53
+ ENV['RAKE_COLUMNS'] = '80'
54
+ rakefile_multidesc
55
+
56
+ rake "-T"
57
+
58
+ assert_match %r{^rake a *# A / A2 *$}, @out
59
+ assert_match %r{^rake b *# B *$}, @out
60
+ refute_match %r{^rake c}, @out
61
+ assert_match %r{^rake d *# x{65}\.\.\.$}, @out
62
+ end
63
+
64
+ def test_long_description
65
+ rakefile_multidesc
66
+
67
+ rake "--describe"
68
+
69
+ assert_match %r{^rake a\n *A\n *A2 *$}m, @out
70
+ assert_match %r{^rake b\n *B *$}m, @out
71
+ assert_match %r{^rake d\n *x{80}}m, @out
72
+ refute_match %r{^rake c\n}m, @out
73
+ end
74
+
75
+ def test_proper_namespace_access
76
+ rakefile_access
77
+
78
+ rake
79
+
80
+ refute_match %r{^BAD:}, @out
81
+ end
82
+
83
+ def test_rbext
84
+ rakefile_rbext
85
+
86
+ rake "-N"
87
+
88
+ assert_match %r{^OK$}, @out
89
+ end
90
+
91
+ def test_system
92
+ rake_system_dir
93
+
94
+ rake '-g', "sys1"
95
+
96
+ assert_match %r{^SYS1}, @out
97
+ end
98
+
99
+ def test_system_excludes_rakelib_files_too
100
+ rake_system_dir
101
+
102
+ rake '-g', "sys1", '-T', 'extra'
103
+
104
+ refute_match %r{extra:extra}, @out
105
+ end
106
+
107
+ def test_by_default_rakelib_files_are_included
108
+ rake_system_dir
109
+ rakefile_extra
110
+
111
+ rake '-T', 'extra', '--trace'
112
+
113
+ assert_match %r{extra:extra}, @out
114
+ end
115
+
116
+ def test_implicit_system
117
+ rake_system_dir
118
+ Dir.chdir @tempdir
119
+
120
+ rake "sys1", "--trace"
121
+
122
+ assert_match %r{^SYS1}, @out
123
+ end
124
+
125
+ def test_no_system
126
+ rake_system_dir
127
+ rakefile_extra
128
+
129
+ rake '-G', "sys1"
130
+
131
+ assert_match %r{^Don't know how to build task}, @err # emacs wart: '
132
+ end
133
+
134
+ def test_nosearch_with_rakefile_uses_local_rakefile
135
+ rakefile_default
136
+
137
+ rake "--nosearch"
138
+
139
+ assert_match %r{^DEFAULT}, @out
140
+ end
141
+
142
+ def test_nosearch_without_rakefile_finds_system
143
+ rakefile_nosearch
144
+ rake_system_dir
145
+
146
+ rake "--nosearch", "sys1"
147
+
148
+ assert_match %r{^SYS1}, @out
149
+ end
150
+
151
+ def test_nosearch_without_rakefile_and_no_system_fails
152
+ rakefile_nosearch
153
+ ENV['RAKE_SYSTEM'] = 'not_exist'
154
+
155
+ rake "--nosearch"
156
+
157
+ assert_match %r{^No Rakefile found}, @err
158
+ end
159
+
160
+ def test_invalid_command_line_options
161
+ rakefile_default
162
+
163
+ rake "--bad-options"
164
+
165
+ assert_match %r{invalid +option}i, @err
166
+ end
167
+
168
+ def test_inline_verbose_default_should_show_command
169
+ rakefile_verbose
170
+
171
+ rake "inline_verbose_default"
172
+
173
+ assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
174
+ end
175
+
176
+ def test_inline_verbose_true_should_show_command
177
+ rakefile_verbose
178
+
179
+ rake "inline_verbose_true"
180
+
181
+ assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
182
+ end
183
+
184
+ def test_inline_verbose_false_should_not_show_command
185
+ rakefile_verbose
186
+
187
+ rake "inline_verbose_false"
188
+
189
+ refute_match(/#{Regexp.quote(RUBY)} -e/, @err)
190
+ end
191
+
192
+ def test_block_verbose_false_should_not_show_command
193
+ rakefile_verbose
194
+
195
+ rake "block_verbose_false"
196
+
197
+ refute_match(/#{Regexp.quote(RUBY)} -e/, @err)
198
+ end
199
+
200
+ def test_block_verbose_true_should_show_command
201
+ rakefile_verbose
202
+
203
+ rake "block_verbose_true"
204
+
205
+ assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
206
+ end
207
+
208
+ def test_standalone_verbose_true_should_show_command
209
+ rakefile_verbose
210
+
211
+ rake "standalone_verbose_true"
212
+
213
+ assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
214
+ end
215
+
216
+ def test_standalone_verbose_false_should_not_show_command
217
+ rakefile_verbose
218
+
219
+ rake "standalone_verbose_false"
220
+
221
+ refute_match(/#{Regexp.quote(RUBY)} -e/, @err)
222
+ end
223
+
224
+ def test_dry_run
225
+ rakefile_default
226
+
227
+ rake "-n", "other"
228
+
229
+ assert_match %r{Execute \(dry run\) default}, @err
230
+ assert_match %r{Execute \(dry run\) other}, @err
231
+ refute_match %r{DEFAULT}, @out
232
+ refute_match %r{OTHER}, @out
233
+ end
234
+
235
+ # Test for the trace/dry_run bug found by Brian Chandler
236
+ def test_dry_run_bug
237
+ rakefile_dryrun
238
+
239
+ rake
240
+
241
+ FileUtils.rm_f 'temp_one'
242
+
243
+ rake "--dry-run"
244
+
245
+ refute_match(/No such file/, @out)
246
+ end
247
+
248
+ # Test for the trace/dry_run bug found by Brian Chandler
249
+ def test_trace_bug
250
+ rakefile_dryrun
251
+
252
+ rake
253
+
254
+ FileUtils.rm_f 'temp_one'
255
+
256
+ rake "--trace"
257
+
258
+ refute_match(/No such file/, @out)
259
+ end
260
+
261
+ def test_imports
262
+ rakefile_imports
263
+
264
+ rake
265
+
266
+ assert File.exist?(File.join(@tempdir, 'dynamic_deps')),
267
+ "'dynamic_deps' file should exist"
268
+ assert_match(/^FIRST$\s+^DYNAMIC$\s+^STATIC$\s+^OTHER$/, @out)
269
+ end
270
+
271
+ def test_regenerate_imports
272
+ rakefile_regenerate_imports
273
+
274
+ rake
275
+
276
+ assert_match(/^INITIAL\s+^REGENERATED$/, @out)
277
+ end
278
+
279
+ def test_rules_chaining_to_file_task
280
+ rakefile_chains
281
+
282
+ rake
283
+
284
+ assert File.exist?(File.join(@tempdir, 'play.app')),
285
+ "'play.app' file should exist"
286
+ end
287
+
288
+ def test_file_creation_task
289
+ rakefile_file_creation
290
+
291
+ rake "prep"
292
+ rake "run"
293
+ rake "run"
294
+
295
+ assert(@err !~ /^cp src/, "Should not recopy data")
296
+ end
297
+
298
+ def test_dash_f_with_no_arg_foils_rakefile_lookup
299
+ rakefile_rakelib
300
+
301
+ rake '-I', 'rakelib', '-rtest1', '-f'
302
+
303
+ assert_match(/^TEST1$/, @out)
304
+ end
305
+
306
+ def test_dot_rake_files_can_be_loaded_with_dash_r
307
+ rakefile_rakelib
308
+
309
+ rake '-I', 'rakelib', '-rtest2', '-f'
310
+
311
+ assert_empty @err
312
+ assert_match(/^TEST2$/, @out)
313
+ end
314
+
315
+ def test_can_invoke_task_in_toplevel_namespace
316
+ rakefile_namespace
317
+
318
+ rake "copy"
319
+
320
+ assert_match(/^COPY$/, @out)
321
+ end
322
+
323
+ def test_can_invoke_task_in_nested_namespace
324
+ rakefile_namespace
325
+
326
+ rake "nest:copy"
327
+
328
+ assert_match(/^NEST COPY$/, @out)
329
+ end
330
+
331
+ def test_tasks_can_reference_task_in_same_namespace
332
+ rakefile_namespace
333
+
334
+ rake "nest:xx"
335
+
336
+ assert_match(/^NEST COPY$/m, @out)
337
+ end
338
+
339
+ def test_tasks_can_reference_task_in_other_namespaces
340
+ rakefile_namespace
341
+
342
+ rake "b:run"
343
+
344
+ assert_match(/^IN A\nIN B$/m, @out)
345
+ end
346
+
347
+ def test_anonymous_tasks_can_be_invoked_indirectly
348
+ rakefile_namespace
349
+
350
+ rake "anon"
351
+
352
+ assert_match(/^ANON COPY$/m, @out)
353
+ end
354
+
355
+ def test_rake_namespace_refers_to_toplevel
356
+ rakefile_namespace
357
+
358
+ rake "very:nested:run"
359
+
360
+ assert_match(/^COPY$/m, @out)
361
+ end
362
+
363
+ def test_file_task_are_not_scoped_by_namespaces
364
+ rakefile_namespace
365
+
366
+ rake "xyz.rb"
367
+
368
+ assert_match(/^XYZ1\nXYZ2$/m, @out)
369
+ end
370
+
371
+ def test_file_task_dependencies_scoped_by_namespaces
372
+ rakefile_namespace
373
+
374
+ rake "scopedep.rb"
375
+
376
+ assert_match(/^PREPARE\nSCOPEDEP$/m, @out)
377
+ end
378
+
379
+ def test_test_task_descriptions
380
+ rakefile_test_task
381
+
382
+ rake "-T"
383
+
384
+ assert_match(/custom test task description/, @out)
385
+ end
386
+
387
+ def test_comment_before_task_acts_like_desc
388
+ rakefile_comments
389
+
390
+ rake "-T"
391
+
392
+ refute_match(/comment for t1/, @out)
393
+ end
394
+
395
+ def test_comment_separated_from_task_by_blank_line_is_not_picked_up
396
+ rakefile_comments
397
+
398
+ rake "-T"
399
+
400
+ refute_match("t2", @out)
401
+ end
402
+
403
+ def test_comment_after_desc_is_ignored
404
+ rakefile_comments
405
+
406
+ rake "-T"
407
+
408
+ assert_match("override comment for t3", @out)
409
+ end
410
+
411
+ def test_comment_before_desc_is_ignored
412
+ rakefile_comments
413
+
414
+ rake "-T"
415
+
416
+ assert_match("override comment for t4", @out)
417
+ end
418
+
419
+ def test_correct_number_of_tasks_reported
420
+ rakefile_comments
421
+
422
+ rake "-T"
423
+
424
+ assert_equal(2, @out.split(/\n/).grep(/t\d/).size)
425
+ end
426
+
427
+ def test_file_list_is_requirable_separately
428
+ ruby '-rrake/file_list', '-e', 'puts Rake::FileList["a"].size'
429
+ assert_equal "1\n", @out
430
+ end
431
+
432
+ def can_detect_signals?
433
+ system RUBY, '-e', 'Process.kill "TERM", $$'
434
+ status = $?
435
+ if @verbose
436
+ puts " SIG status = #{$?.inspect}"
437
+ puts " SIG status.respond_to?(:signaled?) = " +
438
+ "#{$?.respond_to?(:signaled?).inspect}"
439
+ puts " SIG status.signaled? = #{status.signaled?}" if
440
+ status.respond_to?(:signaled?)
441
+ end
442
+ status.respond_to?(:signaled?) && status.signaled?
443
+ end
444
+
445
+ def test_signal_propagation_in_tests
446
+ if can_detect_signals?
447
+ rakefile_test_signal
448
+ rake
449
+ assert_match(/ATEST/, @out)
450
+ refute_match(/BTEST/, @out)
451
+ else
452
+ skip "Signal detect seems broken on this system"
453
+ end
454
+ end
455
+
456
+ def test_failing_test_sets_exit_status
457
+ skip if uncertain_exit_status?
458
+ rakefile_failing_test_task
459
+ rake
460
+ assert @exit.exitstatus > 0, "should be non-zero"
461
+ end
462
+
463
+ def test_stand_alone_filelist
464
+ rakefile_stand_alone_filelist
465
+
466
+ run_ruby @ruby_options + ["stand_alone_filelist.rb"]
467
+
468
+ assert_match(/^stand_alone_filelist\.rb$/, @out)
469
+ assert_equal 0, @exit.exitstatus unless uncertain_exit_status?
470
+ end
471
+
472
+ private
473
+
474
+ # We are unable to accurately verify that Rake returns a proper
475
+ # error exit status using popen3 in Ruby 1.8.7 and JRuby. This
476
+ # predicate function can be used to skip tests or assertions as
477
+ # needed.
478
+ def uncertain_exit_status?
479
+ RUBY_VERSION < "1.9" || defined?(JRUBY_VERSION)
480
+ end
481
+
482
+ end