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

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

Issue 3038034: add shift key (Shift_L) LED to factory_Leds test (Closed) Base URL: ssh://git@chromiumos-git/autotest.git
Patch Set: tammo's feedback; fix orig png had oval cut-out Created 10 years, 4 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
« no previous file with comments | « no previous file | client/site_tests/factory_Leds/src/shf.png » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/site_tests/factory_Leds/factory_Leds.py
diff --git a/client/site_tests/factory_Leds/factory_Leds.py b/client/site_tests/factory_Leds/factory_Leds.py
index fc5ee4903f2b9919db3aa77d94e61f2234e76e87..c9cb14312b2e2b924a7e8a3776535731c36d27db 100644
--- a/client/site_tests/factory_Leds/factory_Leds.py
+++ b/client/site_tests/factory_Leds/factory_Leds.py
@@ -43,6 +43,7 @@ _LED_COUNT = 3
_LED_Y_OFFSET = 10
_LED_X_OFFSETS = [10, 80, 150]
_LED_RADIUS = 18
+_SHFL_XYR = {'x':166,'y':20, 'r':9}
def run_led_ctl(led_ctl_path, args):
@@ -71,7 +72,8 @@ def pattern_orange_on(led_ctl_fn):
_PATTERN_LIST = [
('all off', pattern_all_off),
('blue on', pattern_blue_on),
- ('orange on', pattern_orange_on)]
+ ('orange on', pattern_orange_on),
+ ('shift led', False)]
class factory_Leds(test.test):
@@ -84,10 +86,29 @@ class factory_Leds(test.test):
return
self._current_pattern, cb_fn = self._pattern_queue.pop()
self._status_map[self._current_pattern] = ful.ACTIVE
- led_ctl_fn = lambda args: run_led_ctl(self._led_ctl_path, args)
- self._led_colors = cb_fn(led_ctl_fn)
+ if cb_fn:
+ led_ctl_fn = lambda args: run_led_ctl(self._led_ctl_path, args)
+ self._led_colors = cb_fn(led_ctl_fn)
+ else:
+ self._pattern_da.connect('expose_event', self.shift_led_expose)
self._pattern_da.queue_draw()
+ def shift_led_expose(self, widget, event):
+ context = widget.window.cairo_create()
+ context.set_source_surface(self._shf_image, 0, 0)
+ context.paint()
+
+ if self._shift_cnt is 2:
+ if self._shift_color is ful.BLACK:
+ self._shift_color = ful.BLUE
+ else:
+ self._shift_color = ful.BLACK
+ self._shift_cnt = 0
+ context.set_source_color(self._shift_color)
+ context.arc(_SHFL_XYR['x'], _SHFL_XYR['y'], _SHFL_XYR['r'],
+ 0.0, 2.0 * pi)
+ context.fill()
+
def pattern_expose(self, widget, event):
context = widget.window.cairo_create()
context.set_source_surface(self._leds_image, 0, 0)
@@ -141,6 +162,10 @@ class factory_Leds(test.test):
elif event.keyval == gtk.keysyms.Return:
self._status_map[self._current_pattern] = ful.PASSED
self.goto_next_pattern()
+ elif self._current_pattern.startswith("shift") and \
+ event.keyval == gtk.keysyms.Shift_L:
+ self._shift_cnt += 1
+ self._pattern_da.queue_draw()
else:
self._ft_state.exit_on_trigger(event)
return True
@@ -160,11 +185,17 @@ class factory_Leds(test.test):
self._led_ctl_path = led_ctl_path
+ self._shift_color = ful.BLACK
+ self._shift_cnt = 0
+
os.chdir(self.srcdir)
image = cairo.ImageSurface.create_from_png('leds.png')
image_size = (image.get_width(), image.get_height())
self._leds_image = image
+ image = cairo.ImageSurface.create_from_png('shf.png')
+ self._shf_image = image
+
self._pattern_queue = [x for x in reversed(_PATTERN_LIST)]
self._status_map = dict((n, ful.UNTESTED) for n, f in _PATTERN_LIST)
« no previous file with comments | « no previous file | client/site_tests/factory_Leds/src/shf.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698