Main function to run oct tests.

def run_command(sp):
    """
    Main function to run oct tests.
    """
    parser = sp.add_parser('run', help="run an oct project")
    parser.add_argument('project_path', help="The project directory")
    parser.add_argument('-p', '--publisher-channel', dest='publisher_channel',
                        help='the channel for the external publisher',
                        default=None)
    parser.add_argument('--no-results', action='store_true',
                        help="if set, html report and graphs will not be generated")
    parser.add_argument('-o', '--output-dir', help="output directory for test results")
    parser.add_argument('--with-forwarder', action='store_true',
                        help="Set if HQ should connect to external forwarder")
    parser.add_argument('--forwarder-address',
                        help="with form ip:port. If not set and --with-forwarder flag present HQ will use default values")
    parser.add_argument('--config-file', default=None,
                        help="configuration file to use, default is config.json in project directory")
    parser.set_defaults(func=run)