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 |