pre_push 0.0.1.3 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in pre_push.gemspec
4
4
  gemspec
5
+ gem 'rspec'
6
+ gem 'spork'
@@ -1,3 +1,3 @@
1
1
  module PrePush
2
- VERSION = "0.0.1.3"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/pre_push.rb CHANGED
@@ -3,7 +3,7 @@ require "pre_push/version"
3
3
  module PrePush
4
4
  module ClassMethods
5
5
  attr :runner
6
- MSBuildPaths = {:clr4 => 'C:/Windows/Microsoft.NET/Framework/v4.0.30319', :clr2 => 'C:/Windows/Microsoft.NET/Framework/v2.0.50727'}
6
+ MSBuildPaths = {:clr4 => 'C:/Windows/Microsoft.NET/Framework/v4.0.30319'}
7
7
  def run
8
8
  success = build
9
9
  if (!success)
@@ -18,12 +18,7 @@ module PrePush
18
18
  end
19
19
  def build
20
20
  set_exes_cache
21
- clr = @clr == nil ? :clr4 : @clr.to_sym
22
- if MSBuildPaths[clr] == nil
23
- puts 'please assign clr2 or clr4 to @clr'
24
- exit(1)
25
- end
26
- msbuild = "#{MSBuildPaths[clr]}/MSBuild.exe"
21
+ msbuild = "#{MSBuildPaths[:clr4]}/MSBuild.exe"
27
22
  system "#{msbuild} #{@solution}"
28
23
  $?.success?
29
24
  end
@@ -67,11 +62,11 @@ class Container
67
62
  end
68
63
  end
69
64
 
70
- module Config
65
+ module PrepushConfig
71
66
  private
72
- def use(runner)
67
+ def use_runner(runner)
73
68
  Container.runner = runner
74
69
  end
75
70
  end
76
71
 
77
- self.extend Config
72
+ self.extend PrepushConfig
@@ -1 +1 @@
1
- use 'mspec-clr4.exe'
1
+ use_runner 'mspec-clr4.exe'
@@ -1 +1 @@
1
- use 'nunit-console.exe'
1
+ use_runner 'nunit-console.exe'
@@ -1 +1 @@
1
- use 'xunit.console.exe'
1
+ use_runner 'xunit.console.exe'
@@ -33,6 +33,6 @@ namespace TestProj
33
33
 
34
34
  public class MspecTests
35
35
  {
36
- Machine.Specifications.It should_equal_one = () => 1.ShouldEqual(1);
36
+ It should_equal_one = () => 1.ShouldEqual(1);
37
37
  }
38
38
  }
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="utf-8"?>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
2
  <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
3
  <PropertyGroup>
4
4
  <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -62,4 +62,4 @@
62
62
  <Target Name="AfterBuild">
63
63
  </Target>
64
64
  -->
65
- </Project>
65
+ </Project>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0"?>
2
+ <configuration>
3
+ <startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
@@ -0,0 +1,31 @@
1
+ using NUnit.Framework;
2
+ using Xunit;
3
+
4
+ namespace TestProj
5
+ {
6
+ class Program
7
+ {
8
+ static void Main(string[] args)
9
+ {
10
+ }
11
+ }
12
+
13
+ [TestFixture]
14
+ public class NunitTests
15
+ {
16
+ [Test]
17
+ public void OneEqualsOne()
18
+ {
19
+ NUnit.Framework.Assert.AreEqual(1, 1);
20
+ }
21
+ }
22
+
23
+ public class XUnitTests
24
+ {
25
+ [Fact]
26
+ public void OneEqualsOne()
27
+ {
28
+ Xunit.Assert.Equal(1, 1);
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,36 @@
1
+ using System.Reflection;
2
+ using System.Runtime.CompilerServices;
3
+ using System.Runtime.InteropServices;
4
+
5
+ // General Information about an assembly is controlled through the following
6
+ // set of attributes. Change these attribute values to modify the information
7
+ // associated with an assembly.
8
+ [assembly: AssemblyTitle("TestProj")]
9
+ [assembly: AssemblyDescription("")]
10
+ [assembly: AssemblyConfiguration("")]
11
+ [assembly: AssemblyCompany("")]
12
+ [assembly: AssemblyProduct("TestProj")]
13
+ [assembly: AssemblyCopyright("Copyright © 2013")]
14
+ [assembly: AssemblyTrademark("")]
15
+ [assembly: AssemblyCulture("")]
16
+
17
+ // Setting ComVisible to false makes the types in this assembly not visible
18
+ // to COM components. If you need to access a type in this assembly from
19
+ // COM, set the ComVisible attribute to true on that type.
20
+ [assembly: ComVisible(false)]
21
+
22
+ // The following GUID is for the ID of the typelib if this project is exposed to COM
23
+ [assembly: Guid("14678652-2efc-449c-b565-d3908cd12c11")]
24
+
25
+ // Version information for an assembly consists of the following four values:
26
+ //
27
+ // Major Version
28
+ // Minor Version
29
+ // Build Number
30
+ // Revision
31
+ //
32
+ // You can specify all the values or you can default the Build and Revision Numbers
33
+ // by using the '*' as shown below:
34
+ // [assembly: AssemblyVersion("1.0.*")]
35
+ [assembly: AssemblyVersion("1.0.0.0")]
36
+ [assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,62 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup>
4
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6
+ <ProductVersion>8.0.30703</ProductVersion>
7
+ <SchemaVersion>2.0</SchemaVersion>
8
+ <ProjectGuid>{D29E34F2-D326-48EB-9354-D6882867A7A3}</ProjectGuid>
9
+ <OutputType>Library</OutputType>
10
+ <AppDesignerFolder>Properties</AppDesignerFolder>
11
+ <RootNamespace>TestProj</RootNamespace>
12
+ <AssemblyName>TestProj</AssemblyName>
13
+ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
14
+ <FileAlignment>512</FileAlignment>
15
+ <TargetFrameworkProfile>
16
+ </TargetFrameworkProfile>
17
+ </PropertyGroup>
18
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
19
+ <DebugSymbols>true</DebugSymbols>
20
+ <DebugType>full</DebugType>
21
+ <Optimize>false</Optimize>
22
+ <OutputPath>bin\Debug\</OutputPath>
23
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
24
+ <ErrorReport>prompt</ErrorReport>
25
+ <WarningLevel>4</WarningLevel>
26
+ </PropertyGroup>
27
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
28
+ <DebugType>pdbonly</DebugType>
29
+ <Optimize>true</Optimize>
30
+ <OutputPath>bin\Release\</OutputPath>
31
+ <DefineConstants>TRACE</DefineConstants>
32
+ <ErrorReport>prompt</ErrorReport>
33
+ <WarningLevel>4</WarningLevel>
34
+ </PropertyGroup>
35
+ <PropertyGroup>
36
+ <StartupObject />
37
+ </PropertyGroup>
38
+ <ItemGroup>
39
+ <Reference Include="nunit.framework, Version=2.6.2.12296, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
40
+ <HintPath>..\packages\NUnit.2.6.2\lib\nunit.framework.dll</HintPath>
41
+ </Reference>
42
+ <Reference Include="System" />
43
+ <Reference Include="xunit">
44
+ <HintPath>..\packages\xunit.1.9.1\lib\net20\xunit.dll</HintPath>
45
+ </Reference>
46
+ </ItemGroup>
47
+ <ItemGroup>
48
+ <Compile Include="AllTests.cs" />
49
+ <Compile Include="Properties\AssemblyInfo.cs" />
50
+ </ItemGroup>
51
+ <ItemGroup>
52
+ <None Include="packages.config" />
53
+ </ItemGroup>
54
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
55
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
56
+ Other similar extension points exist, see Microsoft.Common.targets.
57
+ <Target Name="BeforeBuild">
58
+ </Target>
59
+ <Target Name="AfterBuild">
60
+ </Target>
61
+ -->
62
+ </Project>
@@ -0,0 +1,20 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 11.00
3
+ # Visual Studio 2010
4
+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestProj", "TestProj.csproj", "{D29E34F2-D326-48EB-9354-D6882867A7A3}"
5
+ EndProject
6
+ Global
7
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
8
+ Debug|Any CPU = Debug|Any CPU
9
+ Release|Any CPU = Release|Any CPU
10
+ EndGlobalSection
11
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
12
+ {D29E34F2-D326-48EB-9354-D6882867A7A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13
+ {D29E34F2-D326-48EB-9354-D6882867A7A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
14
+ {D29E34F2-D326-48EB-9354-D6882867A7A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
15
+ {D29E34F2-D326-48EB-9354-D6882867A7A3}.Release|Any CPU.Build.0 = Release|Any CPU
16
+ EndGlobalSection
17
+ GlobalSection(SolutionProperties) = preSolution
18
+ HideSolutionNode = FALSE
19
+ EndGlobalSection
20
+ EndGlobal
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0"?>
2
+ <configuration>
3
+ <startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <repositories>
3
+ <repository path="..\packages.config" />
4
+ </repositories>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <packages>
3
+ <package id="NUnit" version="2.6.2" targetFramework="net40" />
4
+ <package id="xunit" version="1.9.1" targetFramework="net40" />
5
+ </packages>
@@ -1,15 +1,29 @@
1
1
  require 'spec_helper'
2
2
 
3
- class MspecRunnerTester
3
+ class MspecRunnerTesterClr4
4
4
  @solution = "spec/TestProj/TestProj/TestProj.csproj"
5
5
  @assemblies = ["C:/Code/Ruby Projects/prepush/spec/TestProj/TestProj/bin/Debug/TestProj.exe"]
6
6
  @test_runner = 'mspec'
7
- @runner_exe = 'mspec-clr4.exe' # will be selected by default
7
+ #@runner_exe = 'mspec-clr4.exe' # will be selected by default
8
+ include PrePush
9
+ end
10
+
11
+ class MspecRunnerTesterClr2
12
+ @solution = "spec/TestProj/TestProj/TestProj.csproj"
13
+ @assemblies = ["C:/Code/Ruby Projects/prepush/spec/TestProj/TestProj/bin/Debug/TestProj.exe"]
14
+ @test_runner = 'mspec'
15
+ @clr = :clr2
16
+ #@runner_exe = 'mspec-clr4.exe' # will be selected by default
8
17
  include PrePush
9
18
  end
10
19
 
11
20
  describe "MspecRunner" do
12
- it "should compile and run tests" do
13
- MspecRunnerTester.run
21
+ describe "on clr 4" do
22
+ before do
23
+ ReplaceClr.between('v2.0', 'v3.5')
24
+ end
25
+ it "should compile and run tests" do
26
+ MspecRunnerTesterClr4.run
27
+ end
14
28
  end
15
29
  end
@@ -4,11 +4,23 @@ class NunitRunnerTester
4
4
  @solution = "spec/TestProj/TestProj.sln"
5
5
  @assemblies = ["spec/TestProj/TestProj/TestProj.csproj"]
6
6
  @test_runner = 'nunit262'
7
- @runner_exe = 'nunit-console.exe' # will be selected by default
7
+ #@runner_exe = 'nunit-console.exe' # will be selected by default
8
8
  include PrePush
9
9
  end
10
10
 
11
11
  describe "NunitRunnerTester" do
12
+ before do
13
+ ReplaceClr.between('v2.0', 'v3.5')
14
+ end
15
+ it "should compile and run tests" do
16
+ NunitRunnerTester.run
17
+ end
18
+ end
19
+
20
+ describe "on clr 2" do
21
+ before do
22
+ ReplaceClr.between('v3.5', 'v2.0', 'TestProj2')
23
+ end
12
24
  it "should compile and run tests" do
13
25
  NunitRunnerTester.run
14
26
  end
@@ -45,15 +45,6 @@ describe PrePush do
45
45
  Dummy.should_receive("system").with(/^C:\/Windows\/Microsoft.NET\/Framework\/v4.0.30319/)
46
46
  Dummy.build
47
47
  end
48
- it "should use clr2 msbuild when clr2 specified" do
49
- DummyClr2.should_receive("system").with(/^C:\/Windows\/Microsoft.NET\/Framework\/v2.0.50727/)
50
- DummyClr2.build
51
- end
52
- it "should exit when inexistent clr specified" do
53
- DummyClr666.should_receive("puts").with('please assign clr2 or clr4 to @clr')
54
- DummyClr666.should_receive("exit").with(1)
55
- DummyClr666.build
56
- end
57
48
  end
58
49
  describe 'run_tests' do
59
50
  it 'should call system to run tests in specified assemblies' do
@@ -0,0 +1,74 @@
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
+
9
+ #uncomment the following line to use spork with the debugger
10
+ #require 'spork/ext/ruby-debug'
11
+
12
+ Spork.prefork do
13
+ # Loading more in this block will cause your tests to run faster. However,
14
+ # if you change any configuration or code from libraries loaded here, you'll
15
+ # need to restart spork for it take effect.
16
+
17
+ end
18
+
19
+ Spork.each_run do
20
+ # This code will be run each time you run your specs.
21
+
22
+ end
23
+
24
+ # --- Instructions ---
25
+ # Sort the contents of this file into a Spork.prefork and a Spork.each_run
26
+ # block.
27
+ #
28
+ # The Spork.prefork block is run only once when the spork server is started.
29
+ # You typically want to place most of your (slow) initializer code in here, in
30
+ # particular, require'ing any 3rd-party gems that you don't normally modify
31
+ # during development.
32
+ #
33
+ # The Spork.each_run block is run each time you run your specs. In case you
34
+ # need to load files that tend to change during development, require them here.
35
+ # With Rails, your application modules are loaded automatically, so sometimes
36
+ # this block can remain empty.
37
+ #
38
+ # Note: You can modify files loaded *from* the Spork.each_run block without
39
+ # restarting the spork server. However, this file itself will not be reloaded,
40
+ # so if you change any of the code inside the each_run block, you still need to
41
+ # restart the server. In general, if you have non-trivial code in this file,
42
+ # it's advisable to move it into a separate file so you can easily edit it
43
+ # without restarting spork. (For example, with RSpec, you could move
44
+ # non-trivial code into a file spec/support/my_helper.rb, making sure that the
45
+ # spec/support/* files are require'd from inside the each_run block.)
46
+ #
47
+ # Any code that is left outside the two blocks will be run during preforking
48
+ # *and* during each_run -- that's probably not what you want.
49
+ #
50
+ # These instructions should self-destruct in 10 seconds. If they don't, feel
51
+ # free to delete them.
52
+
53
+
54
+
55
+
56
+
57
+ class ReplaceClr
58
+ def self.between(old_version, new_version, proj = nil)
59
+ lines = []
60
+ lib = File.dirname(__FILE__)
61
+
62
+ proj = proj || 'TestProj'
63
+ tfv = "TargetFrameworkVersion"
64
+ target = "<#{tfv}>#{old_version}</#{tfv}>"
65
+ replace = "<#{tfv}>#{new_version}</#{tfv}>"
66
+ csproj = "#{lib}/../spec/TestProj/#{proj}/TestProj.csproj"
67
+ File.open(csproj) do |f|
68
+ f.each_line {|line| lines << line.sub(old_version, new_version)}
69
+ end
70
+ File.open(csproj, "w") do |file|
71
+ lines.each { |l| file.puts l }
72
+ end
73
+ end
74
+ end
@@ -4,7 +4,15 @@ class XunitRunnerTester
4
4
  @solution = "spec/TestProj/TestProj.sln"
5
5
  @assemblies = ["spec/TestProj/TestProj/bin/Debug/TestProj.exe"]
6
6
  @test_runner = 'xunit191'
7
- @runner_exe = 'xunit.console.exe' # will be selected by default
7
+ #@runner_exe = 'xunit.console.exe' # will be selected by default
8
+ include PrePush
9
+ end
10
+
11
+ class XunitRunnerTesterClr2
12
+ @solution = "spec/TestProj/TestProj2/TestProj.sln"
13
+ # XUnit on clr2 takes the dll path only, won't work with csproj.
14
+ @assemblies = ["spec/TestProj/TestProj2/bin/Debug/TestProj.dll"]
15
+ @test_runner = 'xunit191'
8
16
  include PrePush
9
17
  end
10
18
 
@@ -12,4 +20,13 @@ describe "XunitRunner" do
12
20
  it "should compile and run tests" do
13
21
  XunitRunnerTester.run
14
22
  end
23
+ end
24
+
25
+ describe "on clr 2" do
26
+ before do
27
+ ReplaceClr.between('v3.5', 'v2.0', 'TestProj2')
28
+ end
29
+ it "should compile and run tests" do
30
+ XunitRunnerTesterClr2.run
31
+ end
15
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pre_push
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.3
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-05 00:00:00.000000000 Z
12
+ date: 2013-06-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &19942908 !ruby/object:Gem::Requirement
16
+ requirement: &17823108 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.3'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *19942908
24
+ version_requirements: *17823108
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &19958232 !ruby/object:Gem::Requirement
27
+ requirement: &17822580 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *19958232
35
+ version_requirements: *17822580
36
36
  description: adding a pre-push hook for git to compile & run tests
37
37
  email:
38
38
  - nievegoor@gmail.com
@@ -106,13 +106,20 @@ files:
106
106
  - lib/runners_config/mspec.rb
107
107
  - lib/runners_config/nunit262.rb
108
108
  - lib/runners_config/xunit191.rb
109
- - lib/spec_helper.rb
110
109
  - pre_push.gemspec
111
110
  - spec/TestProj/TestProj.sln
112
111
  - spec/TestProj/TestProj/AllTests.cs
113
112
  - spec/TestProj/TestProj/Properties/AssemblyInfo.cs
114
113
  - spec/TestProj/TestProj/TestProj.csproj
114
+ - spec/TestProj/TestProj/app.config
115
115
  - spec/TestProj/TestProj/packages.config
116
+ - spec/TestProj/TestProj2/AllTests.cs
117
+ - spec/TestProj/TestProj2/Properties/AssemblyInfo.cs
118
+ - spec/TestProj/TestProj2/TestProj.csproj
119
+ - spec/TestProj/TestProj2/TestProj.sln
120
+ - spec/TestProj/TestProj2/app.config
121
+ - spec/TestProj/TestProj2/packages.config
122
+ - spec/TestProj/TestProj2/packages/repositories.config
116
123
  - spec/TestProj/packages/Machine.Specifications.0.5.12/Machine.Specifications.0.5.12.nupkg
117
124
  - spec/TestProj/packages/Machine.Specifications.0.5.12/Machine.Specifications.0.5.12.nuspec
118
125
  - spec/TestProj/packages/Machine.Specifications.0.5.12/lib/net20/Machine.Specifications.TDNetRunner.dll
@@ -178,6 +185,7 @@ files:
178
185
  - spec/nunit_integration_spec.rb
179
186
  - spec/pre_push_spec.rb
180
187
  - spec/prepush_validator_spec.rb
188
+ - spec/spec_helper.rb
181
189
  - spec/xunit_integration_spec.rb
182
190
  homepage: https://github.com/nieve/prepush
183
191
  licenses:
@@ -210,7 +218,15 @@ test_files:
210
218
  - spec/TestProj/TestProj/AllTests.cs
211
219
  - spec/TestProj/TestProj/Properties/AssemblyInfo.cs
212
220
  - spec/TestProj/TestProj/TestProj.csproj
221
+ - spec/TestProj/TestProj/app.config
213
222
  - spec/TestProj/TestProj/packages.config
223
+ - spec/TestProj/TestProj2/AllTests.cs
224
+ - spec/TestProj/TestProj2/Properties/AssemblyInfo.cs
225
+ - spec/TestProj/TestProj2/TestProj.csproj
226
+ - spec/TestProj/TestProj2/TestProj.sln
227
+ - spec/TestProj/TestProj2/app.config
228
+ - spec/TestProj/TestProj2/packages.config
229
+ - spec/TestProj/TestProj2/packages/repositories.config
214
230
  - spec/TestProj/packages/Machine.Specifications.0.5.12/Machine.Specifications.0.5.12.nupkg
215
231
  - spec/TestProj/packages/Machine.Specifications.0.5.12/Machine.Specifications.0.5.12.nuspec
216
232
  - spec/TestProj/packages/Machine.Specifications.0.5.12/lib/net20/Machine.Specifications.TDNetRunner.dll
@@ -276,4 +292,5 @@ test_files:
276
292
  - spec/nunit_integration_spec.rb
277
293
  - spec/pre_push_spec.rb
278
294
  - spec/prepush_validator_spec.rb
295
+ - spec/spec_helper.rb
279
296
  - spec/xunit_integration_spec.rb
data/lib/spec_helper.rb DELETED
@@ -1,5 +0,0 @@
1
- require 'rubygems'
2
- require 'rspec'
3
- require 'rspec/expectations'
4
- require 'pre_push'
5
- require 'prepush_validator'