Skip to content

Commit

Permalink
Make rake test:uncommitted work with Git.
Browse files Browse the repository at this point in the history
Note : rake test:uncommitted is considering only unstaged files.

Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
  • Loading branch information
tpope authored and lifo committed Jul 2, 2008
1 parent f5052dd commit 3a95ee7
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
2 changes: 2 additions & 0 deletions railties/CHANGELOG
@@ -1,5 +1,7 @@
*Edge*

* Make rake test:uncommitted work with Git. [Tim Pope]

* Added Thin support to script/server. #488 [Bob Klosinski]

* Fix script/about in production mode. #370 [Cheah Chu Yeow, Xavier Noria, David Krmpotic]
Expand Down
14 changes: 10 additions & 4 deletions railties/lib/tasks/testing.rake
Expand Up @@ -66,10 +66,16 @@ namespace :test do

Rake::TestTask.new(:uncommitted => "db:test:prepare") do |t|
def t.file_list
changed_since_checkin = silence_stderr { `svn status` }.map { |path| path.chomp[7 .. -1] }
if File.directory?(".svn")
changed_since_checkin = silence_stderr { `svn status` }.map { |path| path.chomp[7 .. -1] }
elsif File.directory?(".git")
changed_since_checkin = silence_stderr { `git ls-files --modified --others` }.map { |path| path.chomp }
else
abort "Not a Subversion or Git checkout."
end

models = changed_since_checkin.select { |path| path =~ /app[\\\/]models[\\\/].*\.rb/ }
controllers = changed_since_checkin.select { |path| path =~ /app[\\\/]controllers[\\\/].*\.rb/ }
models = changed_since_checkin.select { |path| path =~ /app[\\\/]models[\\\/].*\.rb$/ }
controllers = changed_since_checkin.select { |path| path =~ /app[\\\/]controllers[\\\/].*\.rb$/ }

unit_tests = models.map { |model| "test/unit/#{File.basename(model, '.rb')}_test.rb" }
functional_tests = controllers.map { |controller| "test/functional/#{File.basename(controller, '.rb')}_test.rb" }
Expand All @@ -80,7 +86,7 @@ namespace :test do
t.libs << 'test'
t.verbose = true
end
Rake::Task['test:uncommitted'].comment = "Test changes since last checkin (only Subversion)"
Rake::Task['test:uncommitted'].comment = "Test changes since last checkin (only Subversion and Git)"

Rake::TestTask.new(:units => "db:test:prepare") do |t|
t.libs << "test"
Expand Down

0 comments on commit 3a95ee7

Please sign in to comment.