fastlane-plugin-xchtmlreport icon indicating copy to clipboard operation
fastlane-plugin-xchtmlreport copied to clipboard

Nothing being generated at the end of a test run

Open jordan-romeroporter-earnin opened this issue 5 years ago • 11 comments

I've searched the directory and there's nothing being outputted by this plugin at all ... what gives?

Here's what I'm running:

   scan(scheme:SCHEME, 
        only_testing: values[:only_testing],
        include_simulator_logs: false, 
        result_bundle:true)
   xchtmlreport
  end

One thing I've noticed in the scan logs, is that if the tests fail, then the xchtmlreport doesn't get called...? why does this happen and how do I resolve?

I see the same behavior as what @jordan-romeroporter-earnin mentioned above. Can anybody confirm?

yashwanth-l avatar Nov 16 '19 08:11 yashwanth-l

I'm seeing the same behaviour as well. If the build succeeds, it generates the html, but if the build fails the plugin is never executed. Did you guys figure it out? @jordan-romeroporter-earnin @yashwanth-l

miguelgazela avatar Dec 11 '19 23:12 miguelgazela

Yeah, I'm seeing the same thing. If the tests fail then this plugin will not be executed:

+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
| 2    | scan             | 105         |
| 💥   | scan             | 1214        |
+------+------------------+-------------+

DEBUG [2020-01-24 11:36:54.30]: All plugins are up to date
ERROR [2020-01-24 11:36:54.30]: fastlane finished with errors
DEBUG [2020-01-24 11:36:54.30]: All plugins are up to date
/Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane_core/lib/fastlane_core/ui/interface.rb:172:in `test_failure!': [!] Test execution failed. Exit status: 65 (FastlaneCore::Interface::FastlaneTestFailure)
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/scan/lib/scan/runner.rb:116:in `handle_results'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/scan/lib/scan/runner.rb:22:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/scan/lib/scan/manager.rb:23:in `work'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/actions/run_tests.rb:16:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:261:in `block (2 levels) in execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:253:in `block in execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:227:in `chdir'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:227:in `execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
	from Fastfile:132:in `block in parsing_binding'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/lane.rb:33:in `call'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/commands_generator.rb:349:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in `take_off'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/bin/fastlane:23:in `<top (required)>'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/bin/fastlane:23:in `load'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/bin/fastlane:23:in `<main>'
/Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane_core/lib/fastlane_core/ui/interface.rb:172:in `test_failure!': Test execution failed. Exit status: 65 (FastlaneCore::Interface::FastlaneTestFailure)
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/scan/lib/scan/runner.rb:116:in `handle_results'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/scan/lib/scan/runner.rb:22:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/scan/lib/scan/manager.rb:23:in `work'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/actions/run_tests.rb:16:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:261:in `block (2 levels) in execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/actions/actions_helper.rb:50:in `execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:253:in `block in execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:227:in `chdir'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:227:in `execute_action'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
	from Fastfile:132:in `block in parsing_binding'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/lane.rb:33:in `call'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/commands_generator.rb:349:in `run'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in `take_off'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/gems/fastlane-2.140.0/bin/fastlane:23:in `<top (required)>'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/bin/fastlane:23:in `load'
	from /Users/Shared/Jenkins/.rvm/gems/ruby-2.6.1/bin/fastlane:23:in `<main>'

normand1 avatar Jan 24 '20 20:01 normand1

Wrap you code in begin / ensure block:

begin
   scan(scheme:SCHEME, 
        only_testing: values[:only_testing],
        include_simulator_logs: false, 
        result_bundle:true)
ensure
   xchtmlreport
end

This way your lane will fail if tests don't pass (as expected) but xchtmlreport will be called anyway.

glyuck avatar May 01 '20 13:05 glyuck

did this solution work for anyone?

yashwanth-l avatar May 29 '20 04:05 yashwanth-l

the same behavior here, no index.html in case of failures

Mikuu avatar Jul 15 '20 06:07 Mikuu

@glyuck I don't see it working, even if under a block. Can you please point to a working reference, if possible?

yashwanth-l avatar Jul 15 '20 15:07 yashwanth-l

Any luck on this issue?

yashwanth-l avatar Dec 03 '20 19:12 yashwanth-l

  begin
    scan(disable_xcpretty: true,
         devices: simulators,
         scheme: options[:scheme],
         reset_simulator: true,
         prelaunch_simulator: true,
         result_bundle: true,
         fail_build: false)
  rescue
    UI.error "Some tests were failed :("
  end
       
  xchtmlreport(enable_junit: true)

Cheeezcake avatar Jan 20 '22 14:01 Cheeezcake