Example #1
0
    def AddResult(cls,
                  test_set,
                  ip,
                  user_agent_string,
                  results_str,
                  is_import=False,
                  params_str=None,
                  js_user_agent_string=None,
                  js_user_agent_family=None,
                  js_user_agent_v1=None,
                  js_user_agent_v2=None,
                  js_user_agent_v3=None,
                  skip_dirty_update=False,
                  **kwds):
        """Create result models and stores them as one transaction.

    Args:
      test_set: an instance of test_set_base.
      ip: a string to store as the user's IP. This should be hashed beforehand.
      user_agent_string: the http user agent string.
      results_str: a string like 'test1=time1,test2=time2,[...]'.
      is_import: if True, skip checking test_keys and do not mark dirty.
      params_str: a string representation of test_set_params.Params.
      js_user_agent_string: chrome frame ua string from client-side JavaScript.
      js_user_agent_family: This is an override for the family name to deal
          with the fact that IE platform preview (for instance) cannot be
          distinguished by user_agent_string, but only in javascript.
      js_user_agent_v1: v1 override - see above.
      js_user_agent_v2: v1 override - see above.
      js_user_agent_v3: v1 override - see above.
      skip_dirty_update: For tests, allow skipping the update-dirty task.
      kwds: optional fields including 'loader_id'.
    Returns:
      A ResultParent instance.
    """
        logging.debug('ResultParent.AddResult category=%s' % test_set.category)
        if params_str in ('None', ''):
            # params_str should either unset, None, or a non-empty string
            logging.debug('params_str is wonky')
            raise ValueError

        user_agent = UserAgent.factory(
            user_agent_string,
            js_user_agent_string=js_user_agent_string,
            js_user_agent_family=js_user_agent_family,
            js_user_agent_v1=js_user_agent_v1,
            js_user_agent_v2=js_user_agent_v2,
            js_user_agent_v3=js_user_agent_v3)
        parent = cls(category=test_set.category,
                     ip=ip,
                     user_agent=user_agent,
                     user_agent_string_list=user_agent.get_string_list(),
                     params_str=params_str,
                     **kwds)
        try:
            results = test_set.GetResults(results_str,
                                          ignore_key_errors=is_import)
        except test_set_base.ParseResultsKeyError, e:
            logging.warn(e)
            return None
Example #2
0
 def setUp(self):
     self.client = Client()
     ua_string = (
         "Mozilla/5.0 (X11 U Linux armv6l de-DE rv:1.9a6pre) "
         "Gecko/20080606 "
         "Firefox/3.0a1 Tablet browser 0.3.7 "
         "RX-34+RX-44+RX-48_DIABLO_4.2008.23-14"
     )
     self.ua = UserAgent.factory(ua_string)
Example #3
0
  def AddResult(cls, test_set, ip, user_agent_string, results_str,
                is_import=False, params_str=None,
                js_user_agent_string=None,
                js_user_agent_family=None,
                js_user_agent_v1=None,
                js_user_agent_v2=None,
                js_user_agent_v3=None,
                skip_dirty_update=False,
                **kwds):
    """Create result models and stores them as one transaction.

    Args:
      test_set: an instance of test_set_base.
      ip: a string to store as the user's IP. This should be hashed beforehand.
      user_agent_string: the http user agent string.
      results_str: a string like 'test1=time1,test2=time2,[...]'.
      is_import: if True, skip checking test_keys and do not mark dirty.
      params_str: a string representation of test_set_params.Params.
      js_user_agent_string: chrome frame ua string from client-side JavaScript.
      js_user_agent_family: This is an override for the family name to deal
          with the fact that IE platform preview (for instance) cannot be
          distinguished by user_agent_string, but only in javascript.
      js_user_agent_v1: v1 override - see above.
      js_user_agent_v2: v1 override - see above.
      js_user_agent_v3: v1 override - see above.
      skip_dirty_update: For tests, allow skipping the update-dirty task.
      kwds: optional fields including 'loader_id'.
    Returns:
      A ResultParent instance.
    """
    logging.debug('ResultParent.AddResult category=%s' % test_set.category)
    if params_str in ('None', ''):
      # params_str should either unset, None, or a non-empty string
      logging.debug('params_str is wonky')
      raise ValueError

    user_agent = UserAgent.factory(user_agent_string,
        js_user_agent_string=js_user_agent_string,
        js_user_agent_family=js_user_agent_family,
        js_user_agent_v1=js_user_agent_v1,
        js_user_agent_v2=js_user_agent_v2,
        js_user_agent_v3=js_user_agent_v3)
    parent = cls(category=test_set.category,
                 ip=ip,
                 user_agent=user_agent,
                 user_agent_string_list=user_agent.get_string_list(),
                 params_str=params_str, **kwds)
    try:
      results = test_set.GetResults(results_str, ignore_key_errors=is_import)
    except test_set_base.ParseResultsKeyError, e:
      logging.warn(e)
      return None
Example #4
0
def GetUserAgent(browser):
  return UserAgent.factory(GetUserAgentString(browser))
Example #5
0
def GetUserAgent(browser):
    return UserAgent.factory(GetUserAgentString(browser))