def run()

in testslide/cli.py [0:0]


    def run(self) -> int:
        try:
            parsed_args = self.parser.parse_args(self.args)
        except SystemExit as e:
            return e.code
        config = self._get_config_from_parsed_args(parsed_args)

        if config.profile_threshold_ms is not None:
            import_secs = self._do_imports(
                config.import_module_names, config.profile_threshold_ms
            )
            return 0
        else:
            import_secs = self._load_all_examples(config.import_module_names)
            formatter = self.FORMAT_NAME_TO_FORMATTER_CLASS[config.format](
                import_module_names=config.import_module_names,
                force_color=config.force_color,
                import_secs=import_secs,
                trim_path_prefix=config.trim_path_prefix,
                show_testslide_stack_trace=config.show_testslide_stack_trace,
                dsl_debug=config.dsl_debug,
            )
            StrictMock.TRIM_PATH_PREFIX = config.trim_path_prefix
            if config.list:
                formatter.discovery_start()
                for context in Context.all_top_level_contexts:
                    for example in context.all_examples:
                        formatter.example_discovered(example)
                formatter.discovery_finish()
                return 0
            else:
                return Runner(
                    contexts=Context.all_top_level_contexts,
                    formatter=formatter,
                    shuffle=config.shuffle,
                    seed=config.seed,
                    focus=config.focus,
                    fail_fast=config.fail_fast,
                    fail_if_focused=config.fail_if_focused,
                    names_text_filter=config.names_text_filter,
                    names_regex_filter=config.names_regex_filter,
                    names_regex_exclude=config.names_regex_exclude,
                    quiet=config.quiet,
                ).run()