OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import logging | 5 import logging |
6 import os | 6 import os |
7 import unittest | 7 import unittest |
8 | 8 |
9 from telemetry.core import browser_credentials | 9 from telemetry.core import browser_credentials |
10 from telemetry.core import discover | 10 from telemetry.core import discover |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 for page in page_set.pages: | 60 for page in page_set.pages: |
61 self.CheckTypesOfPageBasicAttributes(page) | 61 self.CheckTypesOfPageBasicAttributes(page) |
62 | 62 |
63 def CheckTypesOfPageSetBasicAttributes(self, page_set): | 63 def CheckTypesOfPageSetBasicAttributes(self, page_set): |
64 if page_set.file_path is not None: | 64 if page_set.file_path is not None: |
65 self.assertTrue( | 65 self.assertTrue( |
66 isinstance(page_set.file_path, str), | 66 isinstance(page_set.file_path, str), |
67 msg='page_set %\'s file_path must have type string') | 67 msg='page_set %\'s file_path must have type string') |
68 | 68 |
69 self.assertTrue( | 69 self.assertTrue( |
70 isinstance(page_set.description, str), | |
71 msg='page_set\'s description must have type string') | |
72 | |
73 self.assertTrue( | |
74 isinstance(page_set.archive_data_file, str), | 70 isinstance(page_set.archive_data_file, str), |
75 msg='page_set\'s archive_data_file path must have type string') | 71 msg='page_set\'s archive_data_file path must have type string') |
76 | 72 |
77 if page_set.user_agent_type is not None: | 73 if page_set.user_agent_type is not None: |
78 self.assertTrue( | 74 self.assertTrue( |
79 isinstance(page_set.user_agent_type, str), | 75 isinstance(page_set.user_agent_type, str), |
80 msg='page_set\'s user_agent_type must have type string') | 76 msg='page_set\'s user_agent_type must have type string') |
81 | 77 |
82 self.assertTrue( | 78 self.assertTrue( |
83 isinstance(page_set.make_javascript_deterministic, bool), | 79 isinstance(page_set.make_javascript_deterministic, bool), |
84 msg='page_set\'s make_javascript_deterministic must have type bool') | 80 msg='page_set\'s make_javascript_deterministic must have type bool') |
85 | 81 |
86 self.assertTrue( | 82 self.assertTrue( |
87 isinstance(page_set.startup_url, str), | 83 isinstance(page_set.startup_url, str), |
88 msg='page_set\'s startup_url must have type string') | 84 msg='page_set\'s startup_url must have type string') |
89 | 85 |
90 def CheckTypesOfPageBasicAttributes(self, page): | 86 def CheckTypesOfPageBasicAttributes(self, page): |
91 self.assertTrue( | 87 self.assertTrue( |
92 isinstance(page.url, str), | 88 isinstance(page.url, str), |
93 msg='page %s \'s url must have type string' % page.display_name) | 89 msg='page %s \'s url must have type string' % page.display_name) |
94 self.assertTrue( | 90 self.assertTrue( |
95 isinstance(page.page_set, page_set_module.PageSet), | 91 isinstance(page.page_set, page_set_module.PageSet), |
96 msg='page %s \'s page_set must be an instance of ' | 92 msg='page %s \'s page_set must be an instance of ' |
97 'telemetry.page.page_set.PageSet' % page.display_name) | 93 'telemetry.page.page_set.PageSet' % page.display_name) |
98 self.assertTrue( | 94 self.assertTrue( |
99 isinstance(page.name, str), | 95 isinstance(page.name, str), |
100 msg='page %s \'s name field must have type string' % page.display_name) | 96 msg='page %s \'s name field must have type string' % page.display_name) |
101 | 97 |
102 def RunSmokeTest(self, page_sets_dir): | 98 def RunSmokeTest(self, page_sets_dir, top_level_dir): |
103 """Run smoke test on all page sets in page_sets_dir. | 99 """Run smoke test on all page sets in page_sets_dir. |
104 | 100 |
105 Subclass of PageSetSmokeTest is supposed to call this in some test | 101 Subclass of PageSetSmokeTest is supposed to call this in some test |
106 method to run smoke test. | 102 method to run smoke test. |
107 """ | 103 """ |
108 page_sets = discover.GetAllPageSetFilenames(page_sets_dir) | 104 page_sets = discover.DiscoverClasses(page_sets_dir, top_level_dir, |
109 | 105 page_set_module.PageSet).values() |
110 for page_set_path in page_sets: | 106 for page_set_class in page_sets: |
111 page_set = page_set_module.PageSet.FromFile(page_set_path) | 107 page_set = page_set_class() |
112 logging.info('Testing %s', page_set.file_path) | 108 logging.info('Testing %s', page_set.file_path) |
113 self.CheckArchive(page_set) | 109 self.CheckArchive(page_set) |
114 self.CheckCredentials(page_set) | 110 self.CheckCredentials(page_set) |
115 self.CheckTypes(page_set) | 111 self.CheckTypes(page_set) |
OLD | NEW |