Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 338966
b: refs/heads/master
c: 8dfec40
h: refs/heads/master
v: v3
  • Loading branch information
Jiri Olsa authored and Arnaldo Carvalho de Melo committed Nov 5, 2012
1 parent 68af5dd commit 0d36573
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 45e4089bc6398da2cf0609b614bc519970cb8442
refs/heads/master: 8dfec403e39b7c37fd6e8813bacc01da1e1210ab
2 changes: 0 additions & 2 deletions trunk/tools/perf/tests/attr.c
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,6 @@ static int store_event(struct perf_event_attr *attr, pid_t pid, int cpu,
WRITE_ASS(sample_regs_user, "llu");
WRITE_ASS(sample_stack_user, PRIu32);

__WRITE_ASS(optional, "d", 0);

fclose(file);
return 0;
}
Expand Down
29 changes: 18 additions & 11 deletions trunk/tools/perf/tests/attr.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ def __init__(self, name, data, base):
self.add(data)

def compare_data(self, a, b):
# Allow multiple values in assignment separated by '|'
a_list = a.split('|')
b_list = b.split('|')

Expand All @@ -96,12 +97,17 @@ def equal(self, other):
return False
return True

def is_optional(self):
if self['optional'] == '1':
return True
else:
return False

# Test file description needs to have following sections:
# [config]
# - just single instance in file
# - needs to specify:
# 'command' - perf command name
# 'args' - special command arguments
# 'ret' - expected command return value (0 by default)
#
# [eventX:base]
# - one or multiple instances in file
# - expected values assignments
class Test(object):
def __init__(self, path, options):
parser = ConfigParser.SafeConfigParser()
Expand Down Expand Up @@ -135,11 +141,15 @@ def load_events(self, path, events):
parser_event = ConfigParser.SafeConfigParser()
parser_event.read(path)

# The event record section header contains 'event' word,
# optionaly followed by ':' allowing to load 'parent
# event' first as a base
for section in filter(self.is_event, parser_event.sections()):

parser_items = parser_event.items(section);
base_items = {}

# Read parent event if there's any
if (':' in section):
base = section[section.index(':') + 1:]
parser_base = ConfigParser.SafeConfigParser()
Expand Down Expand Up @@ -177,11 +187,10 @@ def compare(self, expect, result):
else:
log.debug(" ->FAIL");

log.info(" match: [%s] optional(%d) matches %s" %
(exp_name, exp_event.is_optional(), str(exp_list)))
log.info(" match: [%s] matches %s" % (exp_name, str(exp_list)))

# we did not any matching event - fail
if (not exp_list) and (not exp_event.is_optional()):
if (not exp_list):
raise Fail(self, 'match failure');

match[exp_name] = exp_list
Expand All @@ -194,8 +203,6 @@ def compare(self, expect, result):
if (group == ''):
continue

# XXX group matching does not account for
# optional events as above matching does
for res_name in match[exp_name]:
res_group = result[res_name].group
if res_group not in match[group]:
Expand Down
1 change: 0 additions & 1 deletion trunk/tools/perf/tests/attr/base-record
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,3 @@ config2=0
branch_sample_type=0
sample_regs_user=0
sample_stack_user=0
optional=0
1 change: 0 additions & 1 deletion trunk/tools/perf/tests/attr/base-stat
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,3 @@ config2=0
branch_sample_type=0
sample_regs_user=0
sample_stack_user=0
optional=0

0 comments on commit 0d36573

Please sign in to comment.