pre_push 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 88d2fcd81090f8698bde0b9a45dd92a8de672ca1
4
+ data.tar.gz: c6cf28cd9f7c5095bab19693fb976b0b27b0ecee
5
+ SHA512:
6
+ metadata.gz: 950e90534790bb61722caa2d596914f5928cbe74474661f9fc4577c59c260a64be7995d63fb293691c54ce24c4722ece21831b9eaae0595a2f3043c937c03aef
7
+ data.tar.gz: 3b747cb36cc6d012f7c5e6fce9aabffed0145b261291a740be7f6c0aacf516a65b449155f01826d9e9e7dec13e62061915da21b90d7b3bc9542fd881f5e2d3b0
data/README.md CHANGED
@@ -40,6 +40,11 @@ If you wish to specify the dlls that your test runner should run/test use:
40
40
 
41
41
  $ prepush /td=./path/to/some.dll,./path/to/another.dll
42
42
 
43
+ If you wish to specify what dlls should be ran by which test runner, you'll need to add something like the following to you pre-push hook:
44
+
45
+ @tests_to_run = {mspec0515: ["./path/to/mspec/tests.dll"], nunit262: ["./path/to/nunit/tests1.dll", "./path/to/nunit/tests2.dll"]}
46
+ **This will override anything you may have assigned to @assemblies!**
47
+
43
48
  The default msbuild path used is C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe.
44
49
  If you wish to override it use:
45
50
 
data/bin/prepush CHANGED
@@ -20,7 +20,7 @@ if PrePush::Validator.validate(runner)
20
20
  sln_path = PrePush::SlnFinder.find || "path/to/your.sln"
21
21
  content = file_text.gsub(/\{runner\}/, "\"#{runner}\"").gsub(/\{sln_path\}/, "\"#{sln_path}\"")
22
22
  if test_dlls != nil
23
- content = content.sub("# @assemblies = {test_dlls}", "@assemblies = #{test_dlls}")
23
+ content = content.sub("# @assemblies = [{test_dlls}]", "@assemblies = [#{test_dlls}]")
24
24
  end
25
25
  if msbuild != nil
26
26
  content = content.sub("# override_msbuild 'path/to/custom/msbuild.exe'","override_msbuild '#{msbuild}'")
@@ -1,3 +1,3 @@
1
1
  module PrePush
2
- VERSION = "1.0.1"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/pre_push.rb CHANGED
@@ -20,14 +20,16 @@ module PrePush
20
20
  $?.success?
21
21
  end
22
22
  def run_tests assemblies
23
- assemblies = assemblies || [@solution]
24
- assemblies = assemblies.empty? ? [@solution] : assemblies
23
+ assemblies = assemblies.to_a.empty? ? [@solution] : assemblies
25
24
  success = true
26
25
  gem_lib = File.dirname(__FILE__)
27
- assemblies.each do |assembly|
28
- system "#{test_runner_path(gem_lib)} \"#{assembly}\""
29
- success &= $?.success?
30
- end
26
+ tests_to_run = @tests_to_run || {@test_runner => assemblies}
27
+ tests_to_run.each_pair do |test_to_run|
28
+ test_to_run[1].each do |assembly|
29
+ system "#{test_runner_path(gem_lib, test_to_run[0])} \"#{assembly}\""
30
+ success &= $?.success?
31
+ end
32
+ end
31
33
  success
32
34
  end
33
35
 
@@ -35,8 +37,9 @@ module PrePush
35
37
  def msbuild
36
38
  MSBuild
37
39
  end
38
- def test_runner_path gem_lib
39
- "\"#{gem_lib}/runners/#{@test_runner}/#{runners_exes[@test_runner]}\""
40
+ def test_runner_path gem_lib, test_runner
41
+ test_runner = test_runner.to_s
42
+ "\"#{gem_lib}/runners/#{test_runner}/#{runners_exes[test_runner]}\""
40
43
  end
41
44
  def override_msbuild custom_msbuild
42
45
  define_singleton_method :msbuild do
@@ -44,7 +47,7 @@ module PrePush
44
47
  end
45
48
  end
46
49
  def force_test_runner runner_path
47
- define_singleton_method :test_runner_path do |gem_lib|
50
+ define_singleton_method :test_runner_path do |gem_lib, nothing|
48
51
  runner_path
49
52
  end
50
53
  end
@@ -9,7 +9,8 @@ class Executor
9
9
  ###
10
10
 
11
11
  @solution = {sln_path} # the path to the solution to build
12
- # @assemblies = {test_dlls} # insert dlls to test if different to the solution.
12
+ # @assemblies = [{test_dlls}] # insert dlls to test if different to the solution.
13
+ # @tests_to_run = {xunit191: ["./path/to/xunit/tests.dll"], nunit262: ["./path/to/nunit/tests1.dll", "./path/to/nunit/tests2.dll"]}
13
14
  # override_msbuild 'path/to/custom/msbuild.exe'
14
15
  # force_test_runner 'path/to/my/custom/test_runner.exe' # uncomment to use a custom test runner
15
16
  end
@@ -1,7 +1,7 @@
1
- mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins" 2> NUL
2
- mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" 2> NUL
3
- copy /y Machine.Specifications.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec"
4
- copy /y Machine.Specifications.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" > NUL
5
- copy /y Machine.Specifications.dotCoverRunner.2.0.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec"
6
- copy /y Machine.Specifications.dotCoverRunner.2.0.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" > NUL
7
- pause
1
+ mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins" 2> NUL
2
+ mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" 2> NUL
3
+ copy /y Machine.Specifications.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec"
4
+ copy /y Machine.Specifications.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" > NUL
5
+ copy /y Machine.Specifications.dotCoverRunner.2.0.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec"
6
+ copy /y Machine.Specifications.dotCoverRunner.2.0.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.0\Plugins\mspec" > NUL
7
+ pause
@@ -1,7 +1,7 @@
1
- mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins" 2> NUL
2
- mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" 2> NUL
3
- copy /y Machine.Specifications.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec"
4
- copy /y Machine.Specifications.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" > NUL
5
- copy /y Machine.Specifications.dotCoverRunner.2.1.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec"
6
- copy /y Machine.Specifications.dotCoverRunner.2.1.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" > NUL
7
- pause
1
+ mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins" 2> NUL
2
+ mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" 2> NUL
3
+ copy /y Machine.Specifications.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec"
4
+ copy /y Machine.Specifications.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" > NUL
5
+ copy /y Machine.Specifications.dotCoverRunner.2.1.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec"
6
+ copy /y Machine.Specifications.dotCoverRunner.2.1.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.1\Plugins\mspec" > NUL
7
+ pause
@@ -1,7 +1,7 @@
1
- mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins" 2> NUL
2
- mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" 2> NUL
3
- copy /y Machine.Specifications.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec"
4
- copy /y Machine.Specifications.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" > NUL
5
- copy /y Machine.Specifications.dotCoverRunner.2.2.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec"
6
- copy /y Machine.Specifications.dotCoverRunner.2.2.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" > NUL
7
- pause
1
+ mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins" 2> NUL
2
+ mkdir "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" 2> NUL
3
+ copy /y Machine.Specifications.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec"
4
+ copy /y Machine.Specifications.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" > NUL
5
+ copy /y Machine.Specifications.dotCoverRunner.2.2.dll "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec"
6
+ copy /y Machine.Specifications.dotCoverRunner.2.2.pdb "%LOCALAPPDATA%\JetBrains\dotCover\v2.2\Plugins\mspec" > NUL
7
+ pause
@@ -1,10 +1,10 @@
1
- del "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins\Machine.Specifications.*" 2> NUL
2
- del "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins\Machine.Specifications.*" 2> NUL
3
-
4
- mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins" 2> NUL
5
- mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" 2> NUL
6
- copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec"
7
- copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" > NUL
8
- copy /y Machine.Specifications.ReSharperRunner.6.1.dll "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec"
9
- copy /y Machine.Specifications.ReSharperRunner.6.1.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" > NUL
10
- pause
1
+ del "%APPDATA%\JetBrains\ReSharper\v6.1\vs9.0\Plugins\Machine.Specifications.*" 2> NUL
2
+ del "%APPDATA%\JetBrains\ReSharper\v6.1\vs10.0\Plugins\Machine.Specifications.*" 2> NUL
3
+
4
+ mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins" 2> NUL
5
+ mkdir "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" 2> NUL
6
+ copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec"
7
+ copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" > NUL
8
+ copy /y Machine.Specifications.ReSharperRunner.6.1.dll "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec"
9
+ copy /y Machine.Specifications.ReSharperRunner.6.1.pdb "%APPDATA%\JetBrains\ReSharper\v6.1\Plugins\mspec" > NUL
10
+ pause
@@ -1,10 +1,10 @@
1
- del "%APPDATA%\JetBrains\ReSharper\v7.0\vs10.0\Plugins\Machine.Specifications.*" 2> NUL
2
- del "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins\Machine.Specifications.*" 2> NUL
3
-
4
- mkdir "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins" 2> NUL
5
- mkdir "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" 2> NUL
6
- copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec"
7
- copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" > NUL
8
- copy /y Machine.Specifications.ReSharperRunner.7.0.dll "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec"
9
- copy /y Machine.Specifications.ReSharperRunner.7.0.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" > NUL
10
- pause
1
+ del "%APPDATA%\JetBrains\ReSharper\v7.0\vs10.0\Plugins\Machine.Specifications.*" 2> NUL
2
+ del "%APPDATA%\JetBrains\ReSharper\v7.0\vs11.0\Plugins\Machine.Specifications.*" 2> NUL
3
+
4
+ mkdir "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins" 2> NUL
5
+ mkdir "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" 2> NUL
6
+ copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec"
7
+ copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" > NUL
8
+ copy /y Machine.Specifications.ReSharperRunner.7.0.dll "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec"
9
+ copy /y Machine.Specifications.ReSharperRunner.7.0.pdb "%APPDATA%\JetBrains\ReSharper\v7.0\Plugins\mspec" > NUL
10
+ pause
@@ -1,10 +1,10 @@
1
- del "%APPDATA%\JetBrains\ReSharper\v7.1\vs10.0\Plugins\Machine.Specifications.*" 2> NUL
2
- del "%APPDATA%\JetBrains\ReSharper\v7.1\vs11.0\Plugins\Machine.Specifications.*" 2> NUL
3
-
4
- mkdir "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins" 2> NUL
5
- mkdir "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" 2> NUL
6
- copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec"
7
- copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" > NUL
8
- copy /y Machine.Specifications.ReSharperRunner.7.1.dll "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec"
9
- copy /y Machine.Specifications.ReSharperRunner.7.1.pdb "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" > NUL
10
- pause
1
+ del "%APPDATA%\JetBrains\ReSharper\v7.1\vs10.0\Plugins\Machine.Specifications.*" 2> NUL
2
+ del "%APPDATA%\JetBrains\ReSharper\v7.1\vs11.0\Plugins\Machine.Specifications.*" 2> NUL
3
+
4
+ mkdir "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins" 2> NUL
5
+ mkdir "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" 2> NUL
6
+ copy /y Machine.Specifications.dll "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec"
7
+ copy /y Machine.Specifications.pdb "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" > NUL
8
+ copy /y Machine.Specifications.ReSharperRunner.7.1.dll "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec"
9
+ copy /y Machine.Specifications.ReSharperRunner.7.1.pdb "%APPDATA%\JetBrains\ReSharper\v7.1\Plugins\mspec" > NUL
10
+ pause
@@ -1,9 +1,9 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <configuration>
3
- <startup useLegacyV2RuntimeActivationPolicy="true">
4
- <supportedRuntime version="v4.0"/>
5
- </startup>
6
- <runtime>
7
- <loadFromRemoteSources enabled="true"/>
8
- </runtime>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <startup useLegacyV2RuntimeActivationPolicy="true">
4
+ <supportedRuntime version="v4.0"/>
5
+ </startup>
6
+ <runtime>
7
+ <loadFromRemoteSources enabled="true"/>
8
+ </runtime>
9
9
  </configuration>
@@ -1,9 +1,9 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <configuration>
3
- <startup useLegacyV2RuntimeActivationPolicy="true">
4
- <supportedRuntime version="v4.0"/>
5
- </startup>
6
- <runtime>
7
- <loadFromRemoteSources enabled="true"/>
8
- </runtime>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <startup useLegacyV2RuntimeActivationPolicy="true">
4
+ <supportedRuntime version="v4.0"/>
5
+ </startup>
6
+ <runtime>
7
+ <loadFromRemoteSources enabled="true"/>
8
+ </runtime>
9
9
  </configuration>
@@ -10,16 +10,16 @@
10
10
  <projectUrl>http://nunit.org/</projectUrl>
11
11
  <iconUrl>http://nunit.org/nuget/nunit_32x32.png</iconUrl>
12
12
  <requireLicenseAcceptance>false</requireLicenseAcceptance>
13
- <description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible. A number of runners, both from the NUnit project and by third parties, are able to execute NUnit tests.
14
-
15
- Version 2.6 is the seventh major release of this well-known and well-tested programming tool.
16
-
13
+ <description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible. A number of runners, both from the NUnit project and by third parties, are able to execute NUnit tests.
14
+
15
+ Version 2.6 is the seventh major release of this well-known and well-tested programming tool.
16
+
17
17
  This package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner.</description>
18
18
  <summary>NUnit is a unit-testing framework for all .Net languages with a strong TDD focus.</summary>
19
- <releaseNotes>Version 2.6 is the seventh major release of NUnit.
20
-
21
- Unlike earlier versions, this package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner.
22
-
19
+ <releaseNotes>Version 2.6 is the seventh major release of NUnit.
20
+
21
+ Unlike earlier versions, this package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner.
22
+
23
23
  The nunit.mocks assembly is now provided by the NUnit.Mocks package. The pnunit.framework assembly is provided by the pNUnit package.</releaseNotes>
24
24
  <copyright />
25
25
  <language>en-US</language>
@@ -11,6 +11,11 @@ class EmptyDllsDummy
11
11
  include PrePush
12
12
  end
13
13
 
14
+ class MultiTesterDummy
15
+ @tests_to_run = {mspec0515: ["./path/to/mspec/tests.dll"], nunit262: ["./path/to/nunit/tests1.dll", "./path/to/nunit/tests2.dll"]}
16
+ include PrePush
17
+ end
18
+
14
19
  class DummyCustomMSBuild < Dummy
15
20
  override_msbuild 'path/to/custom/msbuild.exe'
16
21
  end
@@ -48,6 +53,12 @@ describe PrePush do
48
53
  DummyCustomTestRunner.should_receive("system").with(/^path\/to\/my\/custom\/test_runner.exe/)
49
54
  DummyCustomTestRunner.run_tests(['some_test_proj.csproj'])
50
55
  end
56
+ it "should use specified test runner on specified test dlls when using tests_to_run" do
57
+ MultiTesterDummy.should_receive("system").with(/mspec-clr4.exe\" \".\/path\/to\/mspec\/tests.dll\"$/)
58
+ MultiTesterDummy.should_receive("system").with(/nunit-console.exe\" \".\/path\/to\/nunit\/tests1.dll\"$/)
59
+ MultiTesterDummy.should_receive("system").with(/nunit-console.exe\" \".\/path\/to\/nunit\/tests2.dll\"$/)
60
+ MultiTesterDummy.run_tests(nil)
61
+ end
51
62
  describe 'when assemblies are left empty' do
52
63
  it 'should call system to run tests on solution' do
53
64
  EmptyDllsDummy.should_receive("system").with(/\.\/path\/to\/some.sln"$/)
data/spec/spec_helper.rb CHANGED
@@ -1,76 +1,76 @@
1
- require 'rubygems'
2
- require 'spork'
3
- require 'rspec'
4
- require 'rspec/expectations'
5
- require 'nokogiri'
6
- require 'pre_push'
7
- require 'prepush_validator'
8
- require 'sln_finder'
9
- require 'args_parser'
10
-
11
- #uncomment the following line to use spork with the debugger
12
- #require 'spork/ext/ruby-debug'
13
-
14
- Spork.prefork do
15
- # Loading more in this block will cause your tests to run faster. However,
16
- # if you change any configuration or code from libraries loaded here, you'll
17
- # need to restart spork for it take effect.
18
-
19
- end
20
-
21
- Spork.each_run do
22
- # This code will be run each time you run your specs.
23
-
24
- end
25
-
26
- # --- Instructions ---
27
- # Sort the contents of this file into a Spork.prefork and a Spork.each_run
28
- # block.
29
- #
30
- # The Spork.prefork block is run only once when the spork server is started.
31
- # You typically want to place most of your (slow) initializer code in here, in
32
- # particular, require'ing any 3rd-party gems that you don't normally modify
33
- # during development.
34
- #
35
- # The Spork.each_run block is run each time you run your specs. In case you
36
- # need to load files that tend to change during development, require them here.
37
- # With Rails, your application modules are loaded automatically, so sometimes
38
- # this block can remain empty.
39
- #
40
- # Note: You can modify files loaded *from* the Spork.each_run block without
41
- # restarting the spork server. However, this file itself will not be reloaded,
42
- # so if you change any of the code inside the each_run block, you still need to
43
- # restart the server. In general, if you have non-trivial code in this file,
44
- # it's advisable to move it into a separate file so you can easily edit it
45
- # without restarting spork. (For example, with RSpec, you could move
46
- # non-trivial code into a file spec/support/my_helper.rb, making sure that the
47
- # spec/support/* files are require'd from inside the each_run block.)
48
- #
49
- # Any code that is left outside the two blocks will be run during preforking
50
- # *and* during each_run -- that's probably not what you want.
51
- #
52
- # These instructions should self-destruct in 10 seconds. If they don't, feel
53
- # free to delete them.
54
-
55
-
56
-
57
-
58
-
59
- class ReplaceClr
60
- def self.between(old_version, new_version, proj = nil)
61
- lines = []
62
- lib = File.dirname(__FILE__)
63
-
64
- proj = proj || 'TestProj'
65
- tfv = "TargetFrameworkVersion"
66
- target = "<#{tfv}>#{old_version}</#{tfv}>"
67
- replace = "<#{tfv}>#{new_version}</#{tfv}>"
68
- csproj = "#{lib}/../spec/TestProj/#{proj}/TestProj.csproj"
69
- File.open(csproj) do |f|
70
- f.each_line {|line| lines << line.sub(old_version, new_version)}
71
- end
72
- File.open(csproj, "w") do |file|
73
- lines.each { |l| file.puts l }
74
- end
75
- end
76
- end
1
+ require 'rubygems'
2
+ require 'spork'
3
+ require 'rspec'
4
+ require 'rspec/expectations'
5
+ require 'nokogiri'
6
+ require 'pre_push'
7
+ require 'prepush_validator'
8
+ require 'sln_finder'
9
+ require 'args_parser'
10
+
11
+ #uncomment the following line to use spork with the debugger
12
+ #require 'spork/ext/ruby-debug'
13
+
14
+ Spork.prefork do
15
+ # Loading more in this block will cause your tests to run faster. However,
16
+ # if you change any configuration or code from libraries loaded here, you'll
17
+ # need to restart spork for it take effect.
18
+
19
+ end
20
+
21
+ Spork.each_run do
22
+ # This code will be run each time you run your specs.
23
+
24
+ end
25
+
26
+ # --- Instructions ---
27
+ # Sort the contents of this file into a Spork.prefork and a Spork.each_run
28
+ # block.
29
+ #
30
+ # The Spork.prefork block is run only once when the spork server is started.
31
+ # You typically want to place most of your (slow) initializer code in here, in
32
+ # particular, require'ing any 3rd-party gems that you don't normally modify
33
+ # during development.
34
+ #
35
+ # The Spork.each_run block is run each time you run your specs. In case you
36
+ # need to load files that tend to change during development, require them here.
37
+ # With Rails, your application modules are loaded automatically, so sometimes
38
+ # this block can remain empty.
39
+ #
40
+ # Note: You can modify files loaded *from* the Spork.each_run block without
41
+ # restarting the spork server. However, this file itself will not be reloaded,
42
+ # so if you change any of the code inside the each_run block, you still need to
43
+ # restart the server. In general, if you have non-trivial code in this file,
44
+ # it's advisable to move it into a separate file so you can easily edit it
45
+ # without restarting spork. (For example, with RSpec, you could move
46
+ # non-trivial code into a file spec/support/my_helper.rb, making sure that the
47
+ # spec/support/* files are require'd from inside the each_run block.)
48
+ #
49
+ # Any code that is left outside the two blocks will be run during preforking
50
+ # *and* during each_run -- that's probably not what you want.
51
+ #
52
+ # These instructions should self-destruct in 10 seconds. If they don't, feel
53
+ # free to delete them.
54
+
55
+
56
+
57
+
58
+
59
+ class ReplaceClr
60
+ def self.between(old_version, new_version, proj = nil)
61
+ lines = []
62
+ lib = File.dirname(__FILE__)
63
+
64
+ proj = proj || 'TestProj'
65
+ tfv = "TargetFrameworkVersion"
66
+ target = "<#{tfv}>#{old_version}</#{tfv}>"
67
+ replace = "<#{tfv}>#{new_version}</#{tfv}>"
68
+ csproj = "#{lib}/../spec/TestProj/#{proj}/TestProj.csproj"
69
+ File.open(csproj) do |f|
70
+ f.each_line {|line| lines << line.sub(old_version, new_version)}
71
+ end
72
+ File.open(csproj, "w") do |file|
73
+ lines.each { |l| file.puts l }
74
+ end
75
+ end
76
+ end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pre_push
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - nieve
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-04 00:00:00.000000000 Z
11
+ date: 2013-11-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -241,6 +236,7 @@ files:
241
236
  homepage: https://github.com/nieve/prepush
242
237
  licenses:
243
238
  - MIT
239
+ metadata: {}
244
240
  post_install_message: ! "cd to your git repository (containing the .git directory)
245
241
  and from there type 'prepush' to drop the prush hook into .git/hooks. \nBy default
246
242
  the hook will use 'C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe' to
@@ -250,22 +246,20 @@ rdoc_options: []
250
246
  require_paths:
251
247
  - lib
252
248
  required_ruby_version: !ruby/object:Gem::Requirement
253
- none: false
254
249
  requirements:
255
250
  - - ! '>='
256
251
  - !ruby/object:Gem::Version
257
252
  version: '0'
258
253
  required_rubygems_version: !ruby/object:Gem::Requirement
259
- none: false
260
254
  requirements:
261
255
  - - ! '>='
262
256
  - !ruby/object:Gem::Version
263
257
  version: '0'
264
258
  requirements: []
265
259
  rubyforge_project:
266
- rubygems_version: 1.8.24
260
+ rubygems_version: 2.1.11
267
261
  signing_key:
268
- specification_version: 3
262
+ specification_version: 4
269
263
  summary: Add a pre-push git hook on any of your repos to build & run tests of your
270
264
  .net project.
271
265
  test_files: