git_test 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/bin/git_test +129 -0
  2. metadata +223 -0
data/bin/git_test ADDED
@@ -0,0 +1,129 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'gli'
4
+ require 'lib/git_test_version'
5
+ require 'lib/git_test'
6
+
7
+ include GLI
8
+
9
+ # :::::::: ::::::::::: ::::::::::: ::::::::::: :::::::::: :::::::: :::::::::::
10
+ # :+: :+: :+: :+: :+: :+: :+: :+: :+:
11
+ # +:+ +:+ +:+ +:+ +:+ +:+ +:+
12
+ # :#: +#+ +#+ +#+ +#++:++# +#++:++#++ +#+
13
+ # +#+ +#+# +#+ +#+ +#+ +#+ +#+ +#+
14
+ # #+# #+# #+# #+# #+# #+# #+# #+# #+#
15
+ # ######## ########### ### ### ########## ######## ###
16
+
17
+
18
+ program_desc %Q{ git_test runs your tests and stores them in git. Use git_test to track
19
+ tests over multiple branches, runs, and teammates. Run git_test when you pull and push
20
+ and you'll always know the state of your project!}
21
+
22
+ version GitTest::VERSION
23
+
24
+ desc 'test command used to run tests'
25
+ default_value 'rspec spec/ -f h -c'
26
+ arg_name 'command'
27
+ flag [:cmd]
28
+
29
+
30
+ desc "shows previous reports. Use args 'all', 'last', or provide a report name"
31
+ long_desc %Q{
32
+ - `all` lists reports
33
+ - `last` shows the last report
34
+ - `2011-10-21T23:22:09Z_schneems_passed.html` shows that report
35
+ }
36
+ command :show do |c|
37
+ c.action do |global_options,options,args|
38
+ global_options.merge! options
39
+ runner = GitTest::Runner.new(global_options)
40
+ if args.include?('all')
41
+ reports = runner.ls_report_dir
42
+ runner.notify.raw(reports)
43
+ else
44
+ path = args.first unless args.include?('last')
45
+ runner.show_report(path)
46
+ end
47
+ end
48
+ end
49
+
50
+
51
+
52
+ desc "pulls from origin then runs tests"
53
+ command :pull do |c|
54
+ c.action do |global_options,options,args|
55
+ begin
56
+ global_options.merge! options
57
+ runner = GitTest::Runner.new(global_options)
58
+ runner.pull!
59
+ runner.test!
60
+ runner.write_report!
61
+ runner.notify.write("to view test report run `git_test show last`", :green)
62
+ ensure
63
+ runner.clean_test_dir!
64
+ end
65
+ end
66
+ end
67
+
68
+ desc "runs your tests and saves them in git"
69
+ command :run do |c|
70
+ c.action do |global_options,options,args|
71
+ begin
72
+ global_options.merge! options
73
+ runner = GitTest::Runner.new(global_options)
74
+ runner.test!
75
+ runner.write_report!
76
+ runner.notify.write("to view test report run `git_test show last`", :green)
77
+ ensure
78
+ runner.clean_test_dir!
79
+ end
80
+ end
81
+ end
82
+
83
+ desc "runs your tests, saves them in git then pushes to origin"
84
+ command :push do |c|
85
+ c.desc 'if true will push code to repo after running tests instead of before'
86
+ c.default_value true
87
+ c.arg_name 'push_after_test'
88
+ c.switch [:pat,:push_after_test]
89
+
90
+ c.action do |global_options,options,args|
91
+ begin
92
+ global_options.merge! options
93
+ runner = GitTest::Runner.new(global_options)
94
+ runner.pull!
95
+ runner.push! unless options[:push_after_test]
96
+ runner.test!
97
+ runner.write_report!
98
+ runner.push!
99
+ runner.notify.write("to view test report run `git_test show last`", :green)
100
+ ensure
101
+ runner.clean_test_dir!
102
+ end
103
+ end
104
+ end
105
+
106
+ pre do |global,command,options,args|
107
+ # Pre logic here
108
+ # Return true to proceed; false to abourt and not call the
109
+ # chosen command
110
+ # Use skips_pre before a command to skip this block
111
+ # on that command only
112
+ true
113
+ end
114
+
115
+ post do |global,command,options,args|
116
+ # Post logic here
117
+ # Use skips_post before a command to skip this
118
+ # block on that command only
119
+ end
120
+
121
+ on_error do |exception|
122
+ puts exception
123
+ puts exception.backtrace
124
+ # Error logic here
125
+ # return false to skip default error handling
126
+ true
127
+ end
128
+
129
+ exit GLI.run(ARGV)
metadata ADDED
@@ -0,0 +1,223 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: git_test
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Richard Schneeman
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-10-22 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rake
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :development
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rspec
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :development
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: guard
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :development
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: guard-rspec
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ type: :development
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: rb-fsevent
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
88
+ type: :development
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
91
+ name: fakefs
92
+ prerelease: false
93
+ requirement: &id006 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
102
+ type: :development
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ name: gli
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ type: :development
117
+ version_requirements: *id007
118
+ - !ruby/object:Gem::Dependency
119
+ name: git
120
+ prerelease: false
121
+ requirement: &id008 !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ hash: 3
127
+ segments:
128
+ - 0
129
+ version: "0"
130
+ type: :runtime
131
+ version_requirements: *id008
132
+ - !ruby/object:Gem::Dependency
133
+ name: gli
134
+ prerelease: false
135
+ requirement: &id009 !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ hash: 3
141
+ segments:
142
+ - 0
143
+ version: "0"
144
+ type: :runtime
145
+ version_requirements: *id009
146
+ - !ruby/object:Gem::Dependency
147
+ name: colorize
148
+ prerelease: false
149
+ requirement: &id010 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ hash: 3
155
+ segments:
156
+ - 0
157
+ version: "0"
158
+ type: :runtime
159
+ version_requirements: *id010
160
+ - !ruby/object:Gem::Dependency
161
+ name: growl
162
+ prerelease: false
163
+ requirement: &id011 !ruby/object:Gem::Requirement
164
+ none: false
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ hash: 3
169
+ segments:
170
+ - 0
171
+ version: "0"
172
+ type: :runtime
173
+ version_requirements: *id011
174
+ description:
175
+ email: richard.schneeman@gmail.com
176
+ executables:
177
+ - git_test
178
+ extensions: []
179
+
180
+ extra_rdoc_files: []
181
+
182
+ files:
183
+ - bin/git_test
184
+ homepage: https://github.com/schneems/git_test
185
+ licenses: []
186
+
187
+ post_install_message:
188
+ rdoc_options:
189
+ - --title
190
+ - git_test
191
+ - --main
192
+ - README.rdoc
193
+ - -ri
194
+ require_paths:
195
+ - lib
196
+ - lib
197
+ required_ruby_version: !ruby/object:Gem::Requirement
198
+ none: false
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ hash: 3
203
+ segments:
204
+ - 0
205
+ version: "0"
206
+ required_rubygems_version: !ruby/object:Gem::Requirement
207
+ none: false
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ hash: 3
212
+ segments:
213
+ - 0
214
+ version: "0"
215
+ requirements: []
216
+
217
+ rubyforge_project:
218
+ rubygems_version: 1.8.10
219
+ signing_key:
220
+ specification_version: 3
221
+ summary: git_test runs your tests and stores them in git. Use git_test to track tests over multiple branches, runs, and teammates. Run git_test when you pull and push and you'll always know the state of your project!
222
+ test_files: []
223
+