plymouth 0.3.0 → 0.3.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.
data/README.md CHANGED
@@ -3,9 +3,9 @@ plymouth
3
3
 
4
4
  (C) John Mair (banisterfiend) 2012
5
5
 
6
- _Start an interactive session on test failure_
6
+ _Start Pry in the context of a failed test_
7
7
 
8
- **Warning BETA software: Please file an [issue](https://github.com/banister/plymouth) if you have any problems**
8
+ **Warning BETA software: Please file an [issue](https://github.com/banister/plymouth/issues) if you have any problems**
9
9
 
10
10
  `plymouth` is a gem to automatically start a [Pry](http://pry.github.com) session when a test fails, putting you in the context of the failure.
11
11
  It currently supports [Bacon](https://github.com/chneukirchen/bacon), [Minitest](https://github.com/seattlerb/minitest), and [RSpec](https://github.com/rspec/rspec).
@@ -20,7 +20,7 @@ plymouth currently only runs on **MRI 1.9.2+ (including 1.9.3)**
20
20
 
21
21
  **How to use:**
22
22
 
23
- Simply add the following line to your test suite:
23
+ After installing the gem, simply add the following line to your test suite:
24
24
 
25
25
  `require 'plymouth'`
26
26
 
@@ -97,7 +97,7 @@ If `USE_PLYMOUTH` is not defined at all, plymouth will be used by default.
97
97
  Limitations
98
98
  -------------------------
99
99
 
100
- * Occasional segfault on 1.9.3 (seems to work fine on 1.9.2). Please [report](https://github.com/banister/plymouth) all segfaults with a full backtrace!
100
+ * Occasional (very rare) segfault on 1.9.3 (seems to work fine on 1.9.2). Please [report](https://github.com/banister/plymouth/issues) all segfaults with a full backtrace!
101
101
  * Only supports MRI.
102
102
  * Currently limited to just Bacon, RSpec and Minitest. Support for more testing libraries will be added in the future.
103
103
 
data/Rakefile CHANGED
@@ -1,105 +1,105 @@
1
- $:.unshift 'lib'
2
-
3
- dlext = Config::CONFIG['DLEXT']
4
- direc = File.dirname(__FILE__)
5
-
6
- PROJECT_NAME = "plymouth"
7
-
8
- require "#{PROJECT_NAME}/version"
9
-
10
- CLASS_NAME = Plymouth
11
-
12
- require 'rake/clean'
13
- require 'rake/gempackagetask'
14
-
15
- CLOBBER.include("**/*~", "**/*#*", "**/*.log", "**/*.o")
16
- CLEAN.include("ext/**/*.log", "ext/**/*.o",
17
- "ext/**/*~", "ext/**/*#*", "ext/**/*.obj", "**/*#*", "**/*#*.*",
18
- "ext/**/*.def", "ext/**/*.pdb", "**/*_flymake*.*", "**/*_flymake")
19
-
20
- def apply_spec_defaults(s)
21
- s.name = PROJECT_NAME
22
- s.summary = "Start an interactive session when a test fails"
23
- s.version = CLASS_NAME::VERSION
24
- s.date = Time.now.strftime '%Y-%m-%d'
25
- s.author = "John Mair (banisterfiend)"
26
- s.email = 'jrmair@gmail.com'
27
- s.description = s.summary
28
- s.require_path = 'lib'
29
- s.homepage = "http://github.com/banister/#{PROJECT_NAME}"
30
- s.has_rdoc = 'yard'
31
- s.add_dependency('pry-exception_explorer')
32
- s.add_development_dependency("bacon","~>1.1.0")
33
- s.add_development_dependency('rspec')
34
- s.required_ruby_version = '>= 1.9.2'
35
- s.files = `git ls-files`.split("\n")
36
- s.test_files = `git ls-files -- test/*`.split("\n")
37
- end
38
-
39
- desc "Run tests"
40
- task :test do
41
- sh "bacon -Itest -rubygems test.rb -q"
42
- end
43
-
44
- desc "Run bacon example"
45
- task :example_bacon do
46
- sh "bacon -I#{direc}/lib/ #{direc}/examples/example_bacon.rb "
47
- end
48
-
49
- desc "Run rspec example"
50
- task :example_rspec do
51
- sh "rspec -I#{direc}/lib/ #{direc}/examples/example_rspec.rb "
52
- end
53
-
54
- desc "Run minitest example"
55
- task :example_minitest do
56
- sh "ruby -I#{direc}/lib/ #{direc}/examples/example_minitest.rb "
57
- end
58
-
59
- desc "generate gemspec"
60
- task :gemspec => "ruby:gemspec"
61
-
62
- namespace :ruby do
63
- spec = Gem::Specification.new do |s|
64
- apply_spec_defaults(s)
65
- s.platform = Gem::Platform::RUBY
66
- end
67
-
68
- Rake::GemPackageTask.new(spec) do |pkg|
69
- pkg.need_zip = false
70
- pkg.need_tar = false
71
- end
72
-
73
- desc "Generate gemspec file"
74
- task :gemspec do
75
- File.open("#{spec.name}.gemspec", "w") do |f|
76
- f << spec.to_ruby
77
- end
78
- end
79
- end
80
-
81
- desc "Show version"
82
- task :version do
83
- puts "Plymouth version: #{Plymouth::VERSION}"
84
- end
85
-
86
- desc "Generate gemspec file"
87
- task :gemspec => "ruby:gemspec"
88
-
89
- desc "build all platform gems at once"
90
- task :gems => [:clean, :rmgems, "ruby:gem"]
91
-
92
- task :gem => [:gems]
93
-
94
- desc "remove all platform gems"
95
- task :rmgems => ["ruby:clobber_package"]
96
-
97
- desc "build and push latest gems"
98
- task :pushgems => :gems do
99
- chdir("./pkg") do
100
- Dir["*.gem"].each do |gemfile|
101
- sh "gem push #{gemfile}"
102
- end
103
- end
104
- end
105
-
1
+ $:.unshift 'lib'
2
+
3
+ dlext = Config::CONFIG['DLEXT']
4
+ direc = File.dirname(__FILE__)
5
+
6
+ PROJECT_NAME = "plymouth"
7
+
8
+ require "#{PROJECT_NAME}/version"
9
+
10
+ CLASS_NAME = Plymouth
11
+
12
+ require 'rake/clean'
13
+ require 'rake/gempackagetask'
14
+
15
+ CLOBBER.include("**/*~", "**/*#*", "**/*.log", "**/*.o")
16
+ CLEAN.include("ext/**/*.log", "ext/**/*.o",
17
+ "ext/**/*~", "ext/**/*#*", "ext/**/*.obj", "**/*#*", "**/*#*.*",
18
+ "ext/**/*.def", "ext/**/*.pdb", "**/*_flymake*.*", "**/*_flymake")
19
+
20
+ def apply_spec_defaults(s)
21
+ s.name = PROJECT_NAME
22
+ s.summary = "Start an interactive session when a test fails"
23
+ s.version = CLASS_NAME::VERSION
24
+ s.date = Time.now.strftime '%Y-%m-%d'
25
+ s.author = "John Mair (banisterfiend)"
26
+ s.email = 'jrmair@gmail.com'
27
+ s.description = s.summary
28
+ s.require_path = 'lib'
29
+ s.homepage = "http://github.com/banister/#{PROJECT_NAME}"
30
+ s.has_rdoc = 'yard'
31
+ s.add_dependency('pry-exception_explorer', '>=0.1.6')
32
+ s.add_development_dependency("bacon","~>1.1.0")
33
+ s.add_development_dependency('rspec')
34
+ s.required_ruby_version = '>= 1.9.2'
35
+ s.files = `git ls-files`.split("\n")
36
+ s.test_files = `git ls-files -- test/*`.split("\n")
37
+ end
38
+
39
+ desc "Run tests"
40
+ task :test do
41
+ sh "bacon -Itest -rubygems test.rb -q"
42
+ end
43
+
44
+ desc "Run bacon example"
45
+ task :example_bacon do
46
+ sh "bacon -I#{direc}/lib/ #{direc}/examples/example_bacon.rb "
47
+ end
48
+
49
+ desc "Run rspec example"
50
+ task :example_rspec do
51
+ sh "rspec -I#{direc}/lib/ #{direc}/examples/example_rspec.rb "
52
+ end
53
+
54
+ desc "Run minitest example"
55
+ task :example_minitest do
56
+ sh "ruby -I#{direc}/lib/ #{direc}/examples/example_minitest.rb "
57
+ end
58
+
59
+ desc "generate gemspec"
60
+ task :gemspec => "ruby:gemspec"
61
+
62
+ namespace :ruby do
63
+ spec = Gem::Specification.new do |s|
64
+ apply_spec_defaults(s)
65
+ s.platform = Gem::Platform::RUBY
66
+ end
67
+
68
+ Rake::GemPackageTask.new(spec) do |pkg|
69
+ pkg.need_zip = false
70
+ pkg.need_tar = false
71
+ end
72
+
73
+ desc "Generate gemspec file"
74
+ task :gemspec do
75
+ File.open("#{spec.name}.gemspec", "w") do |f|
76
+ f << spec.to_ruby
77
+ end
78
+ end
79
+ end
80
+
81
+ desc "Show version"
82
+ task :version do
83
+ puts "Plymouth version: #{Plymouth::VERSION}"
84
+ end
85
+
86
+ desc "Generate gemspec file"
87
+ task :gemspec => "ruby:gemspec"
88
+
89
+ desc "build all platform gems at once"
90
+ task :gems => [:clean, :rmgems, "ruby:gem"]
91
+
92
+ task :gem => [:gems]
93
+
94
+ desc "remove all platform gems"
95
+ task :rmgems => ["ruby:clobber_package"]
96
+
97
+ desc "build and push latest gems"
98
+ task :pushgems => :gems do
99
+ chdir("./pkg") do
100
+ Dir["*.gem"].each do |gemfile|
101
+ sh "gem push #{gemfile}"
102
+ end
103
+ end
104
+ end
105
+
data/lib/plymouth.rb CHANGED
@@ -12,8 +12,14 @@ else
12
12
  EE.enabled = true
13
13
  end
14
14
 
15
+
15
16
  message = nil
16
17
 
18
+ # Ensure auto-reloading is off, so that `edit --current` does not try
19
+ # to reload the test file
20
+ Pry.config.disable_auto_reload
21
+
22
+ # Decorate `whereami` command to include test failure information
17
23
  Pry.config.commands.before_command("whereami") do
18
24
  output.puts
19
25
  output.puts "#{Pry::Helpers::Text.bold("Test failure:")} #{message}"
@@ -1,3 +1,3 @@
1
- module Plymouth
2
- VERSION = "0.3.0"
3
- end
1
+ module Plymouth
2
+ VERSION = "0.3.1"
3
+ end
data/plymouth.gemspec CHANGED
@@ -2,18 +2,18 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "plymouth"
5
- s.version = "0.3.0"
5
+ s.version = "0.3.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["John Mair (banisterfiend)"]
9
- s.date = "2012-02-08"
9
+ s.date = "2012-02-09"
10
10
  s.description = "Start an interactive session when a test fails"
11
11
  s.email = "jrmair@gmail.com"
12
12
  s.files = [".gemtest", ".gitignore", ".yardopts", "CHANGELOG", "Gemfile", "LICENSE", "README.md", "Rakefile", "examples/example_bacon.rb", "examples/example_minitest.rb", "examples/example_rspec.rb", "lib/plymouth.rb", "lib/plymouth/version.rb", "plymouth.gemspec", "test/test.rb"]
13
13
  s.homepage = "http://github.com/banister/plymouth"
14
14
  s.require_paths = ["lib"]
15
15
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
16
- s.rubygems_version = "1.8.15"
16
+ s.rubygems_version = "1.8.11"
17
17
  s.summary = "Start an interactive session when a test fails"
18
18
  s.test_files = ["test/test.rb"]
19
19
 
@@ -21,16 +21,16 @@ Gem::Specification.new do |s|
21
21
  s.specification_version = 3
22
22
 
23
23
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
24
- s.add_runtime_dependency(%q<pry-exception_explorer>, [">= 0"])
24
+ s.add_runtime_dependency(%q<pry-exception_explorer>, [">= 0.1.6"])
25
25
  s.add_development_dependency(%q<bacon>, ["~> 1.1.0"])
26
26
  s.add_development_dependency(%q<rspec>, [">= 0"])
27
27
  else
28
- s.add_dependency(%q<pry-exception_explorer>, [">= 0"])
28
+ s.add_dependency(%q<pry-exception_explorer>, [">= 0.1.6"])
29
29
  s.add_dependency(%q<bacon>, ["~> 1.1.0"])
30
30
  s.add_dependency(%q<rspec>, [">= 0"])
31
31
  end
32
32
  else
33
- s.add_dependency(%q<pry-exception_explorer>, [">= 0"])
33
+ s.add_dependency(%q<pry-exception_explorer>, [">= 0.1.6"])
34
34
  s.add_dependency(%q<bacon>, ["~> 1.1.0"])
35
35
  s.add_dependency(%q<rspec>, [">= 0"])
36
36
  end
metadata CHANGED
@@ -1,55 +1,59 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: plymouth
3
- version: !ruby/object:Gem::Version
4
- version: 0.3.0
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.3.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - John Mair (banisterfiend)
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-08 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-02-09 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: pry-exception_explorer
16
- requirement: &70204289865000 !ruby/object:Gem::Requirement
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
17
19
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.1.6
22
24
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70204289865000
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: bacon
27
- requirement: &70204289862340 !ruby/object:Gem::Requirement
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
28
30
  none: false
29
- requirements:
31
+ requirements:
30
32
  - - ~>
31
- - !ruby/object:Gem::Version
33
+ - !ruby/object:Gem::Version
32
34
  version: 1.1.0
33
35
  type: :development
34
- prerelease: false
35
- version_requirements: *70204289862340
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: rspec
38
- requirement: &70204289733740 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
39
41
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
44
46
  type: :development
45
- prerelease: false
46
- version_requirements: *70204289733740
47
+ version_requirements: *id003
47
48
  description: Start an interactive session when a test fails
48
49
  email: jrmair@gmail.com
49
50
  executables: []
51
+
50
52
  extensions: []
53
+
51
54
  extra_rdoc_files: []
52
- files:
55
+
56
+ files:
53
57
  - .gemtest
54
58
  - .gitignore
55
59
  - .yardopts
@@ -67,27 +71,30 @@ files:
67
71
  - test/test.rb
68
72
  homepage: http://github.com/banister/plymouth
69
73
  licenses: []
74
+
70
75
  post_install_message:
71
76
  rdoc_options: []
72
- require_paths:
77
+
78
+ require_paths:
73
79
  - lib
74
- required_ruby_version: !ruby/object:Gem::Requirement
80
+ required_ruby_version: !ruby/object:Gem::Requirement
75
81
  none: false
76
- requirements:
77
- - - ! '>='
78
- - !ruby/object:Gem::Version
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
79
85
  version: 1.9.2
80
- required_rubygems_version: !ruby/object:Gem::Requirement
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
87
  none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: "0"
86
92
  requirements: []
93
+
87
94
  rubyforge_project:
88
- rubygems_version: 1.8.15
95
+ rubygems_version: 1.8.11
89
96
  signing_key:
90
97
  specification_version: 3
91
98
  summary: Start an interactive session when a test fails
92
- test_files:
99
+ test_files:
93
100
  - test/test.rb