kapnismology 1.11.0 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +14 -0
- data/lib/kapnismology/smoke_test.rb +11 -10
- data/lib/kapnismology/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc04d3c658e30139dbf0adf893088832ba05706e
|
4
|
+
data.tar.gz: a0b1a9b1050c75aa6907b3cf17a63dd63020ee71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 571e122ee54a4a433f02afc0c1b1d743d36c2eaada3375774dd454c0b0129826616171dfb1bad8862489bdcea4c26d5fadc2f8fc19e1e8b9d3f8f1d95adf32e9
|
7
|
+
data.tar.gz: 126db5d5528ef6b4ec271d63ab5180892db62a7263f9e69b54d6e4d462125d8c77aad047b200c7b38398a99a396456767d2f16dea5115f9c56f94ce4c6da9bad
|
data/README.md
CHANGED
@@ -120,6 +120,20 @@ It will run all your integration tests. You can run it together with your runtim
|
|
120
120
|
wget http://myservice.com/smoke_test?tags=integration,runtime
|
121
121
|
```
|
122
122
|
|
123
|
+
## Timing out
|
124
|
+
|
125
|
+
Smoke tests will by default time out after 10 seconds. If you need to change this value overwrite the `timeout` method your smoke test class and return a new number (seconds). Returning `0` will prevent the test from timing out.
|
126
|
+
|
127
|
+
```Ruby
|
128
|
+
class SuperSlowTest < Kapnismology::SmokeTest
|
129
|
+
def result
|
130
|
+
end
|
131
|
+
def self.timeout
|
132
|
+
30
|
133
|
+
end
|
134
|
+
end
|
135
|
+
```
|
136
|
+
|
123
137
|
|
124
138
|
## Skipping tests
|
125
139
|
|
@@ -12,26 +12,23 @@ module Kapnismology
|
|
12
12
|
RUNTIME_TAG = 'runtime'.freeze
|
13
13
|
DEFAULT_TAGS = [DEPLOYMENT_TAG, RUNTIME_TAG].freeze
|
14
14
|
|
15
|
-
# Default constructor may be overwritten by child class
|
16
|
-
def initialize
|
17
|
-
@all_result_messages = []
|
18
|
-
end
|
19
|
-
|
20
15
|
def result
|
21
16
|
end
|
22
17
|
|
23
18
|
# Internally Kapnismology is calling this method. We are handling exceptions under the hood here
|
24
19
|
def __result__
|
25
|
-
|
26
|
-
|
20
|
+
execution = Timeout::timeout(self.class.timeout) { result }
|
21
|
+
result_object = execution || Result.new(false, {}, 'This test has not returned any result')
|
22
|
+
unless result_object.class.ancestors.include?(BaseResult)
|
27
23
|
message = "Smoke test #{self.class}, returned #{result_object.class} instead of a Result"
|
28
24
|
result_object = Result.new(false, { returned_class: result_object.class }, message)
|
29
25
|
end
|
30
26
|
rescue Kapnismology::SmokeTestFailed => e
|
31
27
|
result_object = e.result
|
32
|
-
rescue
|
33
|
-
|
34
|
-
|
28
|
+
rescue Timeout::Error => e
|
29
|
+
message = "#{self.class} took more than #{self.class.timeout} seconds to finish and timed-out"
|
30
|
+
result_object = Result.new(false, { exception: e.class, message: e.message }, message)
|
31
|
+
rescue Exception => e # Socket, IO errors inherit from Exception, not StandardError
|
35
32
|
message = "Unrescued error happened in #{self.class}"
|
36
33
|
result_object = Result.new(false, { exception: e.class, message: e.message }, message)
|
37
34
|
ensure
|
@@ -46,6 +43,10 @@ module Kapnismology
|
|
46
43
|
def tags
|
47
44
|
DEFAULT_TAGS
|
48
45
|
end
|
46
|
+
|
47
|
+
def timeout
|
48
|
+
10
|
49
|
+
end
|
49
50
|
end
|
50
51
|
|
51
52
|
protected
|
data/lib/kapnismology/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kapnismology
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jordi Polo Carres
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: byebug
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '9.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '9.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: mutant
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|