<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run():
 """ Run all the test classes in the main module. Returns: exit code as an integer. The default behaviour (which may be overridden by plugins) is to return a 0 exit code if the test run succeeded, and 1 if it failed. """

    plugin_list = load_plugins()

    module = sys.modules['__main__']
    plugin_list.insert(0, ObjectSupplier(module))

    return run_with_plugins(plugin_list)