hoe-debugging 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,6 @@
1
+ === 1.0.0 / 2009-06-22
2
+
3
+ * 1 major enhancement
4
+
5
+ * Birthday!
6
+
@@ -0,0 +1,5 @@
1
+ CHANGELOG.rdoc
2
+ Manifest.txt
3
+ README.rdoc
4
+ Rakefile
5
+ lib/hoe/debugging.rb
@@ -0,0 +1,49 @@
1
+ = hoe-debugging
2
+
3
+ * http://github.com/jbarnette/hoe-debugging
4
+
5
+ == Description
6
+
7
+ A Hoe plugin to help you debug your codes. This plugin provides
8
+ <tt>test:gdb</tt> and <tt>test:valgrind</tt> tasks (with a few
9
+ variants). See the Hoe::Debugging module for a few configuration
10
+ options.
11
+
12
+ This plugin expects you to have <tt>gdb</tt> and <tt>valgrind</tt>
13
+ available in your <tt>PATH</tt>.
14
+
15
+ == Examples
16
+
17
+ # in your Rakefile
18
+ Hoe.plugin :debugging
19
+
20
+ # in your shell
21
+ $ rake test:gdb
22
+
23
+ == Installation
24
+
25
+ $ gem install hoe-debugging
26
+
27
+ == License
28
+
29
+ Copyright 2009 John Barnette (jbarnette@rubyforge.org),
30
+ Aaron Patterson (apatterson@rubyforge.org)
31
+
32
+ Permission is hereby granted, free of charge, to any person obtaining
33
+ a copy of this software and associated documentation files (the
34
+ 'Software'), to deal in the Software without restriction, including
35
+ without limitation the rights to use, copy, modify, merge, publish,
36
+ distribute, sublicense, and/or sell copies of the Software, and to
37
+ permit persons to whom the Software is furnished to do so, subject to
38
+ the following conditions:
39
+
40
+ The above copyright notice and this permission notice shall be
41
+ included in all copies or substantial portions of the Software.
42
+
43
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
44
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
45
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
46
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
47
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
48
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
49
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,12 @@
1
+ require "rubygems"
2
+ require "hoe"
3
+
4
+ Hoe.spec "hoe-debugging" do
5
+ developer "John Barnette", "jbarnette@rubyforge.org"
6
+
7
+ self.extra_rdoc_files = FileList["*.rdoc"]
8
+ self.history_file = "CHANGELOG.rdoc"
9
+ self.readme_file = "README.rdoc"
10
+
11
+ extra_deps << ["hoe", "~> 2.1.0"]
12
+ end
@@ -0,0 +1,62 @@
1
+ class Hoe #:nodoc:
2
+
3
+ # Whee, stuff to help when your codes are b0rked. Tasks provided:
4
+ #
5
+ # * <tt>test:gdb</tt>
6
+ # * <tt>test:valgrind</tt>
7
+ # * <tt>test:valgrind:mem</tt>
8
+ # * <tt>test:valgrind:mem0</tt>
9
+
10
+ module Debugging
11
+ VERSION = "1.0.0" #:nodoc:
12
+
13
+ ##
14
+ # Optional: Used to add flags to GDB. [default: <tt>[]</tt>]
15
+
16
+ attr_accessor :gdb_options
17
+
18
+ ##
19
+ # Optional: Used to add flags to valgrind. [default:
20
+ # <tt>%w(--num-callers=50 --error-limit=no --partial-loads-ok=yes
21
+ # --undef-value-errors=no)</tt>]
22
+
23
+ attr_accessor :valgrind_options
24
+
25
+ def initialize_debugging #:nodoc:
26
+ self.gdb_options = []
27
+
28
+ self.valgrind_options = ["--num-callers=50",
29
+ "--error-limit=no",
30
+ "--partial-loads-ok=yes",
31
+ "--undef-value-errors=no"]
32
+ end
33
+
34
+ def define_debugging_tasks #:nodoc:
35
+ if File.directory? "test" then
36
+ desc "Run the test suite under GDB."
37
+ task "test:gdb" do
38
+ sh "gdb #{gdb_options.join ' '} --args #{RUBY} #{make_test_cmd}"
39
+ end
40
+
41
+ desc "Run the test suite under Valgrind."
42
+ task "test:valgrind" do
43
+ sh "valgrind #{valgrind_options.join ' '} #{RUBY} #{make_test_cmd}"
44
+ end
45
+
46
+ desc "Run the test suite under Valgrind with memory-fill."
47
+ task "test:valgrind:mem" do
48
+ sh "valgrind #{valgrind_options.join ' '} " +
49
+ "--freelist-vol=100000000 --malloc-fill=6D --free-fill=66 " +
50
+ "#{RUBY} #{make_test_cmd}"
51
+ end
52
+
53
+ desc "Run the test suite under Valgrind with memory-zero."
54
+ task "test:valgrind:mem0" do
55
+ sh "valgrind #{valgrind_options.join ' '} " +
56
+ "--freelist-vol=100000000 --malloc-fill=00 --free-fill=00 " +
57
+ "#{RUBY} #{make_test_cmd}"
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hoe-debugging
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - John Barnette
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-06-22 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 2.1.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.2.0
34
+ version:
35
+ description: |-
36
+ A Hoe plugin to help you debug your codes. This plugin provides
37
+ <tt>test:gdb</tt> and <tt>test:valgrind</tt> tasks (with a few
38
+ variants). See the Hoe::Debugging module for a few configuration
39
+ options.
40
+
41
+ This plugin expects you to have <tt>gdb</tt> and <tt>valgrind</tt>
42
+ available in your <tt>PATH</tt>.
43
+ email:
44
+ - jbarnette@rubyforge.org
45
+ executables: []
46
+
47
+ extensions: []
48
+
49
+ extra_rdoc_files:
50
+ - Manifest.txt
51
+ - CHANGELOG.rdoc
52
+ - README.rdoc
53
+ files:
54
+ - CHANGELOG.rdoc
55
+ - Manifest.txt
56
+ - README.rdoc
57
+ - Rakefile
58
+ - lib/hoe/debugging.rb
59
+ has_rdoc: true
60
+ homepage: http://github.com/jbarnette/hoe-debugging
61
+ licenses: []
62
+
63
+ post_install_message:
64
+ rdoc_options:
65
+ - --main
66
+ - README.rdoc
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: "0"
80
+ version:
81
+ requirements: []
82
+
83
+ rubyforge_project: hoe-debugging
84
+ rubygems_version: 1.3.3
85
+ signing_key:
86
+ specification_version: 3
87
+ summary: A Hoe plugin to help you debug your codes
88
+ test_files: []
89
+