Beispiel #1
0
        "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
Beispiel #2
0
 def get_tag(namespace):
     return Project.for_namespace(namespace).get_tag()
Beispiel #3
0
 def get_url(namespace, path):
     project = Project.for_namespace(namespace)
     func = project.get_source_func(namespace)
     if not func:
         return ""
     return func(path)
Beispiel #4
0
 def test_get_project_version(self):
     self.assertEqual(
         Project.for_namespace("GObject").version,
         Project.for_namespace("GLib").version)
Beispiel #5
0
 def get_url(namespace, path):
     project = Project.for_namespace(namespace)
     func = project.get_source_func(namespace)
     if not func:
         return ""
     return func(path)
Beispiel #6
0
 def get_tag(namespace):
     return Project.for_namespace(namespace).get_tag()
Beispiel #7
0
 def test_get_project_version(self):
     self.assertEqual(
         Project.for_namespace("GObject").version,
         Project.for_namespace("GLib").version)
Beispiel #8
0
     "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