Ejemplo n.º 1
0
    def create_test_MAIN(self):

        print(('ScriptBuild run - checking for ' + \
              '"{}" in output').format(pair[0]))
        skipWrite = False
        if pair[0][0] == 'Error':
            skipWrite = True
            setLogLookBackTimeSec(3)
            lfiles = list(getWriteLog())
            writes = getFilesWritten(list(lfiles))
            self.written = writes
            self.startTimeSecs = time.time()
            return True

        time.sleep(3.5)
        self.startTimeSecs = time.time()
        self.startTime = time.strftime('%x %X', time.localtime())
        self.cap()
        self.main(*pair[1])
        self.uncap()
        print('tear down capture')

        # debug unittest
        #print('*'*59)
        #log.info('\ncap:\n\t {}'.format(self.capturedOutput.getvalue()))
        #print('*'*59)

        lfiles = None

        if not skipWrite:
            curDateTime = time.strftime('%x %X', time.localtime())
            setLogLookBackTimeSec(3)
            lfiles = list(getWriteLog())
            writes = getFilesWritten(list(lfiles))

            self.written = writes
            if writes:
                self.assertTrue(len(writes) > 0)

            m = []
            for fl in pair[2]:
                m.extend([wrt for wrt in writes if fl.strip() in wrt])

            # don't know when program will exit depends on err
            if 'Error' not in pair[0]:
                self.assertTrue(len(m) > 0)
                self.assertEqual(len(pair[2]), len(m))
            print('passed look back 3 sec at {}'.format(curDateTime))

        self.assertTrue(pair[0][0] in self.capturedOutput.getvalue())
        self.assertTrue(pair[0][1] in self.capturedOutput.getvalue())
Ejemplo n.º 2
0
def logReport():
    '''
      Output filtered log files showing:
        - files confirmed to exists during run
        - files written during run

      :log error: Unit testing run before ipybuild kills ipybuild logging

    '''
    writelog = None
    curDateTime = time.strftime('%x %X', time.localtime())
    all_log = list(filecontrol.getWriteLog())

    writelog = filecontrol.getFilesWritten(all_log)
    confirmed = filecontrol.getFilesConfirmed(all_log)
    # debug or check required
    #    exists = [flog for flog in all_log \
    #              if 'Exists' in flog and not '____' in flog]

    log.info('\n\t   time {}'.format(curDateTime))
    if not writelog:
        log.error('\nUNITTEST WAS RUN BEFORE IPYBUILD ' + \
                  '- NO FILE LOGGING - RESTART RUN IPYBUILD ')
    if writelog:
        if gsBuild.Verbose or not gsBuild.INFO and writelog:
            log.info(('\nwrite log:' + '\n {}'*len(writelog)) \
                     .format(*writelog))
    if confirmed:
        if gsBuild.Verbose or not gsBuild.INFO and confirmed:
            log.info(('\nconfirmed log:' + '\n {}'*len(confirmed)) \
                     .format(*confirmed))
Ejemplo n.º 3
0
    def qLog(self):

        setLogLookBackTimeSec(3)
        curDateTime = time.strftime('%x %X', time.localtime())
        lfiles = list(getWriteLog())
        cnffiles = None
        wfiles = None
        cmplst = None

        if lfiles:
            cnffiles = getFilesConfirmed(list(lfiles))
            wfiles = getFilesWritten(list(lfiles))

        if cnffiles and wfiles:
            cmplst = CompareFilesConfirmedToRequired(cnffiles, self.tfiles)
            if cmplst:
                raise FatalError('ValueError',
                                 '\n {}' * len(cmplst).format(*cmplst))
            print('-' * 59)
            print(('log read time{}\n' + \
                  'proc start time {}').format(curDateTime, self.startTime))

            print(('\n confirmed:' +
                   '\n {}' * len(cnffiles)).format(*cnffiles))
            print('-' * 59)
            print(('\n writtten:' + '\n {}' * len(wfiles)).format(*wfiles))
Ejemplo n.º 4
0
    def tearDown(self):
        sys.stdout = self.stdout_
        self.capturedOutput.close()
        self.qLog()
        todel = getFilesWritten(getWriteLog())
        if todel:
            print(('\n Should be deleted:\n' + '{}\n'*len(todel)) \
                  .format(*todel))
        else:
            print('\n Nothing in to delete')

        self.delGeneratedFiles()
        if todel:
            for f in todel:
                if not os.path.isdir(f):
                    msg = 'del failed with:\n{}'.format(f)
                    assert not os.path.exists(f), msg
        print("\n\t" + self.id() + " tear-down self")
Ejemplo n.º 5
0
    def create_test_CMD(self):

        print(('set up Subprocess - checking for ' + \
              '"{}" in output').format(pairs[0]))
        skipWrite = False
        import subprocess
        from subprocess import PIPE
        self.po = subprocess.Popen
        time.sleep(3.5)
        self.startTimeSecs = time.time()
        self.startTime = time.strftime('%x %X', time.localtime())
        p = self.po(pairs[1], stdout=PIPE, stderr=PIPE)
        stdout, stderr = p.communicate()

        if 'Trace' in stderr or 'Err' in stderr:
            self.err = stderr
            if pairs[0][0] == 'Error':
                skipWrite = True
                self.errTraceErr()
                log.error('\n{}'.format(self.err))
                self.assertTrue('Error' in self.err)
                print('tear down Subprocess')
                p.kill()
                #print('*'*59)
                #log.warn(('\n stdout ' + '*'*50 + '\n{}'*len(stdout.split('\n')) + '\nend' +'*'*59) \
                # .format(*stdout.split('\n')))
                #print('*'*59)
                return True
            # un-expected err
            elif self.errTraceErr():
                log.error('\n unexpected err\n: {}'.format(self.errTraceErr()))

        p.kill()

        # debug unittest
        #print('*'*59)
        #log.warn(('\n stdout ' + '*'*50 + '\n{}'*len(stdout.split('\n')) + '\nend' +'*'*59) \
        #         .format(*stdout.split('\n')))
        #print('*'*59)

        if not skipWrite:
            curDateTime = time.strftime('%x %X', time.localtime())
            setLogLookBackTimeSec(3)
            writes = getFilesWritten(list(filecontrol.getWriteLog()))

            if writes:
                self.written = list(writes)
                self.assertTrue(len(writes) > 0)

            m = []
            for fl in pairs[2]:
                m.extend([wrt for wrt in writes if fl.strip() in wrt])

            #don't know when program will exit depends on err
            if 'Error' not in pairs[0]:
                self.assertTrue(len(m) > 0)
                self.assertEqual(len(pairs[2]), len(m))
            print('passed look back 3 sec at {}'.format(curDateTime))

        self.assertTrue(pairs[0][0] in stdout)
        self.assertTrue(pairs[0][1] in stdout)