test_bench-telemetry 2.0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/lib/test_bench/telemetry/controls/capture_sink/path.rb +30 -0
  3. data/lib/test_bench/telemetry/controls/capture_sink/record.rb +21 -0
  4. data/lib/test_bench/telemetry/controls/comment.rb +19 -0
  5. data/lib/test_bench/telemetry/controls/detail_level.rb +15 -0
  6. data/lib/test_bench/telemetry/controls/error.rb +36 -0
  7. data/lib/test_bench/telemetry/controls/event.rb +77 -0
  8. data/lib/test_bench/telemetry/controls/events/asserted.rb +32 -0
  9. data/lib/test_bench/telemetry/controls/events/commented.rb +26 -0
  10. data/lib/test_bench/telemetry/controls/events/context_entered.rb +31 -0
  11. data/lib/test_bench/telemetry/controls/events/context_exited.rb +34 -0
  12. data/lib/test_bench/telemetry/controls/events/context_skipped.rb +31 -0
  13. data/lib/test_bench/telemetry/controls/events/detail_decreased.rb +23 -0
  14. data/lib/test_bench/telemetry/controls/events/detail_increased.rb +23 -0
  15. data/lib/test_bench/telemetry/controls/events/error_raised.rb +26 -0
  16. data/lib/test_bench/telemetry/controls/events/file_entered.rb +29 -0
  17. data/lib/test_bench/telemetry/controls/events/file_exited.rb +32 -0
  18. data/lib/test_bench/telemetry/controls/events/fixture_finished.rb +29 -0
  19. data/lib/test_bench/telemetry/controls/events/fixture_started.rb +26 -0
  20. data/lib/test_bench/telemetry/controls/events/run_aborted.rb +29 -0
  21. data/lib/test_bench/telemetry/controls/events/run_finished.rb +32 -0
  22. data/lib/test_bench/telemetry/controls/events/run_started.rb +29 -0
  23. data/lib/test_bench/telemetry/controls/events/test_finished.rb +34 -0
  24. data/lib/test_bench/telemetry/controls/events/test_skipped.rb +31 -0
  25. data/lib/test_bench/telemetry/controls/events/test_started.rb +31 -0
  26. data/lib/test_bench/telemetry/controls/events.rb +27 -0
  27. data/lib/test_bench/telemetry/controls/fixture_name.rb +19 -0
  28. data/lib/test_bench/telemetry/controls/handler.rb +76 -0
  29. data/lib/test_bench/telemetry/controls/line_number.rb +10 -0
  30. data/lib/test_bench/telemetry/controls/path.rb +87 -0
  31. data/lib/test_bench/telemetry/controls/random.rb +7 -0
  32. data/lib/test_bench/telemetry/controls/result.rb +12 -0
  33. data/lib/test_bench/telemetry/controls/sink.rb +11 -0
  34. data/lib/test_bench/telemetry/controls/time.rb +76 -0
  35. data/lib/test_bench/telemetry/controls/title.rb +43 -0
  36. data/lib/test_bench/telemetry/controls.rb +40 -0
  37. data/lib/test_bench/telemetry/event/events.rb +35 -0
  38. data/lib/test_bench/telemetry/event/serialization.rb +143 -0
  39. data/lib/test_bench/telemetry/event/type.rb +27 -0
  40. data/lib/test_bench/telemetry/event.rb +41 -0
  41. data/lib/test_bench/telemetry/sink/capture/path.rb +69 -0
  42. data/lib/test_bench/telemetry/sink/capture/record/generate.rb +49 -0
  43. data/lib/test_bench/telemetry/sink/capture/record.rb +73 -0
  44. data/lib/test_bench/telemetry/sink/capture.rb +55 -0
  45. data/lib/test_bench/telemetry/sink/file.rb +31 -0
  46. data/lib/test_bench/telemetry/sink/handler.rb +90 -0
  47. data/lib/test_bench/telemetry/substitute.rb +65 -0
  48. data/lib/test_bench/telemetry/telemetry.rb +68 -0
  49. data/lib/test_bench/telemetry.rb +19 -0
  50. metadata +118 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e8bcd8f515b11ae0ab08c2dfa2bfdde48678d40ff67d8df1f90fe9de3869cc89
4
+ data.tar.gz: aa5829775aa04b2e595318e97a98adbed07d5350012af4af81079871048d3ab2
5
+ SHA512:
6
+ metadata.gz: a737d77627e74fa40b84f1c25458a9110e9070f084d60836e6357e5fa0ceba5fb7f7f6e43cab9783cd86200a36f8d58fdcdc5c2383b547888e79a9e36c684705
7
+ data.tar.gz: a3728299796be6603cf923c499594380fce87e969de90503419901672fe6fde6105100c9fa4a4ed6ff22ca71df4caae247a9b0a12843583d8733b0b647d75e79
@@ -0,0 +1,30 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module CaptureSink
5
+ module Path
6
+ def self.example(segments=nil)
7
+ segments ||= Segment.examples
8
+
9
+ segments = segments.dup
10
+
11
+ path = TestBench::Telemetry::Sink::Capture::Path.new
12
+ path.segments = segments
13
+ path
14
+ end
15
+
16
+ module Segment
17
+ def self.examples
18
+ [example, Context.other_example, Test.example]
19
+ end
20
+
21
+ def self.example = Context.example
22
+
23
+ Test = Title::Test
24
+ Context = Title::Context
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module CaptureSink
5
+ module Record
6
+ def self.example(event: nil, path: nil, detail_level: nil)
7
+ event ||= self.event
8
+ path ||= self.path
9
+ detail_level ||= self.detail_level
10
+
11
+ TestBench::Telemetry::Sink::Capture::Record.new(event, path, detail_level)
12
+ end
13
+
14
+ def self.event = Event.example
15
+ def self.path = Path.example
16
+ def self.detail_level = DetailLevel.example
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Comment
5
+ def self.example(suffix=nil)
6
+ suffix = " #{suffix}" if not suffix.nil?
7
+
8
+ "Some comment#{suffix}"
9
+ end
10
+
11
+ def self.random
12
+ suffix = Random.string
13
+
14
+ example(suffix)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module DetailLevel
5
+ def self.example
6
+ 1
7
+ end
8
+
9
+ def self.random
10
+ Random.integer % 11
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,36 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Error
5
+ module Text
6
+ def self.example(message: nil, label: nil, path: nil, line_number: nil, exception_class: nil)
7
+ message ||= self.message
8
+ label ||= self.label
9
+ path ||= self.path
10
+ line_number ||= self.line_number
11
+ exception_class ||= self.exception_class
12
+
13
+ "#{path}:#{line_number}:in `#{label}': \e[1m#{message} (\e[4m#{exception_class}\e[24m)\e[m"
14
+ end
15
+
16
+ def self.random
17
+ message = "#{self.message} #{Random.string}"
18
+ label = "#{self.label}_#{Random.string}"
19
+ path = Path::Absolute::Local.random
20
+ line_number = LineNumber.random
21
+
22
+ example(message:, label:, path:, line_number:)
23
+ end
24
+
25
+ def self.message = "Some error message"
26
+ def self.label = 'some_method'
27
+ def self.path = Path::Absolute::Local.example
28
+ def self.line_number = LineNumber.example
29
+ def self.exception_class = Example
30
+ end
31
+
32
+ Example = Class.new(RuntimeError)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,77 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Event
5
+ def self.example(some_string=nil)
6
+ some_string ||= self.some_string
7
+
8
+ event = Example.new
9
+ event.some_string = some_string
10
+ event.some_integer = some_integer
11
+ event.some_boolean = some_boolean
12
+ event.some_other_boolean = some_other_boolean
13
+ event.time = time
14
+ event
15
+ end
16
+
17
+ def self.some_string = 'some-string'
18
+ def self.some_integer = 11
19
+ def self.some_boolean = true
20
+ def self.some_other_boolean = false
21
+ def self.time = Time.example
22
+
23
+ SomeEvent = TestBench::Telemetry::Event.define(
24
+ :some_string,
25
+ :some_integer,
26
+ :some_boolean,
27
+ :some_other_boolean,
28
+ :some_optional
29
+ )
30
+ Example = SomeEvent
31
+
32
+ SomeOtherEvent = TestBench::Telemetry::Event.define
33
+ OtherExample = SomeOtherEvent
34
+
35
+ module Type
36
+ def self.example = SomeEvent.event_type
37
+ def self.other_example = SomeOtherEvent.event_type
38
+ def self.random = :"#{example}#{Random.string}"
39
+ end
40
+
41
+ module Data
42
+ def self.example(event_type: nil)
43
+ event_type ||= SomeEvent.event_type
44
+
45
+ time_iso8601 = Time::ISO8601.example
46
+
47
+ %{#{event_type}\t"some-string"\t11\ttrue\tfalse\t\t#{time_iso8601}\r\n}
48
+ end
49
+
50
+ module Malformed
51
+ module Empty
52
+ def self.example = ''
53
+ end
54
+
55
+ module NoData
56
+ def self.example = "SomeEvent\r\n"
57
+ end
58
+
59
+ module IncorrectEventType
60
+ def self.example
61
+ Data.example(event_type:)
62
+ end
63
+
64
+ def self.event_type = :not_pascal_cased
65
+ end
66
+
67
+ module IncorrectNewlines
68
+ def self.example
69
+ %{SomeEvent\t\t\n}
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,32 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module Asserted
6
+ def self.example(result: nil, path: nil, line_number: nil, time: nil)
7
+ result ||= self.result
8
+ path ||= self.path
9
+ line_number ||= self.line_number
10
+ time ||= self.time
11
+
12
+ TestBench::Telemetry::Event::Asserted.new(result, path, line_number, time)
13
+ end
14
+
15
+ def self.random
16
+ result = Result.random
17
+ path = Path.random
18
+ line_number = LineNumber.random
19
+ time = Time.random
20
+
21
+ example(result:, path:, line_number:, time:)
22
+ end
23
+
24
+ def self.result = Result.example
25
+ def self.path = Path.example
26
+ def self.line_number = LineNumber.example
27
+ def self.time = Time.example
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module Commented
6
+ def self.example(comment: nil, time: nil)
7
+ comment ||= self.comment
8
+ time ||= self.time
9
+
10
+ TestBench::Telemetry::Event::Commented.new(comment, time)
11
+ end
12
+
13
+ def self.random
14
+ comment = Comment.random
15
+ time = Time.random
16
+
17
+ example(comment:, time:)
18
+ end
19
+
20
+ def self.comment = Comment.example
21
+ def self.time = Time.example
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module ContextEntered
6
+ def self.example(title: nil, time: nil)
7
+ time ||= self.time
8
+
9
+ if title == :none
10
+ title = nil
11
+ else
12
+ title ||= self.title
13
+ end
14
+
15
+ TestBench::Telemetry::Event::ContextEntered.new(title, time)
16
+ end
17
+
18
+ def self.random
19
+ title = Title::Context.random
20
+ time = Time.random
21
+
22
+ example(title:, time:)
23
+ end
24
+
25
+ def self.title = Title::Context.example
26
+ def self.time = Time.example
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module ContextExited
6
+ def self.example(result: nil, title: nil, time: nil)
7
+ result ||= self.result
8
+ time ||= self.time
9
+
10
+ if title == :none
11
+ title = nil
12
+ else
13
+ title ||= self.title
14
+ end
15
+
16
+ TestBench::Telemetry::Event::ContextExited.new(result, title, time)
17
+ end
18
+
19
+ def self.random
20
+ result = Result.random
21
+ title = Title::Context.random
22
+ time = Time.random
23
+
24
+ example(result:, title:, time:)
25
+ end
26
+
27
+ def self.result = Result.example
28
+ def self.title = Title::Context.example
29
+ def self.time = Time.example
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,31 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module ContextSkipped
6
+ def self.example(title: nil, time: nil)
7
+ time ||= self.time
8
+
9
+ if title == :none
10
+ title = nil
11
+ else
12
+ title ||= self.title
13
+ end
14
+
15
+ TestBench::Telemetry::Event::ContextSkipped.new(title, time)
16
+ end
17
+
18
+ def self.random
19
+ title = Title::Context.random
20
+ time = Time.random
21
+
22
+ example(title:, time:)
23
+ end
24
+
25
+ def self.title = Title::Context.example
26
+ def self.time = Time.example
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module DetailDecreased
6
+ def self.example(time: nil)
7
+ time ||= self.time
8
+
9
+ TestBench::Telemetry::Event::DetailDecreased.new(time)
10
+ end
11
+
12
+ def self.random
13
+ time = Time.random
14
+
15
+ example(time:)
16
+ end
17
+
18
+ def self.time = Time.example
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module DetailIncreased
6
+ def self.example(time: nil)
7
+ time ||= self.time
8
+
9
+ TestBench::Telemetry::Event::DetailIncreased.new(time)
10
+ end
11
+
12
+ def self.random
13
+ time = Time.random
14
+
15
+ example(time:)
16
+ end
17
+
18
+ def self.time = Time.example
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module ErrorRaised
6
+ def self.example(error_text: nil, time: nil)
7
+ error_text ||= self.error_text
8
+ time ||= self.time
9
+
10
+ TestBench::Telemetry::Event::ErrorRaised.new(error_text, time)
11
+ end
12
+
13
+ def self.random
14
+ error_text = Error::Text.random
15
+ time = Time.random
16
+
17
+ example(error_text:, time:)
18
+ end
19
+
20
+ def self.error_text = Error::Text.example
21
+ def self.time = Time.example
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,29 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module FileEntered
6
+ def self.example(path: nil, executor: nil, time: nil)
7
+ path ||= self.path
8
+ executor ||= self.executor
9
+ time ||= self.time
10
+
11
+ TestBench::Telemetry::Event::FileEntered.new(path, executor, time)
12
+ end
13
+
14
+ def self.random
15
+ path = Path.random
16
+ executor = Random.integer % self.executor
17
+ time = Time.random
18
+
19
+ example(path:, executor:, time:)
20
+ end
21
+
22
+ def self.path = Path.example
23
+ def self.executor = 1
24
+ def self.time = Time.example
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,32 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module FileExited
6
+ def self.example(result: nil, path: nil, executor: nil, time: nil)
7
+ result ||= self.result
8
+ path ||= self.path
9
+ executor ||= self.executor
10
+ time ||= self.time
11
+
12
+ TestBench::Telemetry::Event::FileExited.new(result, path, executor, time)
13
+ end
14
+
15
+ def self.random
16
+ result = Result.random
17
+ path = Path.random
18
+ executor = Random.integer % self.executor
19
+ time = Time.random
20
+
21
+ example(result:, path:, executor:, time:)
22
+ end
23
+
24
+ def self.result = Result.example
25
+ def self.path = Path.example
26
+ def self.executor = 1
27
+ def self.time = Time.example
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,29 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module FixtureFinished
6
+ def self.example(result: nil, name: nil, time: nil)
7
+ result ||= self.result
8
+ name ||= self.fixture_name
9
+ time ||= self.time
10
+
11
+ TestBench::Telemetry::Event::FixtureFinished.new(result, name, time)
12
+ end
13
+
14
+ def self.random
15
+ result = Result.random
16
+ name = FixtureName.random
17
+ time = Time.random
18
+
19
+ example(result:, name:, time:)
20
+ end
21
+
22
+ def self.result = Result.example
23
+ def self.fixture_name = FixtureName.example
24
+ def self.time = Time.example
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,26 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module FixtureStarted
6
+ def self.example(name: nil, time: nil)
7
+ name ||= self.fixture_name
8
+ time ||= self.time
9
+
10
+ TestBench::Telemetry::Event::FixtureStarted.new(name, time)
11
+ end
12
+
13
+ def self.random
14
+ name = FixtureName.random
15
+ time = Time.random
16
+
17
+ example(name:, time:)
18
+ end
19
+
20
+ def self.fixture_name = FixtureName.example
21
+ def self.time = Time.example
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,29 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module RunAborted
6
+ def self.example(random_seed: nil, executors: nil, time: nil)
7
+ random_seed ||= self.random_seed
8
+ executors ||= self.executors
9
+ time ||= self.time
10
+
11
+ TestBench::Telemetry::Event::RunAborted.new(random_seed, executors, time)
12
+ end
13
+
14
+ def self.random
15
+ random_seed = Random.integer
16
+ executors = Random.integer % self.executors
17
+ time = Time.random
18
+
19
+ example(random_seed:, executors:, time:)
20
+ end
21
+
22
+ def self.random_seed = 1
23
+ def self.executors = 11
24
+ def self.time = Time.example
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,32 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module RunFinished
6
+ def self.example(result: nil, random_seed: nil, executors: nil, time: nil)
7
+ result ||= self.result
8
+ random_seed ||= self.random_seed
9
+ executors ||= self.executors
10
+ time ||= self.time
11
+
12
+ TestBench::Telemetry::Event::RunFinished.new(result, random_seed, executors, time)
13
+ end
14
+
15
+ def self.random
16
+ result = Result.random
17
+ random_seed = Random.integer
18
+ executors = Random.integer % self.executors
19
+ time = Time.random
20
+
21
+ example(result:, random_seed:, executors:, time:)
22
+ end
23
+
24
+ def self.result = Result.example
25
+ def self.random_seed = RunStarted.random_seed
26
+ def self.executors = RunStarted.executors
27
+ def self.time = Time.example
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,29 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Controls
4
+ module Events
5
+ module RunStarted
6
+ def self.example(random_seed: nil, executors: nil, time: nil)
7
+ random_seed ||= self.random_seed
8
+ executors ||= self.executors
9
+ time ||= self.time
10
+
11
+ TestBench::Telemetry::Event::RunStarted.new(random_seed, executors, time)
12
+ end
13
+
14
+ def self.random
15
+ random_seed = Random.integer
16
+ executors = Random.integer % self.executors
17
+ time = Time.random
18
+
19
+ example(random_seed:, executors:, time:)
20
+ end
21
+
22
+ def self.random_seed = 1
23
+ def self.executors = 11
24
+ def self.time = Time.example
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end