Autocompletion outside of a project produces stack trace
Summary
I tried to autocomplete (I'm using a bash shell) bst show within a directory which was not a BuildStream project and received the following stack trace :
$ bst show Traceback (most recent call last):
File "/home/jennis/python-virtual-environments/bst/bin/bst", line 8, in <module>
sys.exit(cli())
File "/home/jennis/python-virtual-environments/bst/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/jennis/Software/buildstream/buildstream/_frontend/cli.py", line 176, in override_main
if main_bashcomplete(self, prog_name, partial(override_completions, args)):
File "/home/jennis/Software/buildstream/buildstream/_frontend/complete.py", line 335, in main_bashcomplete
do_complete(cmd, prog_name, override)
File "/home/jennis/Software/buildstream/buildstream/_frontend/complete.py", line 325, in do_complete
for item in get_choices(cli, prog_name, args, incomplete, override):
File "/home/jennis/Software/buildstream/buildstream/_frontend/complete.py", line 294, in get_choices
choices.extend(get_user_autocompletions(all_args, incomplete, ctx.command, cmd_param, override))
File "/home/jennis/Software/buildstream/buildstream/_frontend/complete.py", line 243, in get_user_autocompletions
incomplete=incomplete)
File "/home/jennis/Software/buildstream/buildstream/_frontend/cli.py", line 163, in override_completions
return complete_target(args, incomplete)
File "/home/jennis/Software/buildstream/buildstream/_frontend/cli.py", line 91, in complete_target
project_file = os.path.join(base_directory, project_conf)
File "/usr/lib/python3.6/posixpath.py", line 80, in join
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
Expected behaviour
There should not be a stack trace