Exemplo n.º 1
0
    def testSubmitJobWithInputFile(self):
        """
        This test adds a dummy inputfile into the job and tests that it is returned when the job is completed
        """

        from Ganga.GPI import LocalFile

        tempName = 'testGaudiExecFile.txt'
        tempName2 = 'testGaudiExecFile2.txt'
        tempContent = '12345'
        tempContent2 = '67890'

        j = TestExternalGaudiExec._constructJob()

        tempFile = path.join(TestExternalGaudiExec.tmpdir_release, tempName)
        tempFile2 = path.join(TestExternalGaudiExec.tmpdir_release, tempName2)
        FileBuffer(tempName, tempContent).create(tempFile)
        FileBuffer(tempName2, tempContent2).create(tempFile2)

        j.inputfiles = [tempFile, LocalFile(tempFile2)]
        j.outputfiles = [LocalFile(tempName), LocalFile(tempName2)]

        j.submit()

        run_until_completed(j)

        assert j.status == 'completed'

        outputDir = stripProxy(j).getOutputWorkspace(create=False).getPath()

        assert path.isfile(tempFile)
        assert path.isfile(tempFile2)

        assert tempContent in open(tempFile).read()
        assert tempContent2 in open(tempFile2).read()
Exemplo n.º 2
0
    def testSubmitJobWithInputFile(self):
        """
        This test adds a dummy inputfile into the job and tests that it is returned when the job is completed
        """

        from Ganga.GPI import LocalFile

        tempName = 'testGaudiExecFile.txt'
        tempName2 = 'testGaudiExecFile2.txt'
        tempContent = '12345'
        tempContent2 = '67890'

        j = TestExternalGaudiExec._constructJob()

        tempFile = path.join(TestExternalGaudiExec.tmpdir_release, tempName)
        tempFile2 = path.join(TestExternalGaudiExec.tmpdir_release, tempName2)
        FileBuffer(tempName, tempContent).create(tempFile)
        FileBuffer(tempName2, tempContent2).create(tempFile2)

        j.inputfiles = [tempFile, LocalFile(tempFile2)]
        j.outputfiles = [LocalFile(tempName), LocalFile(tempName2)]

        j.submit()

        run_until_completed(j)

        assert j.status == 'completed'

        outputDir = stripProxy(j).getOutputWorkspace(create=False).getPath()

        assert path.isfile(tempFile)
        assert path.isfile(tempFile2)

        assert tempContent in open(tempFile).read()
        assert tempContent2 in open(tempFile2).read()
Exemplo n.º 3
0
    def testMergeThatAlwaysFailsFlagsSet(self):
        from Ganga.GPI import Job, Executable, Local, LocalFile

        j = Job()
        j.application = Executable(exe="sh", args=["-c", "echo foo > out.txt"])
        j.backend = Local()
        j.outputfiles = [LocalFile("out.txt")]
        j.splitter = CopySplitter()
        j.postprocessors = MergerTester(files=["out.txt"], ignorefailed=True, overwrite=True)

        j.submit()

        run_until_completed(j, timeout=60)
        assert j.status == "failed"
        assert os.path.exists(os.path.join(j.outputdir, "out.txt.merge_summary")), "Summary file should be created"
Exemplo n.º 4
0
    def test_Savannah28511(self):
        from Ganga.GPI import Job, TestSubmitter

        j = Job()

        j.submit()
        assert run_until_completed(j, timeout=20), 'Job is not completed'

        j.resubmit()
        assert run_until_completed(j, timeout=30), 'Job is not completed after fail during resubmit'

        j._impl.updateStatus('failed')
        assert run_until_state(j, timeout=20, state='failed'), 'Job is not failed'

        j.resubmit()
        assert run_until_completed(j, timeout=20), 'Job is not completed after resubmit'
Exemplo n.º 5
0
 def runJobSlice(self):
     for j in self.jobslice:
         j.submit()
         assert run_until_completed(
             j, timeout=60
         ), 'Timeout on job submission: job is still not finished'
         assert j.status == 'completed'
Exemplo n.º 6
0
def test_job_complete(gpi):
    from Ganga.GPI import Job, LCG

    j = Job()
    j.backend = LCG()
    j.submit()
    assert run_until_completed(j, timeout=1200, sleep_period=10), 'Timeout on job submission: job is still not finished'
Exemplo n.º 7
0
    def test_d_Finished(self):
        from Ganga.GPI import jobs, queues

        print('waiting on job', end=' ')
        for j in jobs:
            print(j.id, end=' ')
            import sys
            sys.stdout.flush()
            assert run_until_completed(j, sleep_period=0.1), 'Timeout on job submission: job is still not finished'
Exemplo n.º 8
0
    def runJobSlice(self):

        for j in self.jobslice:
            this_bak = j.backend

        for j in self.jobslice:
            j.submit()
        for j in self.jobslice:
            assert run_until_completed(j, timeout=10), 'Timeout on job submission: job is still not finished'
Exemplo n.º 9
0
    def testMergeThatAlwaysFailsOverwrite(self):
        from Ganga.GPI import Job, Executable, Local, LocalFile

        j = Job()
        j.application = Executable(exe='sh', args=['-c', 'echo foo > out.txt'])
        j.backend = Local()
        j.outputfiles = [LocalFile('out.txt')]
        j.splitter = CopySplitter()
        j.postprocessors = MergerTester(files=['out.txt'], overwrite=True)

        j.submit()

        run_until_completed(j, timeout=60)
        assert j.status == 'failed'
        assert os.path.exists(
            os.path.join(
                j.outputdir,
                'out.txt.merge_summary')), 'Summary file should be created'
Exemplo n.º 10
0
    def testSubmitJobComplete(self):
        """
        Test that the job completes successfully
        """

        j = TestExternalGaudiExec._constructJob()

        j.submit()

        run_until_completed(j)

        assert j.status == 'completed'

        outputfile = path.join(j.outputdir, 'stdout')

        assert path.isfile(outputfile)

        for this_string in ('testfile.py', 'data.py', 'ThisIsATest', j.application.platform):
            assert this_string in open(outputfile).read()
Exemplo n.º 11
0
    def test_Savannah28511(self):
        from Ganga.GPI import Job, TestSubmitter

        j = Job()

        j.submit()
        assert run_until_completed(j, timeout=20), 'Job is not completed'

        j.resubmit()
        assert run_until_completed(
            j, timeout=30), 'Job is not completed after fail during resubmit'

        j._impl.updateStatus('failed')
        assert run_until_state(j, timeout=20,
                               state='failed'), 'Job is not failed'

        j.resubmit()
        assert run_until_completed(
            j, timeout=20), 'Job is not completed after resubmit'
Exemplo n.º 12
0
    def runJobSlice(self):

        for j in self.jobslice:
            this_bak = j.backend

        for j in self.jobslice:
            j.submit()
        for j in self.jobslice:
            assert run_until_completed(
                j, timeout=10
            ), 'Timeout on job submission: job is still not finished'
Exemplo n.º 13
0
    def test_d_Finished(self):
        from Ganga.GPI import jobs, queues

        print('waiting on job', end=' ')
        for j in jobs:
            print(j.id, end=' ')
            import sys
            sys.stdout.flush()
            assert run_until_completed(
                j, sleep_period=0.1
            ), 'Timeout on job submission: job is still not finished'
Exemplo n.º 14
0
    def testSubmitJobComplete(self):
        """
        Test that the job completes successfully
        """

        j = TestExternalGaudiExec._constructJob()

        j.submit()

        run_until_completed(j)

        assert j.status == 'completed'

        outputfile = path.join(j.outputdir, 'stdout')

        assert path.isfile(outputfile)

        for this_string in ('testfile.py', 'data.py', 'ThisIsATest',
                            j.application.platform):
            assert this_string in open(outputfile).read()
Exemplo n.º 15
0
    def testSubmitJobComplete(self):
        """
        Test that the job completes successfully
        """

        from Ganga.GPI import jobs
        from Ganga.GPI import Job, LocalFile, prepareGaudiExec

        import os
        if os.path.exists(TestExternalGaudiExec.tmpdir_release):
            os.system("rm -rf %s/*" % TestExternalGaudiExec.tmpdir_release)

        j = Job(application=prepareGaudiExec(
            'DaVinci', latestDaVinci(), TestExternalGaudiExec.tmpdir_release))

        myOpts = path.join(TestExternalGaudiExec.tmpdir_release, 'testfile.py')

        FileBuffer('testfile.py', 'print("ThisIsATest")').create(myOpts)

        j.application.options = [LocalFile(myOpts)]

        j.submit()

        run_until_completed(j)

        assert j.status == 'completed'

        outputfile = path.join(j.outputdir, 'stdout')

        assert path.isfile(outputfile)

        assert 'testfile.py' in open(outputfile).read()

        assert 'data.py' in open(outputfile).read()

        assert 'ThisIsATest' in open(outputfile).read()

        assert j.application.platform in open(outputfile).read()
Exemplo n.º 16
0
    def testSubjobsSubmit(self):

        from Ganga.GPI import Job, Executable, TestSubmitter, ArgSplitter
        from Ganga.GPIDev.Lib.GangaList.GangaList import GangaList as gangaList
        from Ganga.GPIDev.Base.Proxy import isType

        j = Job(application=Executable(), backend=TestSubmitter(time=1))
        j.splitter = ArgSplitter(args=[['A'], ['B'], ['C']])

        j.submit()
        assert run_until_completed(j), 'Job must complete'
        assert len(j.subjobs) == 3, 'splitting must occur'
        for jj in j.subjobs:
            assert not isType(jj.master, gangaList)
Exemplo n.º 17
0
    def testSubmitJobComplete(self):
        """
        Test that the job completes successfully
        """

        from Ganga.GPI import jobs

        j = jobs[-1]

        run_until_completed(j)

        assert j.status == 'completed'

        outputfile = path.join(j.outputdir, 'stdout')

        assert path.isfile(outputfile)

        assert 'hello.py' in open(outputfile).read()

        assert 'data.py' in open(outputfile).read()

        assert 'Hello' in open(outputfile).read()

        assert j.application.platform in open(outputfile).read()
Exemplo n.º 18
0
    def runJobSlice(self):

        for j in self.jobslice:
            j.submit()
        for j in self.jobslice:
            assert run_until_completed(j, timeout=10), "Timeout on job submission: job is still not finished"
            print ("# upcoming status")
            print ("Status 3: %s" % j.status)
            print ("# printed status")
            print ("# upcoming impl status")
            print ("Status 3: %s" % j._impl.status)
            print ("# printed impl status")
            print "j._impl.__dict__", j._impl.__dict__
            # print 'type(j).__dict__', type(j).__dict__
            assert j.status == "completed"
Exemplo n.º 19
0
    def setUp(self):
        super(TestFileChecker, self).setUp()
        from Ganga.GPI import Job, FileChecker, Executable, Local

        self.c = FileChecker()
        self.jobslice = []
        args = ['1', '2', '12']
        for arg in args:
            j = Job(application=Executable(), backend=Local())
            # write string to tmpfile
            j.application.args = [arg]
            self.jobslice.append(j)

        for j in self.jobslice:
            j.submit()
            assert run_until_completed(j), 'Timeout on job submission: job is still not finished'
            self.assertEqual(j.status, 'completed')
Exemplo n.º 20
0
    def runJobSlice(self):

        for j in self.jobslice:
            this_bak = j.backend

        for j in self.jobslice:
            j.submit()
        for j in self.jobslice:
            assert run_until_completed(j, timeout=10), 'Timeout on job submission: job is still not finished'
            #print('# upcoming status')
            #print("Status 3: %s" % j.status)
            #print('# printed status')
            #print('# upcoming impl status')
            #print("Status 3: %s" % j._impl.status)
            #print('# printed impl status')
            #print('j._impl.__dict__: %s' j._impl.__dict__)
            #print 'type(j).__dict__', type(j).__dict__
            assert j.status == 'completed'
Exemplo n.º 21
0
    def setUp(self):
        super(TestFileChecker, self).setUp()
        from Ganga.GPI import Job, FileChecker, Executable, Local

        self.c = FileChecker()
        self.jobslice = []
        args = ['1', '2', '12']
        for arg in args:
            j = Job(application=Executable(), backend=Local())
            # write string to tmpfile
            j.application.args = [arg]
            self.jobslice.append(j)

        for j in self.jobslice:
            j.submit()
            assert run_until_completed(
                j), 'Timeout on job submission: job is still not finished'
            self.assertEqual(j.status, 'completed')
Exemplo n.º 22
0
    def runJobSlice(self):

        for j in self.jobslice:
            this_bak = j.backend

        for j in self.jobslice:
            j.submit()
        for j in self.jobslice:
            assert run_until_completed(
                j, timeout=10
            ), 'Timeout on job submission: job is still not finished'
            #print('# upcoming status')
            #print("Status 3: %s" % j.status)
            #print('# printed status')
            #print('# upcoming impl status')
            #print("Status 3: %s" % j._impl.status)
            #print('# printed impl status')
            #print('j._impl.__dict__: %s' j._impl.__dict__)
            #print 'type(j).__dict__', type(j).__dict__
            assert j.status == 'completed'
Exemplo n.º 23
0
def test_job_completed(gpi):
    j = gpi.Job()
    j.submit()
    run_until_completed(j)
    assert j.status == 'completed'
Exemplo n.º 24
0
def test_job_completed(gpi):
    j = gpi.Job()
    j.submit()
    assert run_until_completed(j)
Exemplo n.º 25
0
def test_job_completed(gpi):
    j = gpi.Job()
    j.submit()
    assert run_until_completed(j)
Exemplo n.º 26
0
 def runJobSlice(self):
     for j in self.jobslice:
         j.submit()
         assert run_until_completed(j), 'Timeout on job submission: job is still not finished'
Exemplo n.º 27
0
def test_job_completed(gpi):
    j = gpi.Job()
    j.submit()
    run_until_completed(j)
    assert j.status == 'completed'