test_bench-session 2.1.3.2 → 3.0.0.0.pre.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_bench/session/controls/backtrace/location.rb +46 -0
  3. data/lib/test_bench/session/controls/backtrace.rb +81 -0
  4. data/lib/test_bench/session/controls/comment_disposition.rb +15 -0
  5. data/lib/test_bench/session/controls/event.rb +27 -1
  6. data/lib/test_bench/session/controls/events/aborted.rb +49 -0
  7. data/lib/test_bench/session/controls/events/commented.rb +26 -76
  8. data/lib/test_bench/session/controls/events/context_finished.rb +68 -28
  9. data/lib/test_bench/session/controls/events/context_started.rb +17 -32
  10. data/lib/test_bench/session/controls/events/detailed.rb +26 -76
  11. data/lib/test_bench/session/controls/events/failed.rb +16 -24
  12. data/lib/test_bench/session/controls/events/file_executed.rb +99 -0
  13. data/lib/test_bench/session/controls/events/file_not_found.rb +39 -0
  14. data/lib/test_bench/session/controls/events/file_queued.rb +39 -0
  15. data/lib/test_bench/session/controls/events/skipped.rb +49 -0
  16. data/lib/test_bench/session/controls/events/test_finished.rb +48 -28
  17. data/lib/test_bench/session/controls/events/test_started.rb +17 -32
  18. data/lib/test_bench/session/controls/events.rb +19 -19
  19. data/lib/test_bench/session/controls/exception/message.rb +21 -0
  20. data/lib/test_bench/session/controls/exception/raise.rb +50 -0
  21. data/lib/test_bench/session/controls/exception.rb +55 -21
  22. data/lib/test_bench/session/controls/message.rb +41 -0
  23. data/lib/test_bench/session/controls/{time.rb → metadata.rb} +1 -1
  24. data/lib/test_bench/session/controls/path/apex_directory.rb +74 -0
  25. data/lib/test_bench/session/controls/path/file/create.rb +111 -0
  26. data/lib/test_bench/session/controls/path/file.rb +40 -0
  27. data/lib/test_bench/session/controls/path.rb +85 -0
  28. data/lib/test_bench/session/controls/random.rb +1 -1
  29. data/lib/test_bench/session/controls/result.rb +3 -11
  30. data/lib/test_bench/session/controls/{events/event_data.rb → sequence.rb} +4 -2
  31. data/lib/test_bench/session/controls/status.rb +90 -0
  32. data/lib/test_bench/session/controls/telemetry.rb +13 -0
  33. data/lib/test_bench/session/controls/telemetry_sink.rb +29 -1
  34. data/lib/test_bench/session/controls/text.rb +31 -0
  35. data/lib/test_bench/session/controls/title.rb +12 -12
  36. data/lib/test_bench/session/controls.rb +31 -26
  37. data/lib/test_bench/session/defaults.rb +15 -0
  38. data/lib/test_bench/session/events.rb +12 -15
  39. data/lib/test_bench/session/exception/format_backtrace/substitute.rb +32 -0
  40. data/lib/test_bench/session/exception/format_backtrace.rb +112 -0
  41. data/lib/test_bench/session/isolate/substitute.rb +43 -0
  42. data/lib/test_bench/session/isolate.rb +157 -0
  43. data/lib/test_bench/session/result.rb +42 -0
  44. data/lib/test_bench/session/session.rb +137 -164
  45. data/lib/test_bench/session/status.rb +58 -0
  46. data/lib/test_bench/session/substitute/sink.rb +30 -45
  47. data/lib/test_bench/session/substitute.rb +88 -54
  48. data/lib/test_bench/session/trace.rb +51 -0
  49. data/lib/test_bench/session.rb +15 -15
  50. metadata +53 -45
  51. data/lib/test_bench/session/controls/comment.rb +0 -105
  52. data/lib/test_bench/session/controls/detail.rb +0 -91
  53. data/lib/test_bench/session/controls/events/context_skipped.rb +0 -47
  54. data/lib/test_bench/session/controls/events/fixture_finished.rb +0 -53
  55. data/lib/test_bench/session/controls/events/fixture_started.rb +0 -47
  56. data/lib/test_bench/session/controls/events/test_skipped.rb +0 -47
  57. data/lib/test_bench/session/controls/failure.rb +0 -19
  58. data/lib/test_bench/session/controls/fixture.rb +0 -19
  59. data/lib/test_bench/session/controls/output/detail.rb +0 -29
  60. data/lib/test_bench/session/controls/output.rb +0 -55
  61. data/lib/test_bench/session/controls/process_id.rb +0 -7
  62. data/lib/test_bench/session/controls/substitute/path.rb +0 -33
  63. data/lib/test_bench/session/output/get.rb +0 -27
  64. data/lib/test_bench/session/output/writer/buffer/interactive/viewport.rb +0 -165
  65. data/lib/test_bench/session/output/writer/buffer/interactive.rb +0 -139
  66. data/lib/test_bench/session/output/writer/buffer.rb +0 -27
  67. data/lib/test_bench/session/output/writer/defaults.rb +0 -17
  68. data/lib/test_bench/session/output/writer/substitute.rb +0 -17
  69. data/lib/test_bench/session/output/writer.rb +0 -95
  70. data/lib/test_bench/session/output.rb +0 -384
  71. data/lib/test_bench/session/projection.rb +0 -28
  72. data/lib/test_bench/session/store.rb +0 -59
  73. data/lib/test_bench/session/substitute/path.rb +0 -63
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48b8a5e0f511deccda838058135f608890691f4dc5dd26924d7f9f6d7a02d6fb
4
- data.tar.gz: 74279f2ca532d0d78a25aae237c22a1cdcd75495f3d07b4765f3bdc8447d5262
3
+ metadata.gz: 9fd9e3dbbf758944765590a4f06384583ea444a1ed960c48b871da3ad2a15c80
4
+ data.tar.gz: 72798a343fc9ec9e1ec1c459116dff250a03af91c9b9cbd96c2b007864ccdc0e
5
5
  SHA512:
6
- metadata.gz: b959e9f67d327d685ed856631bc656f240d4e098927005cff3a87a3d5278daf228a7b53ac45b39476dcd65a8433392f4859c9374d572c35371570fcfc77e68e4
7
- data.tar.gz: baf1629464a61fd8bdf71601cb7b965a0bab21c224990e46220b7b289f447bd3a96080de4dec540248616f216c0f3a942cfb3f88b49d4baf6f70c67877f06e7a
6
+ metadata.gz: 5939d7ba0ce469b499fdd7189b31ff13ffe2d1d63918dff4df155af4dcd72cbbe4f90e753928335a589c8d55c2d056f892d521f5da96232eaa492b51bb4a39b2
7
+ data.tar.gz: fd410cbfafa48f66da890d91a8978a165b9535633b6de393b044d4083ab6ec8656871d3f517d6037a7f03391a4c667ba95df936740fef07cdf64b2167f16e1da
@@ -0,0 +1,46 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Backtrace
5
+ module Location
6
+ def self.example(index=nil, backtrace: nil)
7
+ index ||= 0
8
+ backtrace ||= self.backtrace
9
+
10
+ file, line_number, _ = backtrace[index].split(':', 3)
11
+
12
+ "#{file}:#{line_number}"
13
+ end
14
+
15
+ def self.backtrace
16
+ Exception::Example.backtrace
17
+ end
18
+
19
+ def self.other_example
20
+ example(1)
21
+ end
22
+
23
+ module AbsolutePath
24
+ def self.example(index=nil)
25
+ Location.example(index, backtrace:)
26
+ end
27
+
28
+ def self.backtrace
29
+ Exception::AbsolutePaths::Example.backtrace
30
+ end
31
+
32
+ module Local
33
+ def self.example(index=nil)
34
+ Location.example(index, backtrace:)
35
+ end
36
+
37
+ def self.backtrace
38
+ Backtrace::AbsolutePaths::Local.backtrace
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,81 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Backtrace
5
+ def self.example
6
+ [
7
+ Exception::Example.backtrace.first,
8
+ "*omitted*",
9
+ Exception::Example.backtrace.last
10
+ ]
11
+ end
12
+
13
+ def self.pattern
14
+ Pattern.example
15
+ end
16
+
17
+ def self.location
18
+ Location.example
19
+ end
20
+
21
+ module Pattern
22
+ def self.example
23
+ '*/some-subdir/*'
24
+ end
25
+
26
+ def self.other_example
27
+ '*/some-other-subdir/*'
28
+ end
29
+ end
30
+
31
+ module Styling
32
+ def self.example
33
+ [
34
+ Exception::Example.backtrace.first,
35
+ "\e[2;3m*omitted*\e[23;22m",
36
+ Exception::Example.backtrace.last
37
+ ]
38
+ end
39
+ end
40
+
41
+ module Cause
42
+ def self.example
43
+ [
44
+ Exception::Cause::Example.backtrace.first,
45
+ "*omitted*",
46
+ Exception::Cause::Example.backtrace.last
47
+ ]
48
+ end
49
+ end
50
+
51
+ module AbsolutePaths
52
+ def self.example
53
+ Exception::AbsolutePaths::Example.backtrace
54
+ end
55
+
56
+ module Local
57
+ def self.example
58
+ backtrace = self.backtrace
59
+
60
+ [
61
+ backtrace.first,
62
+ "*omitted*",
63
+ backtrace.last
64
+ ]
65
+ end
66
+
67
+ def self.backtrace
68
+ Exception::AbsolutePaths::Example.backtrace_locations.map do |backtrace_location|
69
+ backtrace_location.to_s.delete_prefix(::File.join(apex_directory, ''))
70
+ end
71
+ end
72
+
73
+ def self.apex_directory
74
+ Path::ApexDirectory.tmpdir
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,15 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module CommentDisposition
5
+ def self.example
6
+ 'some-comment-disposition'
7
+ end
8
+
9
+ def self.other_example
10
+ 'some-other-comment-disposition'
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,7 +1,33 @@
1
1
  module TestBench
2
2
  class Session
3
3
  module Controls
4
- Event = Telemetry::Controls::Event
4
+ module Event
5
+ def self.example
6
+ Telemetry::Event.example
7
+ end
8
+
9
+ def self.event_data
10
+ Telemetry::Event.event_data
11
+ end
12
+
13
+ def self.other_example
14
+ Telemetry::Event.other_example
15
+ end
16
+
17
+ def self.random
18
+ Telemetry::Event.random
19
+ end
20
+
21
+ SomeEvent = Telemetry::Event::SomeEvent
22
+
23
+ module Pending
24
+ def self.example
25
+ SomePendingEvent.new
26
+ end
27
+
28
+ SomePendingEvent = TestBench::Telemetry::Event.define(:result)
29
+ end
30
+ end
5
31
  end
6
32
  end
7
33
  end
@@ -0,0 +1,49 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Events
5
+ module Aborted
6
+ def self.example(message: nil, location: nil)
7
+ message ||= self.message
8
+ location ||= self.location
9
+
10
+ aborted = Session::Events::Aborted.new
11
+
12
+ aborted.message = message
13
+ aborted.location = location
14
+
15
+ aborted.metadata = Metadata.example
16
+
17
+ aborted
18
+ end
19
+
20
+ def self.message
21
+ Exception::Message.example
22
+ end
23
+
24
+ def self.location
25
+ Backtrace::Location.example
26
+ end
27
+
28
+ def self.other_example
29
+ Other.example
30
+ end
31
+
32
+ module Other
33
+ def self.example
34
+ Aborted.example(message:, location:)
35
+ end
36
+
37
+ def self.message
38
+ Message::Error.other_example
39
+ end
40
+
41
+ def self.location
42
+ Backtrace::Location.other_example
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -3,104 +3,54 @@ module TestBench
3
3
  module Controls
4
4
  module Events
5
5
  module Commented
6
- extend EventData
6
+ def self.example(text: nil, disposition: nil)
7
+ text ||= self.text
7
8
 
8
- def self.example(text: nil, quote: nil, heading: nil, process_id: nil, time: nil)
9
- quote = self.quote if quote.nil?
10
- process_id ||= self.process_id
11
- time ||= self.time
12
-
13
- if text == :none
14
- text = nil
9
+ if disposition == :none
10
+ disposition = nil
15
11
  else
16
- text ||= self.text
12
+ disposition ||= self.disposition
17
13
  end
18
14
 
19
- Session::Events::Commented.build(text, quote, heading, process_id:, time:)
20
- end
15
+ commented = Session::Events::Commented.new
21
16
 
22
- def self.random
23
- Random.example
24
- end
17
+ commented.text = text
18
+ commented.disposition = disposition
25
19
 
26
- def self.text
27
- Comment::Text.example
28
- end
20
+ commented.metadata = Metadata.example
29
21
 
30
- def self.quote
31
- false
22
+ commented
32
23
  end
33
24
 
34
- def self.process_id
35
- ProcessID.example
25
+ def self.text
26
+ Text::Comment.example
36
27
  end
37
28
 
38
- def self.time
39
- Time.example
29
+ def self.disposition
30
+ CommentDisposition.example
40
31
  end
41
32
 
42
- module Random
43
- extend EventData
44
-
45
- def self.example(text: nil, quote: nil, heading: nil, process_id: nil, time: nil)
46
- text ||= Comment::Text.random
47
- quote ||= Comment::Quote.random
48
- process_id ||= ProcessID.random
49
- time ||= Time.random
50
-
51
- Commented.example(text:, quote:, heading:, process_id:, time:)
52
- end
33
+ def self.other_example
34
+ Other.example
53
35
  end
54
36
 
55
- module MultipleLines
56
- extend EventData
57
-
58
- def self.example(omit_heading: nil, heading: nil, **attributes)
59
- if omit_heading.nil?
60
- omit_heading = !heading.nil?
61
- end
62
-
63
- if not omit_heading
64
- heading ||= self.heading
65
- end
66
-
67
- Commented.example(text:, quote:, heading:, **attributes)
68
- end
69
-
70
- def self.random
71
- Random.example
37
+ module Other
38
+ def self.example
39
+ Commented.example(text:, disposition:)
72
40
  end
73
41
 
74
42
  def self.text
75
- Comment::Text::MultipleLines.example
43
+ Text::Comment.other_example
76
44
  end
77
45
 
78
- def self.quote
79
- true
46
+ def self.disposition
47
+ CommentDisposition.other_example
80
48
  end
49
+ end
81
50
 
82
- def self.heading
83
- Comment::Heading.example
84
- end
85
-
86
- module Random
87
- extend EventData
88
-
89
- def self.example(omit_heading: nil, heading: nil, **attributes)
90
- if omit_heading.nil?
91
- omit_heading = !heading.nil?
92
- end
93
-
94
- suffix = Controls::Random.string
95
-
96
- if not omit_heading
97
- heading = Comment::Heading::Random.example(suffix)
98
- end
99
-
100
- text = Comment::Text::MultipleLines::Random.example(suffix)
101
-
102
- Commented::Random.example(text:, heading:, **attributes)
103
- end
51
+ module NoDisposition
52
+ def self.example
53
+ Commented.example(disposition: :none)
104
54
  end
105
55
  end
106
56
  end
@@ -3,12 +3,8 @@ module TestBench
3
3
  module Controls
4
4
  module Events
5
5
  module ContextFinished
6
- extend EventData
7
-
8
- def self.example(title: nil, result: nil, process_id: nil, time: nil)
9
- result = self.result if result.nil?
10
- process_id ||= self.process_id
11
- time ||= self.time
6
+ def self.example(result: nil, title: nil)
7
+ result ||= self.result
12
8
 
13
9
  if title == :none
14
10
  title = nil
@@ -16,11 +12,14 @@ module TestBench
16
12
  title ||= self.title
17
13
  end
18
14
 
19
- Session::Events::ContextFinished.build(title, result, process_id:, time:)
20
- end
15
+ context_finished = Session::Events::ContextFinished.new
16
+
17
+ context_finished.title = title
18
+ context_finished.result = result
19
+
20
+ context_finished.metadata = Metadata.example
21
21
 
22
- def self.random
23
- Random.example
22
+ context_finished
24
23
  end
25
24
 
26
25
  def self.title
@@ -31,36 +30,77 @@ module TestBench
31
30
  Result.example
32
31
  end
33
32
 
34
- def self.process_id
35
- ProcessID.example
33
+ def self.other_example
34
+ Other.example
36
35
  end
37
36
 
38
- def self.time
39
- Time.example
37
+ module Other
38
+ def self.example
39
+ ContextFinished.example(result:, title:)
40
+ end
41
+
42
+ def self.result
43
+ Result.other_example
44
+ end
45
+
46
+ def self.title
47
+ Title::Context.other_example
48
+ end
40
49
  end
41
50
 
42
- module Random
43
- extend EventData
51
+ module NoTitle
52
+ def self.example
53
+ ContextFinished.example(title: :none)
54
+ end
55
+ end
44
56
 
45
- def self.example(title: nil, result: nil, process_id: nil, time: nil)
46
- result = Result.random if result.nil?
47
- process_id ||= ProcessID.random
48
- time ||= Time.random
49
- title ||= Title::Context.random
57
+ module Passed
58
+ def self.example
59
+ ContextFinished.example(result:)
60
+ end
50
61
 
51
- ContextFinished.example(title:, result:, process_id:, time:)
62
+ def self.result
63
+ Session::Result.passed
52
64
  end
53
65
  end
54
66
 
55
- module NoTitle
56
- extend EventData
67
+ module Failed
68
+ def self.example
69
+ ContextFinished.example(result:)
70
+ end
71
+
72
+ def self.result
73
+ Session::Result.failed
74
+ end
75
+ end
76
+
77
+ module Inert
78
+ def self.example
79
+ ContextFinished.example(result:)
80
+ end
81
+
82
+ def self.result
83
+ Session::Result.none
84
+ end
85
+ end
86
+
87
+ module Aborted
88
+ def self.example
89
+ ContextFinished.example(result:)
90
+ end
91
+
92
+ def self.result
93
+ Session::Result.aborted
94
+ end
95
+ end
57
96
 
58
- def self.example(**arguments)
59
- ContextFinished.example(title: :none, **arguments)
97
+ module Incomplete
98
+ def self.example
99
+ ContextFinished.example(result:)
60
100
  end
61
101
 
62
- def self.random
63
- Random.example(title: :none)
102
+ def self.result
103
+ Session::Result.incomplete
64
104
  end
65
105
  end
66
106
  end
@@ -3,58 +3,43 @@ module TestBench
3
3
  module Controls
4
4
  module Events
5
5
  module ContextStarted
6
- extend EventData
7
-
8
- def self.example(title: nil, process_id: nil, time: nil)
9
- process_id ||= self.process_id
10
- time ||= self.time
11
-
6
+ def self.example(title: nil)
12
7
  if title == :none
13
8
  title = nil
14
9
  else
15
10
  title ||= self.title
16
11
  end
17
12
 
18
- Session::Events::ContextStarted.build(title, process_id:, time:)
19
- end
13
+ context_started = Session::Events::ContextStarted.new
20
14
 
21
- def self.random
22
- Random.example
15
+ context_started.title = title
16
+
17
+ context_started.metadata = Metadata.example
18
+
19
+ context_started
23
20
  end
24
21
 
25
22
  def self.title
26
23
  Title::Context.example
27
24
  end
28
25
 
29
- def self.process_id
30
- ProcessID.example
31
- end
32
-
33
- def self.time
34
- Time.example
26
+ def self.other_example
27
+ Other.example
35
28
  end
36
29
 
37
- module Random
38
- extend EventData
39
-
40
- def self.example(title: nil, process_id: nil, time: nil)
41
- process_id ||= ProcessID.random
42
- time ||= Time.random
43
- title ||= Title::Context.random
30
+ module Other
31
+ def self.example
32
+ ContextStarted.example(title:)
33
+ end
44
34
 
45
- ContextStarted.example(title:, process_id:, time:)
35
+ def self.title
36
+ Title::Context.other_example
46
37
  end
47
38
  end
48
39
 
49
40
  module NoTitle
50
- extend EventData
51
-
52
- def self.example(**arguments)
53
- ContextStarted.example(title: :none, **arguments)
54
- end
55
-
56
- def self.random
57
- Random.example(title: :none)
41
+ def self.example
42
+ ContextStarted.example(title: :none)
58
43
  end
59
44
  end
60
45
  end