When resuming a checkbox-launcher session I saw the following crash.
Setting the via_job to None should be allowed.
CRITICAL plainbox.crashes: Executable 'checkbox-launcher' invoked with Namespace(color=None, command=<checkbox_ng.commands.launcher.LauncherCommand object at 0x7f5bc4bd8470>, debug_console=True, debug_interrupt=False, dont_suppress_output=False, dry_run=False, exclude_pattern_list=[], include_pattern_list=[], launcher='/home/zyga/checkbox/venv.fx/bin/checkbox-cli', log_level=None, non_interactive=False, pdb=False, secure_id=None, test_plan='plainbox.job', trace=[], url=None, whitelist=[]) has crashed
Traceback (most recent call last):
File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
return self.dispatch_command(ns)
File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 556, in dispatch_command
return ns.command.invoked(ns)
File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/launcher.py", line 90, in invoked
self.provider_loader, lambda: self.config, ns, launcher
File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 150, in run
return self.do_normal_sequence()
File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 206, in do_normal_sequence
self.run_all_selected_jobs()
File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 719, in run_all_selected_jobs
self.run_single_job(job)
File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 723, in run_single_job
self.run_single_job_with_ui(job, self.get_ui_for_job(job))
File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 753, in run_single_job_with_ui
self.state.update_job_result(job, job_result)
File "/home/zyga/checkbox/plainbox/plainbox/impl/session/state.py", line 926, in update_job_result
job.controller.observe_result(self, job, result)
File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 252, in observe_result
self._process_local_result(session_state, job, result)
File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 368, in _process_local_result
job_state_map[added_job.id].via_job = None
File "/home/zyga/checkbox/plainbox/plainbox/impl/pod.py", line 289, in __set__
new_value = assign_filter(instance, self, old_value, new_value)
File "/home/zyga/checkbox/plainbox/plainbox/impl/session/jobs.py", line 248, in job_via_assign_filter
raise TypeError("via_job must be the actual job, not the checksum")
TypeError: via_job must be the actual job, not the checksum
Traceback (most recent call last):
File "/home/zyga/checkbox/venv.fx/bin/checkbox-launcher", line 9, in <module>
load_entry_point('checkbox-ng==0.19.dev0', 'console_scripts', 'checkbox-launcher')()
File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/main.py", line 62, in launcher
raise SystemExit(CheckboxLauncherTool().main(argv))
File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 324, in main
return self.dispatch_and_catch_exceptions(ns)
File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
return self.dispatch_command(ns)
File "/home/zyga/checkbox/plainbox/plainbox/impl/clitools.py", line 556, in dispatch_command
return ns.command.invoked(ns)
File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/launcher.py", line 90, in invoked
self.provider_loader, lambda: self.config, ns, launcher
File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 150, in run
return self.do_normal_sequence()
File "/home/zyga/checkbox/checkbox-ng/checkbox_ng/commands/newcli.py", line 206, in do_normal_sequence
self.run_all_selected_jobs()
File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 719, in run_all_selected_jobs
self.run_single_job(job)
File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 723, in run_single_job
self.run_single_job_with_ui(job, self.get_ui_for_job(job))
File "/home/zyga/checkbox/plainbox/plainbox/impl/commands/inv_run.py", line 753, in run_single_job_with_ui
self.state.update_job_result(job, job_result)
File "/home/zyga/checkbox/plainbox/plainbox/impl/session/state.py", line 926, in update_job_result
job.controller.observe_result(self, job, result)
File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 252, in observe_result
self._process_local_result(session_state, job, result)
File "/home/zyga/checkbox/plainbox/plainbox/impl/ctrl.py", line 368, in _process_local_result
job_state_map[added_job.id].via_job = None
File "/home/zyga/checkbox/plainbox/plainbox/impl/pod.py", line 289, in __set__
new_value = assign_filter(instance, self, old_value, new_value)
File "/home/zyga/checkbox/plainbox/plainbox/impl/session/jobs.py", line 248, in job_via_assign_filter
raise TypeError("via_job must be the actual job, not the checksum")
TypeError: via_job must be the actual job, not the checksum