spork-rdebugide-testunit 0.1.0
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/Gemfile +4 -0
- data/Rakefile +2 -0
- data/bin/dtestdrb +6 -0
- data/lib/spork-rdebugide-testunit.rb +1 -0
- data/lib/spork-rdebugide-testunit/version.rb +5 -0
- data/lib/spork/test_framework/rdebug_ide_test_unit.rb +102 -0
- data/spork-rdebugide-testunit.gemspec +33 -0
- metadata +84 -0
data/Gemfile
ADDED
data/Rakefile
ADDED
data/bin/dtestdrb
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'drb'
|
4
|
+
DRb.start_service("druby://127.0.0.1:0") # this allows Ruby to do some magical stuff so you can pass an output stream over DRb.
|
5
|
+
test_server = DRbObject.new_with_uri("druby://127.0.0.1:8988")
|
6
|
+
result = test_server.run(ARGV, $stderr, $stdout)
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'spork/test_framework/rdebug_ide_test_unit'
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require "ruby-debug-base"
|
2
|
+
require "ruby-debug-ide"
|
3
|
+
require "spork/test_framework/test_unit"
|
4
|
+
|
5
|
+
class Spork::TestFramework::RdebugIdeTestUnit < Spork::TestFramework::TestUnit
|
6
|
+
|
7
|
+
def run_tests(argv, stderr, stdout)
|
8
|
+
setup_rdebug(argv) do
|
9
|
+
super(argv, stderr, stdout)
|
10
|
+
end
|
11
|
+
rescue => e
|
12
|
+
puts "-"*30
|
13
|
+
puts "Error executing #{argv.join(' ')}"
|
14
|
+
puts e.message
|
15
|
+
puts e.backtrace
|
16
|
+
puts "-"*30
|
17
|
+
end
|
18
|
+
|
19
|
+
def setup_rdebug(argv)
|
20
|
+
|
21
|
+
if argv.grep(/rdebug-ide/).size > 0
|
22
|
+
|
23
|
+
while argv.shift !~ /rdebug-ide/; end
|
24
|
+
|
25
|
+
options = OpenStruct.new(
|
26
|
+
'frame_bind' => false,
|
27
|
+
'host' => nil,
|
28
|
+
'load_mode' => false,
|
29
|
+
'port' => 1234,
|
30
|
+
'stop' => false,
|
31
|
+
'tracing' => false
|
32
|
+
)
|
33
|
+
|
34
|
+
opts = OptionParser.new do |opts|
|
35
|
+
opts.banner = <<-EOB
|
36
|
+
Using ruby-debug-base #{Debugger::VERSION}
|
37
|
+
Usage: rdebug-ide is supposed to be called from RDT, NetBeans or RubyMine. The
|
38
|
+
command line interface to ruby-debug is rdebug.
|
39
|
+
EOB
|
40
|
+
opts.separator ""
|
41
|
+
opts.separator "Options:"
|
42
|
+
opts.on("-h", "--host HOST", "Host name used for remote debugging") {|host| options.host = host}
|
43
|
+
opts.on("-p", "--port PORT", Integer, "Port used for remote debugging") {|port| options.port = port}
|
44
|
+
opts.on('--stop', 'stop when the script is loaded') {options.stop = true}
|
45
|
+
opts.on("-x", "--trace", "turn on line tracing") {options.tracing = true}
|
46
|
+
opts.on("-l", "--load-mode", "load mode (experimental)") {options.load_mode = true}
|
47
|
+
opts.on("-d", "--debug", "Debug self - prints information for debugging ruby-debug itself") do
|
48
|
+
Debugger.cli_debug = true
|
49
|
+
end
|
50
|
+
opts.on("--xml-debug", "Debug self - sends information <message>s for debugging ruby-debug itself") do
|
51
|
+
Debugger.xml_debug = true
|
52
|
+
end
|
53
|
+
opts.on("-I", "--include PATH", String, "Add PATH to $LOAD_PATH") do |path|
|
54
|
+
$LOAD_PATH.unshift(path)
|
55
|
+
end
|
56
|
+
|
57
|
+
opts.on("--keep-frame-binding", "Keep frame bindings") {options.frame_bind = true}
|
58
|
+
opts.separator ""
|
59
|
+
opts.separator "Common options:"
|
60
|
+
opts.on_tail("-v", "--version", "Show version") do
|
61
|
+
puts "Using ruby-debug-base #{Debugger::VERSION}"
|
62
|
+
exit
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
begin
|
67
|
+
opts.parse! argv
|
68
|
+
rescue StandardError => e
|
69
|
+
puts opts
|
70
|
+
puts
|
71
|
+
puts e.message
|
72
|
+
exit(1)
|
73
|
+
end
|
74
|
+
|
75
|
+
if argv.empty?
|
76
|
+
puts opts
|
77
|
+
puts
|
78
|
+
puts "Must specify a script to run"
|
79
|
+
exit(1)
|
80
|
+
end
|
81
|
+
|
82
|
+
# install interruption handler
|
83
|
+
trap('INT') { Debugger.interrupt_last }
|
84
|
+
|
85
|
+
# set options
|
86
|
+
Debugger.keep_frame_binding = options.frame_bind
|
87
|
+
Debugger.tracing = options.tracing
|
88
|
+
|
89
|
+
Debugger.start_server(options.host, options.port)
|
90
|
+
Debugger.start do
|
91
|
+
yield
|
92
|
+
end
|
93
|
+
|
94
|
+
else
|
95
|
+
|
96
|
+
yield
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "spork-rdebugide-testunit/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "spork-rdebugide-testunit"
|
7
|
+
s.version = Spork::RdebugIdeTestUnit::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Matt Conway"]
|
10
|
+
s.email = ["matt@conwaysplace.com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{Test Unit runner for spork with rdebug-ide integration (for rubymine)}
|
13
|
+
s.description = %q{Test Unit runner for spork with rdebug-ide integration (for rubymine)}
|
14
|
+
|
15
|
+
s.rubyforge_project = "spork-rdebugide-testunit"
|
16
|
+
|
17
|
+
s.files = %w{
|
18
|
+
Gemfile
|
19
|
+
Rakefile
|
20
|
+
bin/dtestdrb
|
21
|
+
lib/spork-rdebugide-testunit.rb
|
22
|
+
lib/spork-rdebugide-testunit/version.rb
|
23
|
+
lib/spork/test_framework/rdebug_ide_test_unit.rb
|
24
|
+
spork-rdebugide-testunit.gemspec
|
25
|
+
}
|
26
|
+
s.test_files = []
|
27
|
+
s.executables = ["dtestdrb"]
|
28
|
+
s.require_paths = ["lib"]
|
29
|
+
|
30
|
+
s.add_dependency("spork", '~> 0.9.0.rc3')
|
31
|
+
s.add_dependency("spork-testunit", '~> 0.0.4')
|
32
|
+
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spork-rdebugide-testunit
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.0
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Matt Conway
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-02-24 00:00:00 -05:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: spork
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.9.0.rc3
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: spork-testunit
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ~>
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 0.0.4
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id002
|
38
|
+
description: Test Unit runner for spork with rdebug-ide integration (for rubymine)
|
39
|
+
email:
|
40
|
+
- matt@conwaysplace.com
|
41
|
+
executables:
|
42
|
+
- dtestdrb
|
43
|
+
extensions: []
|
44
|
+
|
45
|
+
extra_rdoc_files: []
|
46
|
+
|
47
|
+
files:
|
48
|
+
- Gemfile
|
49
|
+
- Rakefile
|
50
|
+
- bin/dtestdrb
|
51
|
+
- lib/spork-rdebugide-testunit.rb
|
52
|
+
- lib/spork-rdebugide-testunit/version.rb
|
53
|
+
- lib/spork/test_framework/rdebug_ide_test_unit.rb
|
54
|
+
- spork-rdebugide-testunit.gemspec
|
55
|
+
has_rdoc: true
|
56
|
+
homepage: ""
|
57
|
+
licenses: []
|
58
|
+
|
59
|
+
post_install_message:
|
60
|
+
rdoc_options: []
|
61
|
+
|
62
|
+
require_paths:
|
63
|
+
- lib
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: "0"
|
70
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: "0"
|
76
|
+
requirements: []
|
77
|
+
|
78
|
+
rubyforge_project: spork-rdebugide-testunit
|
79
|
+
rubygems_version: 1.5.0
|
80
|
+
signing_key:
|
81
|
+
specification_version: 3
|
82
|
+
summary: Test Unit runner for spork with rdebug-ide integration (for rubymine)
|
83
|
+
test_files: []
|
84
|
+
|