Sha256: 06fc04e7a4e2e1ebeddda884a72e9e915a2d3642d9a41454736553aee7028a21

Contents?: true

Size: 1.03 KB

Versions: 9

Compression:

Stored size: 1.03 KB

Contents

#!/usr/bin/env ratch

# cross-run unit tests
#
# This tool runs all tests against each other in pairs
# to ensure across the board compatibility.

abort "Not working correctly. Fix me."

require "./lib/more/facets/progressbar"

main :test do
  output = "doc/log/crosstest.txt"

  live = ARGV.delete('--live')

  find = 'test/**/test_*.rb'

  tests = Dir.glob(find).reject{ |f| dir?(f) }.sort
  tests = tests.sort{ |a,b| File.basename(a) <=> File.basename(b) }

  File.open(output, 'w'){ |f|
    f << "= CROSS TESTING\n#{Time.now}"
  }

  total = tests.size * tests.size

  pbar = Console::ProgressBar.new("CrossTest", total+1)
  pbar.inc

  tests.each do |file1|
    tests.each do |file2|
      next if file1 == file2

      sh %{echo "\n\n#{file1} & #{file2}" >> #{output}}

      pbar.title = File.basename(file1)
      pbar.inc
      pbar.flush

      if live
        sh %{ruby -r#{file2} #{file1} >> #{output}}
      else
        sh %{ruby -Ilib/more -Ilib/core -Ilib/methods -r#{file2} #{file1} >> #{output}}
      end
    end
  end

  pbar.finish
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
facets-2.1.1 task/testpairs
facets-2.0.4 task/testpairs
facets-2.0.3 task/testpairs
facets-2.0.5 task/testpairs
facets-2.1.0 task/testpairs
facets-2.1.2 task/test/pairs
facets-2.1.3 task/test/pairs
facets-2.2.0 task/test/pairs
facets-2.2.1 task/test/pairs