Changeset 90
- Timestamp:
- 07/01/06 10:32:59 (3 years ago)
- Files:
-
- slavetools/trunk/lib/slavetools/entrypoints.py (modified) (1 diff)
- slavetools/trunk/lib/slavetools/masterplug.py (modified) (1 diff)
- slavetools/trunk/lib/slavetools/slaveapi.py (modified) (5 diffs)
- slavetools/trunk/lib/slavetools/slaveplug.py (modified) (2 diffs)
- slavetools/trunk/setup.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
slavetools/trunk/lib/slavetools/entrypoints.py
r87 r90 1 from slavetools.slaveapi_posix import run 1 from slavetools.slaveapi_posix import run as run_slave slavetools/trunk/lib/slavetools/masterplug.py
r89 r90 1 import os,logging 2 from nose.plugins import Plugin 3 from slavetools.optionsapi import add_options 4 class MasterConfig(Plugin): 5 MASTER_OPTS = [('--master-configfile', dict( 6 default=None))] 7 LOGCHAN='masterconfig' 8 def add_options(self, parser, env=os.environ): 9 super(MasterConfig, self).add_options(parser, env) 10 add_options(parser, self.MASTER_OPTS) 11 def configure(self, options, conf): 12 super(MasterConfig, self).configure(options, conf) 13 if not self.enabled: 14 return 15 def loadTestsFromModule(self, module): 16 log=logging.getLogger(self.LOGCHAN) 17 if hasattr(module, 'wantoptions'): 18 wants,where = module.wantoptions.split('@') 19 log.info('[%s] wants options [%s] at [%s]' % (module.__name__, 20 wants, where)) 21 else: 22 log.info('[%s] does NOT want options' % (module.__name__)) 23 return [] 24 25 slavetools/trunk/lib/slavetools/slaveapi.py
r87 r90 6 6 7 7 __all__=( 8 'run_withconfig run_wrapper_withconfig '8 'run_withconfig run_wrapper_withconfig merge_common_defaults ' 9 9 'get_program_name get_log ' 10 10 'fmt_msg' … … 12 12 13 13 import os, sys, logging 14 15 from optionsapi import COMMON_OPTS, option_defaults 14 16 15 17 def get_program_name(argv=None): … … 75 77 return runner(parser.get_prog_name(), options, args, *runxargs, **runxkwargs) 76 78 79 def merge_common_defaults(options): 80 """Ensure common defaults are set.""" 81 setdefaults=[] 82 if options is None: 83 options = defaultoptions = option_defaults(None, COMMON_OPTS) 84 else: 85 defaultoptions = option_defaults(None, COMMON_OPTS) 86 for attr in dir(defaultoptions): 87 if not hasattr(options, attr): 88 setattr(options, attr, getattr(defaultoptions, attr)) 89 setdefaults.append((attr, getattr(options,attr))) 90 return options,defaultoptions,setdefaults 91 77 92 def run_wrapper_withconfig(programname, options, args, run, *runargs, **runkw): 78 93 """handles the common options … … 84 99 85 100 rcode = -1 101 options,defaultoptions,setdefaults = merge_common_defaults(options) 86 102 log = get_log(options, programname) 87 103 if options.loglevel is not None: … … 123 139 options.configfile) 124 140 conf = type('confile',(),configfile) 125 r code =run(programname, options, args, conf, *runargs, **runkw)141 return run(programname, options, args, conf, *runargs, **runkw) 126 142 finally: 127 143 os.chdir(cwd) 128 return rcode129 144 130 145 def fmt_msg(msgkey, msgfmtmap, extrafmtargs, **fmtargs): slavetools/trunk/lib/slavetools/slaveplug.py
r89 r90 270 270 # so we want to set a flag that is clear by default. 271 271 opts.append(opt) 272 elif opt in ['--directory']: 273 opts.append('='.join( 274 [opt, os.path.expanduser(value)])) 272 275 else: 273 276 opts.append('='.join([opt, str(value)])) … … 306 309 log = logging.getLogger(self.LOGCHAN) 307 310 options = self.slave_known_options 311 options.directory = os.path.expanduser(options.directory) 308 312 self.slave_progname = args[0] 309 313 cwd = os.getcwd() slavetools/trunk/setup.py
r88 r90 25 25 entry_points = { 26 26 'console_scripts': [ 27 'slavetool = slavetools.entrypoints:run ',],27 'slavetool = slavetools.entrypoints:run_slave'], 28 28 'nose.plugins':[ 29 'slaveservice = slavetools.slaveplug:SlaveService' 30 'masterconfig = slavetools.masterplug:MasterConfig',], 29 'slaveservice = slavetools.slaveplug:SlaveService', 30 #'masterconfig = slavetools.masterplug:MasterConfig', 31 ], 31 32 }, 32 33 data_files = find_data(