Make console errors from worker process more self-explanatory
mpdehaan opened this issue · 0 comments
When a build fails due to a problem with the build script (or sudo, whatever), we get an exception like this:
2019-01-08 15:03:56,751 - vespene - ERROR - an error occurred
Traceback (most recent call last):
File "/Users/michaeldehaan/Devel/vespene/vespene/workers/builder.py", line 158, in go
self.main()
File "/Users/michaeldehaan/Devel/vespene/vespene/workers/builder.py", line 69, in main
self.run_build_script()
File "/Users/michaeldehaan/Devel/vespene/vespene/workers/builder.py", line 91, in run_build_script
self.isolation_manager.execute()
File "/Users/michaeldehaan/Devel/vespene/vespene/workers/isolation.py", line 55, in execute
return self.provider.execute()
File "/Users/michaeldehaan/Devel/vespene/vespene/plugins/isolation/sudo.py", line 85, in execute
commands.execute_command(self.build, sudo_command, log_command=False, output_log=True, message_log=False)
File "/Users/michaeldehaan/Devel/vespene/vespene/workers/commands.py", line 132, in execute_command
raise Exception("Failed")
Exception: Failed
2019-01-08 15:03:56,751 - vespene - DEBUG - flagging build as failure
2019-01-08 15:03:56,754 - vespene - DEBUG - flagging build as done
To avoid this appearing to be a bug (it does show a traceback), we should use custom typed exceptions (such is in commands.py, line 132) and instead share a message that the user should see the build log in the console or API for more information.