Module: Ace::TestRunner::Atoms::ReportDirectoryResolver
- Defined in:
- lib/ace/test_runner/atoms/report_directory_resolver.rb
Overview
Resolves canonical test report directories.
Constant Summary collapse
- DEFAULT_REPORT_ROOT =
".ace-local/test/reports"
Class Method Summary collapse
- .infer_package_name(package_dir:, test_files:, cwd:) ⇒ Object
- .resolve_package_report_dir(report_root:, package_name:) ⇒ Object
- .resolve_report_root(raw_report_dir, explicit_cli_override:, start_path:) ⇒ Object
- .short_package_name(package_name) ⇒ Object
Class Method Details
.infer_package_name(package_dir:, test_files:, cwd:) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/ace/test_runner/atoms/report_directory_resolver.rb', line 25 def infer_package_name(package_dir:, test_files:, cwd:) if package_dir && !package_dir.to_s.empty? return File.basename(File.(package_dir)) end first = Array(test_files).first if first && (match = first.match(%r{\A(.+?)/test/})) return File.basename(match[1]) end File.basename(File.(cwd)) end |
.resolve_package_report_dir(report_root:, package_name:) ⇒ Object
42 43 44 |
# File 'lib/ace/test_runner/atoms/report_directory_resolver.rb', line 42 def resolve_package_report_dir(report_root:, package_name:) File.join(report_root, short_package_name(package_name)) end |
.resolve_report_root(raw_report_dir, explicit_cli_override:, start_path:) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/ace/test_runner/atoms/report_directory_resolver.rb', line 14 def resolve_report_root(raw_report_dir, explicit_cli_override:, start_path:) root = raw_report_dir.to_s.strip root = DEFAULT_REPORT_ROOT if root.empty? return File.(root, start_path) if explicit_cli_override project_root = Ace::Support::Config.find_project_root(start_path: start_path) base = project_root || start_path File.(root, base) end |
.short_package_name(package_name) ⇒ Object
38 39 40 |
# File 'lib/ace/test_runner/atoms/report_directory_resolver.rb', line 38 def short_package_name(package_name) package_name.to_s.sub(/\Aace-/, "") end |