2010-05-22 7 views
1

Je peux remplacer plusieurs paramètres de configuration en utilisant le nose-testconfig plugin uniquement si je transmets les paramètres prioritaires sur la ligne de commande, par ex.Impossible de passer plusieurs paramètres de remplacement en utilisant nose-testconfig 0.6 plugin in nosetests

nosetests -c nose.cfg -s --tc=jack.env1:asl --tc=server2.env2:abc 

Mais quand je définis la même chose à l'intérieur nose.cfg, que seule la valeur du dernier paramètre est modifié. par exemple.

tc = server2.env2:abc 
tc = jack.env1:asl 

J'ai vérifié le code du plugin. ça à l'air bien pour moi. Voici une partie du code du plugin:

parser.add_option(

     "--tc", action="append", 
     dest="overrides", 
     default = [], 
     help="Option:Value specific overrides.") 

configure:

if options.overrides: 
     self.overrides = [] 
     overrides = tolist(options.overrides) 
     for override in overrides: 
      keys, val = override.split(":") 
      if options.exact: 
       config[keys] = val 
      else:      
       ns = ''.join(['["%s"]' % i for i in keys.split(".") ]) 
       # BUG: Breaks if the config value you're overriding is not 
       # defined in the configuration file already. TBD 
       exec('config%s = "%s"' % (ns, val)) 

Faites-moi savoir si quelqu'un a la moindre idée.

+0

Pouvez-vous montrer à quoi ressemble votre fichier de configuration? –

Répondre

0

S'il vous plaît trouver mon fichier nose.cfg ci-dessous:

[nosetests] 
verbosity=2 

tc-file = setup_config.py 

tc-format = python 

all-modules = True 

tc = server2.env2:abc 

tc = jack.env1:asl 

et mon fichier de configuration ressemble à:

[server2] 

env2=server2 

[jack] 

env1=server1 

Dans l'exemple ci-dessus seulement jack.env1: AS1 la valeur est effective (c'est-à-dire dernière valeur). Mais quand je spécifie le même sur la ligne de commande que les deux valeurs sont efficaces