diff options
| -rw-r--r-- | rake_tasks/test.rake | 19 | 
1 files changed, 13 insertions, 6 deletions
| diff --git a/rake_tasks/test.rake b/rake_tasks/test.rake index e09d91d..7078f84 100644 --- a/rake_tasks/test.rake +++ b/rake_tasks/test.rake @@ -18,24 +18,31 @@ namespace :test do      ruby './test/unit/suite.rb'    end -  scanner_suite = './test/scanners/suite.rb' +  scanner_suite = 'test/scanners/suite.rb'    task scanner_suite do -    puts 'Scanner tests not found; downloading from Subversion...' -    sh 'svn co http://svn.rubychan.de/coderay-scanner-tests/trunk/ test/scanners/' -    puts 'Finished.' +    unless File.exist? scanner_suite +      puts 'Scanner tests not found; downloading from Subversion...' +      sh 'svn co http://svn.rubychan.de/coderay-scanner-tests/trunk/ test/scanners/' +      puts 'Finished.' +    end    end    desc 'run all scanner tests' -  task :scanners => scanner_suite do +  task :scanners => :update_scanner_suite do      ruby scanner_suite    end +  desc 'update scanner test suite from SVN' +  task :update_scanner_suite => scanner_suite do +    sh "svn up #{File.dirname(scanner_suite)}" +  end +      namespace :scanner do      Dir['./test/scanners/*'].each do |scanner|        next unless File.directory? scanner        lang = File.basename(scanner)        desc "run all scanner tests for #{lang}" -      task lang do +      task lang => :update_scanner_suite do          ruby "./test/scanners/suite.rb #{lang}"        end      end | 
