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

Side by Side Diff: client/site_tests/factory_Camera/factory_Camera.py

Issue 3226005: Refactory UI to grab shortcut keys, and tests to not look for triggers. (Closed) Base URL: http://git.chromium.org/git/autotest.git
Patch Set: Created 10 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 # 2 #
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 7
8 # DESCRIPTION : 8 # DESCRIPTION :
9 # 9 #
10 # This test looks in "/dev/video0" for a v4l2 video capture device, 10 # This test looks in "/dev/video0" for a v4l2 video capture device,
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 self.ledfail = True 99 self.ledfail = True
100 self.ledstats >>= 1 100 self.ledstats >>= 1
101 if self.stage == self.led_rounds: 101 if self.stage == self.led_rounds:
102 self.fail = False 102 self.fail = False
103 gtk.main_quit() 103 gtk.main_quit()
104 self.stage += 1 104 self.stage += 1
105 if self.ledstats & 1: 105 if self.ledstats & 1:
106 self.dev.capture_mmap_start() 106 self.dev.capture_mmap_start()
107 self.label.hide() 107 self.label.hide()
108 glib.timeout_add(1000, lambda *x: self.label.show()) 108 glib.timeout_add(1000, lambda *x: self.label.show())
109 109 return True
110 self.ft_state.exit_on_trigger(event)
111 return
112 110
113 def register_callbacks(self, w): 111 def register_callbacks(self, w):
114 w.connect('key-release-event', self.key_release_callback) 112 w.connect('key-release-event', self.key_release_callback)
115 w.add_events(gdk.KEY_RELEASE_MASK) 113 w.add_events(gdk.KEY_RELEASE_MASK)
116 114
117 def run_once(self, test_widget_size=None, trigger_set=None, led_rounds=5): 115 def run_once(self,
116 led_rounds=5):
118 '''Run the camera test 117 '''Run the camera test
119 118
120 Parameter 119 Parameter
121 led_rounds: 0 to disable the LED test, 120 led_rounds: 0 to disable the LED test,
122 1 to check if the LED turns on, 121 1 to check if the LED turns on,
123 2 or higher to have multiple random turn on/off 122 2 or higher to have multiple random turn on/off
124 (at least one on round and one off round is guranteed) 123 (at least one on round and one off round is guranteed)
125 ''' 124 '''
126 factory.log('%s run_once' % self.__class__) 125 factory.log('%s run_once' % self.__class__)
127 126
128 self.fail = True 127 self.fail = True
129 self.ledfail = False 128 self.ledfail = False
130 self.led_rounds = led_rounds 129 self.led_rounds = led_rounds
131 self.ledstats = 0 130 self.ledstats = 0
132 if led_rounds == 1: 131 if led_rounds == 1:
133 # always on if only one round 132 # always on if only one round
134 self.ledstats = 1 133 self.ledstats = 1
135 elif led_rounds > 1: 134 elif led_rounds > 1:
136 # ensure one on round and one off round 135 # ensure one on round and one off round
137 self.ledstats = randrange(2 ** led_rounds - 2) + 1 136 self.ledstats = randrange(2 ** led_rounds - 2) + 1
138 self.stage = 0 137 self.stage = 0
139 138
140 self.ft_state = ful.State(trigger_set)
141
142 self.label = label = gtk.Label(MESSAGE_STR) 139 self.label = label = gtk.Label(MESSAGE_STR)
143 label.modify_font(LABEL_FONT) 140 label.modify_font(LABEL_FONT)
144 label.modify_fg(gtk.STATE_NORMAL, gdk.color_parse('light green')) 141 label.modify_fg(gtk.STATE_NORMAL, gdk.color_parse('light green'))
145 142
146 test_widget = gtk.VBox() 143 test_widget = gtk.VBox()
147 test_widget.modify_bg(gtk.STATE_NORMAL, gdk.color_parse('black')) 144 test_widget.modify_bg(gtk.STATE_NORMAL, gdk.color_parse('black'))
148 test_widget.add(label) 145 test_widget.add(label)
149 self.test_widget = test_widget 146 self.test_widget = test_widget
150 147
151 self.img = None 148 self.img = None
(...skipping 19 matching lines...) Expand all
171 self.pixbuf = gdk.Pixbuf(gdk.COLORSPACE_RGB, False, 8, 168 self.pixbuf = gdk.Pixbuf(gdk.COLORSPACE_RGB, False, 8,
172 width, height) 169 width, height)
173 self.pixels = self.pixbuf.get_pixels_array() 170 self.pixels = self.pixbuf.get_pixels_array()
174 self.img = gtk.image_new_from_pixbuf(self.pixbuf) 171 self.img = gtk.image_new_from_pixbuf(self.pixbuf)
175 self.test_widget.add(self.img) 172 self.test_widget.add(self.img)
176 self.img.show() 173 self.img.show()
177 174
178 dev.capture_mmap_prepare(PREFERRED_BUFFER_COUNT, 2) 175 dev.capture_mmap_prepare(PREFERRED_BUFFER_COUNT, 2)
179 dev.capture_mmap_start() 176 dev.capture_mmap_start()
180 177
181 self.ft_state.run_test_widget( 178 ful.run_test_widget(self.job, test_widget,
182 test_widget=test_widget,
183 test_widget_size=test_widget_size,
184 window_registration_callback=self.register_callbacks) 179 window_registration_callback=self.register_callbacks)
185 180
186 # we don't call capture_mmap_stop here, 181 # we don't call capture_mmap_stop here,
187 # it will be called before returning from main loop. 182 # it will be called before returning from main loop.
188 dev.capture_mmap_finish() 183 dev.capture_mmap_finish()
189 184
190 if self.fail: 185 if self.fail:
191 raise error.TestFail('Camera test failed by user indication\n' \ 186 raise error.TestFail('Camera test failed by user indication\n' \
192 '品管人員懷疑攝影鏡頭故障,請檢修') 187 '品管人員懷疑攝影鏡頭故障,請檢修')
193 if self.ledfail: 188 if self.ledfail:
194 raise error.TestFail('Camera LED test failed\n' \ 189 raise error.TestFail('Camera LED test failed\n' \
195 '攝影鏡頭 LED 測試不通過,請檢修') 190 '攝影鏡頭 LED 測試不通過,請檢修')
196 191
197 factory.log('%s run_once finished' % self.__class__) 192 factory.log('%s run_once finished' % self.__class__)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698