diff options
Diffstat (limited to 'tools/perf/tests/attr.py')
| -rw-r--r-- | tools/perf/tests/attr.py | 27 | 
1 files changed, 18 insertions, 9 deletions
diff --git a/tools/perf/tests/attr.py b/tools/perf/tests/attr.py index e702b82dcb8..2f629ca485b 100644 --- a/tools/perf/tests/attr.py +++ b/tools/perf/tests/attr.py @@ -68,7 +68,7 @@ class Event(dict):              self[key] = val      def __init__(self, name, data, base): -        log.info("    Event %s" % name); +        log.debug("    Event %s" % name);          self.name  = name;          self.group = ''          self.add(base) @@ -97,6 +97,14 @@ class Event(dict):                  return False          return True +    def diff(self, other): +        for t in Event.terms: +            if not self.has_key(t) or not other.has_key(t): +                continue +            if not self.compare_data(self[t], other[t]): +		log.warning("expected %s=%s, got %s" % (t, self[t], other[t])) +                 +  # Test file description needs to have following sections:  # [config]  #   - just single instance in file @@ -113,7 +121,7 @@ class Test(object):          parser = ConfigParser.SafeConfigParser()          parser.read(path) -        log.warning("running '%s'" % path) +        log.debug("running '%s'" % path)          self.path     = path          self.test_dir = options.test_dir @@ -128,7 +136,7 @@ class Test(object):          self.expect   = {}          self.result   = {} -        log.info("  loading expected events"); +        log.debug("  loading expected events");          self.load_events(path, self.expect)      def is_event(self, name): @@ -164,7 +172,7 @@ class Test(object):                self.perf, self.command, tempdir, self.args)          ret = os.WEXITSTATUS(os.system(cmd)) -        log.info("  running '%s' ret %d " % (cmd, ret)) +        log.warning("  running '%s' ret %d " % (cmd, ret))          if ret != int(self.ret):              raise Unsup(self) @@ -172,7 +180,7 @@ class Test(object):      def compare(self, expect, result):          match = {} -        log.info("  compare"); +        log.debug("  compare");          # For each expected event find all matching          # events in result. Fail if there's not any. @@ -187,10 +195,11 @@ class Test(object):                  else:                      log.debug("    ->FAIL"); -            log.info("    match: [%s] matches %s" % (exp_name, str(exp_list))) +            log.debug("    match: [%s] matches %s" % (exp_name, str(exp_list)))              # we did not any matching event - fail              if (not exp_list): +		exp_event.diff(res_event)                  raise Fail(self, 'match failure');              match[exp_name] = exp_list @@ -208,10 +217,10 @@ class Test(object):                  if res_group not in match[group]:                      raise Fail(self, 'group failure') -                log.info("    group: [%s] matches group leader %s" % +                log.debug("    group: [%s] matches group leader %s" %                           (exp_name, str(match[group]))) -        log.info("  matched") +        log.debug("  matched")      def resolve_groups(self, events):          for name, event in events.items(): @@ -233,7 +242,7 @@ class Test(object):              self.run_cmd(tempdir);              # load events expectation for the test -            log.info("  loading result events"); +            log.debug("  loading result events");              for f in glob.glob(tempdir + '/event*'):                  self.load_events(f, self.result);  | 
