def test_framework(self): self.assertEqual( framework.framework_info( "Location/Name.framework/Versions/SomeVersion/Name_Suffix"), dict( location="Location", name="Name.framework/Versions/SomeVersion/Name_Suffix", shortname="Name", version="SomeVersion", suffix="Suffix", ), ) self.assertEqual( framework.framework_info( "Location/Name.framework/Versions/SomeVersion/Name"), dict( location="Location", name="Name.framework/Versions/SomeVersion/Name", shortname="Name", version="SomeVersion", suffix=None, ), ) self.assertEqual( framework.framework_info("Location/Name.framework/Name_Suffix"), dict( location="Location", name="Name.framework/Name_Suffix", shortname="Name", version=None, suffix="Suffix", ), ) self.assertEqual( framework.framework_info("Location/Name.framework/Name"), dict( location="Location", name="Name.framework/Name", shortname="Name", version=None, suffix=None, ), ) self.assertEqual( framework.framework_info("Location/Name.framework.disabled/Name"), None) self.assertEqual( framework.framework_info( "Location/Name.framework/Versions/A/B/Name"), None) self.assertEqual( framework.framework_info("Location/Name.framework/Versions/A"), None) self.assertEqual( framework.framework_info( "Location/Name.framework/Versions/A/Name/_debug"), None, )
def test_framework(self): self.assertEqual( framework.framework_info('Location/Name.framework/Versions/SomeVersion/Name_Suffix'), dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', )) self.assertEqual( framework.framework_info('Location/Name.framework/Versions/SomeVersion/Name'), dict( location='Location', name='Name.framework/Versions/SomeVersion/Name', shortname='Name', version='SomeVersion', suffix=None, )) self.assertEqual( framework.framework_info('Location/Name.framework/Name_Suffix'), dict( location='Location', name='Name.framework/Name_Suffix', shortname='Name', version=None, suffix='Suffix', )) self.assertEqual( framework.framework_info('Location/Name.framework/Name'), dict( location='Location', name='Name.framework/Name', shortname='Name', version=None, suffix=None )) self.assertEqual( framework.framework_info('Location/Name.framework.disabled/Name'), None ) self.assertEqual( framework.framework_info('Location/Name.framework/Versions/A/B/Name'), None ) self.assertEqual( framework.framework_info('Location/Name.framework/Versions/A'), None ) self.assertEqual( framework.framework_info('Location/Name.framework/Versions/A/Name/_debug'), None )
def test_interal_tests(self): # Ported over from the source file def d(location=None, name=None, shortname=None, version=None, suffix=None): return dict( location=location, name=name, shortname=shortname, version=version, suffix=suffix ) self.assertEqual(framework.framework_info('completely/invalid'), None) self.assertEqual(framework.framework_info('completely/invalid/_debug'), None) self.assertEqual(framework.framework_info('P/F.framework'), None) self.assertEqual(framework.framework_info('P/F.framework/_debug'), None) self.assertEqual(framework.framework_info('P/F.framework/F'), d('P', 'F.framework/F', 'F')) self.assertEqual(framework.framework_info('P/F.framework/F_debug'), d('P', 'F.framework/F_debug', 'F', suffix='debug')) self.assertEqual(framework.framework_info('P/F.framework/Versions'), None) self.assertEqual(framework.framework_info('P/F.framework/Versions/A'), None) self.assertEqual(framework.framework_info('P/F.framework/Versions/A/F'), d('P', 'F.framework/Versions/A/F', 'F', 'A')) self.assertEqual(framework.framework_info('P/F.framework/Versions/A/F_debug'), d('P', 'F.framework/Versions/A/F_debug', 'F', 'A', 'debug'))
def test_interal_tests(self): # Ported over from the source file def d(location=None, name=None, shortname=None, version=None, suffix=None): return dict( location=location, name=name, shortname=shortname, version=version, suffix=suffix, ) self.assertEqual(framework.framework_info("completely/invalid"), None) self.assertEqual(framework.framework_info("completely/invalid/_debug"), None) self.assertEqual(framework.framework_info("P/F.framework"), None) self.assertEqual(framework.framework_info("P/F.framework/_debug"), None) self.assertEqual(framework.framework_info("P/F.framework/F"), d("P", "F.framework/F", "F")) self.assertEqual( framework.framework_info("P/F.framework/F_debug"), d("P", "F.framework/F_debug", "F", suffix="debug"), ) self.assertEqual(framework.framework_info("P/F.framework/Versions"), None) self.assertEqual(framework.framework_info("P/F.framework/Versions/A"), None) self.assertEqual( framework.framework_info("P/F.framework/Versions/A/F"), d("P", "F.framework/Versions/A/F", "F", "A"), ) self.assertEqual( framework.framework_info("P/F.framework/Versions/A/F_debug"), d("P", "F.framework/Versions/A/F_debug", "F", "A", "debug"), )
def dyld_override_search(name, env=None): # If DYLD_FRAMEWORK_PATH is set and this dylib_name is a # framework name, use the first file that exists in the framework # path if any. If there is none go on to search the DYLD_LIBRARY_PATH # if any. framework = framework_info(name) if framework is not None: for path in dyld_framework_path(env): yield os.path.join(path, framework['name']) # If DYLD_LIBRARY_PATH is set then use the first file that exists # in the path. If none use the original name. for path in dyld_library_path(env): yield os.path.join(path, os.path.basename(name))
def dyld_override_search(name, env=None): # If DYLD_FRAMEWORK_PATH is set and this dylib_name is a # framework name, use the first file that exists in the framework # path if any. If there is none go on to search the DYLD_LIBRARY_PATH # if any. framework = framework_info(name) if framework is not None: for path in dyld_framework_path(env): yield os.path.join(path, framework["name"]) # If DYLD_LIBRARY_PATH is set then use the first file that exists # in the path. If none use the original name. for path in dyld_library_path(env): yield os.path.join(path, os.path.basename(name))
def dyld_default_search(name, env=None): yield name framework = framework_info(name) if framework is not None: fallback_framework_path = dyld_fallback_framework_path(env) for path in fallback_framework_path: yield os.path.join(path, framework["name"]) fallback_library_path = dyld_fallback_library_path(env) for path in fallback_library_path: yield os.path.join(path, os.path.basename(name)) if framework is not None and not fallback_framework_path: for path in DEFAULT_FRAMEWORK_FALLBACK: yield os.path.join(path, framework["name"]) if not fallback_library_path: for path in DEFAULT_LIBRARY_FALLBACK: yield os.path.join(path, os.path.basename(name))
def dyld_default_search(name, env=None): yield name framework = framework_info(name) if framework is not None: fallback_framework_path = dyld_fallback_framework_path(env) if fallback_framework_path: for path in fallback_framework_path: yield os.path.join(path, framework['name']) else: for path in _DEFAULT_FRAMEWORK_FALLBACK: yield os.path.join(path, framework['name']) fallback_library_path = dyld_fallback_library_path(env) if fallback_library_path: for path in fallback_library_path: yield os.path.join(path, os.path.basename(name)) else: for path in _DEFAULT_LIBRARY_FALLBACK: yield os.path.join(path, os.path.basename(name))