Example #1
0
 def testString(self):
     self.assertEqual(camel_case.ToUnderscore('camelCase'), 'camel_case')
     self.assertEqual(camel_case.ToUnderscore('CamelCase'), 'camel_case')
     self.assertEqual(camel_case.ToUnderscore('Camel2Case'), 'camel2_case')
     self.assertEqual(camel_case.ToUnderscore('Camel2Case2'),
                      'camel2_case2')
     self.assertEqual(camel_case.ToUnderscore('2012Q3'), '2012_q3')
Example #2
0
    def AddResults(self, tab, results):
        if not self._all_reports:
            return

        reports = json.loads(self._all_reports)
        for i, report in enumerate(reports):
            time_series = SortStatsIntoTimeSeries(report,
                                                  self._selected_metrics)

            # Only ever show stats for 5 peer connections, or it's going to look
            # insane in the results.
            if i > 5:
                PrintSpecialMarkerValue(results)
                return

            for stat_name, values in time_series.iteritems():
                stat_name_underscored = camel_case.ToUnderscore(stat_name)
                trace_name = 'peer_connection_%d_%s' % (i,
                                                        stat_name_underscored)
                general_name = StripAudioVideoBweDistinction(stat_name)
                results.AddValue(
                    list_of_scalar_values.ListOfScalarValues(
                        results.current_page,
                        trace_name,
                        INTERESTING_METRICS[general_name]['units'],
                        values,
                        description=INTERESTING_METRICS[general_name]
                        ['description'],
                        important=False))
Example #3
0
 def testDict(self):
     camel_case_dict = {
         'gpu': {
             'vendorId': 1000,
             'deviceId': 2000,
             'vendorString': 'aString',
             'deviceString': 'bString'
         },
         'secondaryGpus': [{
             'vendorId': 3000,
             'deviceId': 4000,
             'vendorString': 'k',
             'deviceString': 'l'
         }]
     }
     underscore_dict = {
         'gpu': {
             'vendor_id': 1000,
             'device_id': 2000,
             'vendor_string': 'aString',
             'device_string': 'bString'
         },
         'secondary_gpus': [{
             'vendor_id': 3000,
             'device_id': 4000,
             'vendor_string': 'k',
             'device_string': 'l'
         }]
     }
     self.assertEqual(camel_case.ToUnderscore(camel_case_dict),
                      underscore_dict)
Example #4
0
 def GetSystemInfo(self, timeout=10):
     req = {'method': 'SystemInfo.getInfo'}
     websocket = inspector_websocket.InspectorWebsocket()
     try:
         websocket.Connect(
             'ws://127.0.0.1:%i/devtools/browser' % self._port, timeout)
         res = websocket.SyncRequest(req, timeout)
     finally:
         websocket.Disconnect()
     if 'error' in res:
         return None
     return system_info.SystemInfo.FromDict(
         camel_case.ToUnderscore(res['result']))
Example #5
0
def DiscoverClassesInModule(module,
                            base_class,
                            index_by_class_name=False,
                            directly_constructable=False):
  """Discover all classes in |module| which subclass |base_class|.

  Base classes that contain subclasses are ignored by default.

  Args:
    module: The module to search.
    base_class: The base class to search for.
    index_by_class_name: If True, use class name converted to
        lowercase_with_underscores instead of module name in return dict keys.

  Returns:
    dict of {module_name: class} or {underscored_class_name: class}
  """
  classes = {}
  for _, obj in inspect.getmembers(module):
    # Ensure object is a class.
    if not inspect.isclass(obj):
      continue
    # Include only subclasses of base_class.
    if not issubclass(obj, base_class):
      continue
    # Exclude the base_class itself.
    if obj is base_class:
      continue
    # Exclude protected or private classes.
    if obj.__name__.startswith('_'):
      continue
    # Include only the module in which the class is defined.
    # If a class is imported by another module, exclude those duplicates.
    if obj.__module__ != module.__name__:
      continue

    if index_by_class_name:
      key_name = camel_case.ToUnderscore(obj.__name__)
    else:
      key_name = module.__name__.split('.')[-1]
    if (not directly_constructable or
        classes_module.IsDirectlyConstructable(obj)):
      if key_name in classes and index_by_class_name:
        assert classes[key_name] is obj, (
          'Duplicate key_name with different objs detected: '
          'key=%s, obj1=%s, obj2=%s' % (key_name, classes[key_name], obj))
      else:
        classes[key_name] = obj

  return classes
Example #6
0
    def AddResults(self, tab, results):
        if not self._all_reports:
            return

        reports = json.loads(self._all_reports)
        for i, report in enumerate(reports):
            time_series = SortStatsIntoTimeSeries(report)

            for stat_name, values in time_series.iteritems():
                stat_name_underscored = camel_case.ToUnderscore(stat_name)
                trace_name = 'peer_connection_%d_%s' % (i,
                                                        stat_name_underscored)
                general_name = StripAudioVideoBweDistinction(stat_name)
                results.AddValue(
                    list_of_scalar_values.ListOfScalarValues(
                        results.current_page,
                        trace_name,
                        INTERESTING_METRICS[general_name]['units'],
                        values,
                        description=INTERESTING_METRICS[general_name]
                        ['description'],
                        important=False))
Example #7
0
 def testOther(self):
     self.assertEqual(camel_case.ToUnderscore(self), self)
Example #8
0
 def testList(self):
     camel_case_list = ['CamelCase', ['NestedList']]
     underscore_list = ['camel_case', ['nested_list']]
     self.assertEqual(camel_case.ToUnderscore(camel_case_list),
                      underscore_list)
Example #9
0
 def Name(cls):
   return camel_case.ToUnderscore(cls.__name__)