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

Side by Side Diff: server/site_host_attributes.py

Issue 3114016: Added full E2E kcrash testing (Closed) Base URL: ssh://git@chromiumos-git//autotest.git
Patch Set: fixes 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium OS 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, os, utils 5 import logging, os, utils
6 6
7 # Host attributes are specified a strings with the format: 7 # Host attributes are specified a strings with the format:
8 # <key>{,<value>}? 8 # <key>{,<value>}?
9 # 9 #
10 # A machine may have a list of strings for attributes like: 10 # A machine may have a list of strings for attributes like:
(...skipping 17 matching lines...) Expand all
28 # host_attributes.unknown_attribute => raise KeyError 28 # host_attributes.unknown_attribute => raise KeyError
29 # 29 #
30 # Machine attributes can be specified in two ways. 30 # Machine attributes can be specified in two ways.
31 # 31 #
32 # If you create private_host_attributes_config.py and 32 # If you create private_host_attributes_config.py and
33 # private_host_attributes there, we will use it when possible instead of 33 # private_host_attributes there, we will use it when possible instead of
34 # using the server front-end. 34 # using the server front-end.
35 # 35 #
36 # Example configuration: 36 # Example configuration:
37 # private_host_attributes = { 37 # private_host_attributes = {
38 # "myserver": ["has_80211n,True", 38 # "mydevice": ["has_80211n,True",
39 # "has_resume_bug,False"] 39 # "has_resume_bug,False"]
40 # } 40 # }
41 # 41 #
42 # We also consult the AFE database for its labels which are all treated 42 # We also consult the AFE database for its labels which are all treated
43 # as host attribute strings defined above. Illegal strings are ignored. 43 # as host attribute strings defined above. Illegal strings are ignored.
44 # 44 #
45 45
46 private_host_attributes = utils.import_site_symbol( 46 private_host_attributes = utils.import_site_symbol(
47 __file__, 47 __file__,
48 'autotest_lib.server.private_host_attributes_config', 48 'autotest_lib.server.private_host_attributes_config',
49 'private_host_attributes', dummy={}) 49 'private_host_attributes', dummy={})
50 50
51 try: 51 try:
52 settings = 'autotest_lib.frontend.settings' 52 settings = 'autotest_lib.frontend.settings'
53 os.environ['DJANGO_SETTINGS_MODULE'] = settings 53 os.environ['DJANGO_SETTINGS_MODULE'] = settings
54 from autotest_lib.frontend.afe import models 54 from autotest_lib.frontend.afe import models
55 has_models = True 55 has_models = True
56 except ImportError, e: 56 except ImportError, e:
57 has_models = False 57 has_models = False
58 58
59 59
60 _DEFAULT_ATTRIBUTES = [ 60 _DEFAULT_ATTRIBUTES = [
61 'has_3g,False',
61 'has_80211n,True', 62 'has_80211n,True',
62 'has_bluetooth,True', 63 'has_bluetooth,True',
63 'has_chromeos_firmware,False', 64 'has_chromeos_firmware,False',
64 'has_resume_bug,False', 65 'has_resume_bug,False',
65 'has_ssd,True', 66 'has_ssd,True',
66 'has_3g,False', 67 'has_working_kcrash,False'
67 ] 68 ]
68 69
69 70
70 class HostAttributes(object): 71 class HostAttributes(object):
71 72
72 73
73 def __init__(self, host): 74 def __init__(self, host):
74 """ 75 """
75 Create an instance of HostAttribute for the given hostname. 76 Create an instance of HostAttribute for the given hostname.
76 We look up the host in both the hardcoded configuration and 77 We look up the host in both the hardcoded configuration and
(...skipping 19 matching lines...) Expand all
96 if value == 'True': 97 if value == 'True':
97 value = True 98 value = True
98 elif value == 'False': 99 elif value == 'False':
99 value = False 100 value = False
100 elif splitnames[1] == 'string' and len(splitnames) > 2: 101 elif splitnames[1] == 'string' and len(splitnames) > 2:
101 value = ','.join(splitnames[2:]) 102 value = ','.join(splitnames[2:])
102 else: 103 else:
103 logging.info('Non-attribute string "%s" is ignored' % attribute) 104 logging.info('Non-attribute string "%s" is ignored' % attribute)
104 continue 105 continue
105 setattr(self, splitnames[0], value) 106 setattr(self, splitnames[0], value)
OLDNEW
« no previous file with comments | « client/site_tests/logging_UserCrash/logging_UserCrash.py ('k') | server/site_tests/logging_KernelCrashServer/control » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698