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
@@ -3,104 +3,54 @@ module TestBench
3
3
  module Controls
4
4
  module Events
5
5
  module Detailed
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::Detailed.build(text, quote, heading, process_id:, time:)
20
- end
15
+ detailed = Session::Events::Detailed.new
21
16
 
22
- def self.random
23
- Random.example
24
- end
17
+ detailed.text = text
18
+ detailed.disposition = disposition
25
19
 
26
- def self.text
27
- Detail::Text.example
28
- end
20
+ detailed.metadata = Metadata.example
29
21
 
30
- def self.quote
31
- false
22
+ detailed
32
23
  end
33
24
 
34
- def self.process_id
35
- ProcessID.example
25
+ def self.text
26
+ Text::Detail.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 ||= Detail::Text.random
47
- quote ||= Detail::Quote.random
48
- process_id ||= ProcessID.random
49
- time ||= Time.random
50
-
51
- Detailed.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
- Detailed.example(text:, quote:, heading:, **attributes)
37
+ module NoDisposition
38
+ def self.example
39
+ Detailed.example(disposition: :none)
68
40
  end
41
+ end
69
42
 
70
- def self.random
71
- Random.example
43
+ module Other
44
+ def self.example
45
+ Detailed.example(text:, disposition:)
72
46
  end
73
47
 
74
48
  def self.text
75
- Detail::Text::MultipleLines.example
76
- end
77
-
78
- def self.quote
79
- true
80
- end
81
-
82
- def self.heading
83
- Detail::Heading.example
49
+ Text::Detail.other_example
84
50
  end
85
51
 
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 = Detail::Heading::Random.example(suffix)
98
- end
99
-
100
- text = Detail::Text::MultipleLines::Random.example(suffix)
101
-
102
- Detailed::Random.example(text:, heading:, **attributes)
103
- end
52
+ def self.disposition
53
+ CommentDisposition.other_example
104
54
  end
105
55
  end
106
56
  end
@@ -3,41 +3,33 @@ module TestBench
3
3
  module Controls
4
4
  module Events
5
5
  module Failed
6
- extend EventData
7
-
8
- def self.example(message: nil, process_id: nil, time: nil)
6
+ def self.example(message: nil)
9
7
  message ||= self.message
10
- process_id ||= self.process_id
11
- time ||= self.time
12
8
 
13
- Session::Events::Failed.build(message, process_id:, time:)
14
- end
9
+ failed = Session::Events::Failed.new
15
10
 
16
- def self.random
17
- Random.example
18
- end
11
+ failed.message = message
19
12
 
20
- def self.message
21
- Failure::Message.example
22
- end
13
+ failed.metadata = Metadata.example
23
14
 
24
- def self.process_id
25
- ProcessID.example
15
+ failed
26
16
  end
27
17
 
28
- def self.time
29
- Time.example
18
+ def self.message
19
+ Message::Failure.example
30
20
  end
31
21
 
32
- module Random
33
- extend EventData
22
+ def self.other_example
23
+ Other.example
24
+ end
34
25
 
35
- def self.example(message: nil, process_id: nil, time: nil)
36
- message ||= Failure::Message.random
37
- process_id ||= ProcessID.random
38
- time ||= Time.random
26
+ module Other
27
+ def self.example
28
+ Failed.example(message:)
29
+ end
39
30
 
40
- Failed.example(message:, process_id:, time:)
31
+ def self.message
32
+ Message::Failure.other_example
41
33
  end
42
34
  end
43
35
  end
@@ -0,0 +1,99 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Events
5
+ module FileExecuted
6
+ def self.example(result: nil, file: nil)
7
+ result ||= self.result
8
+ file ||= self.file
9
+
10
+ file_executed = Session::Events::FileExecuted.new
11
+
12
+ file_executed.file = file
13
+ file_executed.result = result
14
+
15
+ file_executed.metadata = Metadata.example
16
+
17
+ file_executed
18
+ end
19
+
20
+ def self.file
21
+ Path::File.example
22
+ end
23
+
24
+ def self.result
25
+ Result.example
26
+ end
27
+
28
+ def self.other_example
29
+ Other.example
30
+ end
31
+
32
+ module Other
33
+ def self.example
34
+ FileExecuted.example(result:, file:)
35
+ end
36
+
37
+ def self.result
38
+ Result.other_example
39
+ end
40
+
41
+ def self.file
42
+ Path::File.other_example
43
+ end
44
+ end
45
+
46
+ module Passed
47
+ def self.example
48
+ FileExecuted.example(result:)
49
+ end
50
+
51
+ def self.result
52
+ Session::Result.passed
53
+ end
54
+ end
55
+
56
+ module Failed
57
+ def self.example
58
+ FileExecuted.example(result:)
59
+ end
60
+
61
+ def self.result
62
+ Session::Result.failed
63
+ end
64
+ end
65
+
66
+ module Inert
67
+ def self.example
68
+ FileExecuted.example(result:)
69
+ end
70
+
71
+ def self.result
72
+ Session::Result.none
73
+ end
74
+ end
75
+
76
+ module Aborted
77
+ def self.example
78
+ FileExecuted.example(result:)
79
+ end
80
+
81
+ def self.result
82
+ Session::Result.aborted
83
+ end
84
+ end
85
+
86
+ module Incomplete
87
+ def self.example
88
+ FileExecuted.example(result:)
89
+ end
90
+
91
+ def self.result
92
+ Session::Result.incomplete
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,39 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Events
5
+ module FileNotFound
6
+ def self.example(file: nil)
7
+ file ||= self.file
8
+
9
+ file_not_found = Session::Events::FileNotFound.new
10
+
11
+ file_not_found.file = file
12
+
13
+ file_not_found.metadata = Metadata.example
14
+
15
+ file_not_found
16
+ end
17
+
18
+ def self.file
19
+ Path::File.example
20
+ end
21
+
22
+ def self.other_example
23
+ Other.example
24
+ end
25
+
26
+ module Other
27
+ def self.example
28
+ FileNotFound.example(file:)
29
+ end
30
+
31
+ def self.file
32
+ Path::File.other_example
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,39 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Events
5
+ module FileQueued
6
+ def self.example(file: nil)
7
+ file ||= self.file
8
+
9
+ file_queued = Session::Events::FileQueued.new
10
+
11
+ file_queued.file = file
12
+
13
+ file_queued.metadata = Metadata.example
14
+
15
+ file_queued
16
+ end
17
+
18
+ def self.file
19
+ Path::File.example
20
+ end
21
+
22
+ def self.other_example
23
+ Other.example
24
+ end
25
+
26
+ module Other
27
+ def self.example
28
+ FileQueued.example(file:)
29
+ end
30
+
31
+ def self.file
32
+ Path::File.other_example
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,49 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Events
5
+ module Skipped
6
+ def self.example(message: nil)
7
+ if message == :none
8
+ message = nil
9
+ else
10
+ message ||= self.message
11
+ end
12
+
13
+ skipped = Session::Events::Skipped.new
14
+
15
+ skipped.message = message
16
+
17
+ skipped.metadata = Metadata.example
18
+
19
+ skipped
20
+ end
21
+
22
+ def self.message
23
+ Message::Skip.example
24
+ end
25
+
26
+ def self.other_example
27
+ Other.example
28
+ end
29
+
30
+ module Other
31
+ def self.example
32
+ Skipped.example(message:)
33
+ end
34
+
35
+ def self.message
36
+ Message::Skip.other_example
37
+ end
38
+ end
39
+
40
+ module NoMessage
41
+ def self.example
42
+ Skipped.example(message: :none)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -3,12 +3,8 @@ module TestBench
3
3
  module Controls
4
4
  module Events
5
5
  module TestFinished
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::TestFinished.build(title, result, process_id:, time:)
20
- end
15
+ test_finished = Session::Events::TestFinished.new
16
+
17
+ test_finished.title = title
18
+ test_finished.result = result
21
19
 
22
- def self.random
23
- Random.example
20
+ test_finished.metadata = Metadata.example
21
+
22
+ test_finished
24
23
  end
25
24
 
26
25
  def self.title
@@ -31,36 +30,57 @@ 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
+ TestFinished.example(result:, title:)
40
+ end
41
+
42
+ def self.result
43
+ Result.other_example
44
+ end
45
+
46
+ def self.title
47
+ Title::Test.other_example
48
+ end
40
49
  end
41
50
 
42
- module Random
43
- extend EventData
51
+ module NoTitle
52
+ def self.example
53
+ TestFinished.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::Test.random
57
+ module Passed
58
+ def self.example
59
+ TestFinished.example(result:)
60
+ end
50
61
 
51
- TestFinished.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
+ TestFinished.example(result:)
70
+ end
71
+
72
+ def self.result
73
+ Session::Result.failed
74
+ end
75
+ end
57
76
 
58
- def self.example(**arguments)
59
- TestFinished.example(title: :none, **arguments)
77
+ module Aborted
78
+ def self.example
79
+ TestFinished.example(result:)
60
80
  end
61
81
 
62
- def self.random
63
- Random.example(title: :none)
82
+ def self.result
83
+ Session::Result.aborted
64
84
  end
65
85
  end
66
86
  end
@@ -3,58 +3,43 @@ module TestBench
3
3
  module Controls
4
4
  module Events
5
5
  module TestStarted
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::TestStarted.build(title, process_id:, time:)
19
- end
13
+ test_started = Session::Events::TestStarted.new
20
14
 
21
- def self.random
22
- Random.example
15
+ test_started.title = title
16
+
17
+ test_started.metadata = Metadata.example
18
+
19
+ test_started
23
20
  end
24
21
 
25
22
  def self.title
26
23
  Title::Test.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::Test.random
30
+ module Other
31
+ def self.example
32
+ TestStarted.example(title:)
33
+ end
44
34
 
45
- TestStarted.example(title:, process_id:, time:)
35
+ def self.title
36
+ Title::Test.other_example
46
37
  end
47
38
  end
48
39
 
49
40
  module NoTitle
50
- extend EventData
51
-
52
- def self.example(**arguments)
53
- TestStarted.example(title: :none, **arguments)
54
- end
55
-
56
- def self.random
57
- Random.example(title: :none)
41
+ def self.example
42
+ TestStarted.example(title: :none)
58
43
  end
59
44
  end
60
45
  end
@@ -2,30 +2,30 @@ module TestBench
2
2
  class Session
3
3
  module Controls
4
4
  module Events
5
- def self.examples(random: nil)
6
- random ||= false
5
+ def self.examples(control_method=nil)
6
+ control_method ||= :example
7
7
 
8
- events = []
8
+ [
9
+ Failed,
10
+ Aborted,
11
+ Skipped,
12
+ Commented,
13
+ Detailed,
14
+ TestStarted,
15
+ TestFinished,
16
+ ContextStarted,
17
+ ContextFinished,
18
+ FileQueued,
19
+ FileExecuted,
20
+ FileNotFound
21
+ ].map do |control|
9
22
 
10
- Session::Events.each_type do |event_type|
11
- control = Events.const_get(event_type, false)
12
-
13
- if random
14
- event = control.random
15
- else
16
- event = control.example
17
- end
18
-
19
- events << event
23
+ control.public_send(control_method)
20
24
  end
21
-
22
- events
23
25
  end
24
26
 
25
- def self.each_example(random: nil, &block)
26
- examples = examples(random:)
27
-
28
- examples.each(&block)
27
+ def self.other_examples
28
+ examples(:other_example)
29
29
  end
30
30
  end
31
31
  end
@@ -0,0 +1,21 @@
1
+ module TestBench
2
+ class Session
3
+ module Controls
4
+ module Exception
5
+ module Message
6
+ def self.example
7
+ exception = Example
8
+
9
+ exception.detailed_message
10
+ end
11
+
12
+ def self.other_example
13
+ exception = Other::Example
14
+
15
+ exception.detailed_message
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end