Running a fresh install of Wily and trying to run the Snapcraft tests, I get a plainbox crash:
$ ./runtests.sh
.............................cp --preserve=all -R src /tmp/tmpv3fkra23/parts/copy/install/dst
.cp --preserve=all -R src /tmp/tmpebf4at70/parts/copy/install/dir/dst
...........................................................................................................
----------------------------------------------------------------------
Ran 137 tests in 3.248s
OK
~/src/snapcraft/integration-tests ~/src/snapcraft
===============================[ Analyzing Jobs ]===============================
=============================[ Session Statistics ]=============================
This session is about 0.00% complete
Estimated duration cannot be determined for automated jobs.
Estimated duration cannot be determined for manual jobs.
Size of the desired job list: 37
Size of the effective execution plan: 37
===========================[ Running Selected Jobs ]============================
--------------[ Running job 1 / 37. Estimated time left: unknown ]--------------
-----------------------[ snapcraft/normal/list-plugins ]------------------------
ID: 2015.com.canonical.snapcraft::snapcraft/normal/list-plugins
Category: 2013.com.canonical.plainbox::uncategorised
CRITICAL plainbox.crashes: Executable 'plainbox' invoked with Namespace(color=None, command=<plainbox.impl.commands.cmd_run.RunCommand object at 0x7f8eaa290940>, debug_console=False, debug_interrupt=False, dont_suppress_output=False, dry_run=False, exclude_pattern_list=[], include_pattern_list=[], log_level=None, non_interactive=False, output_file=<_io.BufferedWriter name='/tmp/tmp.XkxAm9j4oU/result.json'>, output_format='json', output_options='', pdb=False, test_plan='2015.com.canonical.snapcraft::normal', trace=[], transport=None, transport_options=None, transport_where=None, whitelist=[]) has crashed
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
return self.dispatch_command(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 556, in dispatch_command
return ns.command.invoked(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/cmd_run.py", line 44, in invoked
self.provider_loader, self.config_loader, ns, ns.color).run()
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 356, in run
return self.do_normal_sequence()
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 410, in do_normal_sequence
self.run_all_selected_jobs()
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 740, in run_all_selected_jobs
self.run_single_job(job)
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 746, in run_single_job
self.run_single_job_with_ui(job, self.get_ui_for_job(job))
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 765, in run_single_job_with_ui
job, job_state, ui)
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 825, in _run_single_job_with_ui_loop
job, job_state, self.config, ui
File "/usr/lib/python3/dist-packages/plainbox/impl/runner.py", line 420, in run_job
func_name = "run_{}_job".format(job.plugin.replace('-', '_'))
AttributeError: 'NoneType' object has no attribute 'replace'
Traceback (most recent call last):
File "/usr/bin/plainbox", line 9, in <module>
load_entry_point('plainbox==0.22.2', 'console_scripts', 'plainbox')()
File "/usr/lib/python3/dist-packages/plainbox/impl/box.py", line 123, in main
raise SystemExit(PlainBoxTool().main(argv))
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 324, in main
return self.dispatch_and_catch_exceptions(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 560, in dispatch_and_catch_exceptions
return self.dispatch_command(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 556, in dispatch_command
return ns.command.invoked(ns)
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/cmd_run.py", line 44, in invoked
self.provider_loader, self.config_loader, ns, ns.color).run()
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 356, in run
return self.do_normal_sequence()
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 410, in do_normal_sequence
self.run_all_selected_jobs()
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 740, in run_all_selected_jobs
self.run_single_job(job)
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 746, in run_single_job
self.run_single_job_with_ui(job, self.get_ui_for_job(job))
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 765, in run_single_job_with_ui
job, job_state, ui)
File "/usr/lib/python3/dist-packages/plainbox/impl/commands/inv_run.py", line 825, in _run_single_job_with_ui_loop
job, job_state, self.config, ui
File "/usr/lib/python3/dist-packages/plainbox/impl/runner.py", line 420, in run_job
func_name = "run_{}_job".format(job.plugin.replace('-', '_'))
AttributeError: 'NoneType' object has no attribute 'replace'
a plugin set to None, sounds like the simple flag does not set the plugin to shell.