Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Unified Diff: tools/telemetry/telemetry/user_story/__init__.py

Issue 733303003: [Telemetry] Introduce shared_user_story_state for real. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/user_story/__init__.py
diff --git a/tools/telemetry/telemetry/user_story/__init__.py b/tools/telemetry/telemetry/user_story/__init__.py
index 43592d8600cb2ffbc52000092d6f90eaad43de57..91a148e392e5ab788d37b9b7a76d91f3967f150b 100644
--- a/tools/telemetry/telemetry/user_story/__init__.py
+++ b/tools/telemetry/telemetry/user_story/__init__.py
@@ -3,12 +3,32 @@
# found in the LICENSE file.
import re
+from telemetry.user_story import shared_user_story_state
_next_user_story_id = 0
class UserStory(object):
- def __init__(self, name='', labels=None):
+ """A class styled on unittest.TestCase for creating user story tests.
+
+ Test should override Run to maybe start the application and perform actions
+ onto it. To share state between different tests, one can define a
+ shared_user_story_state which contains hooks that will be called before &
+ after mutiple user stories run and in between runs.
+
+ Args:
+ shared_user_story_state_class: subclass of
+ telemetry.user_story.shared_user_story_state.SharedUserStoryState.
+ name: string name of this user story that can be used for identifying user
+ story in results output.
+ labels: A list or set of string labels that are used for filtering. See
+ user_story.user_story_filter for more information.
+ """
+
+ def __init__(self, shared_user_story_state_class, name='', labels=None):
+ assert issubclass(shared_user_story_state_class,
+ shared_user_story_state.SharedUserStoryState)
+ self._shared_user_story_state_class = shared_user_story_state_class
self._name = name
global _next_user_story_id
self._id = _next_user_story_id
@@ -25,6 +45,11 @@ class UserStory(object):
def labels(self):
return self._labels
+
chrishenry 2014/11/20 19:01:24 nit: 1 blank line to match surrounding.
nednguyen 2014/11/20 21:08:27 Done.
+ @property
+ def shared_user_story_state_class(self):
+ return self._shared_user_story_state_class
+
@property
def id(self):
return self._id

Powered by Google App Engine
This is Rietveld 408576698