def test_buildprocvars(tmpdir, caplog): p11 = Proc() p11.args = {'a': 1} p11._buildProcVars() assert 'p11: a => 1' in caplog.text assert 'p11: runner => local' in caplog.text assert 'p11: size => 0' in caplog.text assert 'exdir' not in caplog.text assert p11.procvars['args'] is p11.args p11.config.args = {'a': 1} p11.exdir = 'abc' caplog.clear() p11._buildProcVars() assert 'p11: exdir => abc' in caplog.text assert p11.procvars['args'] == p11.args assert p11.procvars['args'] is not p11.args
def test_buildprops(tmpdir): from pyppl import ProcTree p9 = Proc() p91 = Proc(id='p9') ProcTree.register(p9) ProcTree.register(p91) with pytest.raises(ProcTreeProcExists): p91._buildProps() p9.id = 'p89' p9.template = TemplateLiquid p9.ppldir = Path(tmpdir / 'test_buildprops') p9.rc = '0,1' p9.workdir = tmpdir / 'p8' p9.exdir = tmpdir / 'p8.exdir' p9.echo = True p9.expect = 'ls' p9.expart = 'outfile' p9._buildProps() assert p9.template is TemplateLiquid assert p9.rc == [0, 1] assert p9.workdir.exists() assert fs.exists(p9.exdir) assert p9.echo == dict(jobs=[0], type=dict(stderr=None, stdout=None)) assert p9.expect.render() == 'ls' assert len(p9.expart) == 1 assert p9.expart[0].render() == 'outfile' p9.template = None p9.rc = 1 p9.sets.remove('workdir') p9.props.workdir = None p9.echo = False p9._buildProps() assert p9.template is TemplateLiquid assert p9.rc == [1] assert Path( p9.workdir) == Path(p9.ppldir) / ('PyPPL.p89.notag.%s' % p9.suffix) assert p9.echo == dict(jobs=[], type=dict(stderr=None, stdout=None)) p9.template = 'liquid' p9.rc = [0, 1, 2] p9.echo = 'stderr' p9._buildProps() assert p9.template is TemplateLiquid assert p9.rc == [0, 1, 2] assert p9.echo == dict(jobs=[0], type=dict(stderr=None)) fs.remove(p9.workdir) p9.resume = 'resume' with pytest.raises(ProcAttributeError): p9._buildProps() p9.echo = dict(type='stderr') p9.resume = '' p9._buildProps() assert p9.echo == dict(jobs=[0], type=dict(stderr=None)) p9.echo = dict(jobs='0,1') p9._buildProps() assert p9.echo == dict(jobs=[0, 1], type=dict(stderr=None, stdout=None)) p9.echo = dict(jobs='0,1', type=dict(all=r'^log')) p9._buildProps() assert p9.echo == dict(jobs=[0, 1], type=dict(stderr=r'^log', stdout=r'^log'))