test_bench-session 2.0.0.0 → 2.1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/test_bench/session/controls/comment.rb +93 -4
- data/lib/test_bench/session/controls/detail.rb +79 -4
- data/lib/test_bench/session/controls/event.rb +7 -0
- data/lib/test_bench/session/controls/events/commented.rb +91 -10
- data/lib/test_bench/session/controls/events/context_finished.rb +49 -11
- data/lib/test_bench/session/controls/events/context_skipped.rb +26 -8
- data/lib/test_bench/session/controls/events/context_started.rb +44 -9
- data/lib/test_bench/session/controls/events/detailed.rb +91 -10
- data/lib/test_bench/session/controls/{capture_sink/event.rb → events/event_data.rb} +2 -2
- data/lib/test_bench/session/controls/events/failed.rb +27 -15
- data/lib/test_bench/session/controls/events/fixture_finished.rb +32 -11
- data/lib/test_bench/session/controls/events/fixture_started.rb +26 -8
- data/lib/test_bench/session/controls/events/test_finished.rb +49 -11
- data/lib/test_bench/session/controls/events/test_skipped.rb +26 -8
- data/lib/test_bench/session/controls/events/test_started.rb +44 -9
- data/lib/test_bench/session/controls/events.rb +15 -9
- data/lib/test_bench/session/controls/exception.rb +28 -10
- data/lib/test_bench/session/controls/failure.rb +5 -16
- data/lib/test_bench/session/controls/fixture.rb +7 -4
- data/lib/test_bench/session/controls/output/detail.rb +29 -0
- data/lib/test_bench/session/controls/output.rb +55 -0
- data/lib/test_bench/session/controls/random.rb +1 -1
- data/lib/test_bench/session/controls/result.rb +15 -4
- data/lib/test_bench/session/controls/{capture_sink → substitute}/path.rb +6 -3
- data/lib/test_bench/session/controls/title.rb +24 -12
- data/lib/test_bench/session/controls.rb +12 -12
- data/lib/test_bench/session/events.rb +7 -14
- data/lib/test_bench/session/output/get.rb +27 -0
- data/lib/test_bench/session/output/writer/buffer/interactive/viewport.rb +164 -0
- data/lib/test_bench/session/output/writer/buffer/interactive.rb +139 -0
- data/lib/test_bench/session/output/writer/buffer.rb +27 -0
- data/lib/test_bench/session/output/writer/defaults.rb +17 -0
- data/lib/test_bench/session/output/writer/substitute.rb +17 -0
- data/lib/test_bench/session/output/writer.rb +95 -0
- data/lib/test_bench/session/output.rb +375 -0
- data/lib/test_bench/session/projection.rb +28 -0
- data/lib/test_bench/session/session.rb +51 -65
- data/lib/test_bench/session/store.rb +59 -0
- data/lib/test_bench/session/substitute/path.rb +63 -0
- data/lib/test_bench/session/substitute/sink.rb +104 -0
- data/lib/test_bench/session/substitute.rb +17 -34
- data/lib/test_bench/session.rb +16 -5
- metadata +22 -17
- data/lib/test_bench/session/controls/capture_sink/record.rb +0 -19
- data/lib/test_bench/session/controls/events/aborted.rb +0 -29
- data/lib/test_bench/session/controls/events/file_finished.rb +0 -32
- data/lib/test_bench/session/controls/events/file_started.rb +0 -29
- data/lib/test_bench/session/controls/events/finished.rb +0 -32
- data/lib/test_bench/session/controls/events/started.rb +0 -29
- data/lib/test_bench/session/controls/file.rb +0 -58
- data/lib/test_bench/session/telemetry/capture_sink/path.rb +0 -65
- data/lib/test_bench/session/telemetry/capture_sink/record.rb +0 -39
- data/lib/test_bench/session/telemetry/capture_sink.rb +0 -63
@@ -0,0 +1,63 @@
|
|
1
|
+
module TestBench
|
2
|
+
class Session
|
3
|
+
module Substitute
|
4
|
+
class Path
|
5
|
+
def segments
|
6
|
+
@segments ||= []
|
7
|
+
end
|
8
|
+
attr_writer :segments
|
9
|
+
|
10
|
+
def match?(*segments, segment)
|
11
|
+
if not segment == self.segments.last
|
12
|
+
return false
|
13
|
+
end
|
14
|
+
|
15
|
+
segment_iterator = self.segments.to_enum
|
16
|
+
|
17
|
+
control_segments = [*segments, segment]
|
18
|
+
|
19
|
+
control_segments.all? do |control_segment|
|
20
|
+
begin
|
21
|
+
next_segment = segment_iterator.next
|
22
|
+
end until next_segment == control_segment
|
23
|
+
true
|
24
|
+
|
25
|
+
rescue StopIteration
|
26
|
+
false
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def push_segment(segment)
|
31
|
+
segments << segment
|
32
|
+
end
|
33
|
+
alias :push :push_segment
|
34
|
+
alias :<< :push
|
35
|
+
|
36
|
+
def pop_segment(compare_segment=nil)
|
37
|
+
segments.pop
|
38
|
+
end
|
39
|
+
alias :pop :pop_segment
|
40
|
+
|
41
|
+
def copy(receiver)
|
42
|
+
path = self.class.new
|
43
|
+
|
44
|
+
segments.each do |segment|
|
45
|
+
path << segment
|
46
|
+
end
|
47
|
+
|
48
|
+
receiver.path = path
|
49
|
+
path
|
50
|
+
end
|
51
|
+
|
52
|
+
def eql?(compare)
|
53
|
+
if compare.is_a?(self.class)
|
54
|
+
segments == compare.segments
|
55
|
+
else
|
56
|
+
false
|
57
|
+
end
|
58
|
+
end
|
59
|
+
alias :== :eql?
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
module TestBench
|
2
|
+
class Session
|
3
|
+
module Substitute
|
4
|
+
class Sink
|
5
|
+
include Telemetry::Sink
|
6
|
+
include Events
|
7
|
+
|
8
|
+
def records
|
9
|
+
@records ||= []
|
10
|
+
end
|
11
|
+
attr_writer :records
|
12
|
+
|
13
|
+
def path
|
14
|
+
@path ||= Path.new
|
15
|
+
end
|
16
|
+
attr_writer :path
|
17
|
+
|
18
|
+
def receive(event_data)
|
19
|
+
event_type = event_data.type
|
20
|
+
|
21
|
+
case event_data.type
|
22
|
+
when :TestStarted, :ContextStarted
|
23
|
+
title, * = event_data.data
|
24
|
+
path.push(title)
|
25
|
+
when :TestFinished, :ContextFinished
|
26
|
+
title, * = event_data.data
|
27
|
+
path.pop(title)
|
28
|
+
end
|
29
|
+
|
30
|
+
record = Record.new(event_data)
|
31
|
+
path.copy(record)
|
32
|
+
|
33
|
+
case event_data.type
|
34
|
+
when :TestFinished, :ContextFinished
|
35
|
+
title, * = event_data.data
|
36
|
+
record.path.push(title)
|
37
|
+
when :Commented, :Detailed
|
38
|
+
comment_text, * = event_data.data
|
39
|
+
record.path.push(comment_text)
|
40
|
+
end
|
41
|
+
|
42
|
+
records.push(record)
|
43
|
+
|
44
|
+
record
|
45
|
+
end
|
46
|
+
|
47
|
+
def received?(event_data=nil)
|
48
|
+
if not event_data.nil?
|
49
|
+
records.any? do |record|
|
50
|
+
record.event_data == event_data
|
51
|
+
end
|
52
|
+
else
|
53
|
+
records.any?
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def one_event?(event_class, *path_segments, **attributes)
|
58
|
+
event_sink = event_sink(*path_segments)
|
59
|
+
event_sink.one_event?(event_class, **attributes)
|
60
|
+
end
|
61
|
+
|
62
|
+
def one_event(event_class, *path_segments, **attributes)
|
63
|
+
event_sink = event_sink(*path_segments)
|
64
|
+
event_sink.one_event(event_class, **attributes)
|
65
|
+
end
|
66
|
+
|
67
|
+
def any_event?(event_class, *path_segments, **attributes)
|
68
|
+
event_sink = event_sink(*path_segments)
|
69
|
+
event_sink.any_event?(event_class, **attributes)
|
70
|
+
end
|
71
|
+
alias :event? :any_event?
|
72
|
+
|
73
|
+
def events(event_class, *path_segments, **attributes)
|
74
|
+
event_sink = event_sink(*path_segments)
|
75
|
+
event_sink.events(event_class, **attributes)
|
76
|
+
end
|
77
|
+
|
78
|
+
def event_sink(*path_segments)
|
79
|
+
event_sink = Telemetry::Substitute::Sink.new
|
80
|
+
|
81
|
+
records.each do |record|
|
82
|
+
if record.match?(path_segments)
|
83
|
+
event_data = record.event_data
|
84
|
+
|
85
|
+
event_sink.receive(event_data)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
event_sink
|
90
|
+
end
|
91
|
+
|
92
|
+
Record = Struct.new(:event_data, :path) do
|
93
|
+
def match?(path_segments)
|
94
|
+
if path_segments.any?
|
95
|
+
path.match?(*path_segments)
|
96
|
+
else
|
97
|
+
true
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
@@ -8,56 +8,45 @@ module TestBench
|
|
8
8
|
class Session < Session
|
9
9
|
attr_accessor :result
|
10
10
|
|
11
|
+
def sink
|
12
|
+
@sink ||= Sink.new
|
13
|
+
end
|
14
|
+
attr_writer :sink
|
15
|
+
|
11
16
|
def self.build
|
12
17
|
instance = new
|
13
18
|
|
14
19
|
telemetry = instance.telemetry
|
15
|
-
|
16
|
-
|
17
|
-
telemetry.register(telemetry.sink)
|
20
|
+
telemetry.register(instance.sink)
|
18
21
|
|
19
22
|
instance
|
20
23
|
end
|
21
24
|
|
22
|
-
def file(path)
|
23
|
-
telemetry.record(Events::FileStarted.new(path))
|
24
|
-
|
25
|
-
telemetry.record(Events::FileFinished.new(path, result))
|
26
|
-
|
27
|
-
result
|
28
|
-
end
|
29
|
-
|
30
25
|
Events.each_type do |event_type|
|
31
|
-
|
26
|
+
event_name = TestBench::Telemetry::Event::EventName.get(event_type)
|
32
27
|
|
33
28
|
event_class = Events.const_get(event_type, false)
|
34
29
|
|
35
30
|
module_eval(<<~RUBY, __FILE__, __LINE__)
|
36
|
-
def one_#{
|
31
|
+
def one_#{event_name}_event?(...)
|
37
32
|
one_event?(#{event_class}, ...)
|
38
33
|
end
|
39
34
|
|
40
|
-
def one_#{
|
35
|
+
def one_#{event_name}_event(...)
|
41
36
|
one_event(#{event_class}, ...)
|
42
37
|
end
|
43
38
|
|
44
|
-
def any_#{
|
39
|
+
def any_#{event_name}_event?(...)
|
45
40
|
any_event?(#{event_class}, ...)
|
46
41
|
end
|
47
|
-
alias :#{
|
42
|
+
alias :#{event_name}_event? :any_#{event_name}_event?
|
48
43
|
|
49
|
-
def #{
|
44
|
+
def #{event_name}_events(...)
|
50
45
|
events(#{event_class}, ...)
|
51
46
|
end
|
52
47
|
RUBY
|
53
48
|
end
|
54
49
|
|
55
|
-
def one_event?(...) = telemetry.one_event?(...)
|
56
|
-
def one_event(...) = telemetry.one_event(...)
|
57
|
-
def any_event?(...) = telemetry.any_event?(...)
|
58
|
-
alias :event? :any_event?
|
59
|
-
def events(...) = telemetry.events(...)
|
60
|
-
|
61
50
|
alias :failure? :failed_event?
|
62
51
|
alias :one_failure? :one_failed_event?
|
63
52
|
|
@@ -76,17 +65,11 @@ module TestBench
|
|
76
65
|
alias :fixture? :fixture_finished_event?
|
77
66
|
alias :one_fixture? :one_fixture_finished_event?
|
78
67
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
alias :
|
83
|
-
|
84
|
-
|
85
|
-
alias :finished? :finished_event?
|
86
|
-
alias :one_finished? :one_finished_event?
|
87
|
-
|
88
|
-
alias :aborted? :aborted_event?
|
89
|
-
alias :one_aborted? :one_aborted_event?
|
68
|
+
def one_event?(...) = sink.one_event?(...)
|
69
|
+
def one_event(...) = sink.one_event(...)
|
70
|
+
def any_event?(...) = sink.any_event?(...)
|
71
|
+
alias :event? :any_event?
|
72
|
+
def events(...) = sink.events(...)
|
90
73
|
end
|
91
74
|
end
|
92
75
|
end
|
data/lib/test_bench/session.rb
CHANGED
@@ -1,11 +1,22 @@
|
|
1
|
-
require 'test_bench/
|
1
|
+
require 'test_bench/output'
|
2
2
|
|
3
3
|
require 'test_bench/session/events'
|
4
4
|
|
5
5
|
require 'test_bench/session/session'
|
6
6
|
|
7
|
-
require 'test_bench/session/
|
8
|
-
require 'test_bench/session/
|
9
|
-
require 'test_bench/session/telemetry/capture_sink'
|
10
|
-
|
7
|
+
require 'test_bench/session/substitute/path'
|
8
|
+
require 'test_bench/session/substitute/sink'
|
11
9
|
require 'test_bench/session/substitute'
|
10
|
+
|
11
|
+
require 'test_bench/session/projection'
|
12
|
+
|
13
|
+
require 'test_bench/session/output/writer'
|
14
|
+
require 'test_bench/session/output/writer/defaults'
|
15
|
+
require 'test_bench/session/output/writer/substitute'
|
16
|
+
require 'test_bench/session/output/writer/buffer/interactive/viewport'
|
17
|
+
require 'test_bench/session/output/writer/buffer/interactive'
|
18
|
+
require 'test_bench/session/output/writer/buffer'
|
19
|
+
require 'test_bench/session/output'
|
20
|
+
require 'test_bench/session/output/get'
|
21
|
+
|
22
|
+
require 'test_bench/session/store'
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test_bench-session
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Ladd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: test_bench-
|
14
|
+
name: test_bench-output
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: test_bench-
|
28
|
+
name: test_bench-isolated
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -46,43 +46,48 @@ extra_rdoc_files: []
|
|
46
46
|
files:
|
47
47
|
- lib/test_bench/session.rb
|
48
48
|
- lib/test_bench/session/controls.rb
|
49
|
-
- lib/test_bench/session/controls/capture_sink/event.rb
|
50
|
-
- lib/test_bench/session/controls/capture_sink/path.rb
|
51
|
-
- lib/test_bench/session/controls/capture_sink/record.rb
|
52
49
|
- lib/test_bench/session/controls/comment.rb
|
53
50
|
- lib/test_bench/session/controls/detail.rb
|
51
|
+
- lib/test_bench/session/controls/event.rb
|
54
52
|
- lib/test_bench/session/controls/events.rb
|
55
|
-
- lib/test_bench/session/controls/events/aborted.rb
|
56
53
|
- lib/test_bench/session/controls/events/commented.rb
|
57
54
|
- lib/test_bench/session/controls/events/context_finished.rb
|
58
55
|
- lib/test_bench/session/controls/events/context_skipped.rb
|
59
56
|
- lib/test_bench/session/controls/events/context_started.rb
|
60
57
|
- lib/test_bench/session/controls/events/detailed.rb
|
58
|
+
- lib/test_bench/session/controls/events/event_data.rb
|
61
59
|
- lib/test_bench/session/controls/events/failed.rb
|
62
|
-
- lib/test_bench/session/controls/events/file_finished.rb
|
63
|
-
- lib/test_bench/session/controls/events/file_started.rb
|
64
|
-
- lib/test_bench/session/controls/events/finished.rb
|
65
60
|
- lib/test_bench/session/controls/events/fixture_finished.rb
|
66
61
|
- lib/test_bench/session/controls/events/fixture_started.rb
|
67
|
-
- lib/test_bench/session/controls/events/started.rb
|
68
62
|
- lib/test_bench/session/controls/events/test_finished.rb
|
69
63
|
- lib/test_bench/session/controls/events/test_skipped.rb
|
70
64
|
- lib/test_bench/session/controls/events/test_started.rb
|
71
65
|
- lib/test_bench/session/controls/exception.rb
|
72
66
|
- lib/test_bench/session/controls/failure.rb
|
73
|
-
- lib/test_bench/session/controls/file.rb
|
74
67
|
- lib/test_bench/session/controls/fixture.rb
|
68
|
+
- lib/test_bench/session/controls/output.rb
|
69
|
+
- lib/test_bench/session/controls/output/detail.rb
|
75
70
|
- lib/test_bench/session/controls/process_id.rb
|
76
71
|
- lib/test_bench/session/controls/random.rb
|
77
72
|
- lib/test_bench/session/controls/result.rb
|
73
|
+
- lib/test_bench/session/controls/substitute/path.rb
|
78
74
|
- lib/test_bench/session/controls/time.rb
|
79
75
|
- lib/test_bench/session/controls/title.rb
|
80
76
|
- lib/test_bench/session/events.rb
|
77
|
+
- lib/test_bench/session/output.rb
|
78
|
+
- lib/test_bench/session/output/get.rb
|
79
|
+
- lib/test_bench/session/output/writer.rb
|
80
|
+
- lib/test_bench/session/output/writer/buffer.rb
|
81
|
+
- lib/test_bench/session/output/writer/buffer/interactive.rb
|
82
|
+
- lib/test_bench/session/output/writer/buffer/interactive/viewport.rb
|
83
|
+
- lib/test_bench/session/output/writer/defaults.rb
|
84
|
+
- lib/test_bench/session/output/writer/substitute.rb
|
85
|
+
- lib/test_bench/session/projection.rb
|
81
86
|
- lib/test_bench/session/session.rb
|
87
|
+
- lib/test_bench/session/store.rb
|
82
88
|
- lib/test_bench/session/substitute.rb
|
83
|
-
- lib/test_bench/session/
|
84
|
-
- lib/test_bench/session/
|
85
|
-
- lib/test_bench/session/telemetry/capture_sink/record.rb
|
89
|
+
- lib/test_bench/session/substitute/path.rb
|
90
|
+
- lib/test_bench/session/substitute/sink.rb
|
86
91
|
homepage: https://github.com/test-bench/test-bench-session
|
87
92
|
licenses:
|
88
93
|
- MIT
|
@@ -102,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
107
|
- !ruby/object:Gem::Version
|
103
108
|
version: '0'
|
104
109
|
requirements: []
|
105
|
-
rubygems_version: 3.
|
110
|
+
rubygems_version: 3.4.10
|
106
111
|
signing_key:
|
107
112
|
specification_version: 4
|
108
113
|
summary: Test session for TestBench
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
class Session
|
3
|
-
module Controls
|
4
|
-
module CaptureSink
|
5
|
-
module Record
|
6
|
-
def self.example(event: nil, path: nil)
|
7
|
-
event ||= self.event
|
8
|
-
path ||= self.path
|
9
|
-
|
10
|
-
TestBench::Session::Telemetry::CaptureSink::Record.new(event, path)
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.event = Event.example
|
14
|
-
def self.path = Path.example
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
class Session
|
3
|
-
module Controls
|
4
|
-
module Events
|
5
|
-
module Aborted
|
6
|
-
def self.example(abort_process_id: nil, process_id: nil, time: nil)
|
7
|
-
abort_process_id ||= self.abort_process_id
|
8
|
-
process_id ||= self.process_id
|
9
|
-
time ||= self.time
|
10
|
-
|
11
|
-
Session::Events::Aborted.new(abort_process_id, process_id, time)
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.random
|
15
|
-
abort_process_id = Random.integer
|
16
|
-
process_id = ProcessID.random
|
17
|
-
time = Time.random
|
18
|
-
|
19
|
-
example(abort_process_id:, process_id:, time:)
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.abort_process_id = ProcessID.other
|
23
|
-
def self.process_id = ProcessID.example
|
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 Session
|
3
|
-
module Controls
|
4
|
-
module Events
|
5
|
-
module FileFinished
|
6
|
-
def self.example(path: nil, result: nil, process_id: nil, time: nil)
|
7
|
-
path ||= self.path
|
8
|
-
result ||= self.result
|
9
|
-
process_id ||= self.process_id
|
10
|
-
time ||= self.time
|
11
|
-
|
12
|
-
Session::Events::FileFinished.new(path, result, process_id, time)
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.random
|
16
|
-
path = File::Path.random
|
17
|
-
result = Result.random
|
18
|
-
process_id = ProcessID.random
|
19
|
-
time = Time.random
|
20
|
-
|
21
|
-
example(path:, result:, process_id:, time:)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.path = File::Path.example
|
25
|
-
def self.result = Result.example
|
26
|
-
def self.process_id = ProcessID.example
|
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 Session
|
3
|
-
module Controls
|
4
|
-
module Events
|
5
|
-
module FileStarted
|
6
|
-
def self.example(path: nil, process_id: nil, time: nil)
|
7
|
-
path ||= self.path
|
8
|
-
process_id ||= self.process_id
|
9
|
-
time ||= self.time
|
10
|
-
|
11
|
-
Session::Events::FileStarted.new(path, process_id, time)
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.random
|
15
|
-
path = File::Path.random
|
16
|
-
process_id = ProcessID.random
|
17
|
-
time = Time.random
|
18
|
-
|
19
|
-
example(path:, process_id:, time:)
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.path = File::Path.example
|
23
|
-
def self.process_id = ProcessID.example
|
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 Session
|
3
|
-
module Controls
|
4
|
-
module Events
|
5
|
-
module Finished
|
6
|
-
def self.example(result: nil, process_count: nil, process_id: nil, time: nil)
|
7
|
-
result ||= self.result
|
8
|
-
process_count ||= self.process_count
|
9
|
-
process_id ||= self.process_id
|
10
|
-
time ||= self.time
|
11
|
-
|
12
|
-
Session::Events::Finished.new(result, process_count, process_id, time)
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.random
|
16
|
-
result = Result.random
|
17
|
-
process_count = Random.integer
|
18
|
-
process_id = ProcessID.random
|
19
|
-
time = Time.random
|
20
|
-
|
21
|
-
example(result:, process_count:, process_id:, time:)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.result = Result.example
|
25
|
-
def self.process_count = Started.process_count
|
26
|
-
def self.process_id = ProcessID.example
|
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 Session
|
3
|
-
module Controls
|
4
|
-
module Events
|
5
|
-
module Started
|
6
|
-
def self.example(process_count: nil, process_id: nil, time: nil)
|
7
|
-
process_count ||= self.process_count
|
8
|
-
process_id ||= self.process_id
|
9
|
-
time ||= self.time
|
10
|
-
|
11
|
-
Session::Events::Started.new(process_count, process_id, time)
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.random
|
15
|
-
process_count = Random.integer
|
16
|
-
process_id = ProcessID.random
|
17
|
-
time = Time.random
|
18
|
-
|
19
|
-
example(process_count:, process_id:, time:)
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.process_count = 11
|
23
|
-
def self.process_id = ProcessID.example
|
24
|
-
def self.time = Time.example
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
class Session
|
3
|
-
module Controls
|
4
|
-
module File
|
5
|
-
def self.example(contents=nil)
|
6
|
-
contents ||= self.contents
|
7
|
-
|
8
|
-
path = TestBench::Telemetry::Controls::File::Temporary.example
|
9
|
-
|
10
|
-
::File.write(path, contents)
|
11
|
-
|
12
|
-
path
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.contents = Pass.contents
|
16
|
-
|
17
|
-
module Failure
|
18
|
-
def self.example(session: nil)
|
19
|
-
contents = contents(session:)
|
20
|
-
|
21
|
-
File.example(contents)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.contents(session: nil)
|
25
|
-
session ||= Session.new
|
26
|
-
|
27
|
-
<<~RUBY
|
28
|
-
session = ObjectSpace._id2ref(#{session.object_id})
|
29
|
-
session.assert(false, __FILE__, __LINE__)
|
30
|
-
RUBY
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
module Pass
|
35
|
-
def self.example
|
36
|
-
File.example(contents)
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.contents
|
40
|
-
''
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
module Path
|
45
|
-
def self.example(suffix=nil)
|
46
|
-
extension = '.rb'
|
47
|
-
|
48
|
-
filename = TestBench::Telemetry::Controls::File::Name.example(suffix, extension:)
|
49
|
-
|
50
|
-
::File.join('some_dir', 'some_other_dir', filename)
|
51
|
-
end
|
52
|
-
|
53
|
-
def self.random = example(Random.string)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
class Session
|
3
|
-
module Telemetry
|
4
|
-
class CaptureSink
|
5
|
-
class Path
|
6
|
-
def segments
|
7
|
-
@segments ||= []
|
8
|
-
end
|
9
|
-
attr_writer :segments
|
10
|
-
|
11
|
-
def match?(*segments, segment)
|
12
|
-
if not segment == self.segments.last
|
13
|
-
return false
|
14
|
-
end
|
15
|
-
|
16
|
-
segment_iterator = self.segments.to_enum
|
17
|
-
|
18
|
-
control_segments = [*segments, segment]
|
19
|
-
|
20
|
-
control_segments.all? do |control_segment|
|
21
|
-
begin
|
22
|
-
next_segment = segment_iterator.next
|
23
|
-
end until next_segment == control_segment
|
24
|
-
true
|
25
|
-
|
26
|
-
rescue StopIteration
|
27
|
-
false
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def push_segment(segment)
|
32
|
-
segments << segment
|
33
|
-
end
|
34
|
-
alias :push :push_segment
|
35
|
-
alias :<< :push
|
36
|
-
|
37
|
-
def pop_segment(compare_segment=nil)
|
38
|
-
segments.pop
|
39
|
-
end
|
40
|
-
alias :pop :pop_segment
|
41
|
-
|
42
|
-
def copy(receiver)
|
43
|
-
path = self.class.new
|
44
|
-
|
45
|
-
segments.each do |segment|
|
46
|
-
path << segment
|
47
|
-
end
|
48
|
-
|
49
|
-
receiver.path = path
|
50
|
-
path
|
51
|
-
end
|
52
|
-
|
53
|
-
def eql?(compare)
|
54
|
-
if compare.is_a?(self.class)
|
55
|
-
segments == compare.segments
|
56
|
-
else
|
57
|
-
false
|
58
|
-
end
|
59
|
-
end
|
60
|
-
alias :== :eql?
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|