コード例 #1
0
    def test_insert(self):
        log = BuildLog(self.env,
                       build=1,
                       step='test',
                       generator='distutils',
                       filename='1.log.gz')
        full_file = log.get_log_file('1.log.gz')
        if os.path.exists(full_file):
            os.remove(full_file)
        log.messages = [(BuildLog.INFO, 'running tests'),
                        (BuildLog.ERROR, 'tests failed')]
        log.insert()
        self.assertNotEqual(None, log.id)

        db = self.env.get_db_cnx()
        cursor = db.cursor()
        cursor.execute(
            "SELECT build,step,generator,filename FROM bitten_log "
            "WHERE id=%s", (log.id, ))
        self.assertEqual((1, 'test', 'distutils', '1.log.gz'),
                         cursor.fetchone())
        lines = gzip.open(full_file, "rb").readlines()
        self.assertEqual('running tests\n', lines[0])
        self.assertEqual('tests failed\n', lines[1])
        if os.path.exists(full_file):
            os.remove(full_file)
コード例 #2
0
    def test_insert_empty(self):
        log = BuildLog(self.env, build=1, step='test', generator='distutils', filename="1.log")
        full_file = log.get_log_file('1.log')
        if os.path.exists(full_file):
            os.remove(full_file)
        log.messages = []
        log.insert()
        self.assertNotEqual(None, log.id)

        db = self.env.get_db_cnx()
        cursor = db.cursor()
        cursor.execute("SELECT build,step,generator,filename FROM bitten_log "
                       "WHERE id=%s", (log.id,))
        self.assertEqual((1, 'test', 'distutils', '1.log'), cursor.fetchone())
        file_exists = os.path.exists(full_file)
        if file_exists:
            os.remove(full_file)
        assert not file_exists
コード例 #3
0
    def test_insert_and_delete_files(self):
        # create - files should be created automatically
        build_log = BuildLog(self.env, build=1, step='test', generator='make')
        build_log.messages = [(BuildLog.INFO, 'running')]
        build_log.insert()

        # fetch it fresh - check object and files
        build_log = BuildLog.fetch(self.env, id=build_log.id)
        self.assertEquals(build_log.filename, "%s.log" % build_log.id)
        log_file = build_log.get_log_file(build_log.filename)
        levels_file = log_file+'.levels'
        self.failUnless(os.path.exists(log_file), 'log_file does not exist')
        self.failUnless(os.path.exists(levels_file),
                                                'levels_file does not exist')
        self.assertEquals(build_log.messages, [(BuildLog.INFO, 'running')])

        # delete - object and file should be gone
        build_log.delete()
        self.assertEquals(None, BuildLog.fetch(self.env, id=build_log.id))
        self.failIf(os.path.exists(log_file), 'log_file exists after delete()')
        self.failIf(os.path.exists(levels_file),
                                        'levels_file exists after delete()')
コード例 #4
0
ファイル: model.py プロジェクト: lkraav/trachacks
    def test_insert(self):
        log = BuildLog(self.env, build=1, step='test', generator='distutils', filename='1.log')
        full_file = log.get_log_file('1.log')
        if os.path.exists(full_file):
            os.remove(full_file)
        log.messages = [
            (BuildLog.INFO, 'running tests'),
            (BuildLog.ERROR, 'tests failed')
        ]
        log.insert()
        self.assertNotEqual(None, log.id)

        db = self.env.get_db_cnx()
        cursor = db.cursor()
        cursor.execute("SELECT build,step,generator,filename FROM bitten_log "
                       "WHERE id=%s", (log.id,))
        self.assertEqual((1, 'test', 'distutils', '1.log'), cursor.fetchone())
        lines = open(full_file, "rb").readlines()
        self.assertEqual('running tests\n', lines[0])
        self.assertEqual('tests failed\n', lines[1])
        if os.path.exists(full_file):
            os.remove(full_file)