def run(sniffer_instance=None, wait_time=<NUM_LIT:0.5>, clear=True, args=(),<EOL>debug=False):
if sniffer_instance is None:<EOL><INDENT>sniffer_instance = ScentSniffer()<EOL><DEDENT>if debug:<EOL><INDENT>scanner = Scanner(<EOL>sniffer_instance.watch_paths,<EOL>scent=sniffer_instance.scent, logger=sys.stdout)<EOL><DEDENT>else:<EOL><INDENT>scanner = Scanner(<EOL>sniffer_instance.watch_paths, scent=sniffer_instance.scent)<EOL><DEDENT>sniffer_instance.set_up(tuple(args), clear, debug)<EOL>sniffer_instance.observe_scanner(scanner)<EOL>scanner.loop(wait_time)<EOL>
Runs the auto tester loop. Internally, the runner instanciates the sniffer_cls and
scanner class.

``sniffer_instance`` The class to run. Usually this is set to but a subclass of scanner.
                Defaults to Sniffer. Sniffer class documentation for more information.
``wait_time``   The time, in seconds, to wait between polls. This is dependent on
                the underlying scanner implementation. OS-specific libraries may choose
                to ignore this parameter. Defaults to 0.5 seconds.
``clear``       Boolean. Set to True to clear the terminal before running the sniffer,
                (alias, the unit tests). Defaults to True.
``args``        The arguments to pass to the sniffer/test runner. Defaults to ().
``debug``       Boolean. Sets the scanner and sniffer in debug mode, printing more internal
                information. Defaults to False (and should usually be False).