| OLD | NEW |
| 1 # -*- coding: utf-8 -*- | 1 # -*- coding: utf-8 -*- |
| 2 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 2 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 | 6 |
| 7 # DESCRIPTION : factory test of ambient light sensor. Test that ALS reacts to | 7 # DESCRIPTION : factory test of ambient light sensor. Test that ALS reacts to |
| 8 # both darkening by covering w/ finger as well as brightening. | 8 # both darkening by covering w/ finger as well as brightening. |
| 9 # Roughly speaking: | 9 # Roughly speaking: |
| 10 # indoor ambient lighting: 20-100 | 10 # indoor ambient lighting: 20-100 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 return self.buf[0] | 101 return self.buf[0] |
| 102 else: | 102 else: |
| 103 error.ValueError('Illegal value %s for type' % type) | 103 error.ValueError('Illegal value %s for type' % type) |
| 104 | 104 |
| 105 class factory_LightSensor(test.test): | 105 class factory_LightSensor(test.test): |
| 106 version = 1 | 106 version = 1 |
| 107 | 107 |
| 108 def key_release_callback(self, widget, event): | 108 def key_release_callback(self, widget, event): |
| 109 if event.keyval == ord('Q'): | 109 if event.keyval == ord('Q'): |
| 110 gtk.main_quit() | 110 gtk.main_quit() |
| 111 else: | |
| 112 self._ft_state.exit_on_trigger(event) | |
| 113 return True | 111 return True |
| 114 | 112 |
| 115 def timer_event(self, countdown_label): | 113 def timer_event(self, countdown_label): |
| 116 val = self._als.read('mean',samples=5, delay=0) | 114 val = self._als.read('mean',samples=5, delay=0) |
| 117 #factory.log("avg_val = %d" % val) | 115 #factory.log("avg_val = %d" % val) |
| 118 | 116 |
| 119 passed = 0 | 117 passed = 0 |
| 120 for name in _SUBTEST_LIST: | 118 for name in _SUBTEST_LIST: |
| 121 cfg = _SUBTEST_CFG[name] | 119 cfg = _SUBTEST_CFG[name] |
| 122 if 'max' in cfg: | 120 if 'max' in cfg: |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 hbox.pack_end(label_sep, False, False) | 163 hbox.pack_end(label_sep, False, False) |
| 166 hbox.pack_end(label_en, False, False) | 164 hbox.pack_end(label_en, False, False) |
| 167 eb.add(hbox) | 165 eb.add(hbox) |
| 168 return eb | 166 return eb |
| 169 | 167 |
| 170 def register_callbacks(self, window): | 168 def register_callbacks(self, window): |
| 171 window.connect('key-release-event', self.key_release_callback) | 169 window.connect('key-release-event', self.key_release_callback) |
| 172 window.add_events(gtk.gdk.KEY_RELEASE_MASK) | 170 window.add_events(gtk.gdk.KEY_RELEASE_MASK) |
| 173 | 171 |
| 174 def run_once(self, | 172 def run_once(self, |
| 175 test_widget_size=None, | |
| 176 trigger_set=None, | |
| 177 lux_min=None, | 173 lux_min=None, |
| 178 lux_max=None, | 174 lux_max=None, |
| 179 timeout=60, | 175 timeout=60): |
| 180 ): | 176 |
| 181 factory.log('%s run_once' % self.__class__) | 177 factory.log('%s run_once' % self.__class__) |
| 182 | 178 |
| 183 self._test_widget_size=test_widget_size | |
| 184 self._als = tsl2563() | 179 self._als = tsl2563() |
| 185 self._deadline = time.time() + timeout | 180 self._deadline = time.time() + timeout |
| 186 | 181 |
| 187 self._ft_state = ful.State(trigger_set=trigger_set) | |
| 188 | |
| 189 self._subtest_queue = [x for x in reversed(_SUBTEST_LIST)] | 182 self._subtest_queue = [x for x in reversed(_SUBTEST_LIST)] |
| 190 self._status_map = dict((n, ful.ACTIVE) for n in _SUBTEST_LIST) | 183 self._status_map = dict((n, ful.ACTIVE) for n in _SUBTEST_LIST) |
| 191 | 184 |
| 192 vbox = gtk.VBox() | 185 vbox = gtk.VBox() |
| 193 prompt_label = ful.make_label('Cover Sensor with Finger\n' + \ | 186 prompt_label = ful.make_label( |
| 194 '请遮蔽光传感器\n\n' + \ | 187 'Cover Sensor with Finger\n' + '请遮蔽光传感器\n\n' + |
| 195 'Shine flashlight at Sensor\n' + \ | 188 'Shine flashlight at Sensor\n' + '请以灯光照射光传感器\n\n', |
| 196 '请以灯光照射光传感器\n\n', fg=ful.WHITE) | 189 fg=ful.WHITE) |
| 197 vbox.pack_start(prompt_label, False, False) | 190 vbox.pack_start(prompt_label, False, False) |
| 198 | 191 |
| 199 for name in _SUBTEST_LIST: | 192 for name in _SUBTEST_LIST: |
| 200 label_box = self.make_subtest_label_box(name) | 193 label_box = self.make_subtest_label_box(name) |
| 201 vbox.pack_start(label_box, False, False) | 194 vbox.pack_start(label_box, False, False) |
| 202 cfg = _SUBTEST_CFG[name] | 195 cfg = _SUBTEST_CFG[name] |
| 203 # change defaults per factory setup | 196 # change defaults per factory setup |
| 204 if 'max' in cfg and lux_max is not None: | 197 if 'max' in cfg and lux_max is not None: |
| 205 cfg['max'] = lux_max | 198 cfg['max'] = lux_max |
| 206 if 'min' in cfg and lux_min is not None: | 199 if 'min' in cfg and lux_min is not None: |
| 207 cfg['min'] = lux_min | 200 cfg['min'] = lux_min |
| 208 | 201 |
| 209 countdown_widget, countdown_label = ful.make_countdown_widget() | 202 countdown_widget, countdown_label = ful.make_countdown_widget() |
| 210 vbox.pack_start(countdown_widget, False, False) | 203 vbox.pack_start(countdown_widget, False, False) |
| 211 gobject.timeout_add(200, self.timer_event, countdown_label) | 204 gobject.timeout_add(200, self.timer_event, countdown_label) |
| 212 | 205 |
| 213 self._test_widget = vbox | 206 self._test_widget = vbox |
| 214 self._ft_state.run_test_widget( | 207 ful.run_test_widget(self.job, vbox, |
| 215 test_widget=vbox, | |
| 216 test_widget_size=test_widget_size, | |
| 217 window_registration_callback=self.register_callbacks) | 208 window_registration_callback=self.register_callbacks) |
| 218 | 209 |
| 219 failed_set = set(name for name, status in self._status_map.items() | 210 failed_set = set(name for name, status in self._status_map.items() |
| 220 if status is not ful.PASSED) | 211 if status is not ful.PASSED) |
| 221 if failed_set: | 212 if failed_set: |
| 222 raise error.TestFail('some subtests failed (%s)' % | 213 raise error.TestFail('some subtests failed (%s)' % |
| 223 ', '.join(failed_set)) | 214 ', '.join(failed_set)) |
| 224 | 215 |
| 225 factory.log('%s run_once finished' % self.__class__) | 216 factory.log('%s run_once finished' % self.__class__) |
| OLD | NEW |