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,186 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'fileutils'
3
-
4
- class TestRakeFileTask < Rake::TestCase
5
- include Rake
6
-
7
- def setup
8
- super
9
-
10
- Task.clear
11
- @runs = Array.new
12
- FileUtils.rm_f NEWFILE
13
- FileUtils.rm_f OLDFILE
14
- end
15
-
16
- def test_file_need
17
- name = "dummy"
18
- file name
19
-
20
- ftask = Task[name]
21
-
22
- assert_equal name.to_s, ftask.name
23
- File.delete(ftask.name) rescue nil
24
-
25
- assert ftask.needed?, "file should be needed"
26
-
27
- open(ftask.name, "w") { |f| f.puts "HI" }
28
-
29
- assert_equal nil, ftask.prerequisites.map { |n| Task[n].timestamp }.max
30
- assert ! ftask.needed?, "file should not be needed"
31
- ensure
32
- File.delete(ftask.name) rescue nil
33
- end
34
-
35
- def test_file_times_new_depends_on_old
36
- create_timed_files(OLDFILE, NEWFILE)
37
-
38
- t1 = Rake.application.intern(FileTask, NEWFILE).enhance([OLDFILE])
39
- t2 = Rake.application.intern(FileTask, OLDFILE)
40
- assert ! t2.needed?, "Should not need to build old file"
41
- assert ! t1.needed?, "Should not need to rebuild new file because of old"
42
- end
43
-
44
- def test_file_times_new_depend_on_regular_task_timestamps
45
- load_phony
46
-
47
- name = "dummy"
48
- task name
49
-
50
- create_timed_files(NEWFILE)
51
-
52
- t1 = Rake.application.intern(FileTask, NEWFILE).enhance([name])
53
-
54
- assert t1.needed?, "depending on non-file task uses Time.now"
55
-
56
- task(name => :phony)
57
-
58
- assert t1.needed?, "unless the non-file task has a timestamp"
59
- end
60
-
61
- def test_file_times_old_depends_on_new
62
- create_timed_files(OLDFILE, NEWFILE)
63
-
64
- t1 = Rake.application.intern(FileTask, OLDFILE).enhance([NEWFILE])
65
- t2 = Rake.application.intern(FileTask, NEWFILE)
66
- assert ! t2.needed?, "Should not need to build new file"
67
- preq_stamp = t1.prerequisites.map { |t| Task[t].timestamp }.max
68
- assert_equal t2.timestamp, preq_stamp
69
- assert t1.timestamp < preq_stamp, "T1 should be older"
70
- assert t1.needed?, "Should need to rebuild old file because of new"
71
- end
72
-
73
- def test_file_depends_on_task_depend_on_file
74
- create_timed_files(OLDFILE, NEWFILE)
75
-
76
- file NEWFILE => [:obj] do |t| @runs << t.name end
77
- task :obj => [OLDFILE] do |t| @runs << t.name end
78
- file OLDFILE do |t| @runs << t.name end
79
-
80
- Task[:obj].invoke
81
- Task[NEWFILE].invoke
82
- assert @runs.include?(NEWFILE)
83
- end
84
-
85
- def test_existing_file_depends_on_non_existing_file
86
- @ran = false
87
-
88
- create_file(OLDFILE)
89
- delete_file(NEWFILE)
90
- file NEWFILE do
91
- @ran = true
92
- end
93
-
94
- file OLDFILE => NEWFILE
95
-
96
- Task[OLDFILE].invoke
97
-
98
- assert @ran
99
- end
100
-
101
- def test_needed_eh_build_all
102
- create_file 'a'
103
-
104
- file 'a'
105
-
106
- a_task = Task['a']
107
-
108
- refute a_task.needed?
109
-
110
- Rake.application.options.build_all = true
111
-
112
- assert a_task.needed?
113
- ensure
114
- delete_file 'a'
115
- end
116
-
117
- def test_needed_eh_dependency
118
- create_file 'a', Time.now
119
- create_file 'b', Time.now - 60
120
-
121
- create_file 'c', Time.now
122
- create_file 'd', Time.now - 60
123
-
124
- file 'b' => 'a'
125
-
126
- b_task = Task['b']
127
-
128
- assert b_task.needed?
129
-
130
- file 'c' => 'd'
131
-
132
- c_task = Task['c']
133
-
134
- refute c_task.needed?
135
- ensure
136
- delete_file 'old'
137
- delete_file 'new'
138
- end
139
-
140
- def test_needed_eh_exists
141
- name = "dummy"
142
- file name
143
-
144
- ftask = Task[name]
145
-
146
- assert ftask.needed?
147
-
148
- create_file name
149
-
150
- refute ftask.needed?
151
- ensure
152
- delete_file name
153
- end
154
-
155
- def test_source_is_first_prerequisite
156
- t = file :f => ["preqA", "preqB"]
157
- assert_equal "preqA", t.source
158
- end
159
-
160
- def test_sources_is_all_prerequisites
161
- t = file :f => ["preqA", "preqB"]
162
- assert_equal ["preqA", "preqB"], t.sources
163
- end
164
-
165
- # I have currently disabled this test. I'm not convinced that
166
- # deleting the file target on failure is always the proper thing to
167
- # do. I'm willing to hear input on this topic.
168
- def ztest_file_deletes_on_failure
169
- task :obj
170
- file NEWFILE => [:obj] do |t|
171
- FileUtils.touch NEWFILE
172
- fail "Ooops"
173
- end
174
- assert Task[NEWFILE]
175
- begin
176
- Task[NEWFILE].invoke
177
- rescue Exception
178
- end
179
- assert(! File.exist?(NEWFILE), "NEWFILE should be deleted")
180
- end
181
-
182
- def load_phony
183
- load File.join(@rake_lib, "rake/phony.rb")
184
- end
185
-
186
- end
@@ -1,309 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'fileutils'
3
- require 'stringio'
4
-
5
- class TestRakeFileUtils < Rake::TestCase
6
-
7
- def teardown
8
- FileUtils::LN_SUPPORTED[0] = true
9
- RakeFileUtils.verbose_flag = Rake::FileUtilsExt::DEFAULT
10
-
11
- super
12
- end
13
-
14
- def test_rm_one_file
15
- create_file("a")
16
- FileUtils.rm_rf "a"
17
- refute File.exist?("a")
18
- end
19
-
20
- def test_rm_two_files
21
- create_file("a")
22
- create_file("b")
23
- FileUtils.rm_rf ["a", "b"]
24
- refute File.exist?("a")
25
- refute File.exist?("b")
26
- end
27
-
28
- def test_rm_filelist
29
- list = Rake::FileList.new << "a" << "b"
30
- list.each { |fn| create_file(fn) }
31
- FileUtils.rm_r list
32
- refute File.exist?("a")
33
- refute File.exist?("b")
34
- end
35
-
36
- def test_ln
37
- open("a", "w") { |f| f.puts "TEST_LN" }
38
-
39
- Rake::FileUtilsExt.safe_ln("a", "b", :verbose => false)
40
-
41
- assert_equal "TEST_LN\n", File.read('b')
42
- end
43
-
44
- class BadLink
45
- include Rake::FileUtilsExt
46
- attr_reader :cp_args
47
-
48
- def initialize(klass)
49
- @failure_class = klass
50
- end
51
-
52
- def cp(*args)
53
- @cp_args = args
54
- end
55
-
56
- def ln(*args)
57
- fail @failure_class, "ln not supported"
58
- end
59
-
60
- public :safe_ln
61
- end
62
-
63
- def test_safe_ln_failover_to_cp_on_standard_error
64
- FileUtils::LN_SUPPORTED[0] = true
65
- c = BadLink.new(StandardError)
66
- c.safe_ln "a", "b"
67
- assert_equal ['a', 'b'], c.cp_args
68
- c.safe_ln "x", "y"
69
- assert_equal ['x', 'y'], c.cp_args
70
- end
71
-
72
- def test_safe_ln_failover_to_cp_on_not_implemented_error
73
- FileUtils::LN_SUPPORTED[0] = true
74
- c = BadLink.new(NotImplementedError)
75
- c.safe_ln "a", "b"
76
- assert_equal ['a', 'b'], c.cp_args
77
- end
78
-
79
- def test_safe_ln_fails_on_script_error
80
- FileUtils::LN_SUPPORTED[0] = true
81
- c = BadLink.new(ScriptError)
82
- assert_raises(ScriptError) do c.safe_ln "a", "b" end
83
- end
84
-
85
- def test_verbose
86
- verbose true
87
- assert_equal true, verbose
88
- verbose false
89
- assert_equal false, verbose
90
- verbose(true) {
91
- assert_equal true, verbose
92
- }
93
- assert_equal false, verbose
94
- end
95
-
96
- def test_nowrite
97
- nowrite true
98
- assert_equal true, nowrite
99
- nowrite false
100
- assert_equal false, nowrite
101
- nowrite(true) {
102
- assert_equal true, nowrite
103
- }
104
- assert_equal false, nowrite
105
- end
106
-
107
- def test_file_utils_methods_are_available_at_top_level
108
- create_file("a")
109
-
110
- capture_io do
111
- rm_rf "a"
112
- end
113
-
114
- refute File.exist?("a")
115
- end
116
-
117
- def test_fileutils_methods_dont_leak
118
- obj = Object.new
119
- assert_raises(NoMethodError) { obj.copy } # from FileUtils
120
- assert_raises(NoMethodError) { obj.ruby "-v" } # from RubyFileUtils
121
- end
122
-
123
- def test_sh
124
- shellcommand
125
-
126
- verbose(false) { sh %{#{Rake::TestCase::RUBY} shellcommand.rb} }
127
- assert true, "should not fail"
128
- end
129
-
130
- def test_sh_with_a_single_string_argument
131
- check_expansion
132
-
133
- ENV['RAKE_TEST_SH'] = 'someval'
134
- verbose(false) {
135
- sh %{#{RUBY} check_expansion.rb #{env_var} someval}
136
- }
137
- end
138
-
139
- def test_sh_with_multiple_arguments
140
- check_no_expansion
141
- ENV['RAKE_TEST_SH'] = 'someval'
142
-
143
- verbose(false) {
144
- sh RUBY, 'check_no_expansion.rb', env_var, 'someval'
145
- }
146
- end
147
-
148
- def test_sh_failure
149
- shellcommand
150
-
151
- assert_raises(RuntimeError) {
152
- verbose(false) { sh %{#{RUBY} shellcommand.rb 1} }
153
- }
154
- end
155
-
156
- def test_sh_special_handling
157
- shellcommand
158
-
159
- count = 0
160
- verbose(false) {
161
- sh(%{#{RUBY} shellcommand.rb}) do |ok, res|
162
- assert(ok)
163
- assert_equal 0, res.exitstatus
164
- count += 1
165
- end
166
- sh(%{#{RUBY} shellcommand.rb 1}) do |ok, res|
167
- assert(!ok)
168
- assert_equal 1, res.exitstatus
169
- count += 1
170
- end
171
- }
172
- assert_equal 2, count, "Block count should be 2"
173
- end
174
-
175
- def test_sh_noop
176
- shellcommand
177
-
178
- verbose(false) { sh %{shellcommand.rb 1}, :noop=>true }
179
- assert true, "should not fail"
180
- end
181
-
182
- def test_sh_bad_option
183
- shellcommand
184
-
185
- ex = assert_raises(ArgumentError) {
186
- verbose(false) { sh %{shellcommand.rb}, :bad_option=>true }
187
- }
188
- assert_match(/bad_option/, ex.message)
189
- end
190
-
191
- def test_sh_verbose
192
- shellcommand
193
-
194
- _, err = capture_io do
195
- verbose(true) {
196
- sh %{shellcommand.rb}, :noop=>true
197
- }
198
- end
199
-
200
- assert_equal "shellcommand.rb\n", err
201
- end
202
-
203
- def test_sh_verbose_false
204
- shellcommand
205
-
206
- _, err = capture_io do
207
- verbose(false) {
208
- sh %{shellcommand.rb}, :noop=>true
209
- }
210
- end
211
-
212
- assert_equal '', err
213
- end
214
-
215
- def test_sh_verbose_flag_nil
216
- shellcommand
217
-
218
- RakeFileUtils.verbose_flag = nil
219
-
220
- assert_silent do
221
- sh %{shellcommand.rb}, :noop=>true
222
- end
223
- end
224
-
225
- def test_ruby_with_a_single_string_argument
226
- check_expansion
227
-
228
- ENV['RAKE_TEST_SH'] = 'someval'
229
-
230
- verbose(false) {
231
- replace_ruby {
232
- ruby %{check_expansion.rb #{env_var} someval}
233
- }
234
- }
235
- end
236
-
237
- def test_ruby_with_multiple_arguments
238
- check_no_expansion
239
-
240
- ENV['RAKE_TEST_SH'] = 'someval'
241
- verbose(false) {
242
- replace_ruby {
243
- ruby 'check_no_expansion.rb', env_var, 'someval'
244
- }
245
- }
246
- end
247
-
248
- def test_split_all
249
- assert_equal ['a'], Rake::FileUtilsExt.split_all('a')
250
- assert_equal ['..'], Rake::FileUtilsExt.split_all('..')
251
- assert_equal ['/'], Rake::FileUtilsExt.split_all('/')
252
- assert_equal ['a', 'b'], Rake::FileUtilsExt.split_all('a/b')
253
- assert_equal ['/', 'a', 'b'], Rake::FileUtilsExt.split_all('/a/b')
254
- assert_equal ['..', 'a', 'b'], Rake::FileUtilsExt.split_all('../a/b')
255
- end
256
-
257
- def command(name, text)
258
- open name, 'w', 0750 do |io|
259
- io << text
260
- end
261
- end
262
-
263
- def check_no_expansion
264
- command 'check_no_expansion.rb', <<-CHECK_EXPANSION
265
- if ARGV[0] != ARGV[1]
266
- exit 0
267
- else
268
- exit 1
269
- end
270
- CHECK_EXPANSION
271
- end
272
-
273
- def check_expansion
274
- command 'check_expansion.rb', <<-CHECK_EXPANSION
275
- if ARGV[0] != ARGV[1]
276
- exit 1
277
- else
278
- exit 0
279
- end
280
- CHECK_EXPANSION
281
- end
282
-
283
- def replace_ruby
284
- ruby = FileUtils::RUBY
285
- FileUtils.send :remove_const, :RUBY
286
- FileUtils.const_set :RUBY, RUBY
287
- yield
288
- ensure
289
- FileUtils.send :remove_const, :RUBY
290
- FileUtils.const_set:RUBY, ruby
291
- end
292
-
293
- def shellcommand
294
- command 'shellcommand.rb', <<-SHELLCOMMAND
295
- #!/usr/bin/env ruby
296
-
297
- exit((ARGV[0] || "0").to_i)
298
- SHELLCOMMAND
299
- end
300
-
301
- def env_var
302
- windows? ? '%RAKE_TEST_SH%' : '$RAKE_TEST_SH'
303
- end
304
-
305
- def windows?
306
- ! File::ALT_SEPARATOR.nil?
307
- end
308
-
309
- end
@@ -1,74 +0,0 @@
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