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, })
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)
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' )
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)
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)