autosiege 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/autosiege.gemspec +25 -0
- data/bin/autosiege +4 -0
- data/conf/siegerc +383 -0
- data/conf/urls.txt +3 -0
- data/lib/autosiege.rb +5 -0
- data/lib/autosiege/cli.rb +74 -0
- data/lib/autosiege/version.rb +3 -0
- metadata +92 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/autosiege.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "autosiege/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "autosiege"
|
7
|
+
s.version = Autosiege::VERSION
|
8
|
+
s.authors = ["Ben Marini"]
|
9
|
+
s.email = ["bmarini@gmail.com"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{A ruby CLI wrapper to siege}
|
12
|
+
s.description = %q{A ruby CLI wrapper to siege}
|
13
|
+
|
14
|
+
s.rubyforge_project = "autosiege"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
# specify any dependencies here; for example:
|
22
|
+
# s.add_development_dependency "rspec"
|
23
|
+
# s.add_runtime_dependency "rest-client"
|
24
|
+
s.add_runtime_dependency "mixlib-cli", "~> 1.2.2"
|
25
|
+
end
|
data/bin/autosiege
ADDED
data/conf/siegerc
ADDED
@@ -0,0 +1,383 @@
|
|
1
|
+
# Updated by Siege 2.69, July-17-2010
|
2
|
+
# Copyright 2000-2007 by Jeffrey Fulmer, et al.
|
3
|
+
#
|
4
|
+
# Siege configuration file -- edit as necessary
|
5
|
+
# For more information about configuring and running
|
6
|
+
# this program, visit: http://www.joedog.org/
|
7
|
+
|
8
|
+
#
|
9
|
+
# Variable declarations. You can set variables here
|
10
|
+
# for use in the directives below. Example:
|
11
|
+
# PROXY = proxy.joedog.org
|
12
|
+
# Reference variables inside ${} or $(), example:
|
13
|
+
# proxy-host = ${PROXY}
|
14
|
+
# You can also reference ENVIRONMENT variables without
|
15
|
+
# actually declaring them, example:
|
16
|
+
# logfile = $(HOME)/var/siege.log
|
17
|
+
|
18
|
+
#
|
19
|
+
# Signify verbose mode, true turns on verbose output
|
20
|
+
# ex: verbose = true|false
|
21
|
+
#
|
22
|
+
verbose = true
|
23
|
+
|
24
|
+
#
|
25
|
+
# CSV Verbose format: with this option, you can choose
|
26
|
+
# to format verbose output in traditional siege format
|
27
|
+
# or comma separated format. The latter will allow you
|
28
|
+
# to redirect output to a file for import into a spread
|
29
|
+
# sheet, i.e., siege > file.csv
|
30
|
+
# ex: csv = true|false (default false)
|
31
|
+
#
|
32
|
+
# csv = true
|
33
|
+
|
34
|
+
#
|
35
|
+
# Full URL verbose format: By default siege displays
|
36
|
+
# the URL path and not the full URL. With this option,
|
37
|
+
# you # can instruct siege to show the complete URL.
|
38
|
+
# ex: fullurl = true|false (default false)
|
39
|
+
#
|
40
|
+
# fullurl = true
|
41
|
+
|
42
|
+
#
|
43
|
+
# Display id: in verbose mode, display the siege user
|
44
|
+
# id associated with the HTTP transaction information
|
45
|
+
# ex: display-id = true|false
|
46
|
+
#
|
47
|
+
# display-id =
|
48
|
+
|
49
|
+
#
|
50
|
+
# Show logfile location. By default, siege displays the
|
51
|
+
# logfile location at the end of every run when logging
|
52
|
+
# You can turn this message off with this directive.
|
53
|
+
# ex: show-logfile = false
|
54
|
+
#
|
55
|
+
show-logfile = true
|
56
|
+
|
57
|
+
#
|
58
|
+
# Default logging status, true turns logging on.
|
59
|
+
# ex: logging = true|false
|
60
|
+
#
|
61
|
+
logging = true
|
62
|
+
|
63
|
+
#
|
64
|
+
# Logfile, the default siege logfile is $PREFIX/var/siege.log
|
65
|
+
# This directive allows you to choose an alternative log file.
|
66
|
+
# Environment variables may be used as shown in the examples:
|
67
|
+
# ex: logfile = /home/jeff/var/log/siege.log
|
68
|
+
# logfile = ${HOME}/var/log/siege.log
|
69
|
+
# logfile = ${LOGFILE}
|
70
|
+
#
|
71
|
+
# logfile =
|
72
|
+
logfile = ${SIEGE_LOGFILE}
|
73
|
+
|
74
|
+
#
|
75
|
+
# HTTP protocol. Options HTTP/1.1 and HTTP/1.0.
|
76
|
+
# Some webservers have broken implementation of the
|
77
|
+
# 1.1 protocol which skews throughput evaluations.
|
78
|
+
# If you notice some siege clients hanging for
|
79
|
+
# extended periods of time, change this to HTTP/1.0
|
80
|
+
# ex: protocol = HTTP/1.1
|
81
|
+
# protocol = HTTP/1.0
|
82
|
+
#
|
83
|
+
protocol = HTTP/1.1
|
84
|
+
|
85
|
+
#
|
86
|
+
# Chunked encoding is required by HTTP/1.1 protocol
|
87
|
+
# but siege allows you to turn it off as desired.
|
88
|
+
#
|
89
|
+
# ex: chunked = true
|
90
|
+
#
|
91
|
+
chunked = true
|
92
|
+
|
93
|
+
#
|
94
|
+
# Cache revalidation.
|
95
|
+
# Siege supports cache revalidation for both ETag and
|
96
|
+
# Last-modified headers. If a copy is still fresh, the
|
97
|
+
# server responds with 304.
|
98
|
+
# HTTP/1.1 200 0.00 secs: 2326 bytes ==> /apache_pb.gif
|
99
|
+
# HTTP/1.1 304 0.00 secs: 0 bytes ==> /apache_pb.gif
|
100
|
+
# HTTP/1.1 304 0.00 secs: 0 bytes ==> /apache_pb.gif
|
101
|
+
#
|
102
|
+
# ex: cache = true
|
103
|
+
#
|
104
|
+
cache = false
|
105
|
+
|
106
|
+
#
|
107
|
+
# Connection directive. Options "close" and "keep-alive"
|
108
|
+
# Starting with release 2.57b3, siege implements persistent
|
109
|
+
# connections in accordance to RFC 2068 using both chunked
|
110
|
+
# encoding and content-length directives to determine the
|
111
|
+
# page size. To run siege with persistent connections set
|
112
|
+
# the connection directive to keep-alive. (Default close)
|
113
|
+
# CAUTION: use the keep-alive directive with care.
|
114
|
+
# DOUBLE CAUTION: this directive does not work well on HPUX
|
115
|
+
# TRIPLE CAUTION: don't use keep-alives until further notice
|
116
|
+
# ex: connection = close
|
117
|
+
# connection = keep-alive
|
118
|
+
#
|
119
|
+
connection = close
|
120
|
+
|
121
|
+
#
|
122
|
+
# Default number of simulated concurrent users
|
123
|
+
# ex: concurrent = 25
|
124
|
+
#
|
125
|
+
concurrent = 15
|
126
|
+
|
127
|
+
#
|
128
|
+
# Default duration of the siege. The right hand argument has
|
129
|
+
# a modifier which specifies the time units, H=hours, M=minutes,
|
130
|
+
# and S=seconds. If a modifier is not specified, then minutes
|
131
|
+
# are assumed.
|
132
|
+
# ex: time = 50M
|
133
|
+
#
|
134
|
+
# time =
|
135
|
+
|
136
|
+
#
|
137
|
+
# Repetitions. The length of siege may be specified in client
|
138
|
+
# reps rather then a time duration. Instead of specifying a time
|
139
|
+
# span, you can tell each siege instance to hit the server X number
|
140
|
+
# of times. So if you chose 'reps = 20' and you've selected 10
|
141
|
+
# concurrent users, then siege will hit the server 200 times.
|
142
|
+
# ex: reps = 20
|
143
|
+
#
|
144
|
+
# reps =
|
145
|
+
|
146
|
+
#
|
147
|
+
# Default URLs file, set at configuration time, the default
|
148
|
+
# file is PREFIX/etc/urls.txt. So if you configured siege
|
149
|
+
# with --prefix=/usr/local then the urls.txt file is installed
|
150
|
+
# int /usr/local/etc/urls.txt. Use the "file = " directive to
|
151
|
+
# configure an alternative URLs file. You may use environment
|
152
|
+
# variables as shown in the examples below:
|
153
|
+
# ex: file = /export/home/jdfulmer/MYURLS.txt
|
154
|
+
# file = $HOME/etc/urls.txt
|
155
|
+
# file = $URLSFILE
|
156
|
+
#
|
157
|
+
# file =
|
158
|
+
|
159
|
+
#
|
160
|
+
# Default URL, this is a single URL that you want to test. This
|
161
|
+
# is usually set at the command line with the -u option. When
|
162
|
+
# used, this option overrides the urls.txt (-f FILE/--file=FILE)
|
163
|
+
# option. You will HAVE to comment this out for in order to use
|
164
|
+
# the urls.txt file option.
|
165
|
+
# ex: url = https://shemp.whoohoo.com/docs/index.jsp
|
166
|
+
#
|
167
|
+
# url =
|
168
|
+
|
169
|
+
#
|
170
|
+
# Default delay value, see the siege(1) man page.
|
171
|
+
# This value is used for load testing, it is not used
|
172
|
+
# for benchmarking.
|
173
|
+
# ex: delay = 3
|
174
|
+
#
|
175
|
+
delay = 1
|
176
|
+
|
177
|
+
#
|
178
|
+
# Connection timeout value. Set the value in seconds for
|
179
|
+
# socket connection timeouts. The default value is 30 seconds.
|
180
|
+
# ex: timeout = 30
|
181
|
+
#
|
182
|
+
# timeout =
|
183
|
+
|
184
|
+
#
|
185
|
+
# Session expiration: This directive allows you to delete all
|
186
|
+
# cookies after you pass through the URLs. This means siege will
|
187
|
+
# grab a new session with each run through its URLs. The default
|
188
|
+
# value is false.
|
189
|
+
# ex: expire-session = true
|
190
|
+
#
|
191
|
+
# expire-session =
|
192
|
+
|
193
|
+
#
|
194
|
+
# Failures: This is the number of total connection failures allowed
|
195
|
+
# before siege aborts. Connection failures (timeouts, socket failures,
|
196
|
+
# etc.) are combined with 400 and 500 level errors in the final stats,
|
197
|
+
# but those errors do not count against the abort total. If you set
|
198
|
+
# this total to 10, then siege will abort after ten socket timeouts,
|
199
|
+
# but it will NOT abort after ten 404s. This is designed to prevent
|
200
|
+
# a run-away mess on an unattended siege. The default value is 1024
|
201
|
+
# ex: failures = 50
|
202
|
+
#
|
203
|
+
# failures =
|
204
|
+
|
205
|
+
#
|
206
|
+
# Internet simulation. If true, siege clients will hit
|
207
|
+
# the URLs in the urls.txt file randomly, thereby simulating
|
208
|
+
# internet usage. If false, siege will run through the
|
209
|
+
# urls.txt file in order from first to last and back again.
|
210
|
+
# ex: internet = true
|
211
|
+
#
|
212
|
+
internet = false
|
213
|
+
|
214
|
+
#
|
215
|
+
# Default benchmarking value, If true, there is NO delay
|
216
|
+
# between server requests, siege runs as fast as the web
|
217
|
+
# server and the network will let it. Set this to false
|
218
|
+
# for load testing.
|
219
|
+
# ex: benchmark = true
|
220
|
+
#
|
221
|
+
benchmark = false
|
222
|
+
|
223
|
+
#
|
224
|
+
# Set the siege User-Agent to identify yourself at the
|
225
|
+
# host, the default is: JoeDog/1.00 [en] (X11; I; Siege #.##)
|
226
|
+
# But that wreaks of corporate techno speak. Feel free
|
227
|
+
# to make it more interesting :-) Since Limey is recovering
|
228
|
+
# from minor surgery as I write this, I'll dedicate the
|
229
|
+
# example to him...
|
230
|
+
# ex: user-agent = Limey The Bulldog
|
231
|
+
#
|
232
|
+
# user-agent =
|
233
|
+
|
234
|
+
#
|
235
|
+
# Accept-encoding. This option allows you to specify
|
236
|
+
# acceptable encodings returned by the server. Use this
|
237
|
+
# directive to turn on compression. By default we accept
|
238
|
+
# gzip compression.
|
239
|
+
#
|
240
|
+
# ex: accept-encoding = *
|
241
|
+
# accept-encoding = gzip
|
242
|
+
# accept-encoding = compress;q=0.5;gzip;q=1
|
243
|
+
accept-encoding = gzip
|
244
|
+
|
245
|
+
#
|
246
|
+
# TURN OFF THAT ANNOYING SPINNER!
|
247
|
+
# Siege spawns a thread and runs a spinner to entertain you
|
248
|
+
# as it collects and computes its stats. If you don't like
|
249
|
+
# this feature, you may turn it off here.
|
250
|
+
# ex: spinner = false
|
251
|
+
#
|
252
|
+
spinner = true
|
253
|
+
|
254
|
+
#
|
255
|
+
# WWW-Authenticate login. When siege hits a webpage
|
256
|
+
# that requires basic authentication, it will search its
|
257
|
+
# logins for authentication which matches the specific realm
|
258
|
+
# requested by the server. If it finds a match, it will send
|
259
|
+
# that login information. If it fails to match the realm, it
|
260
|
+
# will send the default login information. (Default is "all").
|
261
|
+
# You may configure siege with several logins as long as no
|
262
|
+
# two realms match. The format for logins is:
|
263
|
+
# username:password[:realm] where "realm" is optional.
|
264
|
+
# If you do not supply a realm, then it will default to "all"
|
265
|
+
# ex: login = jdfulmer:topsecret:Admin
|
266
|
+
# login = jeff:supersecret
|
267
|
+
#
|
268
|
+
# login =
|
269
|
+
|
270
|
+
#
|
271
|
+
# WWW-Authenticate username and password. When siege
|
272
|
+
# hits a webpage that requires authentication, it will
|
273
|
+
# send this user name and password to the server. Note
|
274
|
+
# this is NOT form based authentication. You will have
|
275
|
+
# to construct URLs for that.
|
276
|
+
# ex: username = jdfulmer
|
277
|
+
# password = whoohoo
|
278
|
+
#
|
279
|
+
# username =
|
280
|
+
# password =
|
281
|
+
|
282
|
+
#
|
283
|
+
# ssl-cert
|
284
|
+
# This optional feature allows you to specify a path to a client
|
285
|
+
# certificate. It is not neccessary to specify a certificate in
|
286
|
+
# order to use https. If you don't know why you would want one,
|
287
|
+
# then you probably don't need this feature. Use openssl to
|
288
|
+
# generate a certificate and key with the following command:
|
289
|
+
# $ openssl req -nodes -new -days 365 -newkey rsa:1024 \
|
290
|
+
# -keyout key.pem -out cert.pem
|
291
|
+
# Specify a path to cert.pem as follows:
|
292
|
+
# ex: ssl-cert = /home/jeff/.certs/cert.pem
|
293
|
+
#
|
294
|
+
# ssl-cert =
|
295
|
+
|
296
|
+
#
|
297
|
+
# ssl-key
|
298
|
+
# Use this option to specify the key you generated with the command
|
299
|
+
# above. ex: ssl-key = /home/jeff/.certs/key.pem
|
300
|
+
# You may actually skip this option and combine both your cert and
|
301
|
+
# your key in a single file:
|
302
|
+
# $ cat key.pem > client.pem
|
303
|
+
# $ cat cert.pem >> client.pem
|
304
|
+
# Now set the path for ssl-cert:
|
305
|
+
# ex: ssl-cert = /home/jeff/.certs/client.pem
|
306
|
+
# (in this scenario, you comment out ssl-key)
|
307
|
+
#
|
308
|
+
# ssl-key =
|
309
|
+
|
310
|
+
#
|
311
|
+
# ssl-timeout
|
312
|
+
# This option sets a connection timeout for the ssl library
|
313
|
+
# ex: ssl-timeout = 30
|
314
|
+
#
|
315
|
+
# ssl-timeout =
|
316
|
+
|
317
|
+
#
|
318
|
+
# ssl-ciphers
|
319
|
+
# You can use this feature to select a specific ssl cipher
|
320
|
+
# for HTTPs. To view the ones available with your library run
|
321
|
+
# the following command: openssl ciphers
|
322
|
+
# ex: ssl-ciphers = EXP-RC4-MD5
|
323
|
+
#
|
324
|
+
# ssl-ciphers =
|
325
|
+
|
326
|
+
#
|
327
|
+
# Login URL. This is the first URL to be hit by every siege
|
328
|
+
# client. This feature was designed to allow you to login to
|
329
|
+
# a server and establish a session. It will only be hit once
|
330
|
+
# so if you need to hit this URL more then once, make sure it
|
331
|
+
# also appears in your urls.txt file.
|
332
|
+
#
|
333
|
+
# ex: login-url = http://eos.haha.com/login.jsp POST name=jeff&pass=foo
|
334
|
+
#
|
335
|
+
# login-url =
|
336
|
+
|
337
|
+
#
|
338
|
+
# Proxy protocol. This option allows you to select a proxy
|
339
|
+
# server stress testing. The proxy will request the URL(s)
|
340
|
+
# specified by -u"my.url.org" OR from the urls.txt file.
|
341
|
+
#
|
342
|
+
# ex: proxy-host = proxy.whoohoo.org
|
343
|
+
# proxy-port = 8080
|
344
|
+
#
|
345
|
+
# proxy-host =
|
346
|
+
# proxy-port =
|
347
|
+
|
348
|
+
#
|
349
|
+
# Proxy-Authenticate. When scout hits a proxy server which
|
350
|
+
# requires username and password authentication, it will this
|
351
|
+
# username and password to the server. The format is username,
|
352
|
+
# password and optional realm each separated by a colon. You
|
353
|
+
# may enter more than one proxy-login as long as each one has
|
354
|
+
# a different realm. If you do not enter a realm, then scout
|
355
|
+
# will send that login information to all proxy challenges. If
|
356
|
+
# you have more than one proxy-login, then scout will attempt
|
357
|
+
# to match the login to the realm.
|
358
|
+
# ex: proxy-login: jeff:secret:corporate
|
359
|
+
# proxy-login: jeff:whoohoo
|
360
|
+
#
|
361
|
+
# proxy-login =
|
362
|
+
|
363
|
+
#
|
364
|
+
# Redirection support. This option allows to to control
|
365
|
+
# whether a Location: hint will be followed. Most users
|
366
|
+
# will want to follow redirection information, but sometimes
|
367
|
+
# it's desired to just get the Location information.
|
368
|
+
#
|
369
|
+
# ex: follow-location = false
|
370
|
+
#
|
371
|
+
# follow-location =
|
372
|
+
|
373
|
+
# Zero-length data. siege can be configured to disregard
|
374
|
+
# results in which zero bytes are read after the headers.
|
375
|
+
# Alternatively, such results can be counted in the final
|
376
|
+
# tally of outcomes.
|
377
|
+
#
|
378
|
+
# ex: zero-data-ok = false
|
379
|
+
#
|
380
|
+
# zero-data-ok =
|
381
|
+
|
382
|
+
#
|
383
|
+
# end of siegerc
|
data/conf/urls.txt
ADDED
data/lib/autosiege.rb
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'mixlib/cli'
|
2
|
+
|
3
|
+
module Autosiege
|
4
|
+
class CLI
|
5
|
+
include Mixlib::CLI
|
6
|
+
|
7
|
+
option :setup,
|
8
|
+
:short => "-s",
|
9
|
+
:long => "--setup",
|
10
|
+
:boolean => true,
|
11
|
+
:description => "Copy example configuration files to default locations"
|
12
|
+
|
13
|
+
option :config_file,
|
14
|
+
:short => "-c CONFIG",
|
15
|
+
:long => "--config CONFIG",
|
16
|
+
:default => 'config/siege/siegerc',
|
17
|
+
:description => "The siege configuration file to use (default: ./config/siege/siegerc)"
|
18
|
+
|
19
|
+
option :urls_file,
|
20
|
+
:short => "-u URLSFILE",
|
21
|
+
:long => "--urls URLSFILE",
|
22
|
+
:default => 'config/siege/urls.txt',
|
23
|
+
:description => "The urls file to use (default: ./config/siege/urls.txt)"
|
24
|
+
|
25
|
+
option :log_file,
|
26
|
+
:short => "-l LOGFILE",
|
27
|
+
:long => "--log LOGFILE",
|
28
|
+
:description => "The log file location (default: ./log/siege.log)",
|
29
|
+
:default => 'log/siege.log'
|
30
|
+
|
31
|
+
option :help,
|
32
|
+
:short => "-h",
|
33
|
+
:long => "--help",
|
34
|
+
:description => "Show this message",
|
35
|
+
:on => :tail,
|
36
|
+
:boolean => true,
|
37
|
+
:show_options => true,
|
38
|
+
:exit => 0
|
39
|
+
|
40
|
+
def self.run
|
41
|
+
cli = new
|
42
|
+
begin
|
43
|
+
cli.parse_options
|
44
|
+
rescue OptionParser::InvalidOption
|
45
|
+
puts cli.opt_parser
|
46
|
+
exit 1
|
47
|
+
end
|
48
|
+
|
49
|
+
cli.run
|
50
|
+
end
|
51
|
+
|
52
|
+
def run
|
53
|
+
if config[:setup]
|
54
|
+
setup
|
55
|
+
exit 0
|
56
|
+
else
|
57
|
+
ENV['SIEGE_LOGFILE'] = config[:logfile]
|
58
|
+
system "siege --concurrent=25 --internet --time 1m --reps=1 --rc=#{config[:urls_file]} --log --file=#{config[:config_file]}"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def setup
|
63
|
+
system "mkdir -p config/siege"
|
64
|
+
system "mkdir -p log"
|
65
|
+
|
66
|
+
siegefile = File.expand_path("../../../conf/siegerc", __FILE__)
|
67
|
+
system "cp #{siegefile} config/siege/siegerc"
|
68
|
+
|
69
|
+
urlsfile = File.expand_path("../../../conf/urls.txt", __FILE__)
|
70
|
+
system "cp #{urlsfile} config/siege/urls.txt"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
metadata
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: autosiege
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Ben Marini
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-10-24 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: mixlib-cli
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 27
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 2
|
33
|
+
- 2
|
34
|
+
version: 1.2.2
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
description: A ruby CLI wrapper to siege
|
38
|
+
email:
|
39
|
+
- bmarini@gmail.com
|
40
|
+
executables:
|
41
|
+
- autosiege
|
42
|
+
extensions: []
|
43
|
+
|
44
|
+
extra_rdoc_files: []
|
45
|
+
|
46
|
+
files:
|
47
|
+
- .gitignore
|
48
|
+
- Gemfile
|
49
|
+
- Rakefile
|
50
|
+
- autosiege.gemspec
|
51
|
+
- bin/autosiege
|
52
|
+
- conf/siegerc
|
53
|
+
- conf/urls.txt
|
54
|
+
- lib/autosiege.rb
|
55
|
+
- lib/autosiege/cli.rb
|
56
|
+
- lib/autosiege/version.rb
|
57
|
+
has_rdoc: true
|
58
|
+
homepage: ""
|
59
|
+
licenses: []
|
60
|
+
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
|
64
|
+
require_paths:
|
65
|
+
- lib
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
72
|
+
segments:
|
73
|
+
- 0
|
74
|
+
version: "0"
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 3
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
version: "0"
|
84
|
+
requirements: []
|
85
|
+
|
86
|
+
rubyforge_project: autosiege
|
87
|
+
rubygems_version: 1.6.2
|
88
|
+
signing_key:
|
89
|
+
specification_version: 3
|
90
|
+
summary: A ruby CLI wrapper to siege
|
91
|
+
test_files: []
|
92
|
+
|