test_bench-session 2.0.0.0 → 2.1.0.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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_bench/session/controls/comment.rb +93 -4
  3. data/lib/test_bench/session/controls/detail.rb +79 -4
  4. data/lib/test_bench/session/controls/event.rb +7 -0
  5. data/lib/test_bench/session/controls/events/commented.rb +91 -10
  6. data/lib/test_bench/session/controls/events/context_finished.rb +49 -11
  7. data/lib/test_bench/session/controls/events/context_skipped.rb +26 -8
  8. data/lib/test_bench/session/controls/events/context_started.rb +44 -9
  9. data/lib/test_bench/session/controls/events/detailed.rb +91 -10
  10. data/lib/test_bench/session/controls/{capture_sink/event.rb → events/event_data.rb} +2 -2
  11. data/lib/test_bench/session/controls/events/failed.rb +27 -15
  12. data/lib/test_bench/session/controls/events/fixture_finished.rb +32 -11
  13. data/lib/test_bench/session/controls/events/fixture_started.rb +26 -8
  14. data/lib/test_bench/session/controls/events/test_finished.rb +49 -11
  15. data/lib/test_bench/session/controls/events/test_skipped.rb +26 -8
  16. data/lib/test_bench/session/controls/events/test_started.rb +44 -9
  17. data/lib/test_bench/session/controls/events.rb +15 -9
  18. data/lib/test_bench/session/controls/exception.rb +28 -10
  19. data/lib/test_bench/session/controls/failure.rb +5 -16
  20. data/lib/test_bench/session/controls/fixture.rb +7 -4
  21. data/lib/test_bench/session/controls/output/detail.rb +29 -0
  22. data/lib/test_bench/session/controls/output.rb +55 -0
  23. data/lib/test_bench/session/controls/random.rb +1 -1
  24. data/lib/test_bench/session/controls/result.rb +15 -4
  25. data/lib/test_bench/session/controls/{capture_sink → substitute}/path.rb +6 -3
  26. data/lib/test_bench/session/controls/title.rb +24 -12
  27. data/lib/test_bench/session/controls.rb +12 -12
  28. data/lib/test_bench/session/events.rb +7 -14
  29. data/lib/test_bench/session/output/get.rb +27 -0
  30. data/lib/test_bench/session/output/writer/buffer/interactive/viewport.rb +164 -0
  31. data/lib/test_bench/session/output/writer/buffer/interactive.rb +139 -0
  32. data/lib/test_bench/session/output/writer/buffer.rb +27 -0
  33. data/lib/test_bench/session/output/writer/defaults.rb +17 -0
  34. data/lib/test_bench/session/output/writer/substitute.rb +17 -0
  35. data/lib/test_bench/session/output/writer.rb +95 -0
  36. data/lib/test_bench/session/output.rb +375 -0
  37. data/lib/test_bench/session/projection.rb +28 -0
  38. data/lib/test_bench/session/session.rb +51 -65
  39. data/lib/test_bench/session/store.rb +59 -0
  40. data/lib/test_bench/session/substitute/path.rb +63 -0
  41. data/lib/test_bench/session/substitute/sink.rb +104 -0
  42. data/lib/test_bench/session/substitute.rb +17 -34
  43. data/lib/test_bench/session.rb +16 -5
  44. metadata +22 -17
  45. data/lib/test_bench/session/controls/capture_sink/record.rb +0 -19
  46. data/lib/test_bench/session/controls/events/aborted.rb +0 -29
  47. data/lib/test_bench/session/controls/events/file_finished.rb +0 -32
  48. data/lib/test_bench/session/controls/events/file_started.rb +0 -29
  49. data/lib/test_bench/session/controls/events/finished.rb +0 -32
  50. data/lib/test_bench/session/controls/events/started.rb +0 -29
  51. data/lib/test_bench/session/controls/file.rb +0 -58
  52. data/lib/test_bench/session/telemetry/capture_sink/path.rb +0 -65
  53. data/lib/test_bench/session/telemetry/capture_sink/record.rb +0 -39
  54. data/lib/test_bench/session/telemetry/capture_sink.rb +0 -63
@@ -1,39 +0,0 @@
1
- module TestBench
2
- class Session
3
- module Telemetry
4
- class CaptureSink
5
- Record = Struct.new(:event, :path) do
6
- def match?(*path_segments, &block)
7
- if not path_segments?(*path_segments)
8
- false
9
- elsif not block?(&block)
10
- false
11
- else
12
- true
13
- end
14
- end
15
-
16
- def path_segments_match?(*segments)
17
- if segments.empty?
18
- true
19
- else
20
- path.match?(*segments)
21
- end
22
- end
23
- alias :path_segments? :path_segments_match?
24
-
25
- def block_match?(&block)
26
- if block.nil?
27
- true
28
- elsif block.(event.event_type, *event.values)
29
- true
30
- else
31
- false
32
- end
33
- end
34
- alias :block? :block_match?
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,63 +0,0 @@
1
- module TestBench
2
- class Session
3
- module Telemetry
4
- class CaptureSink
5
- include TestBench::Telemetry::Sink
6
- include Events
7
-
8
- def records
9
- @records ||= []
10
- end
11
-
12
- def path
13
- @path ||= Path.new
14
- end
15
- attr_writer :path
16
-
17
- def self.configure(receiver, attr_name: nil)
18
- attr_name ||= :capture_sink
19
-
20
- instance = new
21
- receiver.public_send(:"#{attr_name}=", instance)
22
- end
23
-
24
- def call(event)
25
- case event
26
- when TestStarted, ContextStarted
27
- path.push(event.title)
28
- when TestFinished, ContextFinished
29
- path.pop(event.title)
30
- end
31
-
32
- record = Record.new(event)
33
- path.copy(record)
34
-
35
- case event
36
- when TestFinished, ContextFinished
37
- title = event.title
38
- record.path.push(title)
39
- when Commented, Detailed
40
- comment_text = event.text
41
- record.path.push(comment_text)
42
- end
43
-
44
- records.push(record)
45
-
46
- record
47
- end
48
-
49
- def match_events(event_class, *path_segments)
50
- compare_event_type = event_class.event_type
51
-
52
- records = self.records.select do |record|
53
- record.match?(*path_segments) do |event_type, *values|
54
- event_type == compare_event_type
55
- end
56
- end
57
-
58
- records.map(&:event)
59
- end
60
- end
61
- end
62
- end
63
- end