Exemplo n.º 1
0
def main(argv=None, namespace=None, check_new_version=True):
    """
    main entry point of mozregression command line.
    """
    # terminal color support on windows
    if os.name == 'nt':
        colorama.init()

    if sys.version_info <= (2, 7, 9):
        # requests uses urllib3, and on python <= 2.7.9 there will be a lot
        # of warnings that we do not want. See
        # https://bugzilla.mozilla.org/show_bug.cgi?id=1199020
        import logging
        logging.captureWarnings(True)

    config, app = None, None
    try:
        config = cli(argv=argv, namespace=namespace)
        if check_new_version:
            check_mozregression_version(config.logger)
        config.validate()
        set_http_session(get_defaults={"timeout": config.options.http_timeout})
        app = Application(config.fetch_config, config.options)

        method = getattr(app, config.action)
        sys.exit(method())

    except KeyboardInterrupt:
        sys.exit("\nInterrupted.")
    except UnavailableRelease, exc:
        config.logger.error(str(exc)) if config else sys.exit(str(exc))
        print formatted_valid_release_dates()
        sys.exit(1)
Exemplo n.º 2
0
    def test_valid_formatted_release_dates(self):
        formatted_output = formatted_valid_release_dates()
        firefox_releases = releases()

        for line in formatted_output.splitlines():
            if "Valid releases: " in line:
                continue

            fields = line.replace(" ", "").split(":")
            version = int(fields[0])
            date = fields[1]

            self.assertTrue(version in firefox_releases)
            self.assertEqual(date, firefox_releases[version])
Exemplo n.º 3
0
    def test_valid_formatted_release_dates(self):
        formatted_output = formatted_valid_release_dates()
        firefox_releases = releases()

        for line in formatted_output.splitlines():
            if "Valid releases: " in line:
                continue

            fields = line.translate(None, " ").split(":")
            version = int(fields[0])
            date = fields[1]

            self.assertTrue(version in firefox_releases)
            self.assertEquals(date, firefox_releases[version])
Exemplo n.º 4
0
 def __call__(self, parser, namespace, values, option_string=None):
     print(formatted_valid_release_dates())
     parser.exit()
Exemplo n.º 5
0
 def __call__(self, parser, namespace, values, option_string=None):
     print(formatted_valid_release_dates())
     parser.exit()