git_test 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+