"http://cgit.freedesktop.org/gstreamer/gst-editing-services/tree/ges/ges-effect.c?h=1.8.0#n267"), "GLib-2.0": ( "2.54.2", "g_base64_decode_step", "https://gitlab.gnome.org/GNOME/glib/blob/2.54.2/glib/gbase64.c#L326"), # This is buggy.. # "GExiv2-0.10": ( # "0.10.3", "gexiv2_preview_image_new", # "https://gitlab.gnome.org/GNOME/gexiv2/blob/gexiv2-0.10.3/gexiv2/gexiv2-startup.cpp#L46"), } if __name__ == "__main__": for namespace, path in get_gir_files().items(): if DATA.get(namespace): version, symbol, res = DATA[namespace] p = Project.for_namespace(namespace.split("-")[0]) assert p.get_tag(version) func = p.get_source_func(namespace.split("-")[0], version) assert func symbols = {} for lib in parse_gir_shared_libs(path): symbols.update(get_line_numbers_for_name(lib)) if symbol in symbols: symbol_path = symbols[symbol] func_res = func(symbol_path) assert func_res == res, (func_res, res) r = requests.get(res) assert r.ok print(namespace, res) else: assert not symbols, symbols
def get_tag(namespace): return Project.for_namespace(namespace).get_tag()
def get_url(namespace, path): project = Project.for_namespace(namespace) func = project.get_source_func(namespace) if not func: return "" return func(path)
def test_get_project_version(self): self.assertEqual( Project.for_namespace("GObject").version, Project.for_namespace("GLib").version)
"http://cgit.freedesktop.org/gstreamer/gst-editing-services/tree/ges/ges-effect.c?h=1.8.0#n267" ), "GLib-2.0": ("2.54.2", "g_base64_decode_step", "https://gitlab.gnome.org/GNOME/glib/blob/2.54.2/glib/gbase64.c#L326"), # This is buggy.. # "GExiv2-0.10": ( # "0.10.3", "gexiv2_preview_image_new", # "https://gitlab.gnome.org/GNOME/gexiv2/blob/gexiv2-0.10.3/gexiv2/gexiv2-startup.cpp#L46"), } if __name__ == "__main__": for namespace, path in get_gir_files().items(): if DATA.get(namespace): version, symbol, res = DATA[namespace] p = Project.for_namespace(namespace.split("-")[0]) assert p.get_tag(version) func = p.get_source_func(namespace.split("-")[0], version) assert func symbols = {} for lib in parse_gir_shared_libs(path): symbols.update(get_line_numbers_for_name(lib)) if symbol in symbols: symbol_path = symbols[symbol] func_res = func(symbol_path) assert func_res == res, (func_res, res) r = requests.get(res) assert r.ok print(namespace, res) else: assert not symbols, symbols