RBTools Shell command for preconfigured Python shell environment

Review Request #7936 — Created Jan. 31, 2016 and submitted — Latest diff uploaded




This new command rbt shell opens a Python shell. Works with Ipython and bpython. Imports configuration files and command options into that shell as dictionaries.

Makes a client connection to a server if one is provided either as a command option or configuration option.

Can work with Ipython and bpython if installed.

Also added the command to rbtools' setup.py.

Also added documentation to rbtools/docs/rbtools/rbt/commands/shell.rst

Created test cases for shell rbtools/rbtools/commands/tests.py

Manual Testing:

Ran the command to see if it works.

Automatically made a client connection by typing rbt shell, and also with providing a server url.

Automatically made a client connection by providing configuration keys.

Successfully made api calls from within the shell.

Installed Ipython and bpython with pip and made sure that both opened.

Tested to see that shell would still open if an invalid shell was specified.

Automated Testing:

Test to see if Ipython module import is called

Test to see if bpython module import is called

Test messages being logged to the shell