Class: Ace::Test::EndToEndRunner::Molecules::SuiteSimpleDisplayManager
- Inherits:
-
Object
- Object
- Ace::Test::EndToEndRunner::Molecules::SuiteSimpleDisplayManager
- Defined in:
- lib/ace/test/end_to_end_runner/molecules/suite_simple_display_manager.rb
Overview
Line-by-line display manager for suite-level E2E test output (default mode). Extracted from SuiteOrchestrator to match the display manager pattern used by TestOrchestrator (SimpleDisplayManager / ProgressDisplayManager).
Instance Method Summary collapse
-
#initialize(test_queue, output:, use_color:, pkg_width:, name_width:) ⇒ SuiteSimpleDisplayManager
constructor
A new instance of SuiteSimpleDisplayManager.
-
#refresh ⇒ Object
No-op — simple mode doesn’t need refresh.
-
#show_header(total_tests, pkg_count) ⇒ Object
Print suite header with separator, title, separator.
-
#show_summary(results, duration) ⇒ Object
Print structured summary block.
-
#test_completed(result, package, test_file, elapsed) ⇒ Object
Print a columnar result line.
-
#test_started(_package, _test_file) ⇒ Object
No-op — simple mode doesn’t show start events.
Constructor Details
#initialize(test_queue, output:, use_color:, pkg_width:, name_width:) ⇒ SuiteSimpleDisplayManager
Returns a new instance of SuiteSimpleDisplayManager.
16 17 18 19 20 21 22 |
# File 'lib/ace/test/end_to_end_runner/molecules/suite_simple_display_manager.rb', line 16 def initialize(test_queue, output:, use_color:, pkg_width:, name_width:) @test_queue = test_queue @output = output @use_color = use_color @pkg_width = pkg_width @name_width = name_width end |
Instance Method Details
#refresh ⇒ Object
No-op — simple mode doesn’t need refresh
63 64 |
# File 'lib/ace/test/end_to_end_runner/molecules/suite_simple_display_manager.rb', line 63 def refresh end |
#show_header(total_tests, pkg_count) ⇒ Object
Print suite header with separator, title, separator
27 28 29 30 31 32 33 |
# File 'lib/ace/test/end_to_end_runner/molecules/suite_simple_display_manager.rb', line 27 def show_header(total_tests, pkg_count) dh = Atoms::DisplayHelpers @output.puts dh.double_separator @output.puts " ACE E2E Test Suite - Running #{total_tests} tests across #{pkg_count} packages" @output.puts dh.double_separator @output.puts end |
#show_summary(results, duration) ⇒ Object
Print structured summary block
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/ace/test/end_to_end_runner/molecules/suite_simple_display_manager.rb', line 69 def show_summary(results, duration) failed_details = collect_failed_details(results) lines = Atoms::DisplayHelpers.format_suite_summary( { total: results[:total], passed: results[:passed], failed: results[:failed], errors: results[:errors], total_cases: results[:total_cases] || 0, passed_cases: results[:passed_cases] || 0, duration: duration, failed_details: failed_details }, use_color: @use_color ) lines.each { |line| @output.puts line } end |
#test_completed(result, package, test_file, elapsed) ⇒ Object
Print a columnar result line
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/ace/test/end_to_end_runner/molecules/suite_simple_display_manager.rb', line 44 def test_completed(result, package, test_file, elapsed) dh = Atoms::DisplayHelpers success = result[:status] == "pass" icon = dh.color(dh.status_icon(success), success ? :green : :red, use_color: @use_color) test_name = extract_test_name(test_file) cases_str = "" if result[:total_cases] && result[:total_cases] > 0 cases_str = "#{result[:passed_cases]}/#{result[:total_cases]} cases" end line = dh.format_suite_test_line( icon, elapsed, package, test_name, cases_str, pkg_width: @pkg_width, name_width: @name_width ) @output.puts line end |
#test_started(_package, _test_file) ⇒ Object
No-op — simple mode doesn’t show start events
36 37 |
# File 'lib/ace/test/end_to_end_runner/molecules/suite_simple_display_manager.rb', line 36 def test_started(_package, _test_file) end |