roast-ai 0.4.4 → 0.4.5

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 (231) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -0
  3. data/.github/workflows/ci.yaml +1 -0
  4. data/.gitignore +0 -26
  5. data/.rubocop.yml +13 -0
  6. data/.rubocop_todo.yml +21 -0
  7. data/CHANGELOG.md +29 -0
  8. data/Gemfile +4 -0
  9. data/Gemfile.lock +43 -1
  10. data/bin/rubocop +27 -0
  11. data/bin/spoom +27 -0
  12. data/bin/srb +27 -0
  13. data/bin/srb-rbi +27 -0
  14. data/bin/tapioca +27 -0
  15. data/docs/INSTRUMENTATION.md +3 -3
  16. data/dsl/simple.rb +10 -0
  17. data/lib/roast/dsl/executor.rb +26 -0
  18. data/lib/roast/dsl.rb +7 -0
  19. data/lib/roast/errors.rb +1 -0
  20. data/lib/roast/factories/api_provider_factory.rb +1 -0
  21. data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
  22. data/lib/roast/helpers/logger.rb +6 -9
  23. data/lib/roast/helpers/metadata_access.rb +1 -0
  24. data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
  25. data/lib/roast/helpers/path_resolver.rb +8 -18
  26. data/lib/roast/helpers/prompt_loader.rb +3 -2
  27. data/lib/roast/helpers/timeout_handler.rb +3 -5
  28. data/lib/roast/initializers.rb +1 -0
  29. data/lib/roast/resources/api_resource.rb +4 -3
  30. data/lib/roast/resources/base_resource.rb +1 -0
  31. data/lib/roast/resources/directory_resource.rb +1 -0
  32. data/lib/roast/resources/file_resource.rb +1 -0
  33. data/lib/roast/resources/none_resource.rb +1 -0
  34. data/lib/roast/resources/url_resource.rb +2 -1
  35. data/lib/roast/resources.rb +1 -2
  36. data/lib/roast/services/context_threshold_checker.rb +1 -0
  37. data/lib/roast/services/token_counting_service.rb +1 -0
  38. data/lib/roast/tools/apply_diff.rb +1 -0
  39. data/lib/roast/tools/ask_user.rb +1 -0
  40. data/lib/roast/tools/bash.rb +1 -0
  41. data/lib/roast/tools/cmd.rb +1 -0
  42. data/lib/roast/tools/coding_agent.rb +1 -0
  43. data/lib/roast/tools/context_summarizer.rb +1 -0
  44. data/lib/roast/tools/grep.rb +1 -0
  45. data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
  46. data/lib/roast/tools/read_file.rb +1 -0
  47. data/lib/roast/tools/search_file.rb +1 -0
  48. data/lib/roast/tools/swarm.rb +1 -0
  49. data/lib/roast/tools/update_files.rb +1 -0
  50. data/lib/roast/tools/write_file.rb +1 -0
  51. data/lib/roast/tools.rb +2 -0
  52. data/lib/roast/value_objects/api_token.rb +1 -0
  53. data/lib/roast/value_objects/step_name.rb +1 -0
  54. data/lib/roast/value_objects/uri_base.rb +1 -0
  55. data/lib/roast/value_objects/workflow_path.rb +1 -0
  56. data/lib/roast/value_objects.rb +1 -0
  57. data/lib/roast/version.rb +2 -1
  58. data/lib/roast/workflow/agent_step.rb +1 -0
  59. data/lib/roast/workflow/api_configuration.rb +1 -0
  60. data/lib/roast/workflow/base_iteration_step.rb +1 -0
  61. data/lib/roast/workflow/base_step.rb +1 -0
  62. data/lib/roast/workflow/base_workflow.rb +1 -0
  63. data/lib/roast/workflow/case_executor.rb +1 -0
  64. data/lib/roast/workflow/case_step.rb +1 -0
  65. data/lib/roast/workflow/command_executor.rb +1 -0
  66. data/lib/roast/workflow/conditional_executor.rb +1 -0
  67. data/lib/roast/workflow/conditional_step.rb +1 -0
  68. data/lib/roast/workflow/configuration.rb +9 -0
  69. data/lib/roast/workflow/configuration_loader.rb +4 -1
  70. data/lib/roast/workflow/context_manager.rb +1 -0
  71. data/lib/roast/workflow/context_path_resolver.rb +1 -0
  72. data/lib/roast/workflow/dot_access_hash.rb +1 -0
  73. data/lib/roast/workflow/each_step.rb +1 -0
  74. data/lib/roast/workflow/error_handler.rb +7 -1
  75. data/lib/roast/workflow/expression_evaluator.rb +1 -0
  76. data/lib/roast/workflow/expression_utils.rb +1 -0
  77. data/lib/roast/workflow/file_state_repository.rb +2 -1
  78. data/lib/roast/workflow/input_executor.rb +1 -0
  79. data/lib/roast/workflow/input_step.rb +1 -0
  80. data/lib/roast/workflow/interpolator.rb +2 -1
  81. data/lib/roast/workflow/iteration_executor.rb +1 -0
  82. data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
  83. data/lib/roast/workflow/metadata_manager.rb +1 -0
  84. data/lib/roast/workflow/output_handler.rb +1 -0
  85. data/lib/roast/workflow/output_manager.rb +1 -0
  86. data/lib/roast/workflow/parallel_executor.rb +1 -0
  87. data/lib/roast/workflow/prompt_step.rb +1 -0
  88. data/lib/roast/workflow/repeat_step.rb +1 -0
  89. data/lib/roast/workflow/replay_handler.rb +1 -0
  90. data/lib/roast/workflow/resource_resolver.rb +2 -6
  91. data/lib/roast/workflow/session_manager.rb +1 -0
  92. data/lib/roast/workflow/shell_script_step.rb +1 -0
  93. data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
  94. data/lib/roast/workflow/state_manager.rb +1 -0
  95. data/lib/roast/workflow/state_repository.rb +1 -0
  96. data/lib/roast/workflow/state_repository_factory.rb +4 -2
  97. data/lib/roast/workflow/step_completion_reporter.rb +1 -0
  98. data/lib/roast/workflow/step_executor_coordinator.rb +9 -5
  99. data/lib/roast/workflow/step_executor_factory.rb +1 -0
  100. data/lib/roast/workflow/step_executor_registry.rb +2 -3
  101. data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
  102. data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
  103. data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
  104. data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
  105. data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
  106. data/lib/roast/workflow/step_factory.rb +1 -0
  107. data/lib/roast/workflow/step_finder.rb +1 -0
  108. data/lib/roast/workflow/step_loader.rb +1 -0
  109. data/lib/roast/workflow/step_name_extractor.rb +1 -0
  110. data/lib/roast/workflow/step_runner.rb +1 -0
  111. data/lib/roast/workflow/step_type_resolver.rb +1 -0
  112. data/lib/roast/workflow/validation_command.rb +1 -0
  113. data/lib/roast/workflow/validator.rb +1 -0
  114. data/lib/roast/workflow/validators/base_validator.rb +1 -0
  115. data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
  116. data/lib/roast/workflow/validators/linting_validator.rb +1 -0
  117. data/lib/roast/workflow/validators/schema_validator.rb +1 -0
  118. data/lib/roast/workflow/validators/step_collector.rb +1 -0
  119. data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
  120. data/lib/roast/workflow/workflow_context.rb +1 -0
  121. data/lib/roast/workflow/workflow_execution_context.rb +1 -0
  122. data/lib/roast/workflow/workflow_executor.rb +2 -1
  123. data/lib/roast/workflow/workflow_initializer.rb +1 -0
  124. data/lib/roast/workflow/workflow_runner.rb +66 -55
  125. data/lib/roast/workflow.rb +1 -0
  126. data/lib/roast/workflow_diagram_generator.rb +3 -2
  127. data/lib/roast.rb +23 -8
  128. data/sorbet/config +8 -0
  129. data/sorbet/rbi/dsl/.gitattributes +1 -0
  130. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  131. data/sorbet/rbi/gems/.gitattributes +1 -0
  132. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
  133. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  134. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  135. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  136. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  137. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
  138. data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
  139. data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
  140. data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
  141. data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
  142. data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
  143. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
  144. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  145. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  146. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
  147. data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
  148. data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
  149. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
  150. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
  151. data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
  152. data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
  153. data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
  154. data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
  155. data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
  156. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  157. data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
  158. data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
  159. data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
  160. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
  161. data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
  162. data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
  163. data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
  164. data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
  165. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
  166. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
  167. data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
  168. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
  169. data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
  170. data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
  171. data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
  172. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  173. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
  174. data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
  175. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  176. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
  177. data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
  178. data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
  179. data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
  180. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
  181. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
  182. data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
  183. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
  184. data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
  185. data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
  186. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  187. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
  188. data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
  189. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
  190. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  191. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
  192. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  193. data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
  194. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
  195. data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
  196. data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
  197. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
  198. data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
  199. data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
  200. data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
  201. data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
  202. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  203. data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
  204. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
  205. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
  206. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
  207. data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
  208. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
  209. data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
  210. data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
  211. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
  212. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  213. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  214. data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
  215. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  216. data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
  217. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  218. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  219. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  220. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
  221. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
  222. data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
  223. data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
  224. data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
  225. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  226. data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
  227. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
  228. data/sorbet/tapioca/config.yml +13 -0
  229. data/sorbet/tapioca/require.rb +36 -0
  230. metadata +113 -2
  231. data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,1640 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `minitest` gem.
5
+ # Please instead update this file by running `bin/tapioca gem minitest`.
6
+
7
+
8
+ # The top-level namespace for Minitest. Also the location of the main
9
+ # runtime. See +Minitest.run+ for more information.
10
+ #
11
+ # source://minitest//lib/minitest/parallel.rb#1
12
+ module Minitest
13
+ class << self
14
+ # Internal run method. Responsible for telling all Runnable
15
+ # sub-classes to run.
16
+ #
17
+ # source://minitest//lib/minitest.rb#323
18
+ def __run(reporter, options); end
19
+
20
+ # A simple hook allowing you to run a block of code after everything
21
+ # is done running. Eg:
22
+ #
23
+ # Minitest.after_run { p $debugging_info }
24
+ #
25
+ # source://minitest//lib/minitest.rb#97
26
+ def after_run(&block); end
27
+
28
+ # source://minitest//lib/minitest.rb#20
29
+ def allow_fork; end
30
+
31
+ # source://minitest//lib/minitest.rb#20
32
+ def allow_fork=(_arg0); end
33
+
34
+ # Registers Minitest to run at process exit
35
+ #
36
+ # source://minitest//lib/minitest.rb#70
37
+ def autorun; end
38
+
39
+ # source://minitest//lib/minitest.rb#20
40
+ def backtrace_filter; end
41
+
42
+ # source://minitest//lib/minitest.rb#20
43
+ def backtrace_filter=(_arg0); end
44
+
45
+ # source://minitest//lib/minitest.rb#19
46
+ def cattr_accessor(name); end
47
+
48
+ # source://minitest//lib/minitest.rb#1216
49
+ def clock_time; end
50
+
51
+ # source://minitest//lib/minitest.rb#303
52
+ def empty_run!(options); end
53
+
54
+ # source://minitest//lib/minitest.rb#20
55
+ def extensions; end
56
+
57
+ # source://minitest//lib/minitest.rb#20
58
+ def extensions=(_arg0); end
59
+
60
+ # source://minitest//lib/minitest.rb#336
61
+ def filter_backtrace(bt); end
62
+
63
+ # source://minitest//lib/minitest.rb#20
64
+ def info_signal; end
65
+
66
+ # source://minitest//lib/minitest.rb#20
67
+ def info_signal=(_arg0); end
68
+
69
+ # source://minitest//lib/minitest.rb#125
70
+ def init_plugins(options); end
71
+
72
+ # source://minitest//lib/minitest.rb#109
73
+ def load_plugins; end
74
+
75
+ # source://minitest//lib/minitest.rb#20
76
+ def parallel_executor; end
77
+
78
+ # source://minitest//lib/minitest.rb#20
79
+ def parallel_executor=(_arg0); end
80
+
81
+ # source://guard-minitest/2.4.6/lib/minitest/guard_minitest_plugin.rb#8
82
+ def plugin_guard_minitest_init(options); end
83
+
84
+ # source://guard-minitest/2.4.6/lib/minitest/guard_minitest_plugin.rb#2
85
+ def plugin_guard_minitest_options(opts, options); end
86
+
87
+ # source://minitest//lib/minitest/pride_plugin.rb#10
88
+ def plugin_pride_init(options); end
89
+
90
+ # source://minitest//lib/minitest/pride_plugin.rb#4
91
+ def plugin_pride_options(opts, _options); end
92
+
93
+ # source://minitest-rg/5.3.0/lib/minitest/rg_plugin.rb#12
94
+ def plugin_rg_init(options); end
95
+
96
+ # source://minitest-rg/5.3.0/lib/minitest/rg_plugin.rb#6
97
+ def plugin_rg_options(opts, _options); end
98
+
99
+ # source://minitest//lib/minitest.rb#143
100
+ def process_args(args = T.unsafe(nil)); end
101
+
102
+ # Register a plugin to be used. Does NOT require / load it.
103
+ #
104
+ # source://minitest//lib/minitest.rb#104
105
+ def register_plugin(name_or_mod); end
106
+
107
+ # source://minitest//lib/minitest.rb#20
108
+ def reporter; end
109
+
110
+ # source://minitest//lib/minitest.rb#20
111
+ def reporter=(_arg0); end
112
+
113
+ # This is the top-level run method. Everything starts from here. It
114
+ # tells each Runnable sub-class to run, and each of those are
115
+ # responsible for doing whatever they do.
116
+ #
117
+ # The overall structure of a run looks like this:
118
+ #
119
+ # Minitest.autorun
120
+ # Minitest.run(args)
121
+ # Minitest.load_plugins
122
+ # Minitest.process_args
123
+ # Minitest.init_plugins
124
+ # Minitest.__run(reporter, options)
125
+ # Runnable.runnables.each
126
+ # runnable_klass.run(reporter, options)
127
+ # self.runnable_methods.each
128
+ # self.run_one_method(self, runnable_method, reporter)
129
+ # Minitest.run_one_method(klass, runnable_method)
130
+ # klass.new(runnable_method).run
131
+ #
132
+ # source://minitest//lib/minitest.rb#269
133
+ def run(args = T.unsafe(nil)); end
134
+
135
+ # source://minitest//lib/minitest.rb#1207
136
+ def run_one_method(klass, method_name); end
137
+
138
+ # source://minitest//lib/minitest.rb#20
139
+ def seed; end
140
+
141
+ # source://minitest//lib/minitest.rb#20
142
+ def seed=(_arg0); end
143
+ end
144
+ end
145
+
146
+ # Defines the API for Reporters. Subclass this and override whatever
147
+ # you want. Go nuts.
148
+ #
149
+ # source://minitest//lib/minitest.rb#687
150
+ class Minitest::AbstractReporter
151
+ # @return [AbstractReporter] a new instance of AbstractReporter
152
+ #
153
+ # source://minitest//lib/minitest.rb#689
154
+ def initialize; end
155
+
156
+ # Did this run pass?
157
+ #
158
+ # @return [Boolean]
159
+ #
160
+ # source://minitest//lib/minitest.rb#724
161
+ def passed?; end
162
+
163
+ # About to start running a test. This allows a reporter to show
164
+ # that it is starting or that we are in the middle of a test run.
165
+ #
166
+ # source://minitest//lib/minitest.rb#703
167
+ def prerecord(klass, name); end
168
+
169
+ # Output and record the result of the test. Call
170
+ # {result#result_code}[rdoc-ref:Runnable#result_code] to get the
171
+ # result character string. Stores the result of the run if the run
172
+ # did not pass.
173
+ #
174
+ # source://minitest//lib/minitest.rb#712
175
+ def record(result); end
176
+
177
+ # Outputs the summary of the run.
178
+ #
179
+ # source://minitest//lib/minitest.rb#718
180
+ def report; end
181
+
182
+ # Starts reporting on the run.
183
+ #
184
+ # source://minitest//lib/minitest.rb#696
185
+ def start; end
186
+
187
+ # source://minitest//lib/minitest.rb#728
188
+ def synchronize(&block); end
189
+ end
190
+
191
+ # Represents run failures.
192
+ #
193
+ # source://minitest//lib/minitest.rb#1020
194
+ class Minitest::Assertion < ::Exception
195
+ # source://minitest//lib/minitest.rb#1023
196
+ def error; end
197
+
198
+ # Where was this run before an assertion was raised?
199
+ #
200
+ # source://minitest//lib/minitest.rb#1030
201
+ def location; end
202
+
203
+ # source://minitest//lib/minitest.rb#1038
204
+ def result_code; end
205
+
206
+ # source://minitest//lib/minitest.rb#1042
207
+ def result_label; end
208
+ end
209
+
210
+ # source://minitest//lib/minitest.rb#1021
211
+ Minitest::Assertion::RE = T.let(T.unsafe(nil), Regexp)
212
+
213
+ # Minitest Assertions. All assertion methods accept a +msg+ which is
214
+ # printed if the assertion fails.
215
+ #
216
+ # Protocol: Nearly everything here boils up to +assert+, which
217
+ # expects to be able to increment an instance accessor named
218
+ # +assertions+. This is not provided by Assertions and must be
219
+ # provided by the thing including Assertions. See Minitest::Runnable
220
+ # for an example.
221
+ #
222
+ # source://minitest//lib/minitest/assertions.rb#16
223
+ module Minitest::Assertions
224
+ # source://minitest//lib/minitest/assertions.rb#181
225
+ def _synchronize; end
226
+
227
+ # source://minitest//lib/minitest/assertions.rb#194
228
+ def _where; end
229
+
230
+ # Fails unless +test+ is truthy.
231
+ #
232
+ # source://minitest//lib/minitest/assertions.rb#171
233
+ def assert(test, msg = T.unsafe(nil)); end
234
+
235
+ # Fails unless +obj+ is empty.
236
+ #
237
+ # source://minitest//lib/minitest/assertions.rb#188
238
+ def assert_empty(obj, msg = T.unsafe(nil)); end
239
+
240
+ # Fails unless <tt>exp == act</tt> printing the difference between
241
+ # the two, if possible.
242
+ #
243
+ # If there is no visible difference but the assertion fails, you
244
+ # should suspect that your #== is buggy, or your inspect output is
245
+ # missing crucial details. For nicer structural diffing, set
246
+ # Minitest::Test.make_my_diffs_pretty!
247
+ #
248
+ # For floats use assert_in_delta.
249
+ #
250
+ # See also: Minitest::Assertions.diff
251
+ #
252
+ # source://minitest//lib/minitest/assertions.rb#214
253
+ def assert_equal(exp, act, msg = T.unsafe(nil)); end
254
+
255
+ # For comparing Floats. Fails unless +exp+ and +act+ are within +delta+
256
+ # of each other.
257
+ #
258
+ # assert_in_delta Math::PI, (22.0 / 7.0), 0.01
259
+ #
260
+ # source://minitest//lib/minitest/assertions.rb#235
261
+ def assert_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
262
+
263
+ # For comparing Floats. Fails unless +exp+ and +act+ have a relative
264
+ # error less than +epsilon+.
265
+ #
266
+ # source://minitest//lib/minitest/assertions.rb#247
267
+ def assert_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
268
+
269
+ # Fails unless +collection+ includes +obj+.
270
+ #
271
+ # source://minitest//lib/minitest/assertions.rb#254
272
+ def assert_includes(collection, obj, msg = T.unsafe(nil)); end
273
+
274
+ # Fails unless +obj+ is an instance of +cls+.
275
+ #
276
+ # source://minitest//lib/minitest/assertions.rb#265
277
+ def assert_instance_of(cls, obj, msg = T.unsafe(nil)); end
278
+
279
+ # Fails unless +obj+ is a kind of +cls+.
280
+ #
281
+ # source://minitest//lib/minitest/assertions.rb#276
282
+ def assert_kind_of(cls, obj, msg = T.unsafe(nil)); end
283
+
284
+ # Fails unless +matcher+ <tt>=~</tt> +obj+.
285
+ #
286
+ # source://minitest//lib/minitest/assertions.rb#287
287
+ def assert_match(matcher, obj, msg = T.unsafe(nil)); end
288
+
289
+ # Fails unless +obj+ is nil
290
+ #
291
+ # source://minitest//lib/minitest/assertions.rb#299
292
+ def assert_nil(obj, msg = T.unsafe(nil)); end
293
+
294
+ # For testing with binary operators. Eg:
295
+ #
296
+ # assert_operator 5, :<=, 4
297
+ #
298
+ # source://minitest//lib/minitest/assertions.rb#309
299
+ def assert_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
300
+
301
+ # Fails if stdout or stderr do not output the expected results.
302
+ # Pass in nil if you don't care about that streams output. Pass in
303
+ # "" if you require it to be silent. Pass in a regexp if you want
304
+ # to pattern match.
305
+ #
306
+ # assert_output(/hey/) { method_with_output }
307
+ #
308
+ # NOTE: this uses #capture_io, not #capture_subprocess_io.
309
+ #
310
+ # See also: #assert_silent
311
+ #
312
+ # source://minitest//lib/minitest/assertions.rb#327
313
+ def assert_output(stdout = T.unsafe(nil), stderr = T.unsafe(nil)); end
314
+
315
+ # Fails unless +path+ exists.
316
+ #
317
+ # source://minitest//lib/minitest/assertions.rb#351
318
+ def assert_path_exists(path, msg = T.unsafe(nil)); end
319
+
320
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
321
+ #
322
+ # # pass
323
+ # assert_pattern { [1,2,3] => [Integer, Integer, Integer] }
324
+ #
325
+ # # fail "length mismatch (given 3, expected 1)"
326
+ # assert_pattern { [1,2,3] => [Integer] }
327
+ #
328
+ # The bare <tt>=></tt> pattern will raise a NoMatchingPatternError on failure, which would
329
+ # normally be counted as a test error. This assertion rescues NoMatchingPatternError and
330
+ # generates a test failure. Any other exception will be raised as normal and generate a test
331
+ # error.
332
+ #
333
+ # @raise [NotImplementedError]
334
+ #
335
+ # source://minitest//lib/minitest/assertions.rb#370
336
+ def assert_pattern; end
337
+
338
+ # For testing with predicates. Eg:
339
+ #
340
+ # assert_predicate str, :empty?
341
+ #
342
+ # This is really meant for specs and is front-ended by assert_operator:
343
+ #
344
+ # str.must_be :empty?
345
+ #
346
+ # source://minitest//lib/minitest/assertions.rb#391
347
+ def assert_predicate(o1, op, msg = T.unsafe(nil)); end
348
+
349
+ # Fails unless the block raises one of +exp+. Returns the
350
+ # exception matched so you can check the message, attributes, etc.
351
+ #
352
+ # +exp+ takes an optional message on the end to help explain
353
+ # failures and defaults to StandardError if no exception class is
354
+ # passed. Eg:
355
+ #
356
+ # assert_raises(CustomError) { method_with_custom_error }
357
+ #
358
+ # With custom error message:
359
+ #
360
+ # assert_raises(CustomError, 'This should have raised CustomError') { method_with_custom_error }
361
+ #
362
+ # Using the returned object:
363
+ #
364
+ # error = assert_raises(CustomError) do
365
+ # raise CustomError, 'This is really bad'
366
+ # end
367
+ #
368
+ # assert_equal 'This is really bad', error.message
369
+ #
370
+ # source://minitest//lib/minitest/assertions.rb#418
371
+ def assert_raises(*exp); end
372
+
373
+ # Fails unless +obj+ responds to +meth+.
374
+ # include_all defaults to false to match Object#respond_to?
375
+ #
376
+ # source://minitest//lib/minitest/assertions.rb#450
377
+ def assert_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
378
+
379
+ # Fails unless +exp+ and +act+ are #equal?
380
+ #
381
+ # source://minitest//lib/minitest/assertions.rb#460
382
+ def assert_same(exp, act, msg = T.unsafe(nil)); end
383
+
384
+ # +send_ary+ is a receiver, message and arguments.
385
+ #
386
+ # Fails unless the call returns a true value
387
+ #
388
+ # source://minitest//lib/minitest/assertions.rb#473
389
+ def assert_send(send_ary, m = T.unsafe(nil)); end
390
+
391
+ # Fails if the block outputs anything to stderr or stdout.
392
+ #
393
+ # See also: #assert_output
394
+ #
395
+ # source://minitest//lib/minitest/assertions.rb#488
396
+ def assert_silent; end
397
+
398
+ # Fails unless the block throws +sym+
399
+ #
400
+ # source://minitest//lib/minitest/assertions.rb#497
401
+ def assert_throws(sym, msg = T.unsafe(nil)); end
402
+
403
+ # Captures $stdout and $stderr into strings:
404
+ #
405
+ # out, err = capture_io do
406
+ # puts "Some info"
407
+ # warn "You did a bad thing"
408
+ # end
409
+ #
410
+ # assert_match %r%info%, out
411
+ # assert_match %r%bad%, err
412
+ #
413
+ # NOTE: For efficiency, this method uses StringIO and does not
414
+ # capture IO for subprocesses. Use #capture_subprocess_io for
415
+ # that.
416
+ #
417
+ # source://minitest//lib/minitest/assertions.rb#538
418
+ def capture_io; end
419
+
420
+ # Captures $stdout and $stderr into strings, using Tempfile to
421
+ # ensure that subprocess IO is captured as well.
422
+ #
423
+ # out, err = capture_subprocess_io do
424
+ # system "echo Some info"
425
+ # system "echo You did a bad thing 1>&2"
426
+ # end
427
+ #
428
+ # assert_match %r%info%, out
429
+ # assert_match %r%bad%, err
430
+ #
431
+ # NOTE: This method is approximately 10x slower than #capture_io so
432
+ # only use it when you need to test the output of a subprocess.
433
+ #
434
+ # source://minitest//lib/minitest/assertions.rb#571
435
+ def capture_subprocess_io; end
436
+
437
+ # Returns a diff between +exp+ and +act+. If there is no known
438
+ # diff command or if it doesn't make sense to diff the output
439
+ # (single line, short output), then it simply returns a basic
440
+ # comparison between the two.
441
+ #
442
+ # See +things_to_diff+ for more info.
443
+ #
444
+ # source://minitest//lib/minitest/assertions.rb#57
445
+ def diff(exp, act); end
446
+
447
+ # Returns details for exception +e+
448
+ #
449
+ # source://minitest//lib/minitest/assertions.rb#603
450
+ def exception_details(e, msg); end
451
+
452
+ # Fails after a given date (in the local time zone). This allows
453
+ # you to put time-bombs in your tests if you need to keep
454
+ # something around until a later date lest you forget about it.
455
+ #
456
+ # source://minitest//lib/minitest/assertions.rb#619
457
+ def fail_after(y, m, d, msg); end
458
+
459
+ # Fails with +msg+.
460
+ #
461
+ # source://minitest//lib/minitest/assertions.rb#626
462
+ def flunk(msg = T.unsafe(nil)); end
463
+
464
+ # Returns a proc that will output +msg+ along with the default message.
465
+ #
466
+ # source://minitest//lib/minitest/assertions.rb#634
467
+ def message(msg = T.unsafe(nil), ending = T.unsafe(nil), &default); end
468
+
469
+ # This returns a human-readable version of +obj+. By default
470
+ # #inspect is called. You can override this to use #pretty_inspect
471
+ # if you want.
472
+ #
473
+ # See Minitest::Test.make_my_diffs_pretty!
474
+ #
475
+ # source://minitest//lib/minitest/assertions.rb#127
476
+ def mu_pp(obj); end
477
+
478
+ # This returns a diff-able more human-readable version of +obj+.
479
+ # This differs from the regular mu_pp because it expands escaped
480
+ # newlines and makes hex-values (like object_ids) generic. This
481
+ # uses mu_pp to do the first pass and then cleans it up.
482
+ #
483
+ # source://minitest//lib/minitest/assertions.rb#145
484
+ def mu_pp_for_diff(obj); end
485
+
486
+ # used for counting assertions
487
+ #
488
+ # source://minitest//lib/minitest/assertions.rb#645
489
+ def pass(_msg = T.unsafe(nil)); end
490
+
491
+ # Fails if +test+ is truthy.
492
+ #
493
+ # source://minitest//lib/minitest/assertions.rb#652
494
+ def refute(test, msg = T.unsafe(nil)); end
495
+
496
+ # Fails if +obj+ is empty.
497
+ #
498
+ # source://minitest//lib/minitest/assertions.rb#660
499
+ def refute_empty(obj, msg = T.unsafe(nil)); end
500
+
501
+ # Fails if <tt>exp == act</tt>.
502
+ #
503
+ # For floats use refute_in_delta.
504
+ #
505
+ # source://minitest//lib/minitest/assertions.rb#671
506
+ def refute_equal(exp, act, msg = T.unsafe(nil)); end
507
+
508
+ # For comparing Floats. Fails if +exp+ is within +delta+ of +act+.
509
+ #
510
+ # refute_in_delta Math::PI, (22.0 / 7.0)
511
+ #
512
+ # source://minitest//lib/minitest/assertions.rb#683
513
+ def refute_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
514
+
515
+ # For comparing Floats. Fails if +exp+ and +act+ have a relative error
516
+ # less than +epsilon+.
517
+ #
518
+ # source://minitest//lib/minitest/assertions.rb#695
519
+ def refute_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
520
+
521
+ # Fails if +collection+ includes +obj+.
522
+ #
523
+ # source://minitest//lib/minitest/assertions.rb#702
524
+ def refute_includes(collection, obj, msg = T.unsafe(nil)); end
525
+
526
+ # Fails if +obj+ is an instance of +cls+.
527
+ #
528
+ # source://minitest//lib/minitest/assertions.rb#713
529
+ def refute_instance_of(cls, obj, msg = T.unsafe(nil)); end
530
+
531
+ # Fails if +obj+ is a kind of +cls+.
532
+ #
533
+ # source://minitest//lib/minitest/assertions.rb#723
534
+ def refute_kind_of(cls, obj, msg = T.unsafe(nil)); end
535
+
536
+ # Fails if +matcher+ <tt>=~</tt> +obj+.
537
+ #
538
+ # source://minitest//lib/minitest/assertions.rb#731
539
+ def refute_match(matcher, obj, msg = T.unsafe(nil)); end
540
+
541
+ # Fails if +obj+ is nil.
542
+ #
543
+ # source://minitest//lib/minitest/assertions.rb#741
544
+ def refute_nil(obj, msg = T.unsafe(nil)); end
545
+
546
+ # Fails if +o1+ is not +op+ +o2+. Eg:
547
+ #
548
+ # refute_operator 1, :>, 2 #=> pass
549
+ # refute_operator 1, :<, 2 #=> fail
550
+ #
551
+ # source://minitest//lib/minitest/assertions.rb#776
552
+ def refute_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
553
+
554
+ # Fails if +path+ exists.
555
+ #
556
+ # source://minitest//lib/minitest/assertions.rb#785
557
+ def refute_path_exists(path, msg = T.unsafe(nil)); end
558
+
559
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
560
+ #
561
+ # # pass
562
+ # refute_pattern { [1,2,3] => [String] }
563
+ #
564
+ # # fail "NoMatchingPatternError expected, but nothing was raised."
565
+ # refute_pattern { [1,2,3] => [Integer, Integer, Integer] }
566
+ #
567
+ # This assertion expects a NoMatchingPatternError exception, and will fail if none is raised. Any
568
+ # other exceptions will be raised as normal and generate a test error.
569
+ #
570
+ # @raise [NotImplementedError]
571
+ #
572
+ # source://minitest//lib/minitest/assertions.rb#758
573
+ def refute_pattern; end
574
+
575
+ # For testing with predicates.
576
+ #
577
+ # refute_predicate str, :empty?
578
+ #
579
+ # This is really meant for specs and is front-ended by refute_operator:
580
+ #
581
+ # str.wont_be :empty?
582
+ #
583
+ # source://minitest//lib/minitest/assertions.rb#799
584
+ def refute_predicate(o1, op, msg = T.unsafe(nil)); end
585
+
586
+ # Fails if +obj+ responds to the message +meth+.
587
+ # include_all defaults to false to match Object#respond_to?
588
+ #
589
+ # source://minitest//lib/minitest/assertions.rb#808
590
+ def refute_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
591
+
592
+ # Fails if +exp+ is the same (by object identity) as +act+.
593
+ #
594
+ # source://minitest//lib/minitest/assertions.rb#817
595
+ def refute_same(exp, act, msg = T.unsafe(nil)); end
596
+
597
+ # Skips the current run. If run in verbose-mode, the skipped run
598
+ # gets listed at the end of the run but doesn't cause a failure
599
+ # exit code.
600
+ #
601
+ # @raise [Minitest::Skip]
602
+ #
603
+ # source://minitest//lib/minitest/assertions.rb#830
604
+ def skip(msg = T.unsafe(nil), _ignored = T.unsafe(nil)); end
605
+
606
+ # Skips the current run until a given date (in the local time
607
+ # zone). This allows you to put some fixes on hold until a later
608
+ # date, but still holds you accountable and prevents you from
609
+ # forgetting it.
610
+ #
611
+ # source://minitest//lib/minitest/assertions.rb#842
612
+ def skip_until(y, m, d, msg); end
613
+
614
+ # Was this testcase skipped? Meant for #teardown.
615
+ #
616
+ # @return [Boolean]
617
+ #
618
+ # source://minitest//lib/minitest/assertions.rb#851
619
+ def skipped?; end
620
+
621
+ # Returns things to diff [expect, butwas], or [nil, nil] if nothing to diff.
622
+ #
623
+ # Criterion:
624
+ #
625
+ # 1. Strings include newlines or escaped newlines, but not both.
626
+ # 2. or: String lengths are > 30 characters.
627
+ # 3. or: Strings are equal to each other (but maybe different encodings?).
628
+ # 4. and: we found a diff executable.
629
+ #
630
+ # source://minitest//lib/minitest/assertions.rb#102
631
+ def things_to_diff(exp, act); end
632
+
633
+ class << self
634
+ # Returns the diff command to use in #diff. Tries to intelligently
635
+ # figure out what diff to use.
636
+ #
637
+ # source://minitest//lib/minitest/assertions.rb#27
638
+ def diff; end
639
+
640
+ # Set the diff command to use in #diff.
641
+ #
642
+ # source://minitest//lib/minitest/assertions.rb#45
643
+ def diff=(o); end
644
+ end
645
+ end
646
+
647
+ # source://minitest//lib/minitest/assertions.rb#199
648
+ Minitest::Assertions::E = T.let(T.unsafe(nil), String)
649
+
650
+ # source://minitest//lib/minitest/assertions.rb#17
651
+ Minitest::Assertions::UNDEFINED = T.let(T.unsafe(nil), Object)
652
+
653
+ # The standard backtrace filter for minitest.
654
+ #
655
+ # See Minitest.backtrace_filter=.
656
+ #
657
+ # source://minitest//lib/minitest.rb#1175
658
+ class Minitest::BacktraceFilter
659
+ # @return [BacktraceFilter] a new instance of BacktraceFilter
660
+ #
661
+ # source://minitest//lib/minitest.rb#1184
662
+ def initialize(regexp = T.unsafe(nil)); end
663
+
664
+ # Filter +bt+ to something useful. Returns the whole thing if
665
+ # $DEBUG (ruby) or $MT_DEBUG (env).
666
+ #
667
+ # source://minitest//lib/minitest.rb#1192
668
+ def filter(bt); end
669
+
670
+ # The regular expression to use to filter backtraces. Defaults to +MT_RE+.
671
+ #
672
+ # source://minitest//lib/minitest.rb#1182
673
+ def regexp; end
674
+
675
+ # The regular expression to use to filter backtraces. Defaults to +MT_RE+.
676
+ #
677
+ # source://minitest//lib/minitest.rb#1182
678
+ def regexp=(_arg0); end
679
+ end
680
+
681
+ # source://minitest//lib/minitest.rb#1177
682
+ Minitest::BacktraceFilter::MT_RE = T.let(T.unsafe(nil), Regexp)
683
+
684
+ # Dispatch to multiple reporters as one.
685
+ #
686
+ # source://minitest//lib/minitest.rb#969
687
+ class Minitest::CompositeReporter < ::Minitest::AbstractReporter
688
+ # @return [CompositeReporter] a new instance of CompositeReporter
689
+ #
690
+ # source://minitest//lib/minitest.rb#975
691
+ def initialize(*reporters); end
692
+
693
+ # Add another reporter to the mix.
694
+ #
695
+ # source://minitest//lib/minitest.rb#987
696
+ def <<(reporter); end
697
+
698
+ # source://minitest//lib/minitest.rb#980
699
+ def io; end
700
+
701
+ # @return [Boolean]
702
+ #
703
+ # source://minitest//lib/minitest.rb#991
704
+ def passed?; end
705
+
706
+ # source://minitest//lib/minitest.rb#999
707
+ def prerecord(klass, name); end
708
+
709
+ # source://minitest//lib/minitest.rb#1006
710
+ def record(result); end
711
+
712
+ # source://minitest//lib/minitest.rb#1012
713
+ def report; end
714
+
715
+ # The list of reporters to dispatch to.
716
+ #
717
+ # source://minitest//lib/minitest.rb#973
718
+ def reporters; end
719
+
720
+ # The list of reporters to dispatch to.
721
+ #
722
+ # source://minitest//lib/minitest.rb#973
723
+ def reporters=(_arg0); end
724
+
725
+ # source://minitest//lib/minitest.rb#995
726
+ def start; end
727
+ end
728
+
729
+ # Compresses backtraces.
730
+ #
731
+ # source://minitest//lib/minitest/compress.rb#5
732
+ module Minitest::Compress
733
+ # Takes a backtrace (array of strings) and compresses repeating
734
+ # cycles in it to make it more readable.
735
+ #
736
+ # source://minitest//lib/minitest/compress.rb#11
737
+ def compress(orig); end
738
+ end
739
+
740
+ # Provides a simple set of guards that you can use in your tests
741
+ # to skip execution if it is not applicable. These methods are
742
+ # mixed into Test as both instance and class methods so you
743
+ # can use them inside or outside of the test methods.
744
+ #
745
+ # def test_something_for_mri
746
+ # skip "bug 1234" if jruby?
747
+ # # ...
748
+ # end
749
+ #
750
+ # if windows? then
751
+ # # ... lots of test methods ...
752
+ # end
753
+ #
754
+ # source://minitest//lib/minitest.rb#1119
755
+ module Minitest::Guard
756
+ # Is this running on jruby?
757
+ #
758
+ # @return [Boolean]
759
+ #
760
+ # source://minitest//lib/minitest.rb#1124
761
+ def jruby?(platform = T.unsafe(nil)); end
762
+
763
+ # Is this running on maglev?
764
+ #
765
+ # @return [Boolean]
766
+ #
767
+ # source://minitest//lib/minitest.rb#1131
768
+ def maglev?(platform = T.unsafe(nil)); end
769
+
770
+ # Is this running on mri?
771
+ #
772
+ # @return [Boolean]
773
+ #
774
+ # source://minitest//lib/minitest.rb#1141
775
+ def mri?(platform = T.unsafe(nil)); end
776
+
777
+ # Is this running on macOS?
778
+ #
779
+ # @return [Boolean]
780
+ #
781
+ # source://minitest//lib/minitest.rb#1148
782
+ def osx?(platform = T.unsafe(nil)); end
783
+
784
+ # Is this running on rubinius?
785
+ #
786
+ # @return [Boolean]
787
+ #
788
+ # source://minitest//lib/minitest.rb#1155
789
+ def rubinius?(platform = T.unsafe(nil)); end
790
+
791
+ # Is this running on windows?
792
+ #
793
+ # @return [Boolean]
794
+ #
795
+ # source://minitest//lib/minitest.rb#1165
796
+ def windows?(platform = T.unsafe(nil)); end
797
+ end
798
+
799
+ # source://minitest//lib/minitest/parallel.rb#2
800
+ module Minitest::Parallel; end
801
+
802
+ # The engine used to run multiple tests in parallel.
803
+ #
804
+ # source://minitest//lib/minitest/parallel.rb#7
805
+ class Minitest::Parallel::Executor
806
+ # Create a parallel test executor of with +size+ workers.
807
+ #
808
+ # @return [Executor] a new instance of Executor
809
+ #
810
+ # source://minitest//lib/minitest/parallel.rb#17
811
+ def initialize(size); end
812
+
813
+ # Add a job to the queue
814
+ #
815
+ # source://minitest//lib/minitest/parallel.rb#43
816
+ def <<(work); end
817
+
818
+ # Shuts down the pool of workers by signalling them to quit and
819
+ # waiting for them all to finish what they're currently working
820
+ # on.
821
+ #
822
+ # source://minitest//lib/minitest/parallel.rb#50
823
+ def shutdown; end
824
+
825
+ # The size of the pool of workers.
826
+ #
827
+ # source://minitest//lib/minitest/parallel.rb#12
828
+ def size; end
829
+
830
+ # Start the executor
831
+ #
832
+ # source://minitest//lib/minitest/parallel.rb#26
833
+ def start; end
834
+ end
835
+
836
+ # source://minitest//lib/minitest/parallel.rb#56
837
+ module Minitest::Parallel::Test
838
+ # source://minitest//lib/minitest/parallel.rb#57
839
+ def _synchronize; end
840
+ end
841
+
842
+ # source://minitest//lib/minitest/parallel.rb#59
843
+ module Minitest::Parallel::Test::ClassMethods
844
+ # source://minitest//lib/minitest/parallel.rb#60
845
+ def run_one_method(klass, method_name, reporter); end
846
+
847
+ # source://minitest//lib/minitest/parallel.rb#64
848
+ def test_order; end
849
+ end
850
+
851
+ # Show your testing pride!
852
+ #
853
+ # source://minitest//lib/minitest/pride_plugin.rb#24
854
+ class Minitest::PrideIO
855
+ # @return [PrideIO] a new instance of PrideIO
856
+ #
857
+ # source://minitest//lib/minitest/pride_plugin.rb#48
858
+ def initialize(io); end
859
+
860
+ # The IO we're going to pipe through.
861
+ #
862
+ # source://minitest//lib/minitest/pride_plugin.rb#46
863
+ def io; end
864
+
865
+ # source://minitest//lib/minitest/pride_plugin.rb#92
866
+ def method_missing(msg, *args); end
867
+
868
+ # Color a string.
869
+ #
870
+ # source://minitest//lib/minitest/pride_plugin.rb#85
871
+ def pride(string); end
872
+
873
+ # Wrap print to colorize the output.
874
+ #
875
+ # source://minitest//lib/minitest/pride_plugin.rb#60
876
+ def print(o); end
877
+
878
+ # source://minitest//lib/minitest/pride_plugin.rb#71
879
+ def puts(*o); end
880
+
881
+ class << self
882
+ # Activate the pride plugin. Called from both -p option and minitest/pride
883
+ #
884
+ # source://minitest//lib/minitest/pride_plugin.rb#28
885
+ def pride!; end
886
+
887
+ # Are we showing our testing pride?
888
+ #
889
+ # @return [Boolean]
890
+ #
891
+ # source://minitest//lib/minitest/pride_plugin.rb#35
892
+ def pride?; end
893
+ end
894
+ end
895
+
896
+ # Start an escape sequence
897
+ #
898
+ # source://minitest//lib/minitest/pride_plugin.rb#40
899
+ Minitest::PrideIO::ESC = T.let(T.unsafe(nil), String)
900
+
901
+ # End the escape sequence
902
+ #
903
+ # source://minitest//lib/minitest/pride_plugin.rb#43
904
+ Minitest::PrideIO::NND = T.let(T.unsafe(nil), String)
905
+
906
+ # If you thought the PrideIO was colorful...
907
+ #
908
+ # (Inspired by lolcat, but with clean math)
909
+ #
910
+ # source://minitest//lib/minitest/pride_plugin.rb#102
911
+ class Minitest::PrideLOL < ::Minitest::PrideIO
912
+ # @return [PrideLOL] a new instance of PrideLOL
913
+ #
914
+ # source://minitest//lib/minitest/pride_plugin.rb#105
915
+ def initialize(io); end
916
+
917
+ # Make the string even more colorful. Damnit.
918
+ #
919
+ # source://minitest//lib/minitest/pride_plugin.rb#129
920
+ def pride(string); end
921
+ end
922
+
923
+ # source://minitest//lib/minitest/pride_plugin.rb#103
924
+ Minitest::PrideLOL::PI_3 = T.let(T.unsafe(nil), Float)
925
+
926
+ # A very simple reporter that prints the "dots" during the run.
927
+ #
928
+ # This is added to the top-level CompositeReporter at the start of
929
+ # the run. If you want to change the output of minitest via a
930
+ # plugin, pull this out of the composite and replace it with your
931
+ # own.
932
+ #
933
+ # source://minitest//lib/minitest.rb#759
934
+ class Minitest::ProgressReporter < ::Minitest::Reporter
935
+ # source://minitest//lib/minitest.rb#760
936
+ def prerecord(klass, name); end
937
+
938
+ # source://minitest//lib/minitest.rb#767
939
+ def record(result); end
940
+ end
941
+
942
+ # Shared code for anything that can get passed to a Reporter. See
943
+ # Minitest::Test & Minitest::Result.
944
+ #
945
+ # source://minitest//lib/minitest.rb#581
946
+ module Minitest::Reportable
947
+ # @raise [NotImplementedError]
948
+ #
949
+ # source://minitest//lib/minitest.rb#603
950
+ def class_name; end
951
+
952
+ # Did this run error?
953
+ #
954
+ # @return [Boolean]
955
+ #
956
+ # source://minitest//lib/minitest.rb#624
957
+ def error?; end
958
+
959
+ # The location identifier of this test. Depends on a method
960
+ # existing called class_name.
961
+ #
962
+ # source://minitest//lib/minitest.rb#598
963
+ def location; end
964
+
965
+ # Did this run pass?
966
+ #
967
+ # Note: skipped runs are not considered passing, but they don't
968
+ # cause the process to exit non-zero.
969
+ #
970
+ # @return [Boolean]
971
+ #
972
+ # source://minitest//lib/minitest.rb#588
973
+ def passed?; end
974
+
975
+ # Returns ".", "F", or "E" based on the result of the run.
976
+ #
977
+ # source://minitest//lib/minitest.rb#610
978
+ def result_code; end
979
+
980
+ # Was this run skipped?
981
+ #
982
+ # @return [Boolean]
983
+ #
984
+ # source://minitest//lib/minitest.rb#617
985
+ def skipped?; end
986
+ end
987
+
988
+ # source://minitest//lib/minitest.rb#592
989
+ Minitest::Reportable::BASE_DIR = T.let(T.unsafe(nil), String)
990
+
991
+ # source://minitest//lib/minitest.rb#733
992
+ class Minitest::Reporter < ::Minitest::AbstractReporter
993
+ # @return [Reporter] a new instance of Reporter
994
+ #
995
+ # source://minitest//lib/minitest.rb#744
996
+ def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
997
+
998
+ # The IO used to report.
999
+ #
1000
+ # source://minitest//lib/minitest.rb#737
1001
+ def io; end
1002
+
1003
+ # The IO used to report.
1004
+ #
1005
+ # source://minitest//lib/minitest.rb#737
1006
+ def io=(_arg0); end
1007
+
1008
+ # Command-line options for this run.
1009
+ #
1010
+ # source://minitest//lib/minitest.rb#742
1011
+ def options; end
1012
+
1013
+ # Command-line options for this run.
1014
+ #
1015
+ # source://minitest//lib/minitest.rb#742
1016
+ def options=(_arg0); end
1017
+ end
1018
+
1019
+ # This represents a test result in a clean way that can be
1020
+ # marshalled over a wire. Tests can do anything they want to the
1021
+ # test instance and can create conditions that cause Marshal.dump to
1022
+ # blow up. By using Result.from(a_test) you can be reasonably sure
1023
+ # that the test result can be marshalled.
1024
+ #
1025
+ # source://minitest//lib/minitest.rb#636
1026
+ class Minitest::Result < ::Minitest::Runnable
1027
+ include ::Minitest::Reportable
1028
+
1029
+ # source://minitest//lib/minitest.rb#670
1030
+ def class_name; end
1031
+
1032
+ # The class name of the test result.
1033
+ #
1034
+ # source://minitest//lib/minitest.rb#645
1035
+ def klass; end
1036
+
1037
+ # The class name of the test result.
1038
+ #
1039
+ # source://minitest//lib/minitest.rb#645
1040
+ def klass=(_arg0); end
1041
+
1042
+ # The location of the test method.
1043
+ #
1044
+ # source://minitest//lib/minitest.rb#650
1045
+ def source_location; end
1046
+
1047
+ # The location of the test method.
1048
+ #
1049
+ # source://minitest//lib/minitest.rb#650
1050
+ def source_location=(_arg0); end
1051
+
1052
+ # source://minitest//lib/minitest.rb#674
1053
+ def to_s; end
1054
+
1055
+ class << self
1056
+ # Create a new test result from a Runnable instance.
1057
+ #
1058
+ # source://minitest//lib/minitest.rb#655
1059
+ def from(runnable); end
1060
+ end
1061
+ end
1062
+
1063
+ # re-open
1064
+ #
1065
+ # source://minitest//lib/minitest.rb#349
1066
+ class Minitest::Runnable
1067
+ # @return [Runnable] a new instance of Runnable
1068
+ #
1069
+ # source://minitest//lib/minitest.rb#512
1070
+ def initialize(name); end
1071
+
1072
+ # Number of assertions executed in this run.
1073
+ #
1074
+ # source://minitest//lib/minitest.rb#353
1075
+ def assertions; end
1076
+
1077
+ # Number of assertions executed in this run.
1078
+ #
1079
+ # source://minitest//lib/minitest.rb#353
1080
+ def assertions=(_arg0); end
1081
+
1082
+ # source://minitest//lib/minitest.rb#508
1083
+ def failure; end
1084
+
1085
+ # An assertion raised during the run, if any.
1086
+ #
1087
+ # source://minitest//lib/minitest.rb#358
1088
+ def failures; end
1089
+
1090
+ # An assertion raised during the run, if any.
1091
+ #
1092
+ # source://minitest//lib/minitest.rb#358
1093
+ def failures=(_arg0); end
1094
+
1095
+ # source://minitest//lib/minitest.rb#494
1096
+ def marshal_dump; end
1097
+
1098
+ # source://minitest//lib/minitest.rb#504
1099
+ def marshal_load(ary); end
1100
+
1101
+ # Metadata you attach to the test results that get sent to the reporter.
1102
+ #
1103
+ # Lazily initializes to a hash, to keep memory down.
1104
+ #
1105
+ # NOTE: this data *must* be plain (read: marshal-able) data!
1106
+ # Hashes! Arrays! Strings!
1107
+ #
1108
+ # source://minitest//lib/minitest.rb#527
1109
+ def metadata; end
1110
+
1111
+ # Sets metadata, mainly used for +Result.from+.
1112
+ #
1113
+ # source://minitest//lib/minitest.rb#534
1114
+ def metadata=(_arg0); end
1115
+
1116
+ # Returns true if metadata exists.
1117
+ #
1118
+ # @return [Boolean]
1119
+ #
1120
+ # source://minitest//lib/minitest.rb#539
1121
+ def metadata?; end
1122
+
1123
+ # Name of the run.
1124
+ #
1125
+ # source://minitest//lib/minitest.rb#376
1126
+ def name; end
1127
+
1128
+ # Set the name of the run.
1129
+ #
1130
+ # source://minitest//lib/minitest.rb#383
1131
+ def name=(o); end
1132
+
1133
+ # Did this run pass?
1134
+ #
1135
+ # Note: skipped runs are not considered passing, but they don't
1136
+ # cause the process to exit non-zero.
1137
+ #
1138
+ # @raise [NotImplementedError]
1139
+ # @return [Boolean]
1140
+ #
1141
+ # source://minitest//lib/minitest.rb#556
1142
+ def passed?; end
1143
+
1144
+ # Returns a single character string to print based on the result
1145
+ # of the run. One of <tt>"."</tt>, <tt>"F"</tt>,
1146
+ # <tt>"E"</tt> or <tt>"S"</tt>.
1147
+ #
1148
+ # @raise [NotImplementedError]
1149
+ #
1150
+ # source://minitest//lib/minitest.rb#565
1151
+ def result_code; end
1152
+
1153
+ # Runs a single method. Needs to return self.
1154
+ #
1155
+ # @raise [NotImplementedError]
1156
+ #
1157
+ # source://minitest//lib/minitest.rb#546
1158
+ def run; end
1159
+
1160
+ # Was this run skipped? See #passed? for more information.
1161
+ #
1162
+ # @raise [NotImplementedError]
1163
+ # @return [Boolean]
1164
+ #
1165
+ # source://minitest//lib/minitest.rb#572
1166
+ def skipped?; end
1167
+
1168
+ # The time it took to run.
1169
+ #
1170
+ # source://minitest//lib/minitest.rb#363
1171
+ def time; end
1172
+
1173
+ # The time it took to run.
1174
+ #
1175
+ # source://minitest//lib/minitest.rb#363
1176
+ def time=(_arg0); end
1177
+
1178
+ # source://minitest//lib/minitest.rb#365
1179
+ def time_it; end
1180
+
1181
+ class << self
1182
+ # source://minitest//lib/minitest.rb#1226
1183
+ def inherited(klass); end
1184
+
1185
+ # Returns all instance methods matching the pattern +re+.
1186
+ #
1187
+ # source://minitest//lib/minitest.rb#390
1188
+ def methods_matching(re); end
1189
+
1190
+ # source://minitest//lib/minitest.rb#464
1191
+ def on_signal(name, action); end
1192
+
1193
+ # source://minitest//lib/minitest.rb#394
1194
+ def reset; end
1195
+
1196
+ # Responsible for running all runnable methods in a given class,
1197
+ # each in its own instance. Each instance is passed to the
1198
+ # reporter to record.
1199
+ #
1200
+ # source://minitest//lib/minitest.rb#405
1201
+ def run(reporter, options = T.unsafe(nil)); end
1202
+
1203
+ # Runs a single method and has the reporter record the result.
1204
+ # This was considered internal API but is factored out of run so
1205
+ # that subclasses can specialize the running of an individual
1206
+ # test. See Minitest::ParallelTest::ClassMethods for an example.
1207
+ #
1208
+ # source://minitest//lib/minitest.rb#445
1209
+ def run_one_method(klass, method_name, reporter); end
1210
+
1211
+ # Each subclass of Runnable is responsible for overriding this
1212
+ # method to return all runnable methods. See #methods_matching.
1213
+ #
1214
+ # @raise [NotImplementedError]
1215
+ #
1216
+ # source://minitest//lib/minitest.rb#481
1217
+ def runnable_methods; end
1218
+
1219
+ # Returns all subclasses of Runnable.
1220
+ #
1221
+ # source://minitest//lib/minitest.rb#488
1222
+ def runnables; end
1223
+
1224
+ # Defines the order to run tests (:random by default). Override
1225
+ # this or use a convenience method to change it for your tests.
1226
+ #
1227
+ # source://minitest//lib/minitest.rb#454
1228
+ def test_order; end
1229
+
1230
+ # source://minitest//lib/minitest.rb#458
1231
+ def with_info_handler(reporter, &block); end
1232
+ end
1233
+ end
1234
+
1235
+ # source://minitest//lib/minitest.rb#462
1236
+ Minitest::Runnable::SIGNALS = T.let(T.unsafe(nil), Hash)
1237
+
1238
+ # Assertion raised when skipping a run.
1239
+ #
1240
+ # source://minitest//lib/minitest.rb#1050
1241
+ class Minitest::Skip < ::Minitest::Assertion
1242
+ # source://minitest//lib/minitest.rb#1051
1243
+ def result_label; end
1244
+ end
1245
+
1246
+ # A reporter that gathers statistics about a test run. Does not do
1247
+ # any IO because meant to be used as a parent class for a reporter
1248
+ # that does.
1249
+ #
1250
+ # If you want to create an entirely different type of output (eg,
1251
+ # CI, HTML, etc), this is the place to start.
1252
+ #
1253
+ # Example:
1254
+ #
1255
+ # class JenkinsCIReporter < StatisticsReporter
1256
+ # def report
1257
+ # super # Needed to calculate some statistics
1258
+ #
1259
+ # print "<testsuite "
1260
+ # print "tests='#{count}' "
1261
+ # print "failures='#{failures}' "
1262
+ # # Remaining XML...
1263
+ # end
1264
+ # end
1265
+ #
1266
+ # source://minitest//lib/minitest.rb#795
1267
+ class Minitest::StatisticsReporter < ::Minitest::Reporter
1268
+ # @return [StatisticsReporter] a new instance of StatisticsReporter
1269
+ #
1270
+ # source://minitest//lib/minitest.rb#844
1271
+ def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
1272
+
1273
+ # Total number of assertions.
1274
+ #
1275
+ # source://minitest//lib/minitest.rb#799
1276
+ def assertions; end
1277
+
1278
+ # Total number of assertions.
1279
+ #
1280
+ # source://minitest//lib/minitest.rb#799
1281
+ def assertions=(_arg0); end
1282
+
1283
+ # Total number of test cases.
1284
+ #
1285
+ # source://minitest//lib/minitest.rb#804
1286
+ def count; end
1287
+
1288
+ # Total number of test cases.
1289
+ #
1290
+ # source://minitest//lib/minitest.rb#804
1291
+ def count=(_arg0); end
1292
+
1293
+ # Total number of tests that erred.
1294
+ #
1295
+ # source://minitest//lib/minitest.rb#832
1296
+ def errors; end
1297
+
1298
+ # Total number of tests that erred.
1299
+ #
1300
+ # source://minitest//lib/minitest.rb#832
1301
+ def errors=(_arg0); end
1302
+
1303
+ # Total number of tests that failed.
1304
+ #
1305
+ # source://minitest//lib/minitest.rb#827
1306
+ def failures; end
1307
+
1308
+ # Total number of tests that failed.
1309
+ #
1310
+ # source://minitest//lib/minitest.rb#827
1311
+ def failures=(_arg0); end
1312
+
1313
+ # @return [Boolean]
1314
+ #
1315
+ # source://minitest//lib/minitest.rb#858
1316
+ def passed?; end
1317
+
1318
+ # source://minitest//lib/minitest.rb#866
1319
+ def record(result); end
1320
+
1321
+ # Report on the tracked statistics.
1322
+ #
1323
+ # source://minitest//lib/minitest.rb#876
1324
+ def report; end
1325
+
1326
+ # An +Array+ of test cases that failed or were skipped.
1327
+ #
1328
+ # source://minitest//lib/minitest.rb#809
1329
+ def results; end
1330
+
1331
+ # An +Array+ of test cases that failed or were skipped.
1332
+ #
1333
+ # source://minitest//lib/minitest.rb#809
1334
+ def results=(_arg0); end
1335
+
1336
+ # Total number of tests that where skipped.
1337
+ #
1338
+ # source://minitest//lib/minitest.rb#842
1339
+ def skips; end
1340
+
1341
+ # Total number of tests that where skipped.
1342
+ #
1343
+ # source://minitest//lib/minitest.rb#842
1344
+ def skips=(_arg0); end
1345
+
1346
+ # source://minitest//lib/minitest.rb#862
1347
+ def start; end
1348
+
1349
+ # Time the test run started. If available, the monotonic clock is
1350
+ # used and this is a +Float+, otherwise it's an instance of
1351
+ # +Time+.
1352
+ #
1353
+ # source://minitest//lib/minitest.rb#816
1354
+ def start_time; end
1355
+
1356
+ # Time the test run started. If available, the monotonic clock is
1357
+ # used and this is a +Float+, otherwise it's an instance of
1358
+ # +Time+.
1359
+ #
1360
+ # source://minitest//lib/minitest.rb#816
1361
+ def start_time=(_arg0); end
1362
+
1363
+ # Test run time. If available, the monotonic clock is used and
1364
+ # this is a +Float+, otherwise it's an instance of +Time+.
1365
+ #
1366
+ # source://minitest//lib/minitest.rb#822
1367
+ def total_time; end
1368
+
1369
+ # Test run time. If available, the monotonic clock is used and
1370
+ # this is a +Float+, otherwise it's an instance of +Time+.
1371
+ #
1372
+ # source://minitest//lib/minitest.rb#822
1373
+ def total_time=(_arg0); end
1374
+
1375
+ # Total number of tests that warned.
1376
+ #
1377
+ # source://minitest//lib/minitest.rb#837
1378
+ def warnings; end
1379
+
1380
+ # Total number of tests that warned.
1381
+ #
1382
+ # source://minitest//lib/minitest.rb#837
1383
+ def warnings=(_arg0); end
1384
+ end
1385
+
1386
+ # A reporter that prints the header, summary, and failure details at
1387
+ # the end of the run.
1388
+ #
1389
+ # This is added to the top-level CompositeReporter at the start of
1390
+ # the run. If you want to change the output of minitest via a
1391
+ # plugin, pull this out of the composite and replace it with your
1392
+ # own.
1393
+ #
1394
+ # source://minitest//lib/minitest.rb#897
1395
+ class Minitest::SummaryReporter < ::Minitest::StatisticsReporter
1396
+ # source://minitest//lib/minitest.rb#930
1397
+ def aggregated_results(io); end
1398
+
1399
+ # source://minitest//lib/minitest.rb#899
1400
+ def old_sync; end
1401
+
1402
+ # source://minitest//lib/minitest.rb#899
1403
+ def old_sync=(_arg0); end
1404
+
1405
+ # source://minitest//lib/minitest.rb#913
1406
+ def report; end
1407
+
1408
+ # source://minitest//lib/minitest.rb#901
1409
+ def start; end
1410
+
1411
+ # source://minitest//lib/minitest.rb#925
1412
+ def statistics; end
1413
+
1414
+ # source://minitest//lib/minitest.rb#950
1415
+ def summary; end
1416
+
1417
+ # source://minitest//lib/minitest.rb#898
1418
+ def sync; end
1419
+
1420
+ # source://minitest//lib/minitest.rb#898
1421
+ def sync=(_arg0); end
1422
+
1423
+ # source://minitest//lib/minitest.rb#946
1424
+ def to_s; end
1425
+ end
1426
+
1427
+ # Subclass Test to create your own tests. Typically you'll want a
1428
+ # Test subclass per implementation class.
1429
+ #
1430
+ # See Minitest::Assertions
1431
+ #
1432
+ # source://minitest//lib/minitest/test.rb#10
1433
+ class Minitest::Test < ::Minitest::Runnable
1434
+ include ::Minitest::Reportable
1435
+ include ::Minitest::Assertions
1436
+ include ::Minitest::Test::LifecycleHooks
1437
+ include ::Minitest::Guard
1438
+ extend ::Minitest::Guard
1439
+
1440
+ # LifecycleHooks
1441
+ #
1442
+ # source://minitest//lib/minitest/test.rb#189
1443
+ def capture_exceptions; end
1444
+
1445
+ # source://minitest//lib/minitest/test.rb#15
1446
+ def class_name; end
1447
+
1448
+ # source://minitest//lib/minitest/test.rb#206
1449
+ def neuter_exception(e); end
1450
+
1451
+ # source://minitest//lib/minitest/test.rb#217
1452
+ def new_exception(klass, msg, bt, kill = T.unsafe(nil)); end
1453
+
1454
+ # Runs a single test with setup/teardown hooks.
1455
+ #
1456
+ # source://minitest//lib/minitest/test.rb#87
1457
+ def run; end
1458
+
1459
+ # source://minitest//lib/minitest/test.rb#199
1460
+ def sanitize_exception(e); end
1461
+
1462
+ class << self
1463
+ # Call this at the top of your tests when you absolutely
1464
+ # positively need to have ordered tests. In doing so, you're
1465
+ # admitting that you suck and your tests are weak.
1466
+ #
1467
+ # source://minitest//lib/minitest/test.rb#35
1468
+ def i_suck_and_my_tests_are_order_dependent!; end
1469
+
1470
+ # Returns the value of attribute io_lock.
1471
+ #
1472
+ # source://minitest//lib/minitest/test.rb#26
1473
+ def io_lock; end
1474
+
1475
+ # Sets the attribute io_lock
1476
+ #
1477
+ # @param value the value to set the attribute io_lock to.
1478
+ #
1479
+ # source://minitest//lib/minitest/test.rb#26
1480
+ def io_lock=(_arg0); end
1481
+
1482
+ # Make diffs for this Test use #pretty_inspect so that diff
1483
+ # in assert_equal can have more details. NOTE: this is much slower
1484
+ # than the regular inspect but much more usable for complex
1485
+ # objects.
1486
+ #
1487
+ # source://minitest//lib/minitest/test.rb#48
1488
+ def make_my_diffs_pretty!; end
1489
+
1490
+ # Call this at the top of your tests (inside the +Minitest::Test+
1491
+ # subclass or +describe+ block) when you want to run your tests in
1492
+ # parallel. In doing so, you're admitting that you rule and your
1493
+ # tests are awesome.
1494
+ #
1495
+ # source://minitest//lib/minitest/test.rb#60
1496
+ def parallelize_me!; end
1497
+
1498
+ # Returns all instance methods starting with "test_". Based on
1499
+ # #test_order, the methods are either sorted, randomized
1500
+ # (default), or run in parallel.
1501
+ #
1502
+ # source://minitest//lib/minitest/test.rb#70
1503
+ def runnable_methods; end
1504
+ end
1505
+ end
1506
+
1507
+ # Provides before/after hooks for setup and teardown. These are
1508
+ # meant for library writers, NOT for regular test authors. See
1509
+ # #before_setup for an example.
1510
+ #
1511
+ # source://minitest//lib/minitest/test.rb#112
1512
+ module Minitest::Test::LifecycleHooks
1513
+ # Runs before every test, after setup. This hook is meant for
1514
+ # libraries to extend minitest. It is not meant to be used by
1515
+ # test developers.
1516
+ #
1517
+ # See #before_setup for an example.
1518
+ #
1519
+ # source://minitest//lib/minitest/test.rb#162
1520
+ def after_setup; end
1521
+
1522
+ # Runs after every test, after teardown. This hook is meant for
1523
+ # libraries to extend minitest. It is not meant to be used by
1524
+ # test developers.
1525
+ #
1526
+ # See #before_setup for an example.
1527
+ #
1528
+ # source://minitest//lib/minitest/test.rb#186
1529
+ def after_teardown; end
1530
+
1531
+ # Runs before every test, before setup. This hook is meant for
1532
+ # libraries to extend minitest. It is not meant to be used by
1533
+ # test developers.
1534
+ #
1535
+ # As a simplistic example:
1536
+ #
1537
+ # module MyMinitestPlugin
1538
+ # def before_setup
1539
+ # super
1540
+ # # ... stuff to do before setup is run
1541
+ # end
1542
+ #
1543
+ # def after_setup
1544
+ # # ... stuff to do after setup is run
1545
+ # super
1546
+ # end
1547
+ #
1548
+ # def before_teardown
1549
+ # super
1550
+ # # ... stuff to do before teardown is run
1551
+ # end
1552
+ #
1553
+ # def after_teardown
1554
+ # # ... stuff to do after teardown is run
1555
+ # super
1556
+ # end
1557
+ # end
1558
+ #
1559
+ # class Minitest::Test
1560
+ # include MyMinitestPlugin
1561
+ # end
1562
+ #
1563
+ # source://minitest//lib/minitest/test.rb#147
1564
+ def before_setup; end
1565
+
1566
+ # Runs after every test, before teardown. This hook is meant for
1567
+ # libraries to extend minitest. It is not meant to be used by
1568
+ # test developers.
1569
+ #
1570
+ # See #before_setup for an example.
1571
+ #
1572
+ # source://minitest//lib/minitest/test.rb#171
1573
+ def before_teardown; end
1574
+
1575
+ # Runs before every test. Use this to set up before each test
1576
+ # run.
1577
+ #
1578
+ # source://minitest//lib/minitest/test.rb#153
1579
+ def setup; end
1580
+
1581
+ # Runs after every test. Use this to clean up after each test
1582
+ # run.
1583
+ #
1584
+ # source://minitest//lib/minitest/test.rb#177
1585
+ def teardown; end
1586
+ end
1587
+
1588
+ # source://minitest//lib/minitest/test.rb#19
1589
+ Minitest::Test::PASSTHROUGH_EXCEPTIONS = T.let(T.unsafe(nil), Array)
1590
+
1591
+ # source://minitest//lib/minitest/test.rb#21
1592
+ Minitest::Test::SETUP_METHODS = T.let(T.unsafe(nil), Array)
1593
+
1594
+ # source://minitest//lib/minitest/test.rb#23
1595
+ Minitest::Test::TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
1596
+
1597
+ # Assertion wrapping an unexpected error that was raised during a run.
1598
+ #
1599
+ # source://minitest//lib/minitest.rb#1059
1600
+ class Minitest::UnexpectedError < ::Minitest::Assertion
1601
+ include ::Minitest::Compress
1602
+
1603
+ # @return [UnexpectedError] a new instance of UnexpectedError
1604
+ #
1605
+ # source://minitest//lib/minitest.rb#1065
1606
+ def initialize(error); end
1607
+
1608
+ # source://minitest//lib/minitest.rb#1078
1609
+ def backtrace; end
1610
+
1611
+ # TODO: figure out how to use `cause` instead
1612
+ #
1613
+ # source://minitest//lib/minitest.rb#1063
1614
+ def error; end
1615
+
1616
+ # TODO: figure out how to use `cause` instead
1617
+ #
1618
+ # source://minitest//lib/minitest.rb#1063
1619
+ def error=(_arg0); end
1620
+
1621
+ # source://minitest//lib/minitest.rb#1084
1622
+ def message; end
1623
+
1624
+ # source://minitest//lib/minitest.rb#1090
1625
+ def result_label; end
1626
+ end
1627
+
1628
+ # source://minitest//lib/minitest.rb#1082
1629
+ Minitest::UnexpectedError::BASE_RE = T.let(T.unsafe(nil), Regexp)
1630
+
1631
+ # Assertion raised on warning when running in -Werror mode.
1632
+ #
1633
+ # source://minitest//lib/minitest.rb#1098
1634
+ class Minitest::UnexpectedWarning < ::Minitest::Assertion
1635
+ # source://minitest//lib/minitest.rb#1099
1636
+ def result_label; end
1637
+ end
1638
+
1639
+ # source://minitest//lib/minitest.rb#13
1640
+ Minitest::VERSION = T.let(T.unsafe(nil), String)