Пример #1
0
def set_device(apps, schema_editor):
    TestJob = apps.get_model("benchmarks", "TestJob")
    for testjob in TestJob.objects.all():
        if testjob.definition:
            data = json.loads(testjob.definition)
            device = extract_device(data)
            if device:
                testjob.metadata["device"] = device
                testjob.save()
Пример #2
0
 def test_extract_device_from_multinode_job(self):
     device = extract_device({
         "device_group": [{
             "role": "host",
             "device_type": "foo"
         }, {
             "role": "target",
             "device_type": "bar"
         }]
     })
     self.assertEqual(device, "bar")
Пример #3
0
    def get_test_job_details(self, job_id):
        """
        returns test job metadata, for example device type
        the tests were run on
        """
        details = dict(testertype="lava")
        status = self.call_xmlrpc('scheduler.job_status', job_id)
        if 'bundle_sha1' in status:
            details.update({"bundle": status['bundle_sha1']})
        content = self.call_xmlrpc('scheduler.job_details', job_id)
        definition = json.loads(content['definition'])
        if content['multinode_definition']:
            definition = json.loads(content['multinode_definition'])
        details.update({"definition": str(json.dumps(definition))})
        details['metadata'] = extract_metadata(definition)
        details['metadata']['device'] = extract_device(definition)
        details['name'] = extract_name(definition)

        for action in definition['actions']:
            if action['command'].startswith("submit_results"):
                if 'stream' in action['parameters'].keys():
                    details.update({"bundlestream": action['parameters']['stream']})
        return details
Пример #4
0
    def get_test_job_details(self, job_id):
        """
        returns test job metadata, for example device type
        the tests were run on
        """
        details = dict(testertype="lava")
        status = self.call_xmlrpc('scheduler.job_status', job_id)
        if 'bundle_sha1' in status:
            details.update({"bundle": status['bundle_sha1']})
        content = self.call_xmlrpc('scheduler.job_details', job_id)
        definition = json.loads(content['definition'])
        if content['multinode_definition']:
            definition = json.loads(content['multinode_definition'])
        details.update({"definition": str(json.dumps(definition))})
        details['metadata'] = extract_metadata(definition)
        details['metadata']['device'] = extract_device(definition)
        details['name'] = extract_name(definition)

        for action in definition['actions']:
            if action['command'].startswith("submit_results"):
                if 'stream' in action['parameters'].keys():
                    details.update(
                        {"bundlestream": action['parameters']['stream']})
        return details
Пример #5
0
 def test_extract_device_from_multinode_job(self):
     device = extract_device({ "device_group": [ { "role": "host", "device_type": "foo" }, { "role": "target", "device_type": "bar"} ]})
     self.assertEqual(device, "bar")
Пример #6
0
 def test_extract_device(self):
     device = extract_device({"requested_device_type_id": "mydevice"})
     self.assertEqual(device, "mydevice")
Пример #7
0
 def test_extract_device(self):
     device = extract_device({"requested_device_type_id": "mydevice"})
     self.assertEqual(device, "mydevice")