em-http-test 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/em-http-test.gemspec CHANGED
@@ -17,9 +17,9 @@ Gem::Specification.new do |s|
17
17
  #s.add_dependency "eventmachine", ">= 0.12.0"
18
18
  s.add_dependency "em-http-request", ">= 0.3.0"
19
19
 
20
- s.add_development_dependency "rspec"
20
+ #s.add_development_dependency "rake"
21
21
 
22
- s.files = `git ls-files`.split("\n")
22
+ s.files = Dir['lib/**/*.rb'] + Dir['*.gemspec'] + Dir['*.md']
23
23
  #s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
24
24
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
25
25
  s.require_paths = ["lib"]
data/lib/em-http-test.rb CHANGED
@@ -16,6 +16,7 @@ require 'em-http-test/load-test'
16
16
  require 'em-http-test/test-request'
17
17
 
18
18
  module EventMachine::HttpTest
19
+ @@notifytimer = 10
19
20
 
20
21
  # run a load test by executing the test block multiple times in the
21
22
  # specified concurrency. The test will be executed for a total of runtime seconds
@@ -40,7 +41,7 @@ module EventMachine::HttpTest
40
41
  test = LoadTest.new(concurrency) { block.call }
41
42
  test.onsuccess { |t| stats[:success] += 1; stats[:total] += 1; successTimes << t }
42
43
  test.onfailure { |t,e| stats[:failure] += 1; stats[:total] += 1; successTimes << t; stats[:failures] << e }
43
- EventMachine.add_periodic_timer(1) { puts "#{stats[:total]} tests run in #{(Time.new - startTime).to_i} seconds" }
44
+ EventMachine.add_periodic_timer(@@notifytimer) { puts "#{stats[:total]} tests ran in #{(Time.new - startTime).to_i} seconds" }
44
45
  EventMachine.add_timer(runtime) { test.abort }
45
46
  end
46
47
 
@@ -24,6 +24,7 @@ module EventMachine::HttpTest
24
24
  # stop the test and don't execute any more test runners
25
25
  def abort
26
26
  @running = false
27
+ @runners.each { |r| r.abort }
27
28
  end
28
29
 
29
30
  # register a failure handler
@@ -14,13 +14,18 @@ module EventMachine::HttpTest
14
14
  def initialize(f)
15
15
  @fiber = f
16
16
  @testreq = @fiber.resume # first call, so no data to test
17
+ @running = true
17
18
  process
18
19
  end
19
20
 
21
+ def abort
22
+ @running = false
23
+ end
24
+
20
25
  # Run a step of the test by calling the test generated URL
21
26
  # and submitting the results to be processed
22
27
  def process
23
- unless @fiber.alive?
28
+ unless @fiber.alive? and @running
24
29
  # if the fiber has completed, then we succeeded
25
30
  self.succeed()
26
31
  return
@@ -1,5 +1,5 @@
1
1
  module EventMachine
2
2
  class HttpTest
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em-http-test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,22 +27,6 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 0.3.0
30
- - !ruby/object:Gem::Dependency
31
- name: rspec
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
30
  description: EventMachine based, high performance web application load test framework
47
31
  email:
48
32
  - oded@heptagon.co.il
@@ -50,16 +34,15 @@ executables: []
50
34
  extensions: []
51
35
  extra_rdoc_files: []
52
36
  files:
53
- - Gemfile
54
- - README.md
55
- - em-http-test.gemspec
56
- - lib/em-http-test.rb
57
- - lib/em-http-test/definitions.rb
37
+ - lib/em-http-test/version.rb
58
38
  - lib/em-http-test/load-test.rb
59
- - lib/em-http-test/test-failure.rb
39
+ - lib/em-http-test/definitions.rb
60
40
  - lib/em-http-test/test-request.rb
61
41
  - lib/em-http-test/test-runner.rb
62
- - lib/em-http-test/version.rb
42
+ - lib/em-http-test/test-failure.rb
43
+ - lib/em-http-test.rb
44
+ - em-http-test.gemspec
45
+ - README.md
63
46
  homepage: https://github.com/guss77/em-http-test
64
47
  licenses: []
65
48
  post_install_message:
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gem "eventmachine"
4
- gem "em-http-request"