Exemplo n.º 1
0
    def from_json(cls, manifest, tests_root, obj, source_files=None):
        self = cls(manifest)
        if not hasattr(obj, "iteritems"):
            raise ManifestError

        item_classes = {"testharness": TestharnessTest,
                        "reftest": RefTest,
                        "manual": ManualTest,
                        "stub": Stub,
                        "wdspec": WebdriverSpecTest}

        for test_type, paths in obj["items"].iteritems():
            for path, tests in paths.iteritems():
                for test in tests:
                    manifest_item = item_classes[test_type].from_json(manifest,
                                                                      tests_root,
                                                                      test,
                                                                      source_files=source_files)
                    self.add(manifest_item)

        for path, values in obj["reftest_nodes"].iteritems():
            path = to_os_path(path)
            for v in values:
                item = RefTest.from_json(self.manifest, tests_root, v,
                                         source_files=source_files)
                self.reftest_nodes[path].add(item)
                self.reftest_nodes_by_url[item.url] = item

        for item in obj["deleted"]:
            self.add_deleted(to_os_path(item))

        return self
Exemplo n.º 2
0
    def from_json(cls, manifest, tests_root, obj, source_files=None):
        self = cls(manifest)
        if not hasattr(obj, "iteritems"):
            raise ManifestError

        item_classes = {
            "testharness": TestharnessTest,
            "reftest": RefTest,
            "manual": ManualTest,
            "stub": Stub,
            "wdspec": WebdriverSpecTest
        }

        for test_type, paths in obj["items"].iteritems():
            for path, tests in paths.iteritems():
                for test in tests:
                    manifest_item = item_classes[test_type].from_json(
                        manifest, tests_root, test, source_files=source_files)
                    self.add(manifest_item)

        for path, values in obj["reftest_nodes"].iteritems():
            path = to_os_path(path)
            for v in values:
                item = RefTest.from_json(self.manifest,
                                         tests_root,
                                         v,
                                         source_files=source_files)
                self.reftest_nodes[path].add(item)
                self.reftest_nodes_by_url[item.url] = item

        for item in obj["deleted"]:
            self.add_deleted(to_os_path(item))

        return self
Exemplo n.º 3
0
Arquivo: item.py Projeto: 0X1A/servo
 def from_json(cls, manifest, tests_root, obj, source_files=None):
     source_file = get_source_file(source_files, tests_root, manifest,
                                   to_os_path(obj["path"]))
     return cls(source_file,
                obj["url"],
                url_base=manifest.url_base,
                manifest=manifest)
Exemplo n.º 4
0
 def from_json(cls, manifest, tests_root, obj, source_files=None):
     source_file = get_source_file(source_files, tests_root, manifest,
                                   to_os_path(obj["path"]))
     return cls(source_file,
                obj["url"],
                url_base=manifest.url_base,
                manifest=manifest)
Exemplo n.º 5
0
 def from_json(cls, manifest, tests_root, obj, source_files=None):
     source_file = get_source_file(source_files, tests_root, manifest,
                                   to_os_path(obj["path"]))
     return cls(source_file,
                obj["url"],
                obj["references"],
                url_base=manifest.url_base,
                timeout=obj.get("timeout"),
                manifest=manifest)
Exemplo n.º 6
0
 def from_json(cls, manifest, tests_root, obj, source_files=None):
     source_file = get_source_file(source_files, tests_root, manifest,
                                   to_os_path(obj["path"]))
     return cls(source_file,
                obj["url"],
                obj["references"],
                url_base=manifest.url_base,
                timeout=obj.get("timeout"),
                manifest=manifest)
Exemplo n.º 7
0
    def from_json(cls, tests_root, obj):
        version = obj.get("version")
        if version != CURRENT_VERSION:
            raise ManifestVersionMismatch

        self = cls(git_rev=obj["rev"], url_base=obj.get("url_base", "/"))
        if not hasattr(obj, "iteritems"):
            raise ManifestError

        item_classes = {
            "testharness": TestharnessTest,
            "reftest": RefTest,
            "manual": ManualTest,
            "stub": Stub,
            "wdspec": WebdriverSpecTest
        }

        source_files = {}

        for k, values in obj["items"].iteritems():
            if k not in item_types:
                raise ManifestError
            for v in values:
                manifest_item = item_classes[k].from_json(
                    self, tests_root, v, source_files=source_files)
                self._add(manifest_item)

        for path, values in obj["reftest_nodes"].iteritems():
            path = to_os_path(path)
            for v in values:
                item = RefTest.from_json(self,
                                         tests_root,
                                         v,
                                         source_files=source_files)
                self.reftest_nodes[path].add(item)
                self.reftest_nodes_by_url[v["url"]] = item

        self.local_changes = LocalChanges.from_json(self,
                                                    tests_root,
                                                    obj["local_changes"],
                                                    source_files=source_files)
        return self
Exemplo n.º 8
0
    def from_json(cls, tests_root, obj):
        version = obj.get("version")
        if version != CURRENT_VERSION:
            raise ManifestVersionMismatch

        self = cls(git_rev=obj["rev"],
                   url_base=obj.get("url_base", "/"))
        if not hasattr(obj, "iteritems"):
            raise ManifestError

        item_classes = {"testharness": TestharnessTest,
                        "reftest": RefTest,
                        "manual": ManualTest,
                        "stub": Stub,
                        "wdspec": WebdriverSpecTest}

        source_files = {}

        for k, values in obj["items"].iteritems():
            if k not in item_types:
                raise ManifestError
            for v in values:
                manifest_item = item_classes[k].from_json(self, tests_root, v,
                                                          source_files=source_files)
                self._add(manifest_item)

        for path, values in obj["reftest_nodes"].iteritems():
            path = to_os_path(path)
            for v in values:
                item = RefTest.from_json(self, tests_root, v,
                                         source_files=source_files)
                self.reftest_nodes[path].add(item)
                self.reftest_nodes_by_url[v["url"]] = item

        self.local_changes = LocalChanges.from_json(self,
                                                    tests_root,
                                                    obj["local_changes"],
                                                    source_files=source_files)
        return self