test_bench-bootstrap 3.0.0.0.pre.1 → 3.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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_bench/bootstrap.rb +373 -0
  3. metadata +16 -353
  4. data/executables/bench-bootstrap +0 -7
  5. data/lib/test_bench_bootstrap/controls.rb +0 -1
  6. data/lib/test_bench_bootstrap/test_bench_bootstrap.rb +0 -7
  7. data/lib/test_bench_bootstrap.rb +0 -4
  8. data/upstream-lib/test_bench_bootstrap/import_constants/controls/namespace.rb +0 -84
  9. data/upstream-lib/test_bench_bootstrap/import_constants/controls.rb +0 -1
  10. data/upstream-lib/test_bench_bootstrap/import_constants/import_constants.rb +0 -46
  11. data/upstream-lib/test_bench_bootstrap/import_constants/macro.rb +0 -10
  12. data/upstream-lib/test_bench_bootstrap/import_constants.rb +0 -2
  13. data/upstream-lib/test_bench_bootstrap/test_bench/controls/telemetry_sink.rb +0 -7
  14. data/upstream-lib/test_bench_bootstrap/test_bench/controls.rb +0 -3
  15. data/upstream-lib/test_bench_bootstrap/test_bench/executable/controls/path.rb +0 -9
  16. data/upstream-lib/test_bench_bootstrap/test_bench/executable/controls/random.rb +0 -9
  17. data/upstream-lib/test_bench_bootstrap/test_bench/executable/controls/run.rb +0 -12
  18. data/upstream-lib/test_bench_bootstrap/test_bench/executable/controls/standard_input.rb +0 -31
  19. data/upstream-lib/test_bench_bootstrap/test_bench/executable/controls.rb +0 -8
  20. data/upstream-lib/test_bench_bootstrap/test_bench/executable/defaults.rb +0 -15
  21. data/upstream-lib/test_bench_bootstrap/test_bench/executable/executable.rb +0 -61
  22. data/upstream-lib/test_bench_bootstrap/test_bench/executable/parse_arguments.rb +0 -271
  23. data/upstream-lib/test_bench_bootstrap/test_bench/executable.rb +0 -7
  24. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/build.rb +0 -41
  25. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/comment_style.rb +0 -9
  26. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/exception.rb +0 -9
  27. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/fixture.rb +0 -69
  28. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/message.rb +0 -9
  29. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/output.rb +0 -11
  30. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/path.rb +0 -9
  31. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/session.rb +0 -21
  32. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/status.rb +0 -9
  33. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/text.rb +0 -9
  34. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls/title.rb +0 -9
  35. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/controls.rb +0 -14
  36. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/evaluate.rb +0 -37
  37. data/upstream-lib/test_bench_bootstrap/test_bench/fixture/fixture.rb +0 -213
  38. data/upstream-lib/test_bench_bootstrap/test_bench/fixture.rb +0 -7
  39. data/upstream-lib/test_bench_bootstrap/test_bench/output/comment_style.rb +0 -63
  40. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/comment_style.rb +0 -23
  41. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/event.rb +0 -9
  42. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/aborted.rb +0 -11
  43. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/commented.rb +0 -23
  44. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/context_finished.rb +0 -11
  45. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/context_started.rb +0 -11
  46. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/detailed.rb +0 -23
  47. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/failed.rb +0 -11
  48. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/file_executed.rb +0 -11
  49. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/file_not_found.rb +0 -11
  50. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/file_queued.rb +0 -11
  51. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/skipped.rb +0 -11
  52. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/test_finished.rb +0 -11
  53. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/events/test_started.rb +0 -11
  54. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/random.rb +0 -9
  55. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/session.rb +0 -19
  56. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/status.rb +0 -9
  57. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/style.rb +0 -41
  58. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls/text.rb +0 -31
  59. data/upstream-lib/test_bench_bootstrap/test_bench/output/controls.rb +0 -26
  60. data/upstream-lib/test_bench_bootstrap/test_bench/output/detail_policy.rb +0 -46
  61. data/upstream-lib/test_bench_bootstrap/test_bench/output/device/null.rb +0 -21
  62. data/upstream-lib/test_bench_bootstrap/test_bench/output/device/substitute.rb +0 -46
  63. data/upstream-lib/test_bench_bootstrap/test_bench/output/device.rb +0 -75
  64. data/upstream-lib/test_bench_bootstrap/test_bench/output/get.rb +0 -32
  65. data/upstream-lib/test_bench_bootstrap/test_bench/output/level.rb +0 -53
  66. data/upstream-lib/test_bench_bootstrap/test_bench/output/output.rb +0 -572
  67. data/upstream-lib/test_bench_bootstrap/test_bench/output/writer/style.rb +0 -54
  68. data/upstream-lib/test_bench_bootstrap/test_bench/output/writer/substitute.rb +0 -27
  69. data/upstream-lib/test_bench_bootstrap/test_bench/output/writer.rb +0 -119
  70. data/upstream-lib/test_bench_bootstrap/test_bench/output.rb +0 -20
  71. data/upstream-lib/test_bench_bootstrap/test_bench/random/controls/seed.rb +0 -25
  72. data/upstream-lib/test_bench_bootstrap/test_bench/random/controls/sequence.rb +0 -70
  73. data/upstream-lib/test_bench_bootstrap/test_bench/random/controls.rb +0 -2
  74. data/upstream-lib/test_bench_bootstrap/test_bench/random/defaults.rb +0 -13
  75. data/upstream-lib/test_bench_bootstrap/test_bench/random/generator/substitute.rb +0 -23
  76. data/upstream-lib/test_bench_bootstrap/test_bench/random/generator.rb +0 -64
  77. data/upstream-lib/test_bench_bootstrap/test_bench/random/iterator.rb +0 -54
  78. data/upstream-lib/test_bench_bootstrap/test_bench/random/random.rb +0 -27
  79. data/upstream-lib/test_bench_bootstrap/test_bench/random.rb +0 -8
  80. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/events.rb +0 -9
  81. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/message.rb +0 -9
  82. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/path.rb +0 -9
  83. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/random.rb +0 -9
  84. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/session.rb +0 -16
  85. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/status.rb +0 -44
  86. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/summary/file/info.rb +0 -108
  87. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/summary/file/totals.rb +0 -38
  88. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/summary/file.rb +0 -44
  89. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/summary/run.rb +0 -53
  90. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/summary.rb +0 -45
  91. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/telemetry.rb +0 -11
  92. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls/time.rb +0 -9
  93. data/upstream-lib/test_bench_bootstrap/test_bench/run/controls.rb +0 -20
  94. data/upstream-lib/test_bench_bootstrap/test_bench/run/run.rb +0 -146
  95. data/upstream-lib/test_bench_bootstrap/test_bench/run/select_files/substitute.rb +0 -45
  96. data/upstream-lib/test_bench_bootstrap/test_bench/run/select_files.rb +0 -70
  97. data/upstream-lib/test_bench_bootstrap/test_bench/run/substitute.rb +0 -42
  98. data/upstream-lib/test_bench_bootstrap/test_bench/run/summary/substitute.rb +0 -19
  99. data/upstream-lib/test_bench_bootstrap/test_bench/run/summary.rb +0 -477
  100. data/upstream-lib/test_bench_bootstrap/test_bench/run.rb +0 -10
  101. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/backtrace/location.rb +0 -48
  102. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/backtrace.rb +0 -83
  103. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/comment_disposition.rb +0 -17
  104. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/event.rb +0 -35
  105. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/aborted.rb +0 -51
  106. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/commented.rb +0 -62
  107. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/context_finished.rb +0 -112
  108. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/context_started.rb +0 -51
  109. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/detailed.rb +0 -62
  110. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/failed.rb +0 -41
  111. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/file_executed.rb +0 -101
  112. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/file_not_found.rb +0 -41
  113. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/file_queued.rb +0 -41
  114. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/skipped.rb +0 -51
  115. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/test_finished.rb +0 -92
  116. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events/test_started.rb +0 -51
  117. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/events.rb +0 -35
  118. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/exception/message.rb +0 -23
  119. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/exception/raise.rb +0 -52
  120. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/exception.rb +0 -81
  121. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/message.rb +0 -43
  122. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/metadata.rb +0 -9
  123. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/path/apex_directory.rb +0 -76
  124. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/path/file/create.rb +0 -113
  125. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/path/file.rb +0 -42
  126. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/path.rb +0 -87
  127. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/random.rb +0 -9
  128. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/result.rb +0 -17
  129. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/sequence.rb +0 -13
  130. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/status.rb +0 -92
  131. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/telemetry.rb +0 -15
  132. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/telemetry_sink.rb +0 -37
  133. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/text.rb +0 -33
  134. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls/title.rb +0 -41
  135. data/upstream-lib/test_bench_bootstrap/test_bench/session/controls.rb +0 -43
  136. data/upstream-lib/test_bench_bootstrap/test_bench/session/defaults.rb +0 -17
  137. data/upstream-lib/test_bench_bootstrap/test_bench/session/events.rb +0 -24
  138. data/upstream-lib/test_bench_bootstrap/test_bench/session/exception/format_backtrace/substitute.rb +0 -34
  139. data/upstream-lib/test_bench_bootstrap/test_bench/session/exception/format_backtrace.rb +0 -114
  140. data/upstream-lib/test_bench_bootstrap/test_bench/session/isolate/substitute.rb +0 -45
  141. data/upstream-lib/test_bench_bootstrap/test_bench/session/isolate.rb +0 -159
  142. data/upstream-lib/test_bench_bootstrap/test_bench/session/result.rb +0 -44
  143. data/upstream-lib/test_bench_bootstrap/test_bench/session/session.rb +0 -236
  144. data/upstream-lib/test_bench_bootstrap/test_bench/session/status.rb +0 -60
  145. data/upstream-lib/test_bench_bootstrap/test_bench/session/substitute/sink.rb +0 -99
  146. data/upstream-lib/test_bench_bootstrap/test_bench/session/substitute.rb +0 -154
  147. data/upstream-lib/test_bench_bootstrap/test_bench/session/trace.rb +0 -53
  148. data/upstream-lib/test_bench_bootstrap/test_bench/session.rb +0 -22
  149. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/event/metadata.rb +0 -72
  150. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/event.rb +0 -156
  151. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/event_data.rb +0 -113
  152. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/handler.rb +0 -83
  153. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/path/file.rb +0 -39
  154. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/process_id.rb +0 -25
  155. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/random.rb +0 -11
  156. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/sink.rb +0 -35
  157. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls/time.rb +0 -104
  158. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/controls.rb +0 -16
  159. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/event.rb +0 -130
  160. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/event_data/serialization.rb +0 -85
  161. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/event_data.rb +0 -15
  162. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/sink/file.rb +0 -39
  163. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/sink/handler/event_registry.rb +0 -44
  164. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/sink/handler.rb +0 -128
  165. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/sink.rb +0 -13
  166. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/substitute/sink.rb +0 -71
  167. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/substitute.rb +0 -43
  168. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry/telemetry.rb +0 -92
  169. data/upstream-lib/test_bench_bootstrap/test_bench/telemetry.rb +0 -18
  170. data/upstream-lib/test_bench_bootstrap/test_bench/test_bench.rb +0 -72
  171. data/upstream-lib/test_bench_bootstrap/test_bench.rb +0 -4
@@ -1,15 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- class Executable
4
- module Defaults
5
- def self.path
6
- ENV.fetch('TEST_BENCH_DEFAULT_TEST_PATH', 'test/automated')
7
- end
8
-
9
- def self.program_name
10
- $PROGRAM_NAME || 'bench'
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,61 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- class Executable
4
- def run
5
- @run ||= Run::Substitute.build
6
- end
7
- attr_writer :run
8
-
9
- def arguments
10
- @arguments ||= []
11
- end
12
- attr_writer :arguments
13
-
14
- def stdin
15
- @stdin ||= STDIN
16
- end
17
- attr_writer :stdin
18
-
19
- def self.build(arguments=nil, env: nil)
20
- instance = new
21
-
22
- arguments = ParseArguments.(arguments, env:)
23
- instance.arguments = arguments
24
-
25
- Run.configure(instance)
26
-
27
- instance
28
- end
29
-
30
- def self.call(arguments=nil, env: nil)
31
- instance = build(arguments, env:)
32
- instance.()
33
- end
34
-
35
- def call
36
- result = run.() do
37
- if not stdin.tty?
38
- until stdin.eof?
39
- path = stdin.gets(chomp: true)
40
-
41
- next if path.empty?
42
-
43
- run << path
44
- end
45
- end
46
-
47
- arguments.each do |path|
48
- run << path
49
- end
50
-
51
- if not run.ran?
52
- run << Defaults.path
53
- end
54
- end
55
-
56
- exit_code = result ? 0 : 1
57
- exit_code
58
- end
59
- end
60
- end
61
- end
@@ -1,271 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- class Executable
4
- class ParseArguments
5
- Error = Class.new(RuntimeError)
6
-
7
- def writer
8
- @writer ||= Output::Writer::Substitute.build
9
- end
10
- attr_writer :writer
11
-
12
- def env
13
- @env ||= {}
14
- end
15
- attr_writer :env
16
-
17
- def non_switch_arguments
18
- @non_switch_arguments ||= []
19
- end
20
-
21
- attr_reader :raw_arguments
22
-
23
- def initialize(raw_arguments)
24
- @raw_arguments = raw_arguments
25
- end
26
-
27
- def self.build(arguments=nil, env: nil)
28
- arguments ||= ::ARGV
29
- env ||= ::ENV
30
-
31
- instance = new(arguments)
32
-
33
- instance.env = env
34
-
35
- Output::Writer.configure(instance)
36
-
37
- instance
38
- end
39
-
40
- def self.call(arguments=nil, env: nil)
41
- instance = build(arguments, env:)
42
- instance.()
43
- end
44
-
45
- def call
46
- loop do
47
- switch = next_switch
48
-
49
- case switch
50
- when '--', nil
51
- break
52
-
53
- when '-a', '--abort-on-failure'
54
- env['TEST_BENCH_ABORT_ON_FAILURE'] = 'on'
55
-
56
- when '-x', '--exclude'
57
- exclude_pattern = require_next_argument(switch)
58
-
59
- env['TEST_BENCH_EXCLUDE_FILE_PATTERN'] = [
60
- env['TEST_BENCH_EXCLUDE_FILE_PATTERN'],
61
- exclude_pattern
62
- ].compact.join(':')
63
- when '-X', '--no-exclude'
64
- env['TEST_BENCH_EXCLUDE_FILE_PATTERN'] = ''
65
-
66
- when '-s', '--strict'
67
- env['TEST_BENCH_STRICT'] = 'on'
68
- when '-S', '--no-strict'
69
- env['TEST_BENCH_STRICT'] = 'off'
70
-
71
- when '-r', '--require'
72
- library = require_next_argument(switch)
73
- require(library)
74
- when '-I', '--include'
75
- load_path = require_next_argument(switch)
76
- if not $LOAD_PATH.include?(load_path)
77
- $LOAD_PATH << load_path
78
- end
79
-
80
- when '--random-seed'
81
- seed = require_next_argument(switch)
82
- env['TEST_BENCH_RANDOM_SEED'] = seed
83
-
84
- when '-b', '--omit-backtrace'
85
- omit_pattern = require_next_argument(switch)
86
-
87
- env['TEST_BENCH_OMIT_BACKTRACE_PATTERN'] = [
88
- env['TEST_BENCH_OMIT_BACKTRACE_PATTERN'],
89
- omit_pattern
90
- ].compact.join(':')
91
-
92
- when '-d', '--detail'
93
- env['TEST_BENCH_OUTPUT_DETAIL'] = 'on'
94
- when '-D', '--no-detail'
95
- env['TEST_BENCH_OUTPUT_DETAIL'] = 'off'
96
-
97
- when '--device'
98
- device = require_next_argument(switch)
99
- env['TEST_BENCH_OUTPUT_DEVICE'] = device
100
-
101
- when '-l', '--output-level'
102
- output_level = require_next_argument(switch)
103
- env['TEST_BENCH_OUTPUT_LEVEL'] = output_level
104
- when '-q', '--quiet'
105
- env['TEST_BENCH_OUTPUT_LEVEL'] = 'not-passing'
106
-
107
- when '-o', '--output-styling'
108
- env['TEST_BENCH_OUTPUT_STYLING'] = 'on'
109
- when '-O', '--no-output-styling'
110
- env['TEST_BENCH_OUTPUT_STYLING'] = 'off'
111
-
112
- when '--no-summary'
113
- env['TEST_BENCH_OUTPUT_SUMMARY'] = 'off'
114
-
115
- when '-h', '--help'
116
- writer.write(<<~TEXT)
117
- Usage: #{Defaults.program_name} [options] [paths]
118
-
119
- Informational Options:
120
- Help:
121
- -h, --help
122
- Print this help message and exit immediately
123
-
124
- Execution Options:
125
- Abort On Failure:
126
- -a, --abort-on-failure
127
- Stops execution if a test fails or a test file aborts
128
-
129
- Exclude File Patterns:
130
- -x, --exclude PATTERN
131
- Exclude test files that match PATTERN
132
- If multiple --exclude arguments are supplied, then files that match any will be excluded
133
- -X, --no-exclude
134
- Don't exclude any files
135
- Default: '*_init.rb'
136
-
137
- Strict:
138
- -s, --strict
139
- Prohibit skipped tests and contexts, and require at least one test to be performed
140
- -S, --no-strict
141
- Relax strictness
142
- Default: non strict, unless TEST_BENCH_STRICT is set to 'on'
143
-
144
- Require Library:
145
- -r, --require LIBRARY
146
- Require LIBRARY before running any files
147
- -I, --include DIR
148
- Add DIR to the load path
149
-
150
- Random Seed:
151
- --random-seed SEED
152
- Pseudorandom number seed
153
-
154
- Output Options:
155
- Backtrace Formatting:
156
- -b, --omit-backtrace PATTERN
157
- Omits backtrace frames that match PATTERN
158
- If multiple --omit-backtrace arguments are supplied, then frames that match any will be omitted
159
-
160
- Detail:
161
- -d, --detail
162
- Always show details
163
- -D, --no-detail
164
- Never show details
165
- Default: print details when their surrounding context failed, unless TEST_DETAIL is set to 'on' or 'off'
166
-
167
- Device:
168
- --device DEVICE
169
- stderr: redirect output to standard error
170
- null: don't write any output
171
- Default: stdout
172
-
173
- Verbosity:
174
- -l, --output-level LEVEL
175
- all: print output from every file
176
- not-passing: print output from files that skip tests and contexts or don't perform any tests
177
- failure: print output only from files that failed or aborted
178
- abort: print output only from file that aborted
179
- -q, --quiet
180
- Sets output verbosity level to 'not-passing'
181
- Default: all
182
-
183
- Styling:
184
- -o, --output-styling
185
- Enable output text styling
186
- -O, --no-output-styling
187
- Disable output text styling
188
- Default: enabled if the output device is an interactive terminal
189
-
190
- Summary:
191
- --no-summary
192
- Don't print summary after running files
193
-
194
- Paths to test files (and directories containing test files) can be given after any command line arguments or via STDIN (or both).
195
-
196
- If no paths are given, the directory '#{Defaults.path}' is scanned for test files.
197
-
198
- The following environment variables can also control execution:
199
-
200
- TEST_BENCH_ABORT_ON_FAILURE See --abort-on-failure
201
- TEST_BENCH_EXCLUDE_FILE_PATTERN See --exclude
202
- TEST_BENCH_OUTPUT_SUMMARY See --no-summary
203
- TEST_BENCH_STRICT See --strict
204
- TEST_BENCH_RANDOM_SEED See --random-seed
205
- TEST_BENCH_FILTER_BACKTRACE_PATTERN See --filter-backtrace
206
- TEST_BENCH_OUTPUT_DETAIL See --detail
207
- TEST_BENCH_OUTPUT_DEVICE See --device
208
- TEST_BENCH_OUTPUT_LEVEL See --output-level
209
- TEST_BENCH_OUTPUT_STYLING See --output-styling
210
- TEST_BENCH_DEFAULT_TEST_PATH Specifies default path
211
-
212
- TEXT
213
- exit(true)
214
-
215
- else
216
- raise Error, "Incorrect switch #{switch}"
217
- end
218
- end
219
-
220
- remaining_arguments
221
- end
222
-
223
- def remaining_arguments
224
- non_switch_arguments + raw_arguments
225
- end
226
- alias :arguments :remaining_arguments
227
-
228
- def require_next_argument(switch_text)
229
- argument = next_argument
230
-
231
- if argument.nil?
232
- raise Error, "Switch #{switch_text} requires an argument"
233
- end
234
-
235
- argument
236
- end
237
-
238
- def next_argument
239
- next_argument = raw_arguments.shift
240
-
241
- if next_argument.nil?
242
- nil
243
- elsif switch?(next_argument)
244
- raw_arguments.unshift(next_argument)
245
- nil
246
- else
247
- next_argument
248
- end
249
- end
250
-
251
- def next_switch
252
- until raw_arguments.empty?
253
- argument = raw_arguments.shift
254
-
255
- if switch?(argument)
256
- return argument
257
- end
258
-
259
- non_switch_arguments << argument
260
- end
261
-
262
- nil
263
- end
264
-
265
- def switch?(argument)
266
- argument.start_with?('-')
267
- end
268
- end
269
- end
270
- end
271
- end
@@ -1,7 +0,0 @@
1
- require 'test_bench_bootstrap/test_bench/run'
2
-
3
- require 'test_bench_bootstrap/test_bench/executable/defaults'
4
-
5
- require 'test_bench_bootstrap/test_bench/executable/parse_arguments'
6
-
7
- require 'test_bench_bootstrap/test_bench/executable/executable'
@@ -1,41 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Build
5
- Error = ::Class.new(RuntimeError)
6
-
7
- def self.call(fixture_class, *, test_session: nil, **, &)
8
- assure_fixture(fixture_class)
9
-
10
- if fixture_class.respond_to?(:build)
11
- constructor = :build
12
- else
13
- constructor = :new
14
- end
15
-
16
- fixture = fixture_class.public_send(constructor, *, **, &)
17
-
18
- Session.configure(
19
- fixture,
20
- session: test_session,
21
- attr_name: :test_session
22
- )
23
-
24
- fixture
25
- end
26
-
27
- def self.assure_fixture(fixture_class)
28
- is_class = fixture_class.instance_of?(::Class)
29
- if not is_class
30
- raise Error, "Not a class (Class: #{fixture_class})"
31
- end
32
-
33
- is_fixture_class = fixture_class.included_modules.include?(Fixture)
34
- if not is_fixture_class
35
- raise Error, "Not a fixture class (Class: #{fixture_class})"
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,9 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- CommentStyle = Output::CommentStyle
6
- end
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- Exception = Session::Exception
6
- end
7
- end
8
- end
9
- end
@@ -1,69 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- module Fixture
6
- def self.example
7
- Example.new
8
- end
9
-
10
- class Example
11
- include TestBench::Fixture
12
-
13
- attr_accessor :actuated
14
-
15
- attr_reader :some_argument
16
- attr_reader :some_keyword_argument
17
- attr_reader :some_block_argument
18
-
19
- def initialize(some_argument=nil, some_keyword_argument: nil, &some_block_argument)
20
- @some_argument = some_argument
21
- @some_keyword_argument = some_keyword_argument
22
- @some_block_argument = some_block_argument
23
- end
24
-
25
- def actuated?
26
- actuated ? true : false
27
- end
28
-
29
- def call
30
- self.actuated = true
31
- end
32
- end
33
-
34
- class BuildMethod
35
- include TestBench::Fixture
36
-
37
- attr_accessor :some_argument
38
- attr_accessor :some_optional_argument
39
- attr_accessor :some_keyword_argument
40
- attr_accessor :some_optional_keyword_argument
41
- attr_accessor :some_block_argument
42
-
43
- def self.build(some_argument, some_optional_argument=nil, some_keyword_argument:, some_optional_keyword_argument: nil, &some_block_argument)
44
- instance = new
45
-
46
- instance.some_argument = some_argument
47
- instance.some_optional_argument = some_optional_argument
48
- instance.some_keyword_argument = some_keyword_argument
49
- instance.some_optional_keyword_argument = some_optional_keyword_argument
50
- instance.some_block_argument = some_block_argument
51
-
52
- instance
53
- end
54
- end
55
-
56
- class NoBuildMethod
57
- include TestBench::Fixture
58
-
59
- attr_reader :some_argument
60
-
61
- def initialize(some_argument)
62
- @some_argument = some_argument
63
- end
64
- end
65
- end
66
- end
67
- end
68
- end
69
- end
@@ -1,9 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- Message = Session::Message
6
- end
7
- end
8
- end
9
- end
@@ -1,11 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- module Output
6
- CommentStyle = TestBench::Output::Controls::CommentStyle
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,9 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- Path = Session::Path
6
- end
7
- end
8
- end
9
- end
@@ -1,21 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- module Session
6
- Message = TestBench::Session::Controls::Message
7
-
8
- Exception = TestBench::Session::Controls::Exception
9
-
10
- Status = TestBench::Session::Controls::Status
11
-
12
- Path = TestBench::Session::Controls::Path
13
-
14
- Title = TestBench::Session::Controls::Title
15
-
16
- Text = TestBench::Session::Controls::Text
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,9 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- Status = Session::Status
6
- end
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- Text = Session::Text
6
- end
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- module Controls
5
- Title = Session::Title
6
- end
7
- end
8
- end
9
- end
@@ -1,14 +0,0 @@
1
- require 'test_bench_bootstrap/test_bench/output/controls'
2
-
3
- require 'test_bench_bootstrap/test_bench/fixture/controls/session'
4
- require 'test_bench_bootstrap/test_bench/fixture/controls/output'
5
-
6
- require 'test_bench_bootstrap/test_bench/fixture/controls/comment_style'
7
- require 'test_bench_bootstrap/test_bench/fixture/controls/exception'
8
- require 'test_bench_bootstrap/test_bench/fixture/controls/message'
9
- require 'test_bench_bootstrap/test_bench/fixture/controls/path'
10
- require 'test_bench_bootstrap/test_bench/fixture/controls/status'
11
- require 'test_bench_bootstrap/test_bench/fixture/controls/text'
12
- require 'test_bench_bootstrap/test_bench/fixture/controls/title'
13
-
14
- require 'test_bench_bootstrap/test_bench/fixture/controls/fixture'
@@ -1,37 +0,0 @@
1
- module TestBenchBootstrap
2
- module TestBench
3
- module Fixture
4
- class Evaluate
5
- include Fixture
6
-
7
- attr_reader :block
8
-
9
- def initialize(block)
10
- @block = block
11
- end
12
-
13
- def self.build(test_session:, &block)
14
- instance = new(block)
15
-
16
- Session.configure(
17
- instance,
18
- session: test_session,
19
- attr_name: :test_session
20
- )
21
-
22
- instance
23
- end
24
-
25
- def self.call(test_session: nil, &block)
26
- instance = build(test_session:, &block)
27
- instance.()
28
- instance
29
- end
30
-
31
- def call
32
- instance_exec(&block)
33
- end
34
- end
35
- end
36
- end
37
- end