gyst 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Changelog.md CHANGED
@@ -1,6 +1,11 @@
1
- ## 0.0.2 (May 27, 2011) - Happy Birthday Mom.
1
+ ## 0.0.3 (June 29, 2011) - Easy Install
2
2
 
3
3
  Features:
4
+ - gem install gyst (no need for --no-wrappers arg)
5
+
4
6
 
7
+ ## 0.0.2 (May 27, 2011) - Happy Birthday Mom.
8
+
9
+ Features:
5
10
  - scripts: rakee, raket
6
11
  - patches: gyst/factory_girl
data/Gemfile CHANGED
@@ -4,11 +4,7 @@ source "http://rubygems.org"
4
4
  gemspec
5
5
 
6
6
  group :test do
7
+ gem 'cucumber_spinner'
7
8
  gem 'factory_girl' # not in gemspec since use of factory_girl patch is optional
8
9
  end
9
10
 
10
- group :blog do
11
- gem 'jekyll', '0.10.0' # version for gh_pages
12
- gem 'liquid', '2.0.0' # version for gh_pages (http://support.github.com/discussions/site/3216-github-pages-liquid-template-tags-not-being-parsed)
13
- gem 'rdiscount' # I haven't found the gh_pages specific version yet.
14
- end
data/README.md CHANGED
@@ -12,12 +12,17 @@ Faster tests? Good.
12
12
 
13
13
  Install
14
14
  --------
15
- This will be released to rubygems.org once we have a little more
16
- functionality.
17
- **NOTE:** in order to use the bash scripts, you must use the `--no-wrapper`
18
- argument.
19
- gem install pkg/gyst-0.0.1.gem --no-wrappers
15
+ First, [some songs to test by][music] courtesy of [![portal2](http://www.thinkwithportals.com/images/favicon.ico)][music]
20
16
 
17
+ **NOTE:** in order to use the bash scripts, you must use the `--no-wrappers` argument.
18
+
19
+ From rubygems:
20
+ gem install gyst --no-wrappers
21
+ Locally:
22
+ gem install pkg/gyst-0.?.?.gem --no-wrappers
23
+
24
+ Why do you have to add `-no-wrappers`? Because the scripts are bash scripts, not ruby scripts.
25
+ We are stuck with this workaround until someone finds a better answer for this issue. This is the only reference I have found: <http://help.rubygems.org/discussions/suggestions/12-per-executable-wrappers>
21
26
 
22
27
  Dependencies
23
28
  ------------
@@ -79,14 +84,14 @@ Usage:
79
84
  ### Libraries
80
85
  ---
81
86
  <strong>As of 2011-05, "`require 'gyst'`" is a noop.</strong>
82
- You must require the pieces the you want. We'll turn this on once more pieces are available, otherwise we will probably break things with each release.
83
- Patch factory_girl to use :build, break stuff.
84
- Add 'db_null', break stuff.
87
+ You must require the specific pieces that you want. We'll turn this on once more pieces are available, otherwise we will probably break your tests with each release.
88
+ Patch factory_girl to use :build, break some tests.
89
+ Add 'db_null', break some tests.
85
90
  Simply by using "require 'gyst'"? Let's wait.
86
91
 
87
92
  ---
88
93
 
89
- We are using "selective requires" for the libraries and scripts. Want everything, simply:
94
+ We are using "selective requires" for the libraries and scripts. Want everything? Simply:
90
95
  require 'gyst' # (TODO) enables all the libraries and applies all the patches
91
96
 
92
97
  You can also just `require` the pieces you want.
@@ -122,6 +127,8 @@ Feel free to add sugggestions and bugs to our [issues on github](https://github.
122
127
 
123
128
  * Fork the project.
124
129
  * `bundle install`. Run all tests with `rakee`
130
+ * **Testing Note:** `rakee` skips @gemset features, due to (bundler?) errors.
131
+ `cucumber` runs ALL features.
125
132
  * Make your feature addition or bug fix.
126
133
  * Add tests for it. This is important so I don't break it in a
127
134
  future version unintentionally. Note: the existing tests may fail
@@ -156,6 +163,7 @@ TODO
156
163
 
157
164
 
158
165
  [gys_showoff]: http://grease-your-suite.heroku.com/ "Grease Your Suites"
166
+ [music]: http://www.thinkwithportals.com/music.php "Songs To Test By - Portal2"
159
167
 
160
168
  ____
161
169
  Copyright (c) 2011 Matthew Scilipoti, released under the MIT license
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'bundler'
2
2
  Bundler::GemHelper.install_tasks
3
-
3
+ require 'ap'
4
4
 
5
5
  require 'rake/testtask'
6
6
 
@@ -13,7 +13,7 @@ require 'cucumber'
13
13
  require 'cucumber/rake/task'
14
14
 
15
15
  Cucumber::Rake::Task.new(:features) do |t|
16
- t.cucumber_opts = "features --format pretty"
16
+ t.cucumber_opts = "features --format pretty --tags ~@gemset"
17
17
  end
18
18
 
19
19
  task :default => [:test, :features]
@@ -28,3 +28,21 @@ task :fail do
28
28
  fail "EXPECTED FAILURE"
29
29
  end
30
30
 
31
+ namespace :gyst do
32
+ desc 'Display info related to gyst (env vars, etc)'
33
+ task :info do
34
+ env_vars = %w{
35
+ RUBY_GC_MALLOC_LIMIT
36
+ RUBY_HEAP_FREE_MIN
37
+ RUBY_HEAP_MIN_SLOTS
38
+ RUBY_HEAP_SLOTS_INCREMENT
39
+ RUBY_HEAP_SLOTS_GROWTH_FACTOR
40
+ }
41
+ env_var_values = env_vars.inject({}) do |result, var_name|
42
+ result[var_name] = ENV[var_name]
43
+ result
44
+ end
45
+
46
+ ap env_var_values
47
+ end
48
+ end
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Note: to generate this without the ruby gems wrapper,
4
+ # we used the --no-wrapper arg
5
+ puts "INFO: Configuring REE (re: grease_your_suite)"
6
+ $stdout.flush
7
+
8
+ ENV['RUBY_GC_MALLOC_LIMIT'] = '1000000000'
9
+ ENV['RUBY_HEAP_FREE_MIN'] = '500000111'
10
+ ENV['RUBY_HEAP_MIN_SLOTS'] = '1000000'
11
+ ENV['RUBY_HEAP_SLOTS_GROWTH_FACTOR'] = '1'
12
+ ENV['RUBY_HEAP_SLOTS_INCREMENT'] = '1000000'
13
+
14
+ exec "time", '-p', *ARGV
15
+
data/bin/rakee CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/bin/sh
2
2
 
3
- grease_your_suite.sh rake $@
3
+ grease_your_suite rake $@
4
4
 
data/cucumber.yml ADDED
@@ -0,0 +1,25 @@
1
+ <%
2
+ require 'cucumber_spinner'
3
+ #to use cucumber_spinner, set format to CucumberSpinner::ProgressBarFormatter
4
+ std_format = ENV['CUCUMBER_FORMAT'] || CucumberSpinner::ProgressBarFormatter
5
+ std_opts = "--format #{std_format} --strict --require features"
6
+ std_tags = "--tags ~@wip --tags ~@pending --tags ~@javascript"
7
+
8
+ rerun_file = 'tmp/cucumber_rerun.txt'
9
+ rerun_opts = "--strict --require=features --format=rerun --out=#{rerun_file} #{std_tags} "
10
+ files_to_rerun = File.file?(rerun_file) ? IO.read(rerun_file) : ""
11
+ if files_to_rerun.to_s.strip.empty?
12
+ rerun_opts << " --format=#{std_format} features"
13
+ else
14
+ rerun_opts << " --format=#{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{files_to_rerun}"
15
+ end
16
+
17
+ %>
18
+ default: <%= std_opts %> <%= std_tags %>
19
+
20
+ all: <%= std_opts %>
21
+ js: <%= std_opts %> --tags @javascript
22
+ logged: --format RailsLoggerFormatter
23
+ rerun: <%= rerun_opts %>
24
+ wip: --tags @wip:3 --wip
25
+
@@ -5,13 +5,29 @@ Feature: the grease_your_suite script sets configuration options for REE
5
5
  to configure GC appropriately for testing
6
6
 
7
7
 
8
- Scenario: the script sets Environment Variables
9
- When I run `grease_your_suite.sh`
8
+ Scenario: running with no args
9
+ When I successfully run `../../bin/grease_your_suite`
10
10
  # output includes message and output from `time`
11
- Then it should pass with:
11
+ Then the output should contain:
12
12
  """
13
13
  INFO: Configuring REE (re: grease_your_suite)
14
+ """
14
15
 
15
- real 0m0
16
+ Scenario: the script sets Environment Variables
17
+ When I run `../../bin/grease_your_suite rake gyst:info`
18
+ Then the output should contain:
19
+ """
20
+ {
21
+ "RUBY_GC_MALLOC_LIMIT" => "1000000000",
22
+ "RUBY_HEAP_FREE_MIN" => "500000111",
23
+ "RUBY_HEAP_MIN_SLOTS" => "1000000",
24
+ "RUBY_HEAP_SLOTS_INCREMENT" => "1000000",
25
+ "RUBY_HEAP_SLOTS_GROWTH_FACTOR" => "1"
26
+ }
27
+ """
28
+ Then the output should contain:
29
+ """
30
+ INFO: Configuring REE (re: grease_your_suite)
16
31
  """
32
+ And the output should report timing
17
33
 
@@ -0,0 +1,19 @@
1
+ Feature: the rake tasks for gyst
2
+
3
+ In order make common tasks easy
4
+ A developer
5
+ Wants some rake tasks
6
+
7
+ Scenario: gyst:info
8
+ When I run `rake gyst:info`
9
+ Then it should pass with:
10
+ """
11
+ {
12
+ "RUBY_GC_MALLOC_LIMIT" => nil,
13
+ "RUBY_HEAP_FREE_MIN" => nil,
14
+ "RUBY_HEAP_MIN_SLOTS" => nil,
15
+ "RUBY_HEAP_SLOTS_INCREMENT" => nil,
16
+ "RUBY_HEAP_SLOTS_GROWTH_FACTOR" => nil
17
+ }
18
+ """
19
+
@@ -6,4 +6,4 @@ Feature: rakee
6
6
  When I successfully run `rakee pass`
7
7
  Then the output should contain "Configuring REE"
8
8
  And the output should contain "PASS"
9
- And the output should contain "real 0m0"
9
+ And the output should report timing
@@ -7,5 +7,5 @@ Feature: raket
7
7
  Then the output should contain "Loading test environment..."
8
8
  And the output should contain "Configuring REE"
9
9
  And the output should contain "PASS"
10
- And the output should contain "real 0m0"
10
+ And the output should report timing
11
11
 
@@ -0,0 +1,6 @@
1
+ Then /^the output should report timing$/ do
2
+ Then 'the output should match /real +\d.\d\d/'
3
+ Then 'the output should match /user +\d.\d\d/'
4
+ Then 'the output should match /sys +\d.\d\d/'
5
+ end
6
+
data/gyst.gemspec CHANGED
@@ -10,8 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.email = ["matt@scilipoti.name"]
11
11
  s.homepage = ""
12
12
  s.summary = %q{A suite of helpers to aid in speeding up your tests.}
13
- s.description = %q{A suite of helpers to aid in speeding up your tests; including scripts, existing libraries, and patches.
14
- }
13
+ s.description = %q{A suite of helpers to aid in speeding up your tests; including scripts, existing libraries, and patches.}
15
14
 
16
15
  s.rubyforge_project = "gyst"
17
16
 
@@ -21,6 +20,7 @@ Gem::Specification.new do |s|
21
20
  s.require_paths = ["lib"]
22
21
 
23
22
  s.add_development_dependency('aruba')
23
+ s.add_development_dependency('awesome_print')
24
24
  s.add_development_dependency('minitest')
25
25
  s.add_development_dependency('rake')
26
26
  end
data/lib/gyst/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gyst
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: gyst
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Matt Scilipoti
@@ -10,8 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-27 00:00:00 -04:00
14
- default_executable:
13
+ date: 2011-06-29 00:00:00 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: aruba
@@ -25,7 +24,7 @@ dependencies:
25
24
  type: :development
26
25
  version_requirements: *id001
27
26
  - !ruby/object:Gem::Dependency
28
- name: minitest
27
+ name: awesome_print
29
28
  prerelease: false
30
29
  requirement: &id002 !ruby/object:Gem::Requirement
31
30
  none: false
@@ -36,7 +35,7 @@ dependencies:
36
35
  type: :development
37
36
  version_requirements: *id002
38
37
  - !ruby/object:Gem::Dependency
39
- name: rake
38
+ name: minitest
40
39
  prerelease: false
41
40
  requirement: &id003 !ruby/object:Gem::Requirement
42
41
  none: false
@@ -46,11 +45,22 @@ dependencies:
46
45
  version: "0"
47
46
  type: :development
48
47
  version_requirements: *id003
49
- description: "A suite of helpers to aid in speeding up your tests; including scripts, existing libraries, and patches.\n "
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ type: :development
58
+ version_requirements: *id004
59
+ description: A suite of helpers to aid in speeding up your tests; including scripts, existing libraries, and patches.
50
60
  email:
51
61
  - matt@scilipoti.name
52
62
  executables:
53
- - grease_your_suite.sh
63
+ - grease_your_suite
54
64
  - rakee
55
65
  - raket
56
66
  extensions: []
@@ -64,13 +74,16 @@ files:
64
74
  - MIT-LICENSE
65
75
  - README.md
66
76
  - Rakefile
67
- - bin/grease_your_suite.sh
77
+ - bin/grease_your_suite
68
78
  - bin/rakee
69
79
  - bin/raket
80
+ - cucumber.yml
70
81
  - features/command_line/grease_your_suite.feature
82
+ - features/command_line/rake_gyst.feature
71
83
  - features/command_line/rakee.feature
72
84
  - features/command_line/raket.feature
73
85
  - features/patches/factory_girl.feature
86
+ - features/step_definitions/output_steps.rb
74
87
  - features/step_definitions/rvm_steps.rb
75
88
  - features/support/env.rb
76
89
  - gyst.gemspec
@@ -78,7 +91,6 @@ files:
78
91
  - lib/gyst/factory_girl.rb
79
92
  - lib/gyst/version.rb
80
93
  - test/factory_girl_spec.rb
81
- has_rdoc: true
82
94
  homepage: ""
83
95
  licenses: []
84
96
 
@@ -102,15 +114,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
114
  requirements: []
103
115
 
104
116
  rubyforge_project: gyst
105
- rubygems_version: 1.6.2
117
+ rubygems_version: 1.8.5
106
118
  signing_key:
107
119
  specification_version: 3
108
120
  summary: A suite of helpers to aid in speeding up your tests.
109
121
  test_files:
110
122
  - features/command_line/grease_your_suite.feature
123
+ - features/command_line/rake_gyst.feature
111
124
  - features/command_line/rakee.feature
112
125
  - features/command_line/raket.feature
113
126
  - features/patches/factory_girl.feature
127
+ - features/step_definitions/output_steps.rb
114
128
  - features/step_definitions/rvm_steps.rb
115
129
  - features/support/env.rb
116
130
  - test/factory_girl_spec.rb
@@ -1,13 +0,0 @@
1
- #!/bin/sh
2
-
3
- # Note: to generate this without the ruby gems wrapper,
4
- # we used the --no-wrapper arg
5
- echo "INFO: Configuring REE (re: grease_your_suite)"
6
- export RUBY_HEAP_MIN_SLOTS=1000000
7
- export RUBY_HEAP_SLOTS_INCREMENT=1000000
8
- export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
9
- export RUBY_GC_MALLOC_LIMIT=1000000000
10
- export RUBY_HEAP_FREE_MIN=500000111
11
-
12
- time $@
13
-