module PrePush::ClassMethods
Public Instance Methods
build()
click to toggle source
# File lib/pre_push.rb, line 18 def build @solution.to_a.each do |s| system "#{msbuild} #{s}" return false if !$?.success? end $?.success? end
run()
click to toggle source
# File lib/pre_push.rb, line 6 def run success = build if (!success) puts 'build has failed' exit(1) end success = run_tests(@assemblies) if (!success) puts 'Tests have failed' exit(1) end end
run_tests(assemblies)
click to toggle source
# File lib/pre_push.rb, line 25 def run_tests assemblies assemblies = assemblies.to_a.empty? ? @solution.to_a : assemblies success = true gem_lib = File.dirname(__FILE__) tests_to_run = @tests_to_run || {@test_runner => assemblies} tests_to_run.each_pair do |test_to_run| test_to_run[1].each do |assembly| system "#{test_runner_path(gem_lib, test_to_run[0])} \"#{assembly}\"" success &= $?.success? end end success end
Private Instance Methods
force_test_runner(runner_path)
click to toggle source
# File lib/pre_push.rb, line 52 def force_test_runner runner_path define_singleton_method :test_runner_path do |gem_lib, nothing| runner_path end end
msbuild()
click to toggle source
# File lib/pre_push.rb, line 40 def msbuild MSBuild end
override_msbuild(custom_msbuild)
click to toggle source
# File lib/pre_push.rb, line 47 def override_msbuild custom_msbuild define_singleton_method :msbuild do custom_msbuild end end
runners_exes()
click to toggle source
# File lib/pre_push.rb, line 57 def runners_exes { 'mspec' => 'mspec-clr4.exe', 'mspec0515' => 'mspec-clr4.exe', 'mspec0512' => 'mspec-clr4.exe', 'nunit262' => 'nunit-console.exe', 'nunit263' => 'nunit-console.exe', 'xunit191' => 'xunit.console.exe' } end
test_runner_path(gem_lib, test_runner)
click to toggle source
# File lib/pre_push.rb, line 43 def test_runner_path gem_lib, test_runner test_runner = test_runner.to_s "\"#{gem_lib}/runners/#{test_runner}/#{runners_exes[test_runner]}\"" end