kapnismology 1.11.0 → 1.12.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.
- 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
|