コード例 #1
0
def VS(version):
    version = Version(version)
    return FakeCompiler({
        None: {
            '_MSC_VER':
            '%02d%02d' % (version.major, version.minor),
            '_MSC_FULL_VER':
            '%02d%02d%05d' % (version.major, version.minor, version.patch),
        },
        '*.cpp': DEFAULT_CXX_97,
    })
コード例 #2
0
def main(args):
    parser = argparse.ArgumentParser()
    parser.add_argument('--locales',
                        help='List of language codes provided by the langpack')
    parser.add_argument('--min-app-ver',
                        help='Min version of the application the langpack is for')
    parser.add_argument('--max-app-ver',
                        help='Max version of the application the langpack is for')
    parser.add_argument('--app-name',
                        help='Name of the application the langpack is for')
    parser.add_argument('--l10n-basedir',
                        help='Base directory for locales used in the language pack')
    parser.add_argument('--langpack-eid',
                        help='Language pack id to use for this locale')
    parser.add_argument('--defines', default=[], nargs='+',
                        help='List of defines files to load data from')
    parser.add_argument('--input',
                        help='Langpack directory.')

    args = parser.parse_args(args)

    chrome_entries = []
    parse_chrome_manifest(
        os.path.join(args.input, 'chrome.manifest'), args.input, chrome_entries)

    defines = parse_defines(args.defines)

    min_app_version = args.min_app_ver
    if 'a' not in min_app_version:  # Don't mangle alpha versions
        v = Version(min_app_version)
        if args.app_name == "SeaMonkey":
            # SeaMonkey is odd in that <major> hasn't changed for many years.
            # So min is <major>.<minor>.0
            min_app_version = "{}.{}.0".format(v.major, v.minor)
        else:
            # Language packs should be minversion of {major}.0
            min_app_version = "{}.0".format(v.major)

    res = create_webmanifest(
        args.locales,
        min_app_version,
        args.max_app_ver,
        args.app_name,
        args.l10n_basedir,
        args.langpack_eid,
        defines,
        chrome_entries
    )
    write_file(os.path.join(args.input, 'manifest.json'), res)
コード例 #3
0
    def test_valid_yasm_version(self):
        out = StringIO()
        sandbox = self.get_sandbox({}, {}, out=out)
        func = sandbox._depends[sandbox['valid_yasm_version']]._func

        # Missing yasm is not an error when nothing requires it.
        func(None, False, False, False)

        # Any version of yasm works when nothing requires it.
        func(Version('1.0'), False, False, False)

        # Any version of yasm works when something requires any version.
        func(Version('1.0'), True, False, False)
        func(Version('1.0'), True, True, False)
        func(Version('1.0'), False, True, False)

        # A version of yasm greater than any requirement works.
        func(Version('1.5'), Version('1.0'), True, False)
        func(Version('1.5'), True, Version('1.0'), False)
        func(Version('1.5'), Version('1.1'), Version('1.0'), False)

        out.truncate(0)
        out.seek(0)
        with self.assertRaises(SystemExit):
            func(None, Version('1.0'), False, False)

        self.assertEqual(
            out.getvalue(),
            ('ERROR: Yasm is required to build with vpx, but you do not appear '
             'to have Yasm installed.\n'),
        )

        out.truncate(0)
        out.seek(0)
        with self.assertRaises(SystemExit):
            func(None, Version('1.0'), Version('1.0'), False)

        self.assertEqual(
            out.getvalue(),
            ('ERROR: Yasm is required to build with jpeg and vpx, but you do not appear '
             'to have Yasm installed.\n'),
        )

        out.truncate(0)
        out.seek(0)
        with self.assertRaises(SystemExit):
            func(None, Version('1.0'), Version('1.0'), Version('1.0'))

        self.assertEqual(
            out.getvalue(),
            ('ERROR: Yasm is required to build with jpeg, libav and vpx, but you do not appear '
             'to have Yasm installed.\n'),
        )

        out.truncate(0)
        out.seek(0)
        with self.assertRaises(SystemExit):
            func(Version('1.0'), Version('1.1'), Version('1.0'), False)

        self.assertEqual(
            out.getvalue(),
            'ERROR: Yasm version 1.1 or greater is required to build with vpx.\n'
        )

        out.truncate(0)
        out.seek(0)
        with self.assertRaises(SystemExit):
            func(Version('1.0'), True, Version('1.0.1'), False)

        self.assertEqual(
            out.getvalue(),
            'ERROR: Yasm version 1.0.1 or greater is required to build with jpeg.\n'
        )
コード例 #4
0
ファイル: test_util.py プロジェクト: soufianos01/juggler
 def test_version_badder(self):
     v = Version('1b.2.3')
     self.assertLess(v, '2')
     self.assertEqual(v.major, 1)
     self.assertEqual(v.minor, 0)
     self.assertEqual(v.patch, 0)
コード例 #5
0
ファイル: test_util.py プロジェクト: soufianos01/juggler
 def test_version_more(self):
     v = Version('1.2.3b')
     self.assertLess(v, '2')
     self.assertEqual(v.major, 1)
     self.assertEqual(v.minor, 2)
     self.assertEqual(v.patch, 3)