test_bench-telemetry 2.0.0.1 → 2.1.0.1

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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_bench/telemetry/controls/event/event_data.rb +15 -0
  3. data/lib/test_bench/telemetry/controls/event/metadata.rb +70 -0
  4. data/lib/test_bench/telemetry/controls/event.rb +112 -51
  5. data/lib/test_bench/telemetry/controls/event_data.rb +129 -0
  6. data/lib/test_bench/telemetry/controls/file.rb +84 -0
  7. data/lib/test_bench/telemetry/controls/handler.rb +48 -43
  8. data/lib/test_bench/telemetry/controls/{detail_level.rb → process_id.rb} +7 -3
  9. data/lib/test_bench/telemetry/controls/projection/receiver.rb +31 -0
  10. data/lib/test_bench/telemetry/controls/projection.rb +84 -0
  11. data/lib/test_bench/telemetry/controls/random.rb +1 -1
  12. data/lib/test_bench/telemetry/controls/sink.rb +23 -1
  13. data/lib/test_bench/telemetry/controls/time.rb +49 -2
  14. data/lib/test_bench/telemetry/controls.rb +10 -33
  15. data/lib/test_bench/telemetry/event.rb +74 -13
  16. data/lib/test_bench/telemetry/{event → event_data}/serialization.rb +78 -53
  17. data/lib/test_bench/telemetry/event_data.rb +13 -0
  18. data/lib/test_bench/telemetry/sink/file.rb +3 -3
  19. data/lib/test_bench/telemetry/sink/handler/event_registry.rb +42 -0
  20. data/lib/test_bench/telemetry/sink/handler.rb +54 -30
  21. data/lib/test_bench/telemetry/sink/projection.rb +132 -0
  22. data/lib/test_bench/telemetry/sink.rb +11 -0
  23. data/lib/test_bench/telemetry/substitute/sink.rb +83 -0
  24. data/lib/test_bench/telemetry/substitute.rb +13 -54
  25. data/lib/test_bench/telemetry/telemetry.rb +60 -19
  26. data/lib/test_bench/telemetry.rb +8 -10
  27. metadata +17 -40
  28. data/lib/test_bench/telemetry/controls/capture_sink/path.rb +0 -30
  29. data/lib/test_bench/telemetry/controls/capture_sink/record.rb +0 -21
  30. data/lib/test_bench/telemetry/controls/comment.rb +0 -19
  31. data/lib/test_bench/telemetry/controls/error.rb +0 -36
  32. data/lib/test_bench/telemetry/controls/events/asserted.rb +0 -32
  33. data/lib/test_bench/telemetry/controls/events/commented.rb +0 -26
  34. data/lib/test_bench/telemetry/controls/events/context_entered.rb +0 -31
  35. data/lib/test_bench/telemetry/controls/events/context_exited.rb +0 -34
  36. data/lib/test_bench/telemetry/controls/events/context_skipped.rb +0 -31
  37. data/lib/test_bench/telemetry/controls/events/detail_decreased.rb +0 -23
  38. data/lib/test_bench/telemetry/controls/events/detail_increased.rb +0 -23
  39. data/lib/test_bench/telemetry/controls/events/error_raised.rb +0 -26
  40. data/lib/test_bench/telemetry/controls/events/file_entered.rb +0 -29
  41. data/lib/test_bench/telemetry/controls/events/file_exited.rb +0 -32
  42. data/lib/test_bench/telemetry/controls/events/fixture_finished.rb +0 -29
  43. data/lib/test_bench/telemetry/controls/events/fixture_started.rb +0 -26
  44. data/lib/test_bench/telemetry/controls/events/run_aborted.rb +0 -29
  45. data/lib/test_bench/telemetry/controls/events/run_finished.rb +0 -32
  46. data/lib/test_bench/telemetry/controls/events/run_started.rb +0 -29
  47. data/lib/test_bench/telemetry/controls/events/test_finished.rb +0 -34
  48. data/lib/test_bench/telemetry/controls/events/test_skipped.rb +0 -31
  49. data/lib/test_bench/telemetry/controls/events/test_started.rb +0 -31
  50. data/lib/test_bench/telemetry/controls/events.rb +0 -27
  51. data/lib/test_bench/telemetry/controls/fixture_name.rb +0 -19
  52. data/lib/test_bench/telemetry/controls/line_number.rb +0 -10
  53. data/lib/test_bench/telemetry/controls/path.rb +0 -87
  54. data/lib/test_bench/telemetry/controls/result.rb +0 -12
  55. data/lib/test_bench/telemetry/controls/title.rb +0 -43
  56. data/lib/test_bench/telemetry/event/events.rb +0 -35
  57. data/lib/test_bench/telemetry/event/type.rb +0 -27
  58. data/lib/test_bench/telemetry/sink/capture/path.rb +0 -69
  59. data/lib/test_bench/telemetry/sink/capture/record/generate.rb +0 -49
  60. data/lib/test_bench/telemetry/sink/capture/record.rb +0 -73
  61. data/lib/test_bench/telemetry/sink/capture.rb +0 -55
@@ -1,30 +0,0 @@
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
@@ -1,21 +0,0 @@
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
@@ -1,19 +0,0 @@
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
@@ -1,36 +0,0 @@
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
@@ -1,32 +0,0 @@
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
@@ -1,26 +0,0 @@
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
@@ -1,31 +0,0 @@
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
@@ -1,34 +0,0 @@
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
@@ -1,31 +0,0 @@
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
@@ -1,23 +0,0 @@
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
@@ -1,23 +0,0 @@
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
@@ -1,26 +0,0 @@
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
@@ -1,29 +0,0 @@
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
@@ -1,32 +0,0 @@
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
@@ -1,29 +0,0 @@
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
@@ -1,26 +0,0 @@
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
@@ -1,29 +0,0 @@
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
@@ -1,32 +0,0 @@
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
@@ -1,29 +0,0 @@
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
@@ -1,34 +0,0 @@
1
- module TestBench
2
- class Telemetry
3
- module Controls
4
- module Events
5
- module TestFinished
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::TestFinished.new(result, title, time)
17
- end
18
-
19
- def self.random
20
- result = Result.random
21
- title = Title::Test.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::Test.example
29
- def self.time = Time.example
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,31 +0,0 @@
1
- module TestBench
2
- class Telemetry
3
- module Controls
4
- module Events
5
- module TestSkipped
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::TestSkipped.new(title, time)
16
- end
17
-
18
- def self.random
19
- title = Title::Test.random
20
- time = Time.random
21
-
22
- example(title:, time:)
23
- end
24
-
25
- def self.title = Title::Test.example
26
- def self.time = Time.example
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,31 +0,0 @@
1
- module TestBench
2
- class Telemetry
3
- module Controls
4
- module Events
5
- module TestStarted
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::TestStarted.new(title, time)
16
- end
17
-
18
- def self.random
19
- title = Title::Test.random
20
- time = Time.random
21
-
22
- example(title:, time:)
23
- end
24
-
25
- def self.title = Title::Test.example
26
- def self.time = Time.example
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,27 +0,0 @@
1
- module TestBench
2
- class Telemetry
3
- module Controls
4
- module Events
5
- def self.each_example(random: nil, &block)
6
- examples(random:).each(&block)
7
- end
8
-
9
- def self.examples(random: nil)
10
- random ||= false
11
-
12
- if random
13
- method_name = :random
14
- else
15
- method_name = :example
16
- end
17
-
18
- controls = TestBench::Telemetry::Event.each_event_type.map do |event_type|
19
- const_get(event_type)
20
- end
21
-
22
- controls.map(&method_name)
23
- end
24
- end
25
- end
26
- end
27
- end