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

Unified Diff: client/site_tests/factory_Display/factory_Display.py

Issue 2836043: Relocate library files for wider access and re-use; also associated cleanup. (Closed) Base URL: ssh://gitrw.chromium.org/autotest.git
Patch Set: patch typo Created 10 years, 6 months 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: client/site_tests/factory_Display/factory_Display.py
diff --git a/client/site_tests/factory_Display/factory_Display.py b/client/site_tests/factory_Display/factory_Display.py
index 7d460a00c604c66c9bb1ed63ab1c2b09fbf96bda..60032fe68a29ad83ca1a03f634bd47118b3be2b9 100644
--- a/client/site_tests/factory_Display/factory_Display.py
+++ b/client/site_tests/factory_Display/factory_Display.py
@@ -5,43 +5,19 @@
# DESCRIPTION :
#
-# This is an example factory test that does not really do anything --
-# it displays a message in the center of the testing area, as
-# communicated by arguments to run_once(). This test makes use of the
-# factory_test library to display its UI, and to monitor keyboard
-# events for test-switching triggers. This test can be terminated by
-# typing SHIFT-Q.
+# This is a factory test to test the LCD display.
-from autotest_lib.client.bin import test
-from autotest_lib.client.common_lib import error
-from autotest_lib.client.common_lib import factory_test
import gtk
import pango
import os
import sys
+from autotest_lib.client.bin import factory
+from autotest_lib.client.bin import factory_ui_lib as ful
+from autotest_lib.client.bin import test
+from autotest_lib.client.common_lib import error
-def XXX_log(s):
- print >> sys.stderr, 'FACTORY: ' + s
-
-
-_BLACK = gtk.gdk.Color()
-_RED = gtk.gdk.Color(0xFFFF, 0, 0)
-_GREEN = gtk.gdk.Color(0, 0xFFFF, 0)
-_BLUE = gtk.gdk.Color(0, 0, 0xFFFF)
-_WHITE = gtk.gdk.Color(0xFFFF, 0xFFFF, 0xFFFF)
-
-_ACTIVE = 'ACTIVE'
-_PASSED = 'PASS'
-_FAILED = 'FAIL'
-_UNTESTED = 'UNTESTED'
-
-_LABEL_COLORS = {
- _ACTIVE: gtk.gdk.color_parse('light goldenrod'),
- _PASSED: gtk.gdk.color_parse('pale green'),
- _FAILED: gtk.gdk.color_parse('tomato'),
- _UNTESTED: gtk.gdk.color_parse('dark slate grey')}
_LABEL_STATUS_SIZE = (140, 30)
_LABEL_STATUS_FONT = pango.FontDescription('courier new condensed 16')
@@ -63,7 +39,7 @@ def pattern_cb_grid(widget, event, color=None):
dr = widget.window
xmax, ymax = dr.get_size()
gc = gtk.gdk.GC(dr)
- gc.set_rgb_fg_color(_BLACK)
+ gc.set_rgb_fg_color(ful.BLACK)
dr.draw_rectangle(gc, True, 0, 0, xmax, ymax)
gc.set_rgb_fg_color(color)
gc.set_line_attributes(1,
@@ -78,11 +54,11 @@ def pattern_cb_grid(widget, event, color=None):
_PATTERN_LIST = [
- ('solid red', lambda *x: pattern_cb_solid(*x, **{'color':_RED})),
- ('solid green', lambda *x: pattern_cb_solid(*x, **{'color':_GREEN})),
- ('solid blue', lambda *x: pattern_cb_solid(*x, **{'color':_BLUE})),
- ('solid white', lambda *x: pattern_cb_solid(*x, **{'color':_WHITE})),
- ('grid', lambda *x: pattern_cb_grid(*x, **{'color':_GREEN}))]
+ ('solid red', lambda *x: pattern_cb_solid(*x, **{'color':ful.RED})),
+ ('solid green', lambda *x: pattern_cb_solid(*x, **{'color':ful.GREEN})),
+ ('solid blue', lambda *x: pattern_cb_solid(*x, **{'color':ful.BLUE})),
+ ('solid white', lambda *x: pattern_cb_solid(*x, **{'color':ful.WHITE})),
+ ('grid', lambda *x: pattern_cb_grid(*x, **{'color':ful.GREEN}))]
class factory_Display(test.test):
@@ -105,7 +81,7 @@ class factory_Display(test.test):
return
self._current_pattern = self._pattern_queue.pop()
name, cb_fn = self._current_pattern
- self._status_map[name] = _ACTIVE
+ self._status_map[name] = ful.ACTIVE
self._current_pattern_shown = False
def key_press_callback(self, widget, event):
@@ -121,28 +97,27 @@ class factory_Display(test.test):
self._fs_window = None
self._current_pattern_shown = True
elif event.keyval == gtk.keysyms.Tab and self._current_pattern_shown:
- self._status_map[pattern_name] = _FAILED
+ self._status_map[pattern_name] = ful.FAILED
self.goto_next_pattern()
elif event.keyval == gtk.keysyms.Return and self._current_pattern_shown:
- self._status_map[pattern_name] = _PASSED
+ self._status_map[pattern_name] = ful.PASSED
self.goto_next_pattern()
elif event.keyval == ord('Q'):
- factory_test.XXX_log('factory_Display exiting...')
gtk.main_quit()
else:
- factory_test.test_switch_on_trigger(event)
+ self._ft_state.exit_on_trigger(event)
self._test_widget.queue_draw()
return True
def label_status_expose(self, widget, event, name=None):
status = self._status_map[name]
widget.set_text(status)
- widget.modify_fg(gtk.STATE_NORMAL, _LABEL_COLORS[status])
+ widget.modify_fg(gtk.STATE_NORMAL, ful.LABEL_COLORS[status])
def make_pattern_label_box(self, name):
eb = gtk.EventBox()
- eb.modify_bg(gtk.STATE_NORMAL, _BLACK)
- label_status = gtk.Label(_UNTESTED)
+ eb.modify_bg(gtk.STATE_NORMAL, ful.BLACK)
+ label_status = gtk.Label(ful.UNTESTED)
label_status.set_size_request(*_LABEL_STATUS_SIZE)
label_status.set_alignment(0, 0.5)
label_status.modify_font(_LABEL_STATUS_FONT)
@@ -170,21 +145,23 @@ class factory_Display(test.test):
window.connect('key-release-event', self.key_release_callback)
window.add_events(gtk.gdk.KEY_RELEASE_MASK)
- def run_once(self, test_widget_size=None, trigger_set=None,
+ def run_once(self,
+ test_widget_size=None,
+ trigger_set=None,
result_file_path=None):
- factory_test.XXX_log('factory_Display')
+ factory.log('%s run_once' % self.__class__)
xset_status = os.system('xset r off')
- xmm_status = os.system('xmodmap -e "clear Lock"')
- if xset_status or xmm_status:
- raise TestFail('ERROR: disabling key repeat or caps lock')
+ if xset_status:
+ raise TestFail('ERROR: disabling key repeat')
- factory_test.init(trigger_set=trigger_set,
- result_file_path=result_file_path)
+ self._ft_state = ful.State(
+ trigger_set=trigger_set,
+ result_file_path=result_file_path)
self._pattern_queue = [x for x in reversed(_PATTERN_LIST)]
- self._status_map = dict((n, _UNTESTED) for n, f in _PATTERN_LIST)
+ self._status_map = dict((n, ful.UNTESTED) for n, f in _PATTERN_LIST)
prompt_label = gtk.Label('hold SPACE to display pattern,\n'
'TAB to fail and RETURN to pass\n')
@@ -201,7 +178,7 @@ class factory_Display(test.test):
vbox.pack_start(label_box, False, False)
test_widget = gtk.EventBox()
- test_widget.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse('black'))
+ test_widget.modify_bg(gtk.STATE_NORMAL, ful.BLACK)
test_widget.add(vbox)
self._test_widget = test_widget
@@ -209,15 +186,15 @@ class factory_Display(test.test):
self._fs_window = None
- factory_test.run_test_widget(
+ self._ft_state.run_test_widget(
test_widget=test_widget,
test_widget_size=test_widget_size,
window_registration_callback=self.register_callbacks)
failed_set = set(name for name, status in self._status_map.items()
- if status is not _PASSED)
+ if status is not ful.PASSED)
if failed_set:
raise error.TestFail('some patterns failed (%s)' %
', '.join(failed_set))
- factory_test.XXX_log('exiting factory_Display')
+ factory.log('%s run_once finished' % self.__class__)

Powered by Google App Engine
This is Rietveld 408576698