Exemplo n.º 1
0
    def test_generate_entities_simple(self):
        input_data = {
            'executable': {
                'name': 'chrome.dll'
            },
            'sources': ['c:\\file'],
            'objects': {
                "file.obj": {
                    "namespace::function": {
                        "size": 5.0,
                        "contribs": [0, [1, 5.0]]
                    }
                }
            }
        }

        entities = convert_code_tally._generate_entities(input_data)

        self.assertEqual(2, len(entities))
        for entity in entities:
            if entity.name == 'c:':
                self.check_entity(entity, '', 5.0, True)
            elif entity.name == 'file':
                self.check_entity(entity, 'c:', 5.0, False)
            else:
                self.fail('Unknown entity, %s' % str(entity))
Exemplo n.º 2
0
    def test_generate_entities_complex(self):
        entities = convert_code_tally._generate_entities(INPUT_JSON)

        self.assertEqual(5, len(entities))

        for entity in entities:
            if entity.name == 'c:':
                self.check_entity(entity, '', 130.0, True)
            elif entity.name == 'file':
                self.check_entity(entity, 'c:', 7.0, False)
            elif entity.name == 'folder':
                self.check_entity(entity, 'c:', 123.0, True)
            elif entity.name == 'file2':
                self.check_entity(entity, 'c:\\folder', 115.0, False)
            elif entity.name == 'file3':
                self.check_entity(entity, 'c:\\folder', 8.0, False)
            else:
                self.fail('Unknown entity, %s' % str(entity))
Exemplo n.º 3
0
  def test_generate_entities_complex(self):
    entities = convert_code_tally._generate_entities(INPUT_JSON)

    self.assertEqual(5, len(entities))

    for entity in entities:
      if entity.name == 'c:':
        self.check_entity(entity, '', 130.0, True)
      elif entity.name == 'file':
        self.check_entity(entity, 'c:', 7.0, False)
      elif entity.name == 'folder':
        self.check_entity(entity, 'c:', 123.0, True)
      elif entity.name == 'file2':
        self.check_entity(entity, 'c:\\folder', 115.0, False)
      elif entity.name == 'file3':
        self.check_entity(entity, 'c:\\folder', 8.0, False)
      else:
        self.fail('Unknown entity, %s' % str(entity))
Exemplo n.º 4
0
  def test_generate_entities_simple(self):
    input_data = {
        'executable': {'name': 'chrome.dll'},
        'sources': ['c:\\file'],
        'objects': {"file.obj": {"namespace::function": {
            "size": 5.0,
            "contribs": [0, [1, 5.0]]}}}}

    entities = convert_code_tally._generate_entities(input_data)

    self.assertEqual(2, len(entities))
    for entity in entities:
      if entity.name == 'c:':
        self.check_entity(entity, '', 5.0, True)
      elif entity.name == 'file':
        self.check_entity(entity, 'c:', 5.0, False)
      else:
        self.fail('Unknown entity, %s' % str(entity))
Exemplo n.º 5
0
  def test_output_converted_json(self):
    entities = convert_code_tally._generate_entities(INPUT_JSON)


    class Options(object):
      def __init__(self):
        self.master_id = 'master_bot'
        self.builder_name = 'builder_3'
        self.build_number = '12345'
        self.revision = '123'

    options = Options()
    name = 'chrome.dll'

    output_file = StringIO.StringIO()
    convert_code_tally._output_converted_json(
        output_file, options, name, entities)

    output_json = json.loads(output_file.getvalue())

    self.assertEqual(options.master_id, output_json['master.id'])
    self.assertEqual(options.builder_name, output_json['buildername'])
    self.assertEqual(options.build_number, output_json['buildnumber'])
    self.assertEqual(options.revision, output_json['revision'])

    self.assertEqual(name, output_json['name'])

    entities = output_json['entities']
    self.assertEqual(5, len(entities))

    for entity in entities:
      if entity['name'] == 'c:':
        self.check_entity_dump(entity, '', 130.0, True)
      elif entity['name'] == 'file':
        self.check_entity_dump(entity, 'c:', 7.0, False)
      elif entity['name'] == 'folder':
        self.check_entity_dump(entity, 'c:', 123.0, True)
      elif entity['name'] == 'file2':
        self.check_entity_dump(entity, 'c:\\folder', 115.0, False)
      elif entity['name'] == 'file3':
        self.check_entity_dump(entity, 'c:\\folder', 8.0, False)
      else:
        self.fail('Unknown entity, %s' % str(entity))
Exemplo n.º 6
0
    def test_output_converted_json(self):
        entities = convert_code_tally._generate_entities(INPUT_JSON)

        class Options(object):
            def __init__(self):
                self.master_id = 'master_bot'
                self.builder_name = 'builder_3'
                self.build_number = '12345'
                self.revision = '123'

        options = Options()
        name = 'chrome.dll'

        output_file = StringIO.StringIO()
        convert_code_tally._output_converted_json(output_file, options, name,
                                                  entities)

        output_json = json.loads(output_file.getvalue())

        self.assertEqual(options.master_id, output_json['master.id'])
        self.assertEqual(options.builder_name, output_json['buildername'])
        self.assertEqual(options.build_number, output_json['buildnumber'])
        self.assertEqual(options.revision, output_json['revision'])

        self.assertEqual(name, output_json['name'])

        entities = output_json['entities']
        self.assertEqual(5, len(entities))

        for entity in entities:
            if entity['name'] == 'c:':
                self.check_entity_dump(entity, '', 130.0, True)
            elif entity['name'] == 'file':
                self.check_entity_dump(entity, 'c:', 7.0, False)
            elif entity['name'] == 'folder':
                self.check_entity_dump(entity, 'c:', 123.0, True)
            elif entity['name'] == 'file2':
                self.check_entity_dump(entity, 'c:\\folder', 115.0, False)
            elif entity['name'] == 'file3':
                self.check_entity_dump(entity, 'c:\\folder', 8.0, False)
            else:
                self.fail('Unknown entity, %s' % str(entity))