mcollective-client 2.2.3 → 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of mcollective-client might be problematic. Click here for more details.
- data/lib/mcollective/rpc/actionrunner.rb +1 -1
- data/lib/mcollective/util.rb +32 -17
- data/lib/mcollective.rb +1 -0
- data/spec/unit/ddl/base_spec.rb +1 -0
- data/spec/unit/plugins/mcollective/connector/rabbitmq_spec.rb +7 -3
- data/spec/unit/plugins/mcollective/packagers/debpackage_packager_spec.rb +1 -1
- data/spec/unit/plugins/mcollective/packagers/rpmpackage_packager_spec.rb +2 -0
- data/spec/unit/shell_spec.rb +19 -11
- data/spec/unit/unix_daemon_spec.rb +2 -2
- data/spec/unit/util_spec.rb +5 -2
- metadata +194 -194
data/lib/mcollective/util.rb
CHANGED
@@ -135,6 +135,12 @@ module MCollective
|
|
135
135
|
"compound" => []}
|
136
136
|
end
|
137
137
|
|
138
|
+
# Returns the PuppetLabs mcollective path for windows
|
139
|
+
def self.windows_prefix
|
140
|
+
require 'win32/dir'
|
141
|
+
prefix = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "mcollective")
|
142
|
+
end
|
143
|
+
|
138
144
|
# Picks a config file defaults to ~/.mcollective
|
139
145
|
# else /etc/mcollective/client.cfg
|
140
146
|
def self.config_file_for_user
|
@@ -145,10 +151,18 @@ module MCollective
|
|
145
151
|
config = File.expand_path("~/.mcollective")
|
146
152
|
|
147
153
|
unless File.readable?(config) && File.file?(config)
|
148
|
-
|
154
|
+
if self.windows?
|
155
|
+
config = File.join(self.windows_prefix, "etc", "client.cfg")
|
156
|
+
else
|
157
|
+
config = "/etc/mcollective/client.cfg"
|
158
|
+
end
|
149
159
|
end
|
150
160
|
rescue Exception => e
|
151
|
-
|
161
|
+
if self.windows?
|
162
|
+
config = File.join(self.windows_prefix, "etc", "client.cfg")
|
163
|
+
else
|
164
|
+
config = "/etc/mcollective/client.cfg"
|
165
|
+
end
|
152
166
|
end
|
153
167
|
|
154
168
|
return config
|
@@ -413,33 +427,34 @@ module MCollective
|
|
413
427
|
# returns -1 if a < b
|
414
428
|
# returns 1 if a > b
|
415
429
|
#
|
416
|
-
# Code originally from Puppet
|
417
|
-
# ruby style that fits in better with this code base
|
430
|
+
# Code originally from Puppet
|
418
431
|
def self.versioncmp(version_a, version_b)
|
419
432
|
vre = /[-.]|\d+|[^-.\d]+/
|
420
|
-
|
433
|
+
ax = version_a.scan(vre)
|
421
434
|
bx = version_b.scan(vre)
|
422
435
|
|
423
|
-
|
436
|
+
while (ax.length>0 && bx.length>0)
|
424
437
|
a = ax.shift
|
425
438
|
b = bx.shift
|
426
439
|
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
440
|
+
if( a == b ) then next
|
441
|
+
elsif (a == '-' && b == '-') then next
|
442
|
+
elsif (a == '-') then return -1
|
443
|
+
elsif (b == '-') then return 1
|
444
|
+
elsif (a == '.' && b == '.') then next
|
445
|
+
elsif (a == '.' ) then return -1
|
446
|
+
elsif (b == '.' ) then return 1
|
447
|
+
elsif (a =~ /^\d+$/ && b =~ /^\d+$/) then
|
448
|
+
if( a =~ /^0/ or b =~ /^0/ ) then
|
449
|
+
return a.to_s.upcase <=> b.to_s.upcase
|
450
|
+
end
|
451
|
+
return a.to_i <=> b.to_i
|
437
452
|
else
|
438
453
|
return a.upcase <=> b.upcase
|
439
454
|
end
|
440
455
|
end
|
441
456
|
|
442
|
-
version_a <=> version_b
|
457
|
+
version_a <=> version_b;
|
443
458
|
end
|
444
459
|
end
|
445
460
|
end
|
data/lib/mcollective.rb
CHANGED
data/spec/unit/ddl/base_spec.rb
CHANGED
@@ -18,6 +18,7 @@ module MCollective
|
|
18
18
|
|
19
19
|
it "should return correct new path for other ddls" do
|
20
20
|
@ddl.instance_variable_set("@plugintype", :data)
|
21
|
+
File.expects(:exists?).with("/etc/mcollective/data-help.erb").returns(true)
|
21
22
|
@ddl.template_for_plugintype.should == "data-help.erb"
|
22
23
|
end
|
23
24
|
end
|
@@ -264,6 +264,7 @@ module MCollective
|
|
264
264
|
msg.stubs(:agent).returns("agent")
|
265
265
|
msg.stubs(:collective).returns("mcollective")
|
266
266
|
msg.stubs(:type).returns(:direct_request)
|
267
|
+
msg.stubs(:reply_to).returns("/topic/mcollective")
|
267
268
|
msg.expects(:discovered_hosts).returns(["one", "two"])
|
268
269
|
|
269
270
|
@connection.expects(:publish).with('/exchange/mcollective_directed/one', 'msg', {'reply-to' => '/temp-queue/mcollective_reply_agent'})
|
@@ -345,8 +346,9 @@ module MCollective
|
|
345
346
|
message.expects(:type).returns(:request).times(3)
|
346
347
|
message.expects(:agent).returns("rspecagent")
|
347
348
|
message.expects(:collective).returns("mcollective")
|
349
|
+
message.expects(:reply_to).returns("/topic/rspec")
|
348
350
|
|
349
|
-
@c.expects(:make_target).with("rspecagent", :request, "mcollective", nil)
|
351
|
+
@c.expects(:make_target).with("rspecagent", :request, "mcollective", "/topic/rspec", nil)
|
350
352
|
@c.target_for(message)
|
351
353
|
end
|
352
354
|
|
@@ -355,8 +357,9 @@ module MCollective
|
|
355
357
|
message.expects(:type).returns(:direct_request).times(3)
|
356
358
|
message.expects(:agent).returns("rspecagent")
|
357
359
|
message.expects(:collective).returns("mcollective")
|
360
|
+
message.expects(:reply_to).returns("/topic/rspec")
|
358
361
|
|
359
|
-
@c.expects(:make_target).with("rspecagent", :direct_request, "mcollective", nil)
|
362
|
+
@c.expects(:make_target).with("rspecagent", :direct_request, "mcollective", "/topic/rspec", nil)
|
360
363
|
@c.target_for(message)
|
361
364
|
end
|
362
365
|
|
@@ -382,8 +385,9 @@ module MCollective
|
|
382
385
|
@c.make_target("test", :reply, "mcollective").should == {:name => "/temp-queue/mcollective_reply_test", :headers => {}, :id => "mcollective_test_replies"}
|
383
386
|
@c.make_target("test", :broadcast, "mcollective").should == {:name => "/exchange/mcollective_broadcast/test", :headers => {"reply-to"=>"/temp-queue/mcollective_reply_test"}, :id => "mcollective_broadcast_test"}
|
384
387
|
@c.make_target("test", :request, "mcollective").should == {:name => "/exchange/mcollective_broadcast/test", :headers => {"reply-to"=>"/temp-queue/mcollective_reply_test"}, :id => "mcollective_broadcast_test"}
|
385
|
-
@c.make_target("test", :direct_request, "mcollective", "rspec").should == {:headers=>{"reply-to"=>"/temp-queue/mcollective_reply_test"}, :name=>"/exchange/mcollective_directed/rspec", :id => nil}
|
388
|
+
@c.make_target("test", :direct_request, "mcollective", nil, "rspec").should == {:headers=>{"reply-to"=>"/temp-queue/mcollective_reply_test"}, :name=>"/exchange/mcollective_directed/rspec", :id => nil}
|
386
389
|
@c.make_target("test", :directed, "mcollective").should == {:name => "/exchange/mcollective_directed/rspec", :headers=>{}, :id => "rspec_directed_to_identity"}
|
390
|
+
@c.make_target("test", :request, "mcollective", "/topic/rspec", "rspec").should == {:headers=>{"reply-to"=>"/topic/rspec"}, :name=>"/exchange/mcollective_broadcast/test", :id => "mcollective_broadcast_test"}
|
387
391
|
end
|
388
392
|
|
389
393
|
it "should raise an error for unknown collectives" do
|
@@ -4,7 +4,7 @@ require File.dirname(__FILE__) + '/../../../../../plugins/mcollective/pluginpack
|
|
4
4
|
|
5
5
|
module MCollective
|
6
6
|
module PluginPackager
|
7
|
-
describe DebpackagePackager do
|
7
|
+
describe DebpackagePackager, :unless => MCollective::Util.windows? do
|
8
8
|
|
9
9
|
let(:maketmpdir) do
|
10
10
|
tmpdir = Dir.mktmpdir("mc-test")
|
@@ -22,6 +22,8 @@ module MCollective
|
|
22
22
|
@plugin.stubs(:iteration).returns("1")
|
23
23
|
@plugin.stubs(:metadata).returns({:name => "test", :version => "1"})
|
24
24
|
@plugin.stubs(:mcname).returns("mcollective")
|
25
|
+
RpmpackagePackager.any_instance.stubs(:rpmdir).returns('rpmdir')
|
26
|
+
RpmpackagePackager.any_instance.stubs(:srpmdir).returns('srpmdir')
|
25
27
|
end
|
26
28
|
|
27
29
|
after :all do
|
data/spec/unit/shell_spec.rb
CHANGED
@@ -71,6 +71,14 @@ module MCollective
|
|
71
71
|
end
|
72
72
|
|
73
73
|
describe "#runcommand" do
|
74
|
+
let(:nl) do
|
75
|
+
if MCollective::Util.windows? && STDOUT.tty? && STDERR.tty?
|
76
|
+
"\r\n"
|
77
|
+
else
|
78
|
+
"\n"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
74
82
|
it "should run the command" do
|
75
83
|
Shell.any_instance.stubs("systemu").returns(true).once.with("date", "stdout" => '', "stderr" => '', "env" => {"LC_ALL" => "C"}, 'cwd' => Dir.tmpdir)
|
76
84
|
s = Shell.new("date")
|
@@ -80,8 +88,8 @@ module MCollective
|
|
80
88
|
it "should set stdin, stdout and status" do
|
81
89
|
s = Shell.new('ruby -e "STDERR.puts \"stderr\"; STDOUT.puts \"stdout\""')
|
82
90
|
s.runcommand
|
83
|
-
s.stdout.should == "stdout
|
84
|
-
s.stderr.should == "stderr
|
91
|
+
s.stdout.should == "stdout#{nl}"
|
92
|
+
s.stderr.should == "stderr#{nl}"
|
85
93
|
s.status.exitstatus.should == 0
|
86
94
|
end
|
87
95
|
|
@@ -92,10 +100,10 @@ module MCollective
|
|
92
100
|
s.status.exitstatus.should == 1
|
93
101
|
end
|
94
102
|
|
95
|
-
it "
|
103
|
+
it "should have correct environment" do
|
96
104
|
s = Shell.new('ruby -e "puts ENV[\'LC_ALL\'];puts ENV[\'foo\'];"', :environment => {"foo" => "bar"})
|
97
105
|
s.runcommand
|
98
|
-
s.stdout.should == "C
|
106
|
+
s.stdout.should == "C#{nl}bar#{nl}"
|
99
107
|
end
|
100
108
|
|
101
109
|
it "should save stdout in custom stdout variable" do
|
@@ -104,8 +112,8 @@ module MCollective
|
|
104
112
|
s = Shell.new('echo foo', :stdout => out)
|
105
113
|
s.runcommand
|
106
114
|
|
107
|
-
s.stdout.should == "STDOUTfoo
|
108
|
-
out.should == "STDOUTfoo
|
115
|
+
s.stdout.should == "STDOUTfoo#{nl}"
|
116
|
+
out.should == "STDOUTfoo#{nl}"
|
109
117
|
end
|
110
118
|
|
111
119
|
it "should save stderr in custom stderr variable" do
|
@@ -114,8 +122,8 @@ module MCollective
|
|
114
122
|
s = Shell.new('ruby -e "STDERR.puts \"foo\""', :stderr => out)
|
115
123
|
s.runcommand
|
116
124
|
|
117
|
-
s.stderr.should == "STDERRfoo
|
118
|
-
out.should == "STDERRfoo
|
125
|
+
s.stderr.should == "STDERRfoo#{nl}"
|
126
|
+
out.should == "STDERRfoo#{nl}"
|
119
127
|
end
|
120
128
|
|
121
129
|
it "should run in the correct cwd" do
|
@@ -123,21 +131,21 @@ module MCollective
|
|
123
131
|
|
124
132
|
s.runcommand
|
125
133
|
|
126
|
-
s.stdout.should == "#{Dir.tmpdir}
|
134
|
+
s.stdout.should == "#{Dir.tmpdir}#{nl}"
|
127
135
|
end
|
128
136
|
|
129
137
|
it "should send the stdin" do
|
130
138
|
s = Shell.new('ruby -e "puts STDIN.gets"', :stdin => "hello world")
|
131
139
|
s.runcommand
|
132
140
|
|
133
|
-
s.stdout.should == "hello world
|
141
|
+
s.stdout.should == "hello world#{nl}"
|
134
142
|
end
|
135
143
|
|
136
144
|
it "should support multiple lines of stdin" do
|
137
145
|
s = Shell.new('ruby -e "puts STDIN.gets;puts;puts STDIN.gets"', :stdin => "first line\n2nd line")
|
138
146
|
s.runcommand
|
139
147
|
|
140
|
-
s.stdout.should == "first line
|
148
|
+
s.stdout.should == "first line#{nl}#{nl}2nd line#{nl}"
|
141
149
|
end
|
142
150
|
end
|
143
151
|
end
|
@@ -11,7 +11,7 @@ module MCollective
|
|
11
11
|
expect { UnixDaemon.daemonize_runner }.to raise_error("The Unix Daemonizer can not be used on the Windows Platform")
|
12
12
|
end
|
13
13
|
|
14
|
-
it "should write the pid file if requested" do
|
14
|
+
it "should write the pid file if requested", :unless => MCollective::Util.windows? do
|
15
15
|
f = mock
|
16
16
|
f.expects(:write).with(Process.pid)
|
17
17
|
|
@@ -26,7 +26,7 @@ module MCollective
|
|
26
26
|
UnixDaemon.daemonize_runner("/nonexisting")
|
27
27
|
end
|
28
28
|
|
29
|
-
it "should not write a pid file unless requested" do
|
29
|
+
it "should not write a pid file unless requested", :unless => MCollective::Util.windows? do
|
30
30
|
r = mock
|
31
31
|
r.expects(:run)
|
32
32
|
|
data/spec/unit/util_spec.rb
CHANGED
@@ -398,6 +398,7 @@ module MCollective
|
|
398
398
|
|
399
399
|
stdout = mock()
|
400
400
|
stdout.expects(:tty?).returns(true)
|
401
|
+
Util.expects(:windows?).returns(false)
|
401
402
|
environment = mock()
|
402
403
|
environment.expects(:[]).with("COLUMNS").returns(5).twice
|
403
404
|
environment.expects(:[]).with("LINES").returns(5).twice
|
@@ -408,6 +409,7 @@ module MCollective
|
|
408
409
|
it "should return the correct dimensions if ENV term is set and tput is present" do
|
409
410
|
stdout = mock()
|
410
411
|
stdout.expects(:tty?).returns(true)
|
412
|
+
Util.expects(:windows?).returns(false)
|
411
413
|
environment = mock()
|
412
414
|
environment.expects(:[]).with("COLUMNS").returns(false)
|
413
415
|
environment.expects(:[]).with("TERM").returns(true)
|
@@ -422,6 +424,7 @@ module MCollective
|
|
422
424
|
it "should return the correct dimensions if stty is present" do
|
423
425
|
stdout = mock()
|
424
426
|
stdout.expects(:tty?).returns(true)
|
427
|
+
Util.expects(:windows?).returns(false)
|
425
428
|
|
426
429
|
environment = mock()
|
427
430
|
environment.expects(:[]).with("COLUMNS").returns(false)
|
@@ -451,11 +454,11 @@ module MCollective
|
|
451
454
|
|
452
455
|
describe "#versioncmp" do
|
453
456
|
it "should be able to sort a long set of various unordered versions" do
|
454
|
-
ary = %w{ 1.1.6 2.3 1.1a 3.0 1.5 1 2.4 1.1-4 2.3.1 1.2 2.3.0 1.1-3 2.4b 2.4 2.40.2 2.3a.1 3.1 0002 1.1-5 1.1.a 1.06}
|
457
|
+
ary = %w{ 1.1.6 2.3 1.1a 3.0 1.5 1 2.4 1.1-4 2.3.1 1.2 2.3.0 1.1-3 2.4b 2.4 2.40.2 2.3a.1 3.1 0002 1.1-5 1.1.a 1.06 1.2.10 1.2.8}
|
455
458
|
|
456
459
|
newary = ary.sort {|a, b| Util.versioncmp(a,b) }
|
457
460
|
|
458
|
-
newary.should == ["0002", "1", "1.06", "1.1-3", "1.1-4", "1.1-5", "1.1.6", "1.1.a", "1.1a", "1.2", "1.5", "2.3", "2.3.0", "2.3.1", "2.3a.1", "2.4", "2.4", "2.4b", "2.40.2", "3.0", "3.1"]
|
461
|
+
newary.should == ["0002", "1", "1.06", "1.1-3", "1.1-4", "1.1-5", "1.1.6", "1.1.a", "1.1a", "1.2", "1.2.8", "1.2.10", "1.5", "2.3", "2.3.0", "2.3.1", "2.3a.1", "2.4", "2.4", "2.4b", "2.40.2", "3.0", "3.1"]
|
459
462
|
end
|
460
463
|
end
|
461
464
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mcollective-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 2.2.
|
9
|
+
- 4
|
10
|
+
version: 2.2.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- R.I.Pienaar
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-
|
18
|
+
date: 2013-05-20 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: systemu
|
@@ -70,184 +70,184 @@ extra_rdoc_files: []
|
|
70
70
|
files:
|
71
71
|
- bin/mc-call-agent
|
72
72
|
- bin/mco
|
73
|
-
- lib/mcollective
|
74
|
-
- lib/mcollective/
|
75
|
-
- lib/mcollective/
|
76
|
-
- lib/mcollective/
|
77
|
-
- lib/mcollective/shell.rb
|
78
|
-
- lib/mcollective/ssl.rb
|
73
|
+
- lib/mcollective.rb
|
74
|
+
- lib/mcollective/agent.rb
|
75
|
+
- lib/mcollective/agents.rb
|
76
|
+
- lib/mcollective/aggregate.rb
|
79
77
|
- lib/mcollective/aggregate/base.rb
|
80
|
-
- lib/mcollective/aggregate/result
|
78
|
+
- lib/mcollective/aggregate/result.rb
|
81
79
|
- lib/mcollective/aggregate/result/base.rb
|
82
80
|
- lib/mcollective/aggregate/result/collection_result.rb
|
83
|
-
- lib/mcollective/aggregate/result.rb
|
84
|
-
- lib/mcollective/agent.rb
|
85
|
-
- lib/mcollective/facts/base.rb
|
81
|
+
- lib/mcollective/aggregate/result/numeric_result.rb
|
86
82
|
- lib/mcollective/application.rb
|
87
|
-
- lib/mcollective/
|
88
|
-
- lib/mcollective/
|
89
|
-
- lib/mcollective/
|
90
|
-
- lib/mcollective/
|
91
|
-
- lib/mcollective/
|
92
|
-
- lib/mcollective/
|
93
|
-
- lib/mcollective/
|
94
|
-
- lib/mcollective/
|
95
|
-
- lib/mcollective/
|
96
|
-
- lib/mcollective/
|
97
|
-
- lib/mcollective/rpc/audit.rb
|
98
|
-
- lib/mcollective/rpc/client.rb
|
99
|
-
- lib/mcollective/rpc/stats.rb
|
100
|
-
- lib/mcollective/log.rb
|
101
|
-
- lib/mcollective/pluginmanager.rb
|
102
|
-
- lib/mcollective/runnerstats.rb
|
103
|
-
- lib/mcollective/pluginpackager/agent_definition.rb
|
104
|
-
- lib/mcollective/pluginpackager/standard_definition.rb
|
105
|
-
- lib/mcollective/discovery.rb
|
106
|
-
- lib/mcollective/vendor.rb
|
107
|
-
- lib/mcollective/facts.rb
|
108
|
-
- lib/mcollective/logger.rb
|
109
|
-
- lib/mcollective/generators.rb
|
110
|
-
- lib/mcollective/ddl/base.rb
|
83
|
+
- lib/mcollective/applications.rb
|
84
|
+
- lib/mcollective/cache.rb
|
85
|
+
- lib/mcollective/client.rb
|
86
|
+
- lib/mcollective/config.rb
|
87
|
+
- lib/mcollective/connector.rb
|
88
|
+
- lib/mcollective/connector/base.rb
|
89
|
+
- lib/mcollective/data.rb
|
90
|
+
- lib/mcollective/data/base.rb
|
91
|
+
- lib/mcollective/data/result.rb
|
92
|
+
- lib/mcollective/ddl.rb
|
111
93
|
- lib/mcollective/ddl/agentddl.rb
|
112
|
-
- lib/mcollective/ddl/
|
94
|
+
- lib/mcollective/ddl/base.rb
|
113
95
|
- lib/mcollective/ddl/dataddl.rb
|
96
|
+
- lib/mcollective/ddl/discoveryddl.rb
|
114
97
|
- lib/mcollective/ddl/validatorddl.rb
|
115
|
-
- lib/mcollective/
|
116
|
-
- lib/mcollective/
|
117
|
-
- lib/mcollective/
|
118
|
-
- lib/mcollective/
|
98
|
+
- lib/mcollective/discovery.rb
|
99
|
+
- lib/mcollective/facts.rb
|
100
|
+
- lib/mcollective/facts/base.rb
|
101
|
+
- lib/mcollective/generators.rb
|
102
|
+
- lib/mcollective/generators/agent_generator.rb
|
119
103
|
- lib/mcollective/generators/base.rb
|
104
|
+
- lib/mcollective/generators/data_generator.rb
|
105
|
+
- lib/mcollective/generators/templates/action_snippet.erb
|
120
106
|
- lib/mcollective/generators/templates/data_input_snippet.erb
|
121
107
|
- lib/mcollective/generators/templates/ddl.erb
|
122
|
-
- lib/mcollective/generators/templates/action_snippet.erb
|
123
108
|
- lib/mcollective/generators/templates/plugin.erb
|
124
|
-
- lib/mcollective/
|
125
|
-
- lib/mcollective/
|
126
|
-
- lib/mcollective/
|
127
|
-
- lib/mcollective/
|
128
|
-
- lib/mcollective/
|
129
|
-
- lib/mcollective/
|
130
|
-
- lib/mcollective/registration.rb
|
131
|
-
- lib/mcollective/applications.rb
|
132
|
-
- lib/mcollective/pluginpackager.rb
|
133
|
-
- lib/mcollective/security/base.rb
|
109
|
+
- lib/mcollective/log.rb
|
110
|
+
- lib/mcollective/logger.rb
|
111
|
+
- lib/mcollective/logger/base.rb
|
112
|
+
- lib/mcollective/logger/console_logger.rb
|
113
|
+
- lib/mcollective/logger/file_logger.rb
|
114
|
+
- lib/mcollective/logger/syslog_logger.rb
|
134
115
|
- lib/mcollective/matcher.rb
|
135
|
-
- lib/mcollective/unix_daemon.rb
|
136
|
-
- lib/mcollective/data/base.rb
|
137
|
-
- lib/mcollective/data/result.rb
|
138
|
-
- lib/mcollective/validator.rb
|
139
|
-
- lib/mcollective/aggregate.rb
|
140
|
-
- lib/mcollective/rpc.rb
|
141
|
-
- lib/mcollective/optionparser.rb
|
142
|
-
- lib/mcollective/cache.rb
|
143
116
|
- lib/mcollective/matcher/parser.rb
|
144
117
|
- lib/mcollective/matcher/scanner.rb
|
145
|
-
- lib/mcollective/
|
118
|
+
- lib/mcollective/message.rb
|
119
|
+
- lib/mcollective/monkey_patches.rb
|
120
|
+
- lib/mcollective/optionparser.rb
|
121
|
+
- lib/mcollective/pluginmanager.rb
|
122
|
+
- lib/mcollective/pluginpackager.rb
|
123
|
+
- lib/mcollective/pluginpackager/agent_definition.rb
|
124
|
+
- lib/mcollective/pluginpackager/standard_definition.rb
|
125
|
+
- lib/mcollective/registration.rb
|
126
|
+
- lib/mcollective/registration/base.rb
|
127
|
+
- lib/mcollective/rpc.rb
|
128
|
+
- lib/mcollective/rpc/actionrunner.rb
|
129
|
+
- lib/mcollective/rpc/agent.rb
|
130
|
+
- lib/mcollective/rpc/audit.rb
|
131
|
+
- lib/mcollective/rpc/client.rb
|
132
|
+
- lib/mcollective/rpc/helpers.rb
|
133
|
+
- lib/mcollective/rpc/progress.rb
|
134
|
+
- lib/mcollective/rpc/reply.rb
|
135
|
+
- lib/mcollective/rpc/request.rb
|
136
|
+
- lib/mcollective/rpc/result.rb
|
137
|
+
- lib/mcollective/rpc/stats.rb
|
138
|
+
- lib/mcollective/runnerstats.rb
|
146
139
|
- lib/mcollective/security.rb
|
140
|
+
- lib/mcollective/security/base.rb
|
141
|
+
- lib/mcollective/shell.rb
|
142
|
+
- lib/mcollective/ssl.rb
|
143
|
+
- lib/mcollective/unix_daemon.rb
|
147
144
|
- lib/mcollective/util.rb
|
148
|
-
- lib/mcollective.rb
|
149
|
-
-
|
150
|
-
-
|
145
|
+
- lib/mcollective/validator.rb
|
146
|
+
- lib/mcollective/vendor.rb
|
147
|
+
- lib/mcollective/vendor/require_vendored.rb
|
148
|
+
- lib/mcollective/windows_daemon.rb
|
149
|
+
- spec/Rakefile
|
151
150
|
- spec/fixtures/application/test.rb
|
152
|
-
- spec/fixtures/test-private.pem
|
153
151
|
- spec/fixtures/test-cert.pem
|
152
|
+
- spec/fixtures/test-private.pem
|
153
|
+
- spec/fixtures/test-public.pem
|
154
154
|
- spec/fixtures/util/1.in
|
155
|
-
- spec/fixtures/util/4.in
|
156
155
|
- spec/fixtures/util/1.out
|
157
|
-
- spec/fixtures/util/3.in
|
158
156
|
- spec/fixtures/util/2.in
|
159
157
|
- spec/fixtures/util/2.out
|
160
|
-
- spec/fixtures/util/
|
158
|
+
- spec/fixtures/util/3.in
|
161
159
|
- spec/fixtures/util/3.out
|
162
|
-
- spec/
|
163
|
-
- spec/
|
164
|
-
- spec/
|
160
|
+
- spec/fixtures/util/4.in
|
161
|
+
- spec/fixtures/util/4.out
|
162
|
+
- spec/monkey_patches/instance_variable_defined.rb
|
163
|
+
- spec/spec.opts
|
164
|
+
- spec/spec_helper.rb
|
165
|
+
- spec/unit/agents_spec.rb
|
165
166
|
- spec/unit/aggregate/base_spec.rb
|
166
167
|
- spec/unit/aggregate/result/base_spec.rb
|
167
|
-
- spec/unit/aggregate/result/numeric_result_spec.rb
|
168
168
|
- spec/unit/aggregate/result/collection_result_spec.rb
|
169
|
-
- spec/unit/
|
170
|
-
- spec/unit/
|
171
|
-
- spec/unit/
|
169
|
+
- spec/unit/aggregate/result/numeric_result_spec.rb
|
170
|
+
- spec/unit/aggregate_spec.rb
|
171
|
+
- spec/unit/application_spec.rb
|
172
|
+
- spec/unit/applications_spec.rb
|
172
173
|
- spec/unit/array_spec.rb
|
173
|
-
- spec/unit/rpc/reply_spec.rb
|
174
|
-
- spec/unit/rpc/client_spec.rb
|
175
|
-
- spec/unit/rpc/helpers_spec.rb
|
176
|
-
- spec/unit/rpc/request_spec.rb
|
177
|
-
- spec/unit/rpc/agent_spec.rb
|
178
|
-
- spec/unit/rpc/result_spec.rb
|
179
|
-
- spec/unit/rpc/actionrunner_spec.rb
|
180
|
-
- spec/unit/rpc/stats_spec.rb
|
181
|
-
- spec/unit/windows_daemon_spec.rb
|
182
174
|
- spec/unit/cache_spec.rb
|
183
|
-
- spec/unit/
|
184
|
-
- spec/unit/string_spec.rb
|
185
|
-
- spec/unit/pluginpackager/agent_definition_spec.rb
|
186
|
-
- spec/unit/pluginpackager/standard_definition_spec.rb
|
187
|
-
- spec/unit/ssl_spec.rb
|
175
|
+
- spec/unit/client_spec.rb
|
188
176
|
- spec/unit/config_spec.rb
|
189
|
-
- spec/unit/
|
190
|
-
- spec/unit/
|
191
|
-
- spec/unit/
|
177
|
+
- spec/unit/data/base_spec.rb
|
178
|
+
- spec/unit/data/result_spec.rb
|
179
|
+
- spec/unit/data_spec.rb
|
180
|
+
- spec/unit/ddl/agentddl_spec.rb
|
192
181
|
- spec/unit/ddl/base_spec.rb
|
193
182
|
- spec/unit/ddl/dataddl_spec.rb
|
194
|
-
- spec/unit/ddl/agentddl_spec.rb
|
195
183
|
- spec/unit/ddl/discoveryddl_spec.rb
|
196
|
-
- spec/unit/
|
197
|
-
- spec/unit/
|
198
|
-
- spec/unit/
|
184
|
+
- spec/unit/ddl_spec.rb
|
185
|
+
- spec/unit/discovery_spec.rb
|
186
|
+
- spec/unit/facts/base_spec.rb
|
187
|
+
- spec/unit/facts_spec.rb
|
199
188
|
- spec/unit/generators/agent_generator_spec.rb
|
200
|
-
- spec/unit/generators/snippets/agent_ddl
|
201
|
-
- spec/unit/generators/snippets/data_ddl
|
202
189
|
- spec/unit/generators/base_spec.rb
|
203
190
|
- spec/unit/generators/data_generator_spec.rb
|
204
|
-
- spec/unit/
|
191
|
+
- spec/unit/generators/snippets/agent_ddl
|
192
|
+
- spec/unit/generators/snippets/data_ddl
|
193
|
+
- spec/unit/log_spec.rb
|
194
|
+
- spec/unit/logger/base_spec.rb
|
195
|
+
- spec/unit/logger/console_logger_spec.rb
|
196
|
+
- spec/unit/logger/syslog_logger_spec.rb
|
197
|
+
- spec/unit/matcher/parser_spec.rb
|
198
|
+
- spec/unit/matcher/scanner_spec.rb
|
199
|
+
- spec/unit/matcher_spec.rb
|
200
|
+
- spec/unit/message_spec.rb
|
201
|
+
- spec/unit/optionparser_spec.rb
|
202
|
+
- spec/unit/pluginmanager_spec.rb
|
203
|
+
- spec/unit/pluginpackager/agent_definition_spec.rb
|
204
|
+
- spec/unit/pluginpackager/standard_definition_spec.rb
|
205
|
+
- spec/unit/pluginpackager_spec.rb
|
206
|
+
- spec/unit/plugins/mcollective/aggregate/average_spec.rb
|
207
|
+
- spec/unit/plugins/mcollective/aggregate/sum_spec.rb
|
208
|
+
- spec/unit/plugins/mcollective/aggregate/summary_spec.rb
|
205
209
|
- spec/unit/plugins/mcollective/connector/activemq_spec.rb
|
210
|
+
- spec/unit/plugins/mcollective/connector/rabbitmq_spec.rb
|
206
211
|
- spec/unit/plugins/mcollective/connector/stomp/eventlogger_spec.rb
|
207
212
|
- spec/unit/plugins/mcollective/connector/stomp_spec.rb
|
208
|
-
- spec/unit/plugins/mcollective/
|
209
|
-
- spec/unit/plugins/mcollective/
|
210
|
-
- spec/unit/plugins/mcollective/aggregate/summary_spec.rb
|
213
|
+
- spec/unit/plugins/mcollective/data/agent_data_spec.rb
|
214
|
+
- spec/unit/plugins/mcollective/data/fstat_data_spec.rb
|
211
215
|
- spec/unit/plugins/mcollective/discovery/flatfile_spec.rb
|
212
216
|
- spec/unit/plugins/mcollective/discovery/mc_spec.rb
|
213
217
|
- spec/unit/plugins/mcollective/packagers/debpackage_packager_spec.rb
|
214
218
|
- spec/unit/plugins/mcollective/packagers/ospackage_spec.rb
|
215
219
|
- spec/unit/plugins/mcollective/packagers/rpmpackage_packager_spec.rb
|
216
220
|
- spec/unit/plugins/mcollective/security/psk_spec.rb
|
217
|
-
- spec/unit/plugins/mcollective/
|
218
|
-
- spec/unit/plugins/mcollective/
|
219
|
-
- spec/unit/plugins/mcollective/validator/regex_validator_spec.rb
|
220
|
-
- spec/unit/plugins/mcollective/validator/shellsafe_validator_spec.rb
|
221
|
+
- spec/unit/plugins/mcollective/validator/any_validator_spec.rb
|
222
|
+
- spec/unit/plugins/mcollective/validator/array_validator_spec.rb
|
221
223
|
- spec/unit/plugins/mcollective/validator/ipv4address_validator_spec.rb
|
222
|
-
- spec/unit/plugins/mcollective/validator/typecheck_validator_spec.rb
|
223
224
|
- spec/unit/plugins/mcollective/validator/ipv6address_validator_spec.rb
|
224
|
-
- spec/unit/plugins/mcollective/validator/array_validator_spec.rb
|
225
|
-
- spec/unit/plugins/mcollective/validator/any_validator_spec.rb
|
226
225
|
- spec/unit/plugins/mcollective/validator/length_validator_spec.rb
|
227
|
-
- spec/unit/
|
226
|
+
- spec/unit/plugins/mcollective/validator/regex_validator_spec.rb
|
227
|
+
- spec/unit/plugins/mcollective/validator/shellsafe_validator_spec.rb
|
228
|
+
- spec/unit/plugins/mcollective/validator/typecheck_validator_spec.rb
|
228
229
|
- spec/unit/registration/base_spec.rb
|
229
|
-
- spec/unit/
|
230
|
-
- spec/unit/
|
231
|
-
- spec/unit/
|
232
|
-
- spec/unit/
|
230
|
+
- spec/unit/rpc/actionrunner_spec.rb
|
231
|
+
- spec/unit/rpc/agent_spec.rb
|
232
|
+
- spec/unit/rpc/client_spec.rb
|
233
|
+
- spec/unit/rpc/helpers_spec.rb
|
234
|
+
- spec/unit/rpc/reply_spec.rb
|
235
|
+
- spec/unit/rpc/request_spec.rb
|
236
|
+
- spec/unit/rpc/result_spec.rb
|
237
|
+
- spec/unit/rpc/stats_spec.rb
|
233
238
|
- spec/unit/rpc_spec.rb
|
234
|
-
- spec/unit/
|
235
|
-
- spec/unit/
|
236
|
-
- spec/unit/matcher_spec.rb
|
237
|
-
- spec/unit/log_spec.rb
|
238
|
-
- spec/unit/aggregate_spec.rb
|
239
|
-
- spec/unit/facts_spec.rb
|
239
|
+
- spec/unit/runnerstats_spec.rb
|
240
|
+
- spec/unit/security/base_spec.rb
|
240
241
|
- spec/unit/shell_spec.rb
|
241
|
-
- spec/unit/
|
242
|
-
- spec/unit/
|
243
|
-
- spec/unit/matcher/parser_spec.rb
|
244
|
-
- spec/unit/matcher/scanner_spec.rb
|
242
|
+
- spec/unit/ssl_spec.rb
|
243
|
+
- spec/unit/string_spec.rb
|
245
244
|
- spec/unit/symbol_spec.rb
|
245
|
+
- spec/unit/unix_daemon_spec.rb
|
246
246
|
- spec/unit/util_spec.rb
|
247
|
+
- spec/unit/validator_spec.rb
|
248
|
+
- spec/unit/vendor_spec.rb
|
249
|
+
- spec/unit/windows_daemon_spec.rb
|
247
250
|
- spec/windows_spec.opts
|
248
|
-
- spec/spec_helper.rb
|
249
|
-
- spec/monkey_patches/instance_variable_defined.rb
|
250
|
-
- spec/Rakefile
|
251
251
|
homepage: https://docs.puppetlabs.com/mcollective/
|
252
252
|
licenses: []
|
253
253
|
|
@@ -282,105 +282,105 @@ signing_key:
|
|
282
282
|
specification_version: 3
|
283
283
|
summary: Client libraries for The Marionette Collective
|
284
284
|
test_files:
|
285
|
-
- spec/
|
286
|
-
- spec/fixtures/test-public.pem
|
285
|
+
- spec/Rakefile
|
287
286
|
- spec/fixtures/application/test.rb
|
288
|
-
- spec/fixtures/test-private.pem
|
289
287
|
- spec/fixtures/test-cert.pem
|
288
|
+
- spec/fixtures/test-private.pem
|
289
|
+
- spec/fixtures/test-public.pem
|
290
290
|
- spec/fixtures/util/1.in
|
291
|
-
- spec/fixtures/util/4.in
|
292
291
|
- spec/fixtures/util/1.out
|
293
|
-
- spec/fixtures/util/3.in
|
294
292
|
- spec/fixtures/util/2.in
|
295
293
|
- spec/fixtures/util/2.out
|
296
|
-
- spec/fixtures/util/
|
294
|
+
- spec/fixtures/util/3.in
|
297
295
|
- spec/fixtures/util/3.out
|
298
|
-
- spec/
|
299
|
-
- spec/
|
300
|
-
- spec/
|
296
|
+
- spec/fixtures/util/4.in
|
297
|
+
- spec/fixtures/util/4.out
|
298
|
+
- spec/monkey_patches/instance_variable_defined.rb
|
299
|
+
- spec/spec.opts
|
300
|
+
- spec/spec_helper.rb
|
301
|
+
- spec/unit/agents_spec.rb
|
301
302
|
- spec/unit/aggregate/base_spec.rb
|
302
303
|
- spec/unit/aggregate/result/base_spec.rb
|
303
|
-
- spec/unit/aggregate/result/numeric_result_spec.rb
|
304
304
|
- spec/unit/aggregate/result/collection_result_spec.rb
|
305
|
-
- spec/unit/
|
306
|
-
- spec/unit/
|
307
|
-
- spec/unit/
|
305
|
+
- spec/unit/aggregate/result/numeric_result_spec.rb
|
306
|
+
- spec/unit/aggregate_spec.rb
|
307
|
+
- spec/unit/application_spec.rb
|
308
|
+
- spec/unit/applications_spec.rb
|
308
309
|
- spec/unit/array_spec.rb
|
309
|
-
- spec/unit/rpc/reply_spec.rb
|
310
|
-
- spec/unit/rpc/client_spec.rb
|
311
|
-
- spec/unit/rpc/helpers_spec.rb
|
312
|
-
- spec/unit/rpc/request_spec.rb
|
313
|
-
- spec/unit/rpc/agent_spec.rb
|
314
|
-
- spec/unit/rpc/result_spec.rb
|
315
|
-
- spec/unit/rpc/actionrunner_spec.rb
|
316
|
-
- spec/unit/rpc/stats_spec.rb
|
317
|
-
- spec/unit/windows_daemon_spec.rb
|
318
310
|
- spec/unit/cache_spec.rb
|
319
|
-
- spec/unit/
|
320
|
-
- spec/unit/string_spec.rb
|
321
|
-
- spec/unit/pluginpackager/agent_definition_spec.rb
|
322
|
-
- spec/unit/pluginpackager/standard_definition_spec.rb
|
323
|
-
- spec/unit/ssl_spec.rb
|
311
|
+
- spec/unit/client_spec.rb
|
324
312
|
- spec/unit/config_spec.rb
|
325
|
-
- spec/unit/
|
326
|
-
- spec/unit/
|
327
|
-
- spec/unit/
|
313
|
+
- spec/unit/data/base_spec.rb
|
314
|
+
- spec/unit/data/result_spec.rb
|
315
|
+
- spec/unit/data_spec.rb
|
316
|
+
- spec/unit/ddl/agentddl_spec.rb
|
328
317
|
- spec/unit/ddl/base_spec.rb
|
329
318
|
- spec/unit/ddl/dataddl_spec.rb
|
330
|
-
- spec/unit/ddl/agentddl_spec.rb
|
331
319
|
- spec/unit/ddl/discoveryddl_spec.rb
|
332
|
-
- spec/unit/
|
333
|
-
- spec/unit/
|
334
|
-
- spec/unit/
|
320
|
+
- spec/unit/ddl_spec.rb
|
321
|
+
- spec/unit/discovery_spec.rb
|
322
|
+
- spec/unit/facts/base_spec.rb
|
323
|
+
- spec/unit/facts_spec.rb
|
335
324
|
- spec/unit/generators/agent_generator_spec.rb
|
336
|
-
- spec/unit/generators/snippets/agent_ddl
|
337
|
-
- spec/unit/generators/snippets/data_ddl
|
338
325
|
- spec/unit/generators/base_spec.rb
|
339
326
|
- spec/unit/generators/data_generator_spec.rb
|
340
|
-
- spec/unit/
|
327
|
+
- spec/unit/generators/snippets/agent_ddl
|
328
|
+
- spec/unit/generators/snippets/data_ddl
|
329
|
+
- spec/unit/log_spec.rb
|
330
|
+
- spec/unit/logger/base_spec.rb
|
331
|
+
- spec/unit/logger/console_logger_spec.rb
|
332
|
+
- spec/unit/logger/syslog_logger_spec.rb
|
333
|
+
- spec/unit/matcher/parser_spec.rb
|
334
|
+
- spec/unit/matcher/scanner_spec.rb
|
335
|
+
- spec/unit/matcher_spec.rb
|
336
|
+
- spec/unit/message_spec.rb
|
337
|
+
- spec/unit/optionparser_spec.rb
|
338
|
+
- spec/unit/pluginmanager_spec.rb
|
339
|
+
- spec/unit/pluginpackager/agent_definition_spec.rb
|
340
|
+
- spec/unit/pluginpackager/standard_definition_spec.rb
|
341
|
+
- spec/unit/pluginpackager_spec.rb
|
342
|
+
- spec/unit/plugins/mcollective/aggregate/average_spec.rb
|
343
|
+
- spec/unit/plugins/mcollective/aggregate/sum_spec.rb
|
344
|
+
- spec/unit/plugins/mcollective/aggregate/summary_spec.rb
|
341
345
|
- spec/unit/plugins/mcollective/connector/activemq_spec.rb
|
346
|
+
- spec/unit/plugins/mcollective/connector/rabbitmq_spec.rb
|
342
347
|
- spec/unit/plugins/mcollective/connector/stomp/eventlogger_spec.rb
|
343
348
|
- spec/unit/plugins/mcollective/connector/stomp_spec.rb
|
344
|
-
- spec/unit/plugins/mcollective/
|
345
|
-
- spec/unit/plugins/mcollective/
|
346
|
-
- spec/unit/plugins/mcollective/aggregate/summary_spec.rb
|
349
|
+
- spec/unit/plugins/mcollective/data/agent_data_spec.rb
|
350
|
+
- spec/unit/plugins/mcollective/data/fstat_data_spec.rb
|
347
351
|
- spec/unit/plugins/mcollective/discovery/flatfile_spec.rb
|
348
352
|
- spec/unit/plugins/mcollective/discovery/mc_spec.rb
|
349
353
|
- spec/unit/plugins/mcollective/packagers/debpackage_packager_spec.rb
|
350
354
|
- spec/unit/plugins/mcollective/packagers/ospackage_spec.rb
|
351
355
|
- spec/unit/plugins/mcollective/packagers/rpmpackage_packager_spec.rb
|
352
356
|
- spec/unit/plugins/mcollective/security/psk_spec.rb
|
353
|
-
- spec/unit/plugins/mcollective/
|
354
|
-
- spec/unit/plugins/mcollective/
|
355
|
-
- spec/unit/plugins/mcollective/validator/regex_validator_spec.rb
|
356
|
-
- spec/unit/plugins/mcollective/validator/shellsafe_validator_spec.rb
|
357
|
+
- spec/unit/plugins/mcollective/validator/any_validator_spec.rb
|
358
|
+
- spec/unit/plugins/mcollective/validator/array_validator_spec.rb
|
357
359
|
- spec/unit/plugins/mcollective/validator/ipv4address_validator_spec.rb
|
358
|
-
- spec/unit/plugins/mcollective/validator/typecheck_validator_spec.rb
|
359
360
|
- spec/unit/plugins/mcollective/validator/ipv6address_validator_spec.rb
|
360
|
-
- spec/unit/plugins/mcollective/validator/array_validator_spec.rb
|
361
|
-
- spec/unit/plugins/mcollective/validator/any_validator_spec.rb
|
362
361
|
- spec/unit/plugins/mcollective/validator/length_validator_spec.rb
|
363
|
-
- spec/unit/
|
362
|
+
- spec/unit/plugins/mcollective/validator/regex_validator_spec.rb
|
363
|
+
- spec/unit/plugins/mcollective/validator/shellsafe_validator_spec.rb
|
364
|
+
- spec/unit/plugins/mcollective/validator/typecheck_validator_spec.rb
|
364
365
|
- spec/unit/registration/base_spec.rb
|
365
|
-
- spec/unit/
|
366
|
-
- spec/unit/
|
367
|
-
- spec/unit/
|
368
|
-
- spec/unit/
|
366
|
+
- spec/unit/rpc/actionrunner_spec.rb
|
367
|
+
- spec/unit/rpc/agent_spec.rb
|
368
|
+
- spec/unit/rpc/client_spec.rb
|
369
|
+
- spec/unit/rpc/helpers_spec.rb
|
370
|
+
- spec/unit/rpc/reply_spec.rb
|
371
|
+
- spec/unit/rpc/request_spec.rb
|
372
|
+
- spec/unit/rpc/result_spec.rb
|
373
|
+
- spec/unit/rpc/stats_spec.rb
|
369
374
|
- spec/unit/rpc_spec.rb
|
370
|
-
- spec/unit/
|
371
|
-
- spec/unit/
|
372
|
-
- spec/unit/matcher_spec.rb
|
373
|
-
- spec/unit/log_spec.rb
|
374
|
-
- spec/unit/aggregate_spec.rb
|
375
|
-
- spec/unit/facts_spec.rb
|
375
|
+
- spec/unit/runnerstats_spec.rb
|
376
|
+
- spec/unit/security/base_spec.rb
|
376
377
|
- spec/unit/shell_spec.rb
|
377
|
-
- spec/unit/
|
378
|
-
- spec/unit/
|
379
|
-
- spec/unit/matcher/parser_spec.rb
|
380
|
-
- spec/unit/matcher/scanner_spec.rb
|
378
|
+
- spec/unit/ssl_spec.rb
|
379
|
+
- spec/unit/string_spec.rb
|
381
380
|
- spec/unit/symbol_spec.rb
|
381
|
+
- spec/unit/unix_daemon_spec.rb
|
382
382
|
- spec/unit/util_spec.rb
|
383
|
+
- spec/unit/validator_spec.rb
|
384
|
+
- spec/unit/vendor_spec.rb
|
385
|
+
- spec/unit/windows_daemon_spec.rb
|
383
386
|
- spec/windows_spec.opts
|
384
|
-
- spec/spec_helper.rb
|
385
|
-
- spec/monkey_patches/instance_variable_defined.rb
|
386
|
-
- spec/Rakefile
|