def test_envmunge(): cfgs = glob('%s/*.cfg'%example_dir) print ('Using config files: %s' % str(cfgs)) suite = deconf.load(cfgs, formatter = deconf.example_formatter) pp.pprint(suite) cfg = FakeCfg() envmunge.decompose(cfg, suite) pp.pprint(cfg.env.__dict__)
def test_envmunge(): cfgs = glob(os.path.join(common.example_dir,'simple','*.cfg')) assert cfgs print ('Using config files: %s' % str(cfgs)) suite = deconf.load(cfgs) pp.pprint(suite) cfg = FakeCfg() envmunge.decompose(cfg, suite) pp.pprint(cfg.env.__dict__)
def test_export(): 'Test the export_ mechanism' suite = deconf.load(os.path.join(example_dir, 'test_envmunge.cfg'), formatter = deconf.example_formatter) cfg = FakeCfg() envmunge.decompose(cfg, suite) for pkg,env in cfg.__dict__.items(): if pkg == 'env': continue me = env.__dict__['munged_env'] for var in ['PATH','ENVMUNGE','GROUP','PACKAGE']: print ('PKGENV:', pkg, var, me.get(var,"(not set)"))
def test_envmunger(): cfgs = glob('%s/test_envmunge.cfg'%example_dir) print ('Using config files: %s' % str(cfgs)) suite = deconf.load(cfgs, formatter = deconf.example_formatter) pp.pprint(suite) cfg = FakeCfg() envmunge.decompose(cfg, suite) newenv = cfg.env.envmunger(os.environ) for var,newv in sorted(newenv.items()): oldv = os.environ.get(var,'') if newv == oldv: continue print ('%s: "%s" --> "%s"' % (var, oldv, newv))
def test_load_config_file(): 'Test reading in some real config files' t1 = time.time() top = deconf.load(config_file, **fake_worch_data) t2 = time.time() print 'Created in %.3f' % (t2-t1) def dump_node(n): print n for k,v in n.local_items(): print '%s = %s' % (k,v) print ngroups = 0 npackages = 0 for gname in string2list(top['groups']): g = top.owner().node(gname) for gk,gv in g.items(): ngroups += 1 for pname in string2list(g['packages']): p = top.owner().node(pname) for pk,pv in p.items(): npackages += 1 t3 = time.time() print 'Iterated in %.3f (#g=%d, #p=%d)' % (t3-t2, ngroups, npackages) ngroups = 0 npackages = 0 for gname in string2list(top['groups']): g = top.owner().node(gname) for gk,gv in g.items(): ngroups += 1 for pname in string2list(g['packages']): p = top.owner().node(pname) for pk,pv in p.items(): npackages += 1 t4 = time.time() print 'Iterated again in %.3f (#g=%d, #p=%d)' % (t4-t3, ngroups, npackages)
def test_other(): ''' Test that one package can reference another's variable ''' cfg = deconf.load('other.cfg') top = cfg.owner() print top.keys() for g in [1, 2]: grp = 'g%d' % (g,) assert top.node(grp), 'no section [group %s] have: %s' % (grp, ', '.join(top.keys())) for p in [1, 2]: pkg = 'g%dp%d' % (g,p) assert top.node(pkg), 'no section [package %s]' % pkg g2p1 = top.node('g2p1') g2p2 = top.node('g2p2') assert g2p1['g1p1_version'] == '11', 'Can not get version for g1p1' assert g2p1['other_version1'] == '11', 'Can not get other_version1 from g2p1' assert g2p1['other_version2'] == '22', 'Can not get other_version2 from g2p1' print g2p1['g1p1_version'], g2p2['g1p2_version'], print g2p1['other_version1'], g2p1['other_version2']