summaryrefslogtreecommitdiff
path: root/_pytest/main.py
diff options
context:
space:
mode:
authorWouter van Ackooy <wouter.v.ackooy@gmail.com>2013-05-20 14:37:58 +0200
committerWouter van Ackooy <wouter.v.ackooy@gmail.com>2013-05-20 14:37:58 +0200
commitfe27f3cc7d5e2a07ec79f08713ad42b4c74b0ed6 (patch)
treee7b005f0aacfafc0ebe6aca4b07c2f7a3568e895 /_pytest/main.py
parent5a1ce3c45c5a1d287416d43787f030398d54b045 (diff)
downloadpytest-fe27f3cc7d5e2a07ec79f08713ad42b4c74b0ed6.tar.gz
Fixed issue #306: Keywords and markers are now matched in a defined way. Also applied some pep8 formatting while fixing.
Diffstat (limited to '_pytest/main.py')
-rw-r--r--_pytest/main.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/_pytest/main.py b/_pytest/main.py
index 95b2359bc..a039cf221 100644
--- a/_pytest/main.py
+++ b/_pytest/main.py
@@ -216,6 +216,9 @@ class Node(object):
#: keywords/markers collected from all scopes
self.keywords = NodeKeywords(self)
+ #: allow adding of extra keywords to use for matching
+ self.extra_keyword_matches = []
+
#self.extrainit()
@property
@@ -307,6 +310,15 @@ class Node(object):
chain.reverse()
return chain
+ def listextrakeywords(self):
+ """ Return a list of all extra keywords in self and any parents."""
+ extra_keywords = []
+ item = self
+ while item is not None:
+ extra_keywords.extend(item.extra_keyword_matches)
+ item = item.parent
+ return extra_keywords
+
def listnames(self):
return [x.name for x in self.listchain()]