def xtest_write_many_examples(self): examples = glob.glob(path.join(self.data_path(), '*.pc')) for example in examples: cf = caca_pkg_config_file() cf.parse_file(example) new_filename = temp_file.make_temp_file() cf.write_file(new_filename) new_cf = caca_pkg_config_file() new_cf.parse_file(new_filename) self.assertEqual( cf, new_cf )
def xtest_write_filename(self): filename = temp_file.make_temp_file(content = self.FOO_PC) cf = caca_pkg_config_file() cf.parse_file(filename) new_filename = temp_file.make_temp_file() cf.write_file(new_filename) new_cf = caca_pkg_config_file() new_cf.parse_file(new_filename) self.assertEqual( cf, new_cf )
def xtest_resolve(self): self.maxDiff = None cf = caca_pkg_config_file() cf.parse_string(self.FOO_PC) self.assertEqual( self.FOO_EXPECTED_VARIABLES, cf.variables ) self.assertEqual( self.FOO_EXPECTED_PROPERTIES, cf.properties ) cf.resolve() expected_variables = [ entry(entry.VARIABLE, 'prefix', '/usr/foo'), entry(entry.VARIABLE, 'exec_prefix', '/usr/foo'), entry(entry.VARIABLE, 'libdir', '/usr/foo/lib'), entry(entry.VARIABLE, 'sharedlibdir', '/usr/foo/lib'), entry(entry.VARIABLE, 'includedir', '/usr/foo/include'), ] expected_properties = [ entry(entry.EXPORT, 'Name', 'foo'), entry(entry.EXPORT, 'Description', 'foo library'), entry(entry.EXPORT, 'Version', '1.2.3'), entry(entry.EXPORT, 'Requires', ''), entry(entry.EXPORT, 'Libs', '-L/usr/foo/lib -L/usr/foo/lib -lfoo'), entry(entry.EXPORT, 'Cflags', '-I/usr/foo/include'), ] self.assertEqual( expected_variables, cf.variables ) self.assertEqual( expected_properties, cf.properties )
def xtest_cleanup_duplicate_properties_flags(self): self.maxDiff = None dup_pc = '''prefix=/usr/foo exec_prefix=${prefix} libdir=${exec_prefix}/lib sharedlibdir=${libdir} includedir=${prefix}/include Name: foo Description: foo library Version: 1.2.3 Requires: foo >= 1.2.3 orange >= 6.6.6 bar baz bar orange >= 6.6.6 Libs: -L${libdir} -L${sharedlibdir} -lfoo -lbar -lfoo -L${libdir} -lfoo Cflags: -I${includedir} -I${includedir} ''' expected_pc = '''prefix=/usr/foo exec_prefix=${prefix} libdir=${exec_prefix}/lib sharedlibdir=${libdir} includedir=${prefix}/include Name: foo Description: foo library Version: 1.2.3 Requires: foo >= 1.2.3 orange >= 6.6.6 bar baz Libs: -L${libdir} -L${sharedlibdir} -lfoo -lbar Cflags: -I${includedir} ''' cf = caca_pkg_config_file() cf.parse_string(dup_pc) cf.cleanup_duplicate_properties() self.assertEqual( expected_pc.strip(), str(cf).strip() )
def xxxx_set_variable(self): cf = caca_pkg_config_file() cf.parse_string(self.FOO_PC) cf.set_variable('prefix', '/something/else') expected_variables = copy.deepcopy(self.FOO_EXPECTED_VARIABLES) self.assertEqual( 'prefix', expected_variables[0].name ) expected_variables[0].value = '/something/else' self.assertEqual( expected_variables, cf.variables ) self.assertEqual( self.FOO_EXPECTED_PROPERTIES, cf.properties )
def xtest_deep_copy(self): cf = caca_pkg_config_file() cf.parse_string(self.FOO_PC) copy_cf = cf.deep_copy() self.assertEqual( self.FOO_EXPECTED_VARIABLES, cf.variables ) self.assertEqual( self.FOO_EXPECTED_PROPERTIES, cf.properties ) self.assertEqual( self.FOO_EXPECTED_VARIABLES, copy_cf.variables ) self.assertEqual( self.FOO_EXPECTED_PROPERTIES, copy_cf.properties )
def xxxx_replace(self): self.maxDiff = None replacements = { 'NAME': 'foobar', 'DESCRIPTION': 'something nice', 'VERSION': '6.6.6' } cf = caca_pkg_config_file() cf.parse_string(self.TEMPLATE_PC) cf.replace(replacements) expected_properties = [ entry(entry.EXPORT, 'Name', 'foobar'), entry(entry.EXPORT, 'Description', 'something nice'), entry(entry.EXPORT, 'Version', '6.6.6'), entry(entry.EXPORT, 'Requires', ''), entry(entry.EXPORT, 'Libs', '-L${libdir} -L${sharedlibdir} -lfoo'), entry(entry.EXPORT, 'Cflags', '-I${includedir}'), ] self.assertEqual( expected_properties, cf.properties )