Пример #1
0
def test_complex_job():
    cmd = 'cut -hf --someflag {1,2,3||1,2}'
    jobs = []
    files = [parser.File('file1', '1', '1'),
            parser.File('file2', '2', '2'),
            parser.File('file3', '3', '3'),
            parser.File('file4', '4', '4'),
            parser.File('file5', '5', '5')]
    paths=[]

    jobs = parser.parse_job(cmd, jobs, files, paths)

    cmd = 'python somescript -f {o:*.counts} {2,4||5}'
    jobs = parser.parse_job(cmd, jobs, files, paths)


    len(jobs).should.equal(4)
    jobs[0].raw_cmd.should.equal('cut -hf --someflag {in}')
    jobs[3].raw_cmd.should.equal('python somescript -f {out} {in}')

    jobs[1].depends_on.should.contain(jobs[0])
    jobs[2].depends_on.should.contain(jobs[0])
    jobs[2].depends_on.should.contain(jobs[1])
    len(jobs[3].depends_on).should.equal(0)
Пример #2
0
def test_parse_job():
    cmd = 'cut -hf --someflag {1,2,3||1,2||2,3,4}'
    jobs = []
    files = [parser.File('file1', '1', '1'),
            parser.File('file2', '2', '2'),
            parser.File('file3', '3', '3'),
            parser.File('file4', '4', '4')]
    paths=[]

    jobs = parser.parse_job(cmd, jobs, files, paths)

    len(jobs).should.equal(3)
    jobs[0].raw_cmd.should.equal('cut -hf --someflag {in}')

    jobs[1].depends_on.should.contain(jobs[0])
    jobs[2].depends_on.should.contain(jobs[0])
    jobs[2].depends_on.should.contain(jobs[0])
    jobs[2].depends_on.should.contain(jobs[1])