コード例 #1
0
    def tearDown(self):
        self.suppressOutput(util.rmtree, self.finishedDir, ignore_errors = True)
        self.suppressOutput(util.rmtree, self.entDir, ignore_errors = True)

        for x in self.mkdCreated:
            self.suppressOutput(util.rmtree, x, ignore_errors = True)
        tempfile.mkdtemp = self.realMkdtemp

        # Make sure logfiles get closed
        for handler in log.handlers:
            log.removeHandler(handler)
            if isinstance(handler, DummyHandler):
                continue

            print 'WARNING: Handler %r left open' % handler
            try:
                handler.close()
            except:
                import traceback
                exc_data = sys.exc_info()
                print '... and failed to close:'
                print ''.join(traceback.format_exception_only(*exc_data[:2]))
                del exc_data

        TestCase.tearDown(self)
コード例 #2
0
    def setUp(self):
        TestCase.setUp(self)

        self.slaveCfg = slave.SlaveConfig()
        self.slaveCfg.configLine('debugMode True')
        self.slaveCfg.configLine('masterUrl http://no.master/api/')

        self.finishedDir = os.path.join(self.tmpDir, "finished-images")
        self.entDir = os.path.join(self.tmpDir, "entitlements")
        generators.constants.tmpDir = os.path.join(self.tmpDir, 'tmp')
        for d in [ self.finishedDir, self.entDir, generators.constants.tmpDir ]:
            util.mkdirChain(d)
        generators.constants.finishedDir = self.finishedDir
        generators.constants.entDir = self.entDir
        generators.constants.skelDir = os.path.abspath(os.path.dirname(__file__) + '/../skel')
        generators.constants.templateDir = os.path.abspath(os.path.dirname(__file__) + '/../templates')
        self.constants = generators.constants

        self.testDir = os.path.join(os.path.dirname(os.path.abspath(__file__)))

        # Suppress warning messages logged during tests since they are
        # supposed to be exercising these paths.
        conary_log.setVerbosity(conary_log.ERROR)

        # Neuter a few functions that might result in unwanted output
        # during the testsuite run:
        # - don't let conary set the loglevel when cooking
        conary_log.setVerbosity = lambda x: None
        # - add a dummy handler so that logging doesn't open a
        #   default one
        log.addHandler(DummyHandler())

        # make sure we always delete mkdtemp directories
        self.mkdCreated = []
        self.realMkdtemp = tempfile.mkdtemp

        def fakeMkdtemp(*args, **kwargs):
            kwargs['prefix'] = 'test'
            d = self.realMkdtemp(*args, **kwargs)
            self.mkdCreated.append(d)
            return d
        tempfile.mkdtemp = fakeMkdtemp

        data = self.data = copy.deepcopy(self.Data)
        data['project']['conaryCfg'] = 'root %s/_ROOT_' % self.cfg.root
コード例 #3
0
 def tearDown(self):
     RepositoryHelper.tearDown(self)
     CommandTest.tearDown(self)
コード例 #4
0
 def setUp(self):
     RepositoryHelper.setUp(self)
     CommandTest.setUp(self)