spline 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/lib/spline/action_command.rb +21 -0
  4. data/lib/spline/install_command.rb +28 -0
  5. data/lib/spline/process_command.rb +20 -0
  6. data/lib/spline/spline_cli.rb +7 -19
  7. data/lib/spline/templates/action.tt +7 -0
  8. data/lib/spline/templates/my_first_action.tt +11 -0
  9. data/lib/spline/templates/my_process.tt +21 -0
  10. data/lib/spline/templates/my_second_action.tt +11 -0
  11. data/lib/spline/templates/process.tt +6 -0
  12. data/lib/spline/version.rb +1 -1
  13. data/spline.gemspec +0 -1
  14. metadata +9 -140
  15. data/vendor/bundle/ruby/2.1.0/bin/rake +0 -23
  16. data/vendor/bundle/ruby/2.1.0/bin/spline +0 -23
  17. data/vendor/bundle/ruby/2.1.0/build_info/rake-10.3.2.info +0 -1
  18. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.autotest +0 -7
  19. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.gemtest +0 -0
  20. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.rubocop.yml +0 -27
  21. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.togglerc +0 -7
  22. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/CONTRIBUTING.rdoc +0 -34
  23. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/History.rdoc +0 -609
  24. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/MIT-LICENSE +0 -21
  25. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Manifest.txt +0 -162
  26. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/README.rdoc +0 -137
  27. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Rakefile +0 -81
  28. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake +0 -33
  29. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/alt_system.rb +0 -110
  30. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb +0 -783
  31. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/backtrace.rb +0 -23
  32. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/clean.rb +0 -76
  33. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cloneable.rb +0 -16
  34. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/.document +0 -0
  35. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/compositepublisher.rb +0 -21
  36. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/ftptools.rb +0 -137
  37. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/publisher.rb +0 -81
  38. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  39. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sshpublisher.rb +0 -61
  40. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sys.rb +0 -4
  41. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cpu_counter.rb +0 -109
  42. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/default_loader.rb +0 -14
  43. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/dsl_definition.rb +0 -198
  44. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/early_time.rb +0 -21
  45. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/core.rb +0 -25
  46. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/module.rb +0 -1
  47. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/string.rb +0 -173
  48. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/time.rb +0 -15
  49. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_creation_task.rb +0 -24
  50. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_list.rb +0 -414
  51. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_task.rb +0 -46
  52. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils.rb +0 -116
  53. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils_ext.rb +0 -144
  54. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/gempackagetask.rb +0 -4
  55. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_chain.rb +0 -56
  56. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_exception_mixin.rb +0 -16
  57. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/linked_list.rb +0 -103
  58. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/loaders/makefile.rb +0 -40
  59. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/multi_task.rb +0 -13
  60. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/name_space.rb +0 -38
  61. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/packagetask.rb +0 -202
  62. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pathmap.rb +0 -3
  63. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/phony.rb +0 -15
  64. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/private_reader.rb +0 -20
  65. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/promise.rb +0 -99
  66. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pseudo_status.rb +0 -29
  67. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_module.rb +0 -38
  68. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_test_loader.rb +0 -22
  69. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rdoctask.rb +0 -4
  70. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ruby182_test_unit_fix.rb +0 -29
  71. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rule_recursion_overflow_error.rb +0 -20
  72. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/runtest.rb +0 -27
  73. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/scope.rb +0 -42
  74. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb +0 -383
  75. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_argument_error.rb +0 -7
  76. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_arguments.rb +0 -98
  77. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_manager.rb +0 -310
  78. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/tasklib.rb +0 -24
  79. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/testtask.rb +0 -212
  80. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_history_display.rb +0 -48
  81. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_pool.rb +0 -164
  82. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/trace_output.rb +0 -22
  83. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/version.rb +0 -7
  84. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/win32.rb +0 -56
  85. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake.rb +0 -78
  86. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/publish.rake +0 -20
  87. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/test_times.rake +0 -25
  88. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/file_creation.rb +0 -34
  89. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/helper.rb +0 -127
  90. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/rakefile_definitions.rb +0 -478
  91. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/ruby_runner.rb +0 -33
  92. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_private_reader.rb +0 -42
  93. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake.rb +0 -40
  94. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application.rb +0 -641
  95. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application_options.rb +0 -466
  96. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_backtrace.rb +0 -119
  97. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_clean.rb +0 -55
  98. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_cpu_counter.rb +0 -50
  99. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_definitions.rb +0 -79
  100. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_directory_task.rb +0 -63
  101. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_dsl.rb +0 -40
  102. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_early_time.rb +0 -31
  103. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_extension.rb +0 -59
  104. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_creation_task.rb +0 -56
  105. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list.rb +0 -627
  106. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list_path_map.rb +0 -8
  107. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_task.rb +0 -186
  108. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_utils.rb +0 -309
  109. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_ftp_file.rb +0 -74
  110. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_functional.rb +0 -482
  111. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_invocation_chain.rb +0 -64
  112. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_linked_list.rb +0 -84
  113. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_makefile_loader.rb +0 -46
  114. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_multi_task.rb +0 -58
  115. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_name_space.rb +0 -57
  116. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_package_task.rb +0 -79
  117. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map.rb +0 -168
  118. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_explode.rb +0 -34
  119. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_partial.rb +0 -18
  120. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_pseudo_status.rb +0 -21
  121. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rake_test_loader.rb +0 -20
  122. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_reduce_compat.rb +0 -26
  123. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_require.rb +0 -40
  124. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rules.rb +0 -388
  125. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_scope.rb +0 -44
  126. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task.rb +0 -392
  127. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_argument_parsing.rb +0 -109
  128. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_arguments.rb +0 -127
  129. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_lib.rb +0 -9
  130. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager.rb +0 -178
  131. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager_argument_resolution.rb +0 -19
  132. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_with_arguments.rb +0 -171
  133. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_test_task.rb +0 -141
  134. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_thread_pool.rb +0 -142
  135. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_top_level_functions.rb +0 -71
  136. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_win32.rb +0 -72
  137. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_thread_history_display.rb +0 -101
  138. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_trace_output.rb +0 -52
  139. data/vendor/bundle/ruby/2.1.0/specifications/rake-10.3.2.gemspec +0 -45
@@ -1,178 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeTaskManager < Rake::TestCase
4
-
5
- def setup
6
- super
7
-
8
- @tm = Rake::TestCase::TaskManager.new
9
- end
10
-
11
- def test_create_task_manager
12
- refute_nil @tm
13
- assert_equal [], @tm.tasks
14
- end
15
-
16
- def test_define_task
17
- t = @tm.define_task(Rake::Task, :t)
18
- assert_equal "t", t.name
19
- assert_equal @tm, t.application
20
- end
21
-
22
- def test_index
23
- e = assert_raises RuntimeError do
24
- @tm['bad']
25
- end
26
-
27
- assert_equal "Don't know how to build task 'bad'", e.message
28
- end
29
-
30
- def test_name_lookup
31
- t = @tm.define_task(Rake::Task, :t)
32
- assert_equal t, @tm[:t]
33
- end
34
-
35
- def test_namespace_task_create
36
- @tm.in_namespace("x") do
37
- t = @tm.define_task(Rake::Task, :t)
38
- assert_equal "x:t", t.name
39
- end
40
- assert_equal ["x:t"], @tm.tasks.map { |t| t.name }
41
- end
42
-
43
- def test_define_namespaced_task
44
- t = @tm.define_task(Rake::Task, 'n:a:m:e:t')
45
- assert_equal Rake::Scope.make("e", "m", "a", "n"), t.scope
46
- assert_equal "n:a:m:e:t", t.name
47
- assert_equal @tm, t.application
48
- end
49
-
50
- def test_define_namespace_in_namespace
51
- t = nil
52
- @tm.in_namespace("n") do
53
- t = @tm.define_task(Rake::Task, 'a:m:e:t')
54
- end
55
- assert_equal Rake::Scope.make("e", "m", "a", "n"), t.scope
56
- assert_equal "n:a:m:e:t", t.name
57
- assert_equal @tm, t.application
58
- end
59
-
60
- def test_anonymous_namespace
61
- anon_ns = @tm.in_namespace(nil) do
62
- t = @tm.define_task(Rake::Task, :t)
63
- assert_equal "_anon_1:t", t.name
64
- end
65
- task = anon_ns[:t]
66
- assert_equal "_anon_1:t", task.name
67
- end
68
-
69
- def test_create_filetask_in_namespace
70
- @tm.in_namespace("x") do
71
- t = @tm.define_task(Rake::FileTask, "fn")
72
- assert_equal "fn", t.name
73
- end
74
-
75
- assert_equal ["fn"], @tm.tasks.map { |t| t.name }
76
- end
77
-
78
- def test_namespace_yields_same_namespace_as_returned
79
- yielded_namespace = nil
80
- returned_namespace = @tm.in_namespace("x") do |ns|
81
- yielded_namespace = ns
82
- end
83
- assert_equal returned_namespace, yielded_namespace
84
- end
85
-
86
- def test_name_lookup_with_implicit_file_tasks
87
- FileUtils.touch 'README.rdoc'
88
-
89
- t = @tm["README.rdoc"]
90
-
91
- assert_equal "README.rdoc", t.name
92
- assert Rake::FileTask === t
93
- end
94
-
95
- def test_name_lookup_with_nonexistent_task
96
- assert_raises(RuntimeError) {
97
- @tm["DOES NOT EXIST"]
98
- }
99
- end
100
-
101
- def test_name_lookup_in_multiple_scopes
102
- aa = nil
103
- bb = nil
104
- xx = @tm.define_task(Rake::Task, :xx)
105
- top_z = @tm.define_task(Rake::Task, :z)
106
- @tm.in_namespace("a") do
107
- aa = @tm.define_task(Rake::Task, :aa)
108
- mid_z = @tm.define_task(Rake::Task, :z)
109
- ns_d = @tm.define_task(Rake::Task, "n:t")
110
- @tm.in_namespace("b") do
111
- bb = @tm.define_task(Rake::Task, :bb)
112
- bot_z = @tm.define_task(Rake::Task, :z)
113
-
114
- assert_equal Rake::Scope.make("b", "a"), @tm.current_scope
115
-
116
- assert_equal bb, @tm["a:b:bb"]
117
- assert_equal aa, @tm["a:aa"]
118
- assert_equal xx, @tm["xx"]
119
- assert_equal bot_z, @tm["z"]
120
- assert_equal mid_z, @tm["^z"]
121
- assert_equal top_z, @tm["^^z"]
122
- assert_equal top_z, @tm["^^^z"] # Over the top
123
- assert_equal top_z, @tm["rake:z"]
124
- end
125
-
126
- assert_equal Rake::Scope.make("a"), @tm.current_scope
127
-
128
- assert_equal bb, @tm["a:b:bb"]
129
- assert_equal aa, @tm["a:aa"]
130
- assert_equal xx, @tm["xx"]
131
- assert_equal bb, @tm["b:bb"]
132
- assert_equal aa, @tm["aa"]
133
- assert_equal mid_z, @tm["z"]
134
- assert_equal top_z, @tm["^z"]
135
- assert_equal top_z, @tm["^^z"] # Over the top
136
- assert_equal top_z, @tm["rake:z"]
137
- assert_equal ns_d, @tm["n:t"]
138
- assert_equal ns_d, @tm["a:n:t"]
139
- end
140
-
141
- assert_equal Rake::Scope.make, @tm.current_scope
142
-
143
- assert_equal Rake::Scope.make, xx.scope
144
- assert_equal Rake::Scope.make('a'), aa.scope
145
- assert_equal Rake::Scope.make('b', 'a'), bb.scope
146
- end
147
-
148
- def test_lookup_with_explicit_scopes
149
- t1, t2, t3, s = (0...4).map { nil }
150
- t1 = @tm.define_task(Rake::Task, :t)
151
- @tm.in_namespace("a") do
152
- t2 = @tm.define_task(Rake::Task, :t)
153
- s = @tm.define_task(Rake::Task, :s)
154
- @tm.in_namespace("b") do
155
- t3 = @tm.define_task(Rake::Task, :t)
156
- end
157
- end
158
- assert_equal t1, @tm[:t, Rake::Scope.make]
159
- assert_equal t2, @tm[:t, Rake::Scope.make("a")]
160
- assert_equal t3, @tm[:t, Rake::Scope.make("b", "a")]
161
- assert_equal s, @tm[:s, Rake::Scope.make("b", "a")]
162
- assert_equal s, @tm[:s, Rake::Scope.make("a")]
163
- end
164
-
165
- def test_correctly_scoped_prerequisites_are_invoked
166
- values = []
167
- @tm = Rake::Application.new
168
- @tm.define_task(Rake::Task, :z) do values << "top z" end
169
- @tm.in_namespace("a") do
170
- @tm.define_task(Rake::Task, :z) do values << "next z" end
171
- @tm.define_task(Rake::Task, :x => :z)
172
- end
173
-
174
- @tm["a:x"].invoke
175
- assert_equal ["next z"], values
176
- end
177
-
178
- end
@@ -1,19 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeTaskManagerArgumentResolution < Rake::TestCase
4
-
5
- def test_good_arg_patterns
6
- assert_equal [:t, [], []], task(:t)
7
- assert_equal [:t, [], [:x]], task(:t => :x)
8
- assert_equal [:t, [], [:x, :y]], task(:t => [:x, :y])
9
-
10
- assert_equal [:t, [:a, :b], []], task(:t, [:a, :b])
11
- assert_equal [:t, [:a, :b], [:x]], task(:t, [:a, :b] => :x)
12
- assert_equal [:t, [:a, :b], [:x, :y]], task(:t, [:a, :b] => [:x, :y])
13
- end
14
-
15
- def task(*args)
16
- tm = Rake::TestCase::TaskManager.new
17
- tm.resolve_args(args)
18
- end
19
- end
@@ -1,171 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeTaskWithArguments < Rake::TestCase
4
- include Rake
5
-
6
- def setup
7
- super
8
-
9
- Task.clear
10
- Rake::TaskManager.record_task_metadata = true
11
- end
12
-
13
- def teardown
14
- Rake::TaskManager.record_task_metadata = false
15
-
16
- super
17
- end
18
-
19
- def test_no_args_given
20
- t = task :t
21
- assert_equal [], t.arg_names
22
- end
23
-
24
- def test_args_given
25
- t = task :t, :a, :b
26
- assert_equal [:a, :b], t.arg_names
27
- end
28
-
29
- def test_name_and_needs
30
- t = task(:t => [:pre])
31
- assert_equal "t", t.name
32
- assert_equal [], t.arg_names
33
- assert_equal ["pre"], t.prerequisites
34
- end
35
-
36
- def test_name_args_and_prereqs
37
- t = task(:t, [:x, :y] => [:pre])
38
- assert_equal "t", t.name
39
- assert_equal [:x, :y], t.arg_names
40
- assert_equal ["pre"], t.prerequisites
41
- end
42
-
43
- def test_arg_list_is_empty_if_no_args_given
44
- t = task(:t) { |tt, args| assert_equal({}, args.to_hash) }
45
- t.invoke(1, 2, 3)
46
- end
47
-
48
- def test_tasks_can_access_arguments_as_hash
49
- t = task :t, :a, :b, :c do |tt, args|
50
- assert_equal({:a => 1, :b => 2, :c => 3}, args.to_hash)
51
- assert_equal 1, args[:a]
52
- assert_equal 2, args[:b]
53
- assert_equal 3, args[:c]
54
- assert_equal 1, args.a
55
- assert_equal 2, args.b
56
- assert_equal 3, args.c
57
- end
58
- t.invoke(1, 2, 3)
59
- end
60
-
61
- def test_actions_of_various_arity_are_ok_with_args
62
- notes = []
63
- t = task(:t, :x) do
64
- notes << :a
65
- end
66
- t.enhance do | |
67
- notes << :b
68
- end
69
- t.enhance do |task|
70
- notes << :c
71
- assert_kind_of Task, task
72
- end
73
- t.enhance do |t2, args|
74
- notes << :d
75
- assert_equal t, t2
76
- assert_equal({:x => 1}, args.to_hash)
77
- end
78
- t.invoke(1)
79
- assert_equal [:a, :b, :c, :d], notes
80
- end
81
-
82
- def test_arguments_are_passed_to_block
83
- t = task(:t, :a, :b) { |tt, args|
84
- assert_equal({ :a => 1, :b => 2 }, args.to_hash)
85
- }
86
- t.invoke(1, 2)
87
- end
88
-
89
- def test_extra_parameters_are_ignored
90
- t = task(:t, :a) { |tt, args|
91
- assert_equal 1, args.a
92
- assert_nil args.b
93
- }
94
- t.invoke(1, 2)
95
- end
96
-
97
- def test_arguments_are_passed_to_all_blocks
98
- counter = 0
99
- t = task :t, :a
100
- task :t do |tt, args|
101
- assert_equal 1, args.a
102
- counter += 1
103
- end
104
- task :t do |tt, args|
105
- assert_equal 1, args.a
106
- counter += 1
107
- end
108
- t.invoke(1)
109
- assert_equal 2, counter
110
- end
111
-
112
- def test_block_with_no_parameters_is_ok
113
- t = task(:t) { }
114
- t.invoke(1, 2)
115
- end
116
-
117
- def test_name_with_args
118
- desc "T"
119
- t = task(:tt, :a, :b)
120
- assert_equal "tt", t.name
121
- assert_equal "T", t.comment
122
- assert_equal "[a,b]", t.arg_description
123
- assert_equal "tt[a,b]", t.name_with_args
124
- assert_equal [:a, :b], t.arg_names
125
- end
126
-
127
- def test_named_args_are_passed_to_prereqs
128
- value = nil
129
- task(:pre, :rev) { |t, args| value = args.rev }
130
- t = task(:t, [:name, :rev] => [:pre])
131
- t.invoke("bill", "1.2")
132
- assert_equal "1.2", value
133
- end
134
-
135
- def test_args_not_passed_if_no_prereq_names_on_task
136
- task(:pre) { |t, args|
137
- assert_equal({}, args.to_hash)
138
- assert_equal "bill", args.name
139
- }
140
- t = task(:t, [:name, :rev] => [:pre])
141
- t.invoke("bill", "1.2")
142
- end
143
-
144
- def test_args_not_passed_if_no_prereq_names_on_multitask
145
- task(:pre) { |t, args|
146
- assert_equal({}, args.to_hash)
147
- assert_equal "bill", args.name
148
- }
149
- t = multitask(:t, [:name, :rev] => [:pre])
150
- t.invoke("bill", "1.2")
151
- end
152
-
153
- def test_args_not_passed_if_no_arg_names
154
- task(:pre, :rev) { |t, args|
155
- assert_equal({}, args.to_hash)
156
- }
157
- t = task(:t => [:pre])
158
- t.invoke("bill", "1.2")
159
- end
160
-
161
- def test_values_at
162
- t = task(:pre, [:a, :b, :c]) { |task, args|
163
- a, b, c = args.values_at(:a, :b, :c)
164
- assert_equal %w[1 2 3], [a, b, c]
165
- }
166
-
167
- t.invoke(*%w[1 2 3])
168
-
169
- # HACK no assertions
170
- end
171
- end
@@ -1,141 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'rake/testtask'
3
-
4
- class TestRakeTestTask < Rake::TestCase
5
- include Rake
6
-
7
- def test_initialize
8
- tt = Rake::TestTask.new do |t| end
9
- refute_nil tt
10
- assert_equal :test, tt.name
11
- assert_equal ['lib'], tt.libs
12
- assert_equal 'test/test*.rb', tt.pattern
13
- assert_equal false, tt.verbose
14
- assert Task.task_defined?(:test)
15
- end
16
-
17
- def test_initialize_override
18
- tt = Rake::TestTask.new(:example) do |t|
19
- t.description = "Run example tests"
20
- t.libs = ['src', 'ext']
21
- t.pattern = 'test/tc_*.rb'
22
- t.verbose = true
23
- end
24
- refute_nil tt
25
- assert_equal "Run example tests", tt.description
26
- assert_equal :example, tt.name
27
- assert_equal ['src', 'ext'], tt.libs
28
- assert_equal 'test/tc_*.rb', tt.pattern
29
- assert_equal true, tt.verbose
30
- assert Task.task_defined?(:example)
31
- end
32
-
33
- def test_file_list_env_test
34
- ENV['TEST'] = 'testfile.rb'
35
- tt = Rake::TestTask.new do |t|
36
- t.pattern = '*'
37
- end
38
-
39
- assert_equal ["testfile.rb"], tt.file_list.to_a
40
- ensure
41
- ENV.delete 'TEST'
42
- end
43
-
44
- def test_libs_equals
45
- test_task = Rake::TestTask.new do |t|
46
- t.libs << ["A", "B"]
47
- end
48
-
49
- path = %w[lib A B].join File::PATH_SEPARATOR
50
-
51
- assert_equal "-I\"#{path}\"", test_task.ruby_opts_string
52
- end
53
-
54
- def test_libs_equals_empty
55
- test_task = Rake::TestTask.new do |t|
56
- t.libs = []
57
- end
58
-
59
- assert_equal '', test_task.ruby_opts_string
60
- end
61
-
62
- def test_pattern_equals
63
- tt = Rake::TestTask.new do |t|
64
- t.pattern = '*.rb'
65
- end
66
- assert_equal ['*.rb'], tt.file_list.to_a
67
- end
68
-
69
- def test_pattern_equals_test_files_equals
70
- tt = Rake::TestTask.new do |t|
71
- t.test_files = FileList['a.rb', 'b.rb']
72
- t.pattern = '*.rb'
73
- end
74
- assert_equal ['a.rb', 'b.rb', '*.rb'], tt.file_list.to_a
75
- end
76
-
77
- def test_run_code_direct
78
- test_task = Rake::TestTask.new do |t|
79
- t.loader = :direct
80
- end
81
-
82
- assert_equal '-e "ARGV.each{|f| require f}"', test_task.run_code
83
- end
84
-
85
- def test_run_code_rake
86
- spec = Gem::Specification.new 'rake', 0
87
- spec.loaded_from = File.join Gem::Specification.dirs.last, 'rake-0.gemspec'
88
- rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], spec
89
-
90
- test_task = Rake::TestTask.new do |t|
91
- t.loader = :rake
92
- end
93
-
94
- assert_match(/\A-I".*?" ".*?"\Z/, test_task.run_code)
95
- ensure
96
- Gem.loaded_specs['rake'] = rake
97
- end
98
-
99
- def test_run_code_rake_default_gem
100
- default_spec = Gem::Specification.new 'rake', 0
101
- default_spec.loaded_from = File.join Gem::Specification.default_specifications_dir, 'rake-0.gemspec'
102
- rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], default_spec
103
-
104
- test_task = Rake::TestTask.new do |t|
105
- t.loader = :rake
106
- end
107
-
108
- assert_match(/\A ".*?"\Z/, test_task.run_code)
109
- ensure
110
- Gem.loaded_specs['rake'] = rake
111
- end
112
-
113
- def test_run_code_testrb_ruby_1_8_2
114
- test_task = Rake::TestTask.new do |t|
115
- t.loader = :testrb
116
- end
117
-
118
- def test_task.ruby_version() '1.8.2' end
119
-
120
- assert_match(/^-S testrb +".*"$/, test_task.run_code)
121
- end
122
-
123
- def test_run_code_testrb_ruby_1_8_6
124
- test_task = Rake::TestTask.new do |t|
125
- t.loader = :testrb
126
- end
127
-
128
- def test_task.ruby_version() '1.8.6' end
129
-
130
- assert_match(/^-S testrb +$/, test_task.run_code)
131
- end
132
-
133
- def test_test_files_equals
134
- tt = Rake::TestTask.new do |t|
135
- t.test_files = FileList['a.rb', 'b.rb']
136
- end
137
-
138
- assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a
139
- end
140
-
141
- end
@@ -1,142 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'rake/thread_pool'
3
- require 'test/unit/assertions'
4
-
5
- class TestRakeTestThreadPool < Rake::TestCase
6
- include Rake
7
-
8
- def test_pool_executes_in_current_thread_for_zero_threads
9
- pool = ThreadPool.new(0)
10
- f = pool.future { Thread.current }
11
- pool.join
12
- assert_equal Thread.current, f.value
13
- end
14
-
15
- def test_pool_executes_in_other_thread_for_pool_of_size_one
16
- pool = ThreadPool.new(1)
17
- f = pool.future { Thread.current }
18
- pool.join
19
- refute_equal Thread.current, f.value
20
- end
21
-
22
- def test_pool_executes_in_two_other_threads_for_pool_of_size_two
23
- pool = ThreadPool.new(2)
24
- threads = 2.times.map {
25
- pool.future {
26
- sleep 0.1
27
- Thread.current
28
- }
29
- }.each { |f|
30
- f.value
31
- }
32
-
33
- refute_equal threads[0], threads[1]
34
- refute_equal Thread.current, threads[0]
35
- refute_equal Thread.current, threads[1]
36
- end
37
-
38
- def test_pool_creates_the_correct_number_of_threads
39
- pool = ThreadPool.new(2)
40
- threads = Set.new
41
- t_mutex = Mutex.new
42
- 10.times.each do
43
- pool.future do
44
- sleep 0.02
45
- t_mutex.synchronize { threads << Thread.current }
46
- end
47
- end
48
- pool.join
49
- assert_equal 2, threads.count
50
- end
51
-
52
- def test_pool_future_does_not_duplicate_arguments
53
- pool = ThreadPool.new(2)
54
- obj = Object.new
55
- captured = nil
56
- pool.future(obj) { |var| captured = var }
57
- pool.join
58
- assert_equal obj, captured
59
- end
60
-
61
- def test_pool_join_empties_queue
62
- pool = ThreadPool.new(2)
63
- repeat = 25
64
- repeat.times {
65
- pool.future do
66
- repeat.times {
67
- pool.future do
68
- repeat.times {
69
- pool.future do end
70
- }
71
- end
72
- }
73
- end
74
- }
75
-
76
- pool.join
77
- assert_equal(
78
- true,
79
- pool.__send__(:__queue__).empty?,
80
- "queue should be empty")
81
- end
82
-
83
- CustomError = Class.new(StandardError)
84
-
85
- # test that throwing an exception way down in the blocks propagates
86
- # to the top
87
- def test_exceptions
88
- pool = ThreadPool.new(10)
89
-
90
- deep_exception_block = lambda do |count|
91
- raise CustomError if count < 1
92
- pool.future(count - 1, &deep_exception_block).value
93
- end
94
-
95
- assert_raises(CustomError) do
96
- pool.future(2, &deep_exception_block).value
97
- end
98
- end
99
-
100
- def test_pool_prevents_deadlock
101
- pool = ThreadPool.new(5)
102
-
103
- common_dependency_a = pool.future { sleep 0.2 }
104
- futures_a = 10.times.map {
105
- pool.future {
106
- common_dependency_a.value
107
- sleep(rand() * 0.01)
108
- }
109
- }
110
-
111
- common_dependency_b = pool.future { futures_a.each { |f| f.value } }
112
- futures_b = 10.times.map {
113
- pool.future {
114
- common_dependency_b.value
115
- sleep(rand() * 0.01)
116
- }
117
- }
118
-
119
- futures_b.each { |f| f.value }
120
- pool.join
121
- end
122
-
123
- def test_pool_reports_correct_results
124
- pool = ThreadPool.new(7)
125
-
126
- a = 18
127
- b = 5
128
- c = 3
129
-
130
- result = a.times.map do
131
- pool.future do
132
- b.times.map do
133
- pool.future { sleep rand * 0.001; c }
134
- end.reduce(0) { |m, f| m + f.value }
135
- end
136
- end.reduce(0) { |m, f| m + f.value }
137
-
138
- assert_equal a * b * c, result
139
- pool.join
140
- end
141
-
142
- end