hoe-debugging 1.5.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{CHANGELOG.rdoc → CHANGELOG.md} +26 -16
- data/Manifest.txt +1 -1
- data/README.md +29 -0
- data/Rakefile +1 -2
- data/lib/hoe/debugging.rb +12 -10
- data/spec/hoe_debugging_valgrind_helper_spec.rb +21 -24
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 710365d2aec2b10a796ca148b55d1a5cde267ca71fa586d309d7bca22cea425c
|
4
|
+
data.tar.gz: 638fbb729911666cf26fb2254b2d9a9881c6f61a9c5964fc21ef3e6b37a573f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7b861f1dbe2c194c02ecbf543e950ba30742e733c3600b8318f6336aad9a49124e8f198cc097361434aac72440ddaf906df33a105f79f9a072c8f12b1b5f3e0
|
7
|
+
data.tar.gz: dcda2861f6bc1b9fff1f5a63e61c28a636687bdabbaaaf3095defa28a091dd55624de5507ed16621769325251f3dee7ecdc67c05c6941eefc195602e7761c445
|
@@ -1,6 +1,16 @@
|
|
1
|
-
|
1
|
+
## Changelog for `hoe-debugging`
|
2
2
|
|
3
|
-
|
3
|
+
### 2.0.0 / 2018-11-04
|
4
|
+
|
5
|
+
Features:
|
6
|
+
|
7
|
+
* Allow multiple suppression files to be active at once. Pull in all
|
8
|
+
suppression files that match a part of the ruby version. Along with
|
9
|
+
this change, the helper method `matching_suppression_file` is
|
10
|
+
renamed to `matching_suppression_files`.
|
11
|
+
|
12
|
+
|
13
|
+
### 1.5.0 / 2018-11-02
|
4
14
|
|
5
15
|
Features:
|
6
16
|
|
@@ -8,21 +18,21 @@ Features:
|
|
8
18
|
* Rake task `valgrind:suppression` can generate a suppression file from a previous run's log file. Great for when CI finds things that are hard to reproduce!
|
9
19
|
|
10
20
|
|
11
|
-
|
21
|
+
### 1.4.2 / 2017-06-19
|
12
22
|
|
13
23
|
Features:
|
14
24
|
|
15
25
|
* Allow matching suppression file on major Ruby version.
|
16
26
|
|
17
27
|
|
18
|
-
|
28
|
+
### 1.4.1 / 2017-06-19
|
19
29
|
|
20
30
|
Features:
|
21
31
|
|
22
32
|
* Support frozen string constants.
|
23
33
|
|
24
34
|
|
25
|
-
|
35
|
+
### 1.4.0 / 2017-06-19
|
26
36
|
|
27
37
|
Features:
|
28
38
|
|
@@ -34,19 +44,19 @@ Bugfixes:
|
|
34
44
|
* Fixed generation of suppression files.
|
35
45
|
|
36
46
|
|
37
|
-
|
47
|
+
### 1.3.0 / 2017-01-20
|
38
48
|
|
39
49
|
* The rake task now fails if valgrind detects any errors during the run.
|
40
50
|
|
41
51
|
|
42
|
-
|
52
|
+
### 1.2.1 / 2015-12-16
|
43
53
|
|
44
54
|
Features:
|
45
55
|
|
46
56
|
* Set larger stack size (via `ulimit -s`) to properly support Ruby 2.1 and later
|
47
57
|
|
48
58
|
|
49
|
-
|
59
|
+
### 1.2.0 / 2015-01-22
|
50
60
|
|
51
61
|
Features:
|
52
62
|
|
@@ -58,40 +68,40 @@ Bugfixes:
|
|
58
68
|
* Replace references to `Config` with `RbConfig`, for Ruby 2.2 support.
|
59
69
|
|
60
70
|
|
61
|
-
|
71
|
+
### 1.1.1 / 2012-11-26
|
62
72
|
|
63
73
|
Bugfixes:
|
64
74
|
|
65
75
|
* Correctly name suppression files for REE.
|
66
76
|
|
67
77
|
|
68
|
-
|
78
|
+
### 1.1.0 / 2012-09-26
|
69
79
|
|
70
80
|
* Valgrind suppressions can be generated with `rake test:valgrind:suppression`
|
71
81
|
* If present, valgrind suppressions will be used when valgrinding.
|
72
82
|
|
73
|
-
|
83
|
+
### 1.0.5 / 2012-06-19
|
74
84
|
|
75
85
|
* RSpec support now works with TESTOPTS.
|
76
86
|
|
77
|
-
|
87
|
+
### 1.0.4 / 2012-06-19
|
78
88
|
|
79
89
|
* Adding support for RSpec.
|
80
90
|
|
81
|
-
|
91
|
+
### 1.0.3 / 2012-02-06
|
82
92
|
|
83
93
|
* Fixing compatibility with latter-day versions of rake. #1
|
84
94
|
|
85
|
-
|
95
|
+
### 1.0.2 / 2011-11-13
|
86
96
|
|
87
97
|
* Fixing reference to ::RUBY with rbconfig-based construction of the ruby interpreter path.
|
88
98
|
|
89
|
-
|
99
|
+
### 1.0.1 / 2009-06-26
|
90
100
|
|
91
101
|
* Fix Hoe dependency version.
|
92
102
|
* Activate the hoe-git plugin.
|
93
103
|
* Fix docs, give Mike some well-deserved credit!
|
94
104
|
|
95
|
-
|
105
|
+
### 1.0.0 / 2009-06-22
|
96
106
|
|
97
107
|
* Birthday!
|
data/Manifest.txt
CHANGED
data/README.md
CHANGED
@@ -60,6 +60,35 @@ rake test:valgrind # when this runs, the errors from that log file will be suppr
|
|
60
60
|
```
|
61
61
|
|
62
62
|
|
63
|
+
## Suppression files
|
64
|
+
|
65
|
+
Suppression files can be added to the `suppressions` subdirectory of your project.
|
66
|
+
|
67
|
+
As of v2.0.0, `hoe-debugging` will use all suppression files that match any part of your Ruby's version. It uses the Hoe project name and the ruby version name, with an optional trailing `/_.*/`.
|
68
|
+
|
69
|
+
For example, if:
|
70
|
+
|
71
|
+
* my Hoe project was named `myproject`
|
72
|
+
* and my Ruby version was `2.5.1.57` (the `57` is `RUBY_PATCHLEVEL`)
|
73
|
+
|
74
|
+
then the following would be found and used:
|
75
|
+
|
76
|
+
* `suppressions/myproject_ruby-2.5.1.57.supp`
|
77
|
+
* `suppressions/myproject_ruby-2.5.1.57_namespace_deref.supp`
|
78
|
+
* `suppressions/myproject_ruby-2.5.1.supp`
|
79
|
+
* `suppressions/myproject_ruby-2.5.supp`
|
80
|
+
* `suppressions/myproject_ruby-2.supp`
|
81
|
+
* `suppressions/myproject_ruby-2_exit_frees.supp`
|
82
|
+
|
83
|
+
and the following would **not** be used:
|
84
|
+
|
85
|
+
* `suppressions/otherproject_ruby-2.5.1.57.supp` because the project name is wrong
|
86
|
+
* `suppressions/myproject_ruby-2.5.1.58.supp` because the patchlevel is wrong
|
87
|
+
* `suppressions/myproject_ruby-2.5.2.supp` because the patch is wrong
|
88
|
+
* `suppressions/myproject_ruby-2.4.supp` because the minor is wrong
|
89
|
+
* `suppressions/myproject_ruby-1.supp` because the major is wrong
|
90
|
+
|
91
|
+
|
63
92
|
## Installation
|
64
93
|
|
65
94
|
```
|
data/Rakefile
CHANGED
@@ -10,8 +10,7 @@ Hoe.spec "hoe-debugging" do
|
|
10
10
|
developer "John Barnette", "jbarnette@rubyforge.org"
|
11
11
|
developer "Mike Dalessio", "mike.dalessio@gmail.com"
|
12
12
|
|
13
|
-
self.
|
14
|
-
self.history_file = "CHANGELOG.rdoc"
|
13
|
+
self.history_file = "CHANGELOG.md"
|
15
14
|
self.readme_file = "README.md"
|
16
15
|
|
17
16
|
license "MIT"
|
data/lib/hoe/debugging.rb
CHANGED
@@ -11,7 +11,7 @@ class Hoe #:nodoc:
|
|
11
11
|
# * <tt>test:valgrind:mem0</tt>
|
12
12
|
|
13
13
|
module Debugging
|
14
|
-
VERSION = "
|
14
|
+
VERSION = "2.0.0" #:nodoc:
|
15
15
|
|
16
16
|
##
|
17
17
|
# The exit code of valgrind when it detects an error.
|
@@ -66,7 +66,8 @@ class Hoe #:nodoc:
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def hoe_debugging_check_for_suppression_file options
|
69
|
-
|
69
|
+
suppression_files = hoe_debugging_valgrind_helper.matching_suppression_files
|
70
|
+
suppression_files.each do |suppression_file|
|
70
71
|
puts "NOTICE: using valgrind suppressions in #{suppression_file.inspect}"
|
71
72
|
options << "--suppressions=#{suppression_file}"
|
72
73
|
end
|
@@ -150,10 +151,10 @@ class Hoe #:nodoc:
|
|
150
151
|
end
|
151
152
|
|
152
153
|
def version_matches
|
153
|
-
matches = [formatted_ruby_version]
|
154
|
-
matches << formatted_ruby_version.split(".")[0,3].join(".")
|
155
|
-
matches << formatted_ruby_version.split(".")[0,2].join(".")
|
156
|
-
matches << formatted_ruby_version.split(".")[0,1].join(".")
|
154
|
+
matches = [formatted_ruby_version] # e.g. "ruby-2.5.1.57"
|
155
|
+
matches << formatted_ruby_version.split(".")[0,3].join(".") # e.g. "ruby-2.5.1"
|
156
|
+
matches << formatted_ruby_version.split(".")[0,2].join(".") # e.g. "ruby-2.5"
|
157
|
+
matches << formatted_ruby_version.split(".")[0,1].join(".") # e.g. "ruby-2"
|
157
158
|
matches
|
158
159
|
end
|
159
160
|
|
@@ -188,12 +189,13 @@ class Hoe #:nodoc:
|
|
188
189
|
filename
|
189
190
|
end
|
190
191
|
|
191
|
-
def
|
192
|
+
def matching_suppression_files
|
193
|
+
matching_files = []
|
192
194
|
version_matches.each do |version_string|
|
193
|
-
|
194
|
-
|
195
|
+
matching_files += Dir[File.join(directory, "#{project_name}_#{version_string}.supp")]
|
196
|
+
matching_files += Dir[File.join(directory, "#{project_name}_#{version_string}_*.supp")]
|
195
197
|
end
|
196
|
-
|
198
|
+
matching_files
|
197
199
|
end
|
198
200
|
|
199
201
|
def valgrind
|
@@ -54,44 +54,41 @@ describe Hoe::Debugging::ValgrindHelper do
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
describe "#
|
57
|
+
describe "#matching_suppression_files" do
|
58
58
|
context "there are multiple matches" do
|
59
|
-
it "returns
|
59
|
+
it "returns all matches" do
|
60
60
|
helper = klass.new "myproj", :directory => suppressions_directory
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
expect(helper.matching_suppression_file).to eq exact_match
|
67
|
-
end
|
68
|
-
end
|
61
|
+
matching_files = helper.version_matches.map do |version_match|
|
62
|
+
File.join(suppressions_directory, "myproj_#{version_match}.supp")
|
63
|
+
end
|
64
|
+
inexact_match = File.join(suppressions_directory, "myproj_#{helper.version_matches[1]}.99999.supp")
|
65
|
+
all_files = matching_files + [inexact_match]
|
69
66
|
|
70
|
-
|
71
|
-
context "there is one inexact match" do
|
72
|
-
it "returns it" do
|
73
|
-
helper = klass.new "myproj", :directory => suppressions_directory
|
74
|
-
inexact_match = File.join(suppressions_directory, "myproj_#{helper.version_matches[1]}.999999999.supp")
|
75
67
|
FileUtils.mkdir_p suppressions_directory
|
76
|
-
FileUtils.touch
|
77
|
-
|
68
|
+
all_files.each { |f| FileUtils.touch f }
|
69
|
+
|
70
|
+
expect(helper.matching_suppression_files).to eq(matching_files)
|
78
71
|
end
|
79
|
-
end
|
80
72
|
|
81
|
-
|
82
|
-
it "returns it" do
|
73
|
+
it "returns all matches even with trailing desc" do
|
83
74
|
helper = klass.new "myproj", :directory => suppressions_directory
|
84
|
-
|
75
|
+
matching_files = helper.version_matches.map do |version_match|
|
76
|
+
File.join(suppressions_directory, "myproj_#{version_match}_foo.supp")
|
77
|
+
end
|
78
|
+
inexact_match = File.join(suppressions_directory, "myproj_#{helper.version_matches[1]}.99999_foo.supp")
|
79
|
+
all_files = matching_files + [inexact_match]
|
80
|
+
|
85
81
|
FileUtils.mkdir_p suppressions_directory
|
86
|
-
FileUtils.touch
|
87
|
-
|
82
|
+
all_files.each { |f| FileUtils.touch f }
|
83
|
+
|
84
|
+
expect(helper.matching_suppression_files).to eq(matching_files)
|
88
85
|
end
|
89
86
|
end
|
90
87
|
|
91
88
|
context "there are zero matches" do
|
92
89
|
it "returns nil" do
|
93
90
|
helper = klass.new "myproj", :directory => suppressions_directory
|
94
|
-
expect(helper.
|
91
|
+
expect(helper.matching_suppression_files).to eq([])
|
95
92
|
end
|
96
93
|
end
|
97
94
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoe-debugging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-11-
|
12
|
+
date: 2018-11-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -149,12 +149,12 @@ email:
|
|
149
149
|
executables: []
|
150
150
|
extensions: []
|
151
151
|
extra_rdoc_files:
|
152
|
-
- CHANGELOG.
|
152
|
+
- CHANGELOG.md
|
153
153
|
- Manifest.txt
|
154
154
|
- README.md
|
155
155
|
files:
|
156
156
|
- ".rspec"
|
157
|
-
- CHANGELOG.
|
157
|
+
- CHANGELOG.md
|
158
158
|
- LICENSE
|
159
159
|
- Manifest.txt
|
160
160
|
- README.md
|