Class: TestBench::Run
- Inherits:
-
Object
show all
- Defined in:
- lib/test_bench/run/run.rb,
lib/test_bench/run/summary.rb,
lib/test_bench/run/substitute.rb,
lib/test_bench/run/select_files.rb,
lib/test_bench/run/controls/path.rb,
lib/test_bench/run/controls/time.rb,
lib/test_bench/run/controls/events.rb,
lib/test_bench/run/controls/random.rb,
lib/test_bench/run/controls/status.rb,
lib/test_bench/run/controls/message.rb,
lib/test_bench/run/controls/session.rb,
lib/test_bench/run/controls/summary.rb,
lib/test_bench/run/controls/telemetry.rb,
lib/test_bench/run/summary/substitute.rb,
lib/test_bench/run/controls/summary/run.rb,
lib/test_bench/run/controls/summary/file.rb,
lib/test_bench/run/select_files/substitute.rb,
lib/test_bench/run/controls/summary/file/info.rb,
lib/test_bench/run/controls/summary/file/totals.rb
Defined Under Namespace
Modules: Controls, Defaults, Substitute
Classes: SelectFiles, Summary
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Attribute Details
#abort_on_failure ⇒ Object
Also known as:
abort_on_failure?
26
27
28
29
30
|
# File 'lib/test_bench/run/run.rb', line 26
def abort_on_failure
@abort_on_failure.nil? ?
@abort_on_failure = false :
@abort_on_failure
end
|
#path_sequence ⇒ Object
34
35
36
|
# File 'lib/test_bench/run/run.rb', line 34
def path_sequence
@path_sequence ||= 0
end
|
#print_summary ⇒ Object
Also known as:
print_summary?
18
19
20
21
22
|
# File 'lib/test_bench/run/run.rb', line 18
def print_summary
@print_summary.nil? ?
@print_summary = true :
@print_summary
end
|
#session ⇒ Object
13
14
15
|
# File 'lib/test_bench/run/run.rb', line 13
def session
@session ||= Session::Substitute.build
end
|
Class Method Details
.build(exclude: nil, print_summary: nil, abort_on_failure: nil, session: nil) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/test_bench/run/run.rb', line 39
def self.build(exclude: nil, print_summary: nil, abort_on_failure: nil, session: nil)
if print_summary.nil?
print_summary = Defaults.print_summary
end
if abort_on_failure.nil?
abort_on_failure = Defaults.abort_on_failure
end
instance = new
instance.print_summary = print_summary
instance.abort_on_failure = abort_on_failure
Session.configure(instance, session:)
Summary.configure(instance)
SelectFiles.configure(instance, exclude_patterns: exclude)
session = instance.session
Output.register_telemetry_sink(session)
summary = instance.summary
session.register_telemetry_sink(summary)
instance
end
|
.call(path, session: nil, exclude: nil) ⇒ Object
78
79
80
81
82
83
84
85
86
|
# File 'lib/test_bench/run/run.rb', line 78
def self.call(path, session: nil, exclude: nil)
session ||= establish_session
instance = build(exclude:, session:)
instance.() do
instance << path
end
end
|
69
70
71
72
73
74
75
76
|
# File 'lib/test_bench/run/run.rb', line 69
def self.configure(receiver, attr_name: nil)
attr_name ||= :run
session = establish_session
instance = build(session:)
receiver.public_send(:"#{attr_name}=", instance)
end
|
.establish_session ⇒ Object
88
89
90
91
92
|
# File 'lib/test_bench/run/run.rb', line 88
def self.establish_session
session = Session.build
Session.establish(session)
session
end
|
Instance Method Details
#call(&block) ⇒ Object
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/test_bench/run/run.rb', line 94
def call(&block)
block.(self)
session.close
if print_summary?
summary.print
end
result = session.result
Session::Result.resolve(result)
end
|
#path(path) ⇒ Object
Also known as:
<<
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/test_bench/run/run.rb', line 107
def path(path)
self.path_sequence += 1
select_files.(path) do |file_path|
if abort_on_failure?
case session.result
when Session::Result.aborted, Session::Result.failed
next
end
end
session.execute(file_path)
end
end
|
#ran? ⇒ Boolean
123
124
125
|
# File 'lib/test_bench/run/run.rb', line 123
def ran?
path_sequence > 0
end
|