OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium 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 import logging | 6 import logging |
7 import os | 7 import os |
8 import sys | 8 import sys |
9 | 9 |
10 import pyauto_functional # Must be imported before pyauto | 10 import pyauto_functional # Must be imported before pyauto |
11 import pyauto | 11 import pyauto |
12 | 12 |
13 | 13 |
14 class PluginsCheck(pyauto.PyUITest): | 14 class PluginsCheck(pyauto.PyUITest): |
15 """TestCase for Plugins.""" | 15 """TestCase for Plugins.""" |
16 | 16 |
17 def _ReadPluginsList(self): | 17 def _ReadPluginsList(self, plugins_list_file): |
18 """Read test plugins list from a file based on the test platform | 18 """Read test plugins list from a file based on the test platform |
19 | 19 |
20 File contains list of plugins like, | 20 File contains list of plugins like, |
21 [ | 21 [ |
22 {u'name':'Shockwave Flash', u'enabled':True, u'version':u'10.2.154.9'} | 22 {u'name':'Shockwave Flash', u'enabled':True, u'version':u'10.2.154.9'} |
23 {u'name':'Chrome PDF Viewer', u'enabled':True, u'version':u''} | 23 {u'name':'Chrome PDF Viewer', u'enabled':True, u'version':u''} |
24 ... | 24 ... |
25 ] | 25 ] |
26 """ | 26 """ |
27 file_path = os.path.join(self.DataDir(), 'plugins_list.txt') | 27 file_path = os.path.join(self.DataDir(), plugins_list_file) |
28 return self.EvalDataFrom(file_path) | 28 return self.EvalDataFrom(file_path) |
29 | 29 |
30 def testPluginsStates(self): | 30 def testPluginsStates(self): |
31 """Verify plugins' versions and states.""" | 31 """Verify plugins' versions and states.""" |
32 if self.IsLinux(): | 32 if self.IsWin(): |
| 33 plugins_list = self._ReadPluginsList('win_plugins_list.txt') |
| 34 elif self.IsMac(): |
| 35 plugins_list = self._ReadPluginsList('mac_plugins_list.txt') |
| 36 elif self.IsLinux(): |
33 # TODO(rohitbm) | 37 # TODO(rohitbm) |
34 # Add plugins_check support for Linux | 38 # Add plugins_check support for Linux |
35 logging.debug('Not performing plugins check on linux') | 39 logging.debug('Not performing plugins check on linux') |
36 return | 40 return |
| 41 |
37 browser_plugins_list = self.GetPluginsInfo().Plugins() | 42 browser_plugins_list = self.GetPluginsInfo().Plugins() |
38 version_sep = '.' | 43 for plugin in plugins_list: |
39 if self.IsWin(): | |
40 # Windows flash plugin version uses |,| instead of |.| | |
41 version_sep = ',' | |
42 for plugin in self._ReadPluginsList(): | |
43 test_plugin = [x['name'] for x in browser_plugins_list \ | 44 test_plugin = [x['name'] for x in browser_plugins_list \ |
44 if x['version'] == plugin['version'].replace('.', version_sep) and \ | 45 if x['version'] == plugin['version'] and \ |
45 str(x['enabled']) == plugin['enabled'] and \ | 46 str(x['enabled']) == plugin['enabled'] and \ |
46 x['name'] == plugin['name']] | 47 x['name'] == plugin['name']] |
47 plugin_info = '[ NAME : %s, VERSION: %s, ENABLED: %s]' % \ | 48 plugin_info = '[ NAME : %s, VERSION: %s, ENABLED: %s]' % \ |
48 (plugin['name'], plugin['version'], plugin['enabled']) | 49 (plugin['name'], plugin['version'], plugin['enabled']) |
49 logging.debug(plugin_info) | 50 logging.debug(plugin_info) |
50 self.assertTrue(test_plugin, '%s - Failed to match with plugins' | 51 self.assertTrue(test_plugin, '%s - Failed to match with plugins' |
51 ' available in the browser plugins list' % plugin_info) | 52 ' available in the browser plugins list' % plugin_info) |
52 | 53 |
53 | 54 |
54 if __name__ == '__main__': | 55 if __name__ == '__main__': |
55 pyauto_functional.Main() | 56 pyauto_functional.Main() |
OLD | NEW |