##// END OF EJS Templates
Rails3: scm: subversion: fix error of test_revision_diff at functional test...
Toshi MARUYAMA -
r7069:2c5658cda8c0
parent child
Show More
@@ -1,351 +1,353
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require File.expand_path('../../test_helper', __FILE__)
18 require File.expand_path('../../test_helper', __FILE__)
19 require 'repositories_controller'
19 require 'repositories_controller'
20
20
21 # Re-raise errors caught by the controller.
21 # Re-raise errors caught by the controller.
22 class RepositoriesController; def rescue_action(e) raise e end; end
22 class RepositoriesController; def rescue_action(e) raise e end; end
23
23
24 class RepositoriesSubversionControllerTest < ActionController::TestCase
24 class RepositoriesSubversionControllerTest < ActionController::TestCase
25 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules,
25 fixtures :projects, :users, :roles, :members, :member_roles, :enabled_modules,
26 :repositories, :issues, :issue_statuses, :changesets, :changes,
26 :repositories, :issues, :issue_statuses, :changesets, :changes,
27 :issue_categories, :enumerations, :custom_fields, :custom_values, :trackers
27 :issue_categories, :enumerations, :custom_fields, :custom_values, :trackers
28
28
29 PRJ_ID = 3
29 PRJ_ID = 3
30 NUM_REV = 11
30 NUM_REV = 11
31
31
32 def setup
32 def setup
33 @controller = RepositoriesController.new
33 @controller = RepositoriesController.new
34 @request = ActionController::TestRequest.new
34 @request = ActionController::TestRequest.new
35 @response = ActionController::TestResponse.new
35 @response = ActionController::TestResponse.new
36 Setting.default_language = 'en'
36 Setting.default_language = 'en'
37 User.current = nil
37 User.current = nil
38
38
39 @project = Project.find(PRJ_ID)
39 @project = Project.find(PRJ_ID)
40 @repository = Repository::Subversion.create(:project => @project,
40 @repository = Repository::Subversion.create(:project => @project,
41 :url => self.class.subversion_repository_url)
41 :url => self.class.subversion_repository_url)
42 assert @repository
42 assert @repository
43 end
43 end
44
44
45 if repository_configured?('subversion')
45 if repository_configured?('subversion')
46 def test_show
46 def test_show
47 assert_equal 0, @repository.changesets.count
47 assert_equal 0, @repository.changesets.count
48 @repository.fetch_changesets
48 @repository.fetch_changesets
49 @project.reload
49 @project.reload
50 assert_equal NUM_REV, @repository.changesets.count
50 assert_equal NUM_REV, @repository.changesets.count
51 get :show, :id => PRJ_ID
51 get :show, :id => PRJ_ID
52 assert_response :success
52 assert_response :success
53 assert_template 'show'
53 assert_template 'show'
54 assert_not_nil assigns(:entries)
54 assert_not_nil assigns(:entries)
55 assert_not_nil assigns(:changesets)
55 assert_not_nil assigns(:changesets)
56 end
56 end
57
57
58 def test_browse_root
58 def test_browse_root
59 @repository.fetch_changesets
59 @repository.fetch_changesets
60 @repository.reload
60 @repository.reload
61 get :show, :id => PRJ_ID
61 get :show, :id => PRJ_ID
62 assert_response :success
62 assert_response :success
63 assert_template 'show'
63 assert_template 'show'
64 assert_not_nil assigns(:entries)
64 assert_not_nil assigns(:entries)
65 entry = assigns(:entries).detect {|e| e.name == 'subversion_test'}
65 entry = assigns(:entries).detect {|e| e.name == 'subversion_test'}
66 assert_equal 'dir', entry.kind
66 assert_equal 'dir', entry.kind
67 end
67 end
68
68
69 def test_browse_directory
69 def test_browse_directory
70 @repository.fetch_changesets
70 @repository.fetch_changesets
71 @repository.reload
71 @repository.reload
72 get :show, :id => PRJ_ID, :path => ['subversion_test']
72 get :show, :id => PRJ_ID, :path => ['subversion_test']
73 assert_response :success
73 assert_response :success
74 assert_template 'show'
74 assert_template 'show'
75 assert_not_nil assigns(:entries)
75 assert_not_nil assigns(:entries)
76 assert_equal [
76 assert_equal [
77 '[folder_with_brackets]', 'folder', '.project',
77 '[folder_with_brackets]', 'folder', '.project',
78 'helloworld.c', 'textfile.txt'
78 'helloworld.c', 'textfile.txt'
79 ],
79 ],
80 assigns(:entries).collect(&:name)
80 assigns(:entries).collect(&:name)
81 entry = assigns(:entries).detect {|e| e.name == 'helloworld.c'}
81 entry = assigns(:entries).detect {|e| e.name == 'helloworld.c'}
82 assert_equal 'file', entry.kind
82 assert_equal 'file', entry.kind
83 assert_equal 'subversion_test/helloworld.c', entry.path
83 assert_equal 'subversion_test/helloworld.c', entry.path
84 assert_tag :a, :content => 'helloworld.c', :attributes => { :class => /text\-x\-c/ }
84 assert_tag :a, :content => 'helloworld.c', :attributes => { :class => /text\-x\-c/ }
85 end
85 end
86
86
87 def test_browse_at_given_revision
87 def test_browse_at_given_revision
88 @repository.fetch_changesets
88 @repository.fetch_changesets
89 @repository.reload
89 @repository.reload
90 get :show, :id => PRJ_ID, :path => ['subversion_test'], :rev => 4
90 get :show, :id => PRJ_ID, :path => ['subversion_test'], :rev => 4
91 assert_response :success
91 assert_response :success
92 assert_template 'show'
92 assert_template 'show'
93 assert_not_nil assigns(:entries)
93 assert_not_nil assigns(:entries)
94 assert_equal ['folder', '.project', 'helloworld.c', 'helloworld.rb', 'textfile.txt'],
94 assert_equal ['folder', '.project', 'helloworld.c', 'helloworld.rb', 'textfile.txt'],
95 assigns(:entries).collect(&:name)
95 assigns(:entries).collect(&:name)
96 end
96 end
97
97
98 def test_file_changes
98 def test_file_changes
99 @repository.fetch_changesets
99 @repository.fetch_changesets
100 @repository.reload
100 @repository.reload
101 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder', 'helloworld.rb' ]
101 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder', 'helloworld.rb' ]
102 assert_response :success
102 assert_response :success
103 assert_template 'changes'
103 assert_template 'changes'
104
104
105 changesets = assigns(:changesets)
105 changesets = assigns(:changesets)
106 assert_not_nil changesets
106 assert_not_nil changesets
107 assert_equal %w(6 3 2), changesets.collect(&:revision)
107 assert_equal %w(6 3 2), changesets.collect(&:revision)
108
108
109 # svn properties displayed with svn >= 1.5 only
109 # svn properties displayed with svn >= 1.5 only
110 if Redmine::Scm::Adapters::SubversionAdapter.client_version_above?([1, 5, 0])
110 if Redmine::Scm::Adapters::SubversionAdapter.client_version_above?([1, 5, 0])
111 assert_not_nil assigns(:properties)
111 assert_not_nil assigns(:properties)
112 assert_equal 'native', assigns(:properties)['svn:eol-style']
112 assert_equal 'native', assigns(:properties)['svn:eol-style']
113 assert_tag :ul,
113 assert_tag :ul,
114 :child => { :tag => 'li',
114 :child => { :tag => 'li',
115 :child => { :tag => 'b', :content => 'svn:eol-style' },
115 :child => { :tag => 'b', :content => 'svn:eol-style' },
116 :child => { :tag => 'span', :content => 'native' } }
116 :child => { :tag => 'span', :content => 'native' } }
117 end
117 end
118 end
118 end
119
119
120 def test_directory_changes
120 def test_directory_changes
121 @repository.fetch_changesets
121 @repository.fetch_changesets
122 @repository.reload
122 @repository.reload
123 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder' ]
123 get :changes, :id => PRJ_ID, :path => ['subversion_test', 'folder' ]
124 assert_response :success
124 assert_response :success
125 assert_template 'changes'
125 assert_template 'changes'
126
126
127 changesets = assigns(:changesets)
127 changesets = assigns(:changesets)
128 assert_not_nil changesets
128 assert_not_nil changesets
129 assert_equal %w(10 9 7 6 5 2), changesets.collect(&:revision)
129 assert_equal %w(10 9 7 6 5 2), changesets.collect(&:revision)
130 end
130 end
131
131
132 def test_entry
132 def test_entry
133 @repository.fetch_changesets
133 @repository.fetch_changesets
134 @repository.reload
134 @repository.reload
135 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
135 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
136 assert_response :success
136 assert_response :success
137 assert_template 'entry'
137 assert_template 'entry'
138 end
138 end
139
139
140 def test_entry_should_send_if_too_big
140 def test_entry_should_send_if_too_big
141 @repository.fetch_changesets
141 @repository.fetch_changesets
142 @repository.reload
142 @repository.reload
143 # no files in the test repo is larger than 1KB...
143 # no files in the test repo is larger than 1KB...
144 with_settings :file_max_size_displayed => 0 do
144 with_settings :file_max_size_displayed => 0 do
145 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
145 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
146 assert_response :success
146 assert_response :success
147 assert_template ''
147 assert_template ''
148 assert_equal 'attachment; filename="helloworld.c"',
148 assert_equal 'attachment; filename="helloworld.c"',
149 @response.headers['Content-Disposition']
149 @response.headers['Content-Disposition']
150 end
150 end
151 end
151 end
152
152
153 def test_entry_at_given_revision
153 def test_entry_at_given_revision
154 @repository.fetch_changesets
154 @repository.fetch_changesets
155 @repository.reload
155 @repository.reload
156 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.rb'], :rev => 2
156 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.rb'], :rev => 2
157 assert_response :success
157 assert_response :success
158 assert_template 'entry'
158 assert_template 'entry'
159 # this line was removed in r3 and file was moved in r6
159 # this line was removed in r3 and file was moved in r6
160 assert_tag :tag => 'td', :attributes => { :class => /line-code/},
160 assert_tag :tag => 'td', :attributes => { :class => /line-code/},
161 :content => /Here's the code/
161 :content => /Here's the code/
162 end
162 end
163
163
164 def test_entry_not_found
164 def test_entry_not_found
165 @repository.fetch_changesets
165 @repository.fetch_changesets
166 @repository.reload
166 @repository.reload
167 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'zzz.c']
167 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'zzz.c']
168 assert_tag :tag => 'p', :attributes => { :id => /errorExplanation/ },
168 assert_tag :tag => 'p', :attributes => { :id => /errorExplanation/ },
169 :content => /The entry or revision was not found in the repository/
169 :content => /The entry or revision was not found in the repository/
170 end
170 end
171
171
172 def test_entry_download
172 def test_entry_download
173 @repository.fetch_changesets
173 @repository.fetch_changesets
174 @repository.reload
174 @repository.reload
175 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c'], :format => 'raw'
175 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c'], :format => 'raw'
176 assert_response :success
176 assert_response :success
177 assert_template ''
177 assert_template ''
178 assert_equal 'attachment; filename="helloworld.c"', @response.headers['Content-Disposition']
178 assert_equal 'attachment; filename="helloworld.c"', @response.headers['Content-Disposition']
179 end
179 end
180
180
181 def test_directory_entry
181 def test_directory_entry
182 assert_equal 0, @repository.changesets.count
182 assert_equal 0, @repository.changesets.count
183 @repository.fetch_changesets
183 @repository.fetch_changesets
184 @project.reload
184 @project.reload
185 assert_equal NUM_REV, @repository.changesets.count
185 assert_equal NUM_REV, @repository.changesets.count
186 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'folder']
186 get :entry, :id => PRJ_ID, :path => ['subversion_test', 'folder']
187 assert_response :success
187 assert_response :success
188 assert_template 'show'
188 assert_template 'show'
189 assert_not_nil assigns(:entry)
189 assert_not_nil assigns(:entry)
190 assert_equal 'folder', assigns(:entry).name
190 assert_equal 'folder', assigns(:entry).name
191 end
191 end
192
192
193 # TODO: this test needs fixtures.
193 # TODO: this test needs fixtures.
194 def test_revision
194 def test_revision
195 @repository.fetch_changesets
195 @repository.fetch_changesets
196 @repository.reload
196 @repository.reload
197 get :revision, :id => 1, :rev => 2
197 get :revision, :id => 1, :rev => 2
198 assert_response :success
198 assert_response :success
199 assert_template 'revision'
199 assert_template 'revision'
200 assert_tag :tag => 'ul',
200 assert_tag :tag => 'ul',
201 :child => { :tag => 'li',
201 :child => { :tag => 'li',
202 # link to the entry at rev 2
202 # link to the entry at rev 2
203 :child => { :tag => 'a',
203 :child => { :tag => 'a',
204 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/test/some/path/in/the/repo'},
204 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/test/some/path/in/the/repo'},
205 :content => 'repo',
205 :content => 'repo',
206 # link to partial diff
206 # link to partial diff
207 :sibling => { :tag => 'a',
207 :sibling => { :tag => 'a',
208 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/test/some/path/in/the/repo' }
208 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/test/some/path/in/the/repo' }
209 }
209 }
210 }
210 }
211 }
211 }
212 end
212 end
213
213
214 def test_invalid_revision
214 def test_invalid_revision
215 assert_equal 0, @repository.changesets.count
215 assert_equal 0, @repository.changesets.count
216 @repository.fetch_changesets
216 @repository.fetch_changesets
217 @project.reload
217 @project.reload
218 assert_equal NUM_REV, @repository.changesets.count
218 assert_equal NUM_REV, @repository.changesets.count
219 get :revision, :id => PRJ_ID, :rev => 'something_weird'
219 get :revision, :id => PRJ_ID, :rev => 'something_weird'
220 assert_response 404
220 assert_response 404
221 assert_error_tag :content => /was not found/
221 assert_error_tag :content => /was not found/
222 end
222 end
223
223
224 def test_invalid_revision_diff
224 def test_invalid_revision_diff
225 get :diff, :id => PRJ_ID, :rev => '1', :rev_to => 'something_weird'
225 get :diff, :id => PRJ_ID, :rev => '1', :rev_to => 'something_weird'
226 assert_response 404
226 assert_response 404
227 assert_error_tag :content => /was not found/
227 assert_error_tag :content => /was not found/
228 end
228 end
229
229
230 def test_empty_revision
230 def test_empty_revision
231 assert_equal 0, @repository.changesets.count
231 assert_equal 0, @repository.changesets.count
232 @repository.fetch_changesets
232 @repository.fetch_changesets
233 @project.reload
233 @project.reload
234 assert_equal NUM_REV, @repository.changesets.count
234 assert_equal NUM_REV, @repository.changesets.count
235 ['', ' ', nil].each do |r|
235 ['', ' ', nil].each do |r|
236 get :revision, :id => PRJ_ID, :rev => r
236 get :revision, :id => PRJ_ID, :rev => r
237 assert_response 404
237 assert_response 404
238 assert_error_tag :content => /was not found/
238 assert_error_tag :content => /was not found/
239 end
239 end
240 end
240 end
241
241
242 # TODO: this test needs fixtures.
242 # TODO: this test needs fixtures.
243 def test_revision_with_repository_pointing_to_a_subdirectory
243 def test_revision_with_repository_pointing_to_a_subdirectory
244 r = Project.find(1).repository
244 r = Project.find(1).repository
245 # Changes repository url to a subdirectory
245 # Changes repository url to a subdirectory
246 r.update_attribute :url, (r.url + '/test/some')
246 r.update_attribute :url, (r.url + '/test/some')
247
247
248 get :revision, :id => 1, :rev => 2
248 get :revision, :id => 1, :rev => 2
249 assert_response :success
249 assert_response :success
250 assert_template 'revision'
250 assert_template 'revision'
251 assert_tag :tag => 'ul',
251 assert_tag :tag => 'ul',
252 :child => { :tag => 'li',
252 :child => { :tag => 'li',
253 # link to the entry at rev 2
253 # link to the entry at rev 2
254 :child => { :tag => 'a',
254 :child => { :tag => 'a',
255 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/path/in/the/repo'},
255 :attributes => {:href => '/projects/ecookbook/repository/revisions/2/entry/path/in/the/repo'},
256 :content => 'repo',
256 :content => 'repo',
257 # link to partial diff
257 # link to partial diff
258 :sibling => { :tag => 'a',
258 :sibling => { :tag => 'a',
259 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/path/in/the/repo' }
259 :attributes => { :href => '/projects/ecookbook/repository/revisions/2/diff/path/in/the/repo' }
260 }
260 }
261 }
261 }
262 }
262 }
263 end
263 end
264
264
265 def test_revision_diff
265 def test_revision_diff
266 assert_equal 0, @repository.changesets.count
266 @repository.fetch_changesets
267 @repository.fetch_changesets
267 @repository.reload
268 @project.reload
269 assert_equal NUM_REV, @repository.changesets.count
268 ['inline', 'sbs'].each do |dt|
270 ['inline', 'sbs'].each do |dt|
269 get :diff, :id => PRJ_ID, :rev => 3, :type => dt
271 get :diff, :id => PRJ_ID, :rev => 3, :type => dt
270 assert_response :success
272 assert_response :success
271 assert_template 'diff'
273 assert_template 'diff'
272 assert_tag :tag => 'h2',
274 assert_tag :tag => 'h2',
273 :content => / 3/
275 :content => / 3/
274 end
276 end
275 end
277 end
276
278
277 def test_directory_diff
279 def test_directory_diff
278 @repository.fetch_changesets
280 @repository.fetch_changesets
279 @repository.reload
281 @repository.reload
280 ['inline', 'sbs'].each do |dt|
282 ['inline', 'sbs'].each do |dt|
281 get :diff, :id => PRJ_ID, :rev => 6, :rev_to => 2,
283 get :diff, :id => PRJ_ID, :rev => 6, :rev_to => 2,
282 :path => ['subversion_test', 'folder'], :type => dt
284 :path => ['subversion_test', 'folder'], :type => dt
283 assert_response :success
285 assert_response :success
284 assert_template 'diff'
286 assert_template 'diff'
285
287
286 diff = assigns(:diff)
288 diff = assigns(:diff)
287 assert_not_nil diff
289 assert_not_nil diff
288 # 2 files modified
290 # 2 files modified
289 assert_equal 2, Redmine::UnifiedDiff.new(diff).size
291 assert_equal 2, Redmine::UnifiedDiff.new(diff).size
290 assert_tag :tag => 'h2', :content => /2:6/
292 assert_tag :tag => 'h2', :content => /2:6/
291 end
293 end
292 end
294 end
293
295
294 def test_annotate
296 def test_annotate
295 @repository.fetch_changesets
297 @repository.fetch_changesets
296 @repository.reload
298 @repository.reload
297 get :annotate, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
299 get :annotate, :id => PRJ_ID, :path => ['subversion_test', 'helloworld.c']
298 assert_response :success
300 assert_response :success
299 assert_template 'annotate'
301 assert_template 'annotate'
300 end
302 end
301
303
302 def test_annotate_at_given_revision
304 def test_annotate_at_given_revision
303 @repository.fetch_changesets
305 @repository.fetch_changesets
304 @repository.reload
306 @repository.reload
305 get :annotate, :id => PRJ_ID, :rev => 8, :path => ['subversion_test', 'helloworld.c']
307 get :annotate, :id => PRJ_ID, :rev => 8, :path => ['subversion_test', 'helloworld.c']
306 assert_response :success
308 assert_response :success
307 assert_template 'annotate'
309 assert_template 'annotate'
308 assert_tag :tag => 'h2', :content => /@ 8/
310 assert_tag :tag => 'h2', :content => /@ 8/
309 end
311 end
310
312
311 def test_destroy_valid_repository
313 def test_destroy_valid_repository
312 @request.session[:user_id] = 1 # admin
314 @request.session[:user_id] = 1 # admin
313 @repository.fetch_changesets
315 @repository.fetch_changesets
314 @repository.reload
316 @repository.reload
315 assert @repository.changesets.count > 0
317 assert @repository.changesets.count > 0
316
318
317 get :destroy, :id => PRJ_ID
319 get :destroy, :id => PRJ_ID
318 assert_response 302
320 assert_response 302
319 @project.reload
321 @project.reload
320 assert_nil @project.repository
322 assert_nil @project.repository
321 end
323 end
322
324
323 def test_destroy_invalid_repository
325 def test_destroy_invalid_repository
324 @request.session[:user_id] = 1 # admin
326 @request.session[:user_id] = 1 # admin
325 @repository.fetch_changesets
327 @repository.fetch_changesets
326 @repository.reload
328 @repository.reload
327 assert @repository.changesets.count > 0
329 assert @repository.changesets.count > 0
328
330
329 get :destroy, :id => PRJ_ID
331 get :destroy, :id => PRJ_ID
330 assert_response 302
332 assert_response 302
331 @project.reload
333 @project.reload
332 assert_nil @project.repository
334 assert_nil @project.repository
333
335
334 @repository = Repository::Subversion.create(
336 @repository = Repository::Subversion.create(
335 :project => @project,
337 :project => @project,
336 :url => "file:///invalid")
338 :url => "file:///invalid")
337 assert @repository
339 assert @repository
338 @repository.fetch_changesets
340 @repository.fetch_changesets
339 @repository.reload
341 @repository.reload
340 assert_equal 0, @repository.changesets.count
342 assert_equal 0, @repository.changesets.count
341
343
342 get :destroy, :id => PRJ_ID
344 get :destroy, :id => PRJ_ID
343 assert_response 302
345 assert_response 302
344 @project.reload
346 @project.reload
345 assert_nil @project.repository
347 assert_nil @project.repository
346 end
348 end
347 else
349 else
348 puts "Subversion test repository NOT FOUND. Skipping functional tests !!!"
350 puts "Subversion test repository NOT FOUND. Skipping functional tests !!!"
349 def test_fake; assert true end
351 def test_fake; assert true end
350 end
352 end
351 end
353 end
General Comments 0
You need to be logged in to leave comments. Login now