Пример #1
0
    def dprint(self, sMessage):
        """
        Prints to debug log (usually apache error log).
        """
        if config.g_kfSrvGlueDebug is True:
            if config.g_kfSrvGlueDebugTS is False:
                self._oDbgFile.write(sMessage);
                if not sMessage.endswith('\n'):
                    self._oDbgFile.write('\n');
            else:
                tsNow = utils.timestampMilli();
                tsReq = tsNow - (self.tsStart / 1000000)
                for sLine in sMessage.split('\n'):
                    self._oDbgFile.write('%s/%03u: %s\n' % (tsNow, tsReq, sLine,));

        return True;
    def dprint(self, sMessage):
        """
        Prints to debug log (usually apache error log).
        """
        if config.g_kfSrvGlueDebug is True:
            if config.g_kfSrvGlueDebugTS is False:
                self._oDbgFile.write(sMessage);
                if not sMessage.endswith('\n'):
                    self._oDbgFile.write('\n');
            else:
                tsNow = utils.timestampMilli();
                tsReq = tsNow - (self.tsStart / 1000000)
                for sLine in sMessage.split('\n'):
                    self._oDbgFile.write('%s/%03u: %s\n' % (tsNow, tsReq, sLine,));

        return True;
Пример #3
0
    def __init__(
            self,
            fDosStyle,
            sBasePath,
            sSubDir,  # pylint: disable=too-many-arguments
            asCompatibleWith=None,  # List of getHostOs values to the names must be compatible with.
            oRngFileSizes=xrange(0, 16384),
            oRngManyFiles=xrange(128, 512),
            oRngTreeFiles=xrange(128, 384),
            oRngTreeDepth=xrange(92, 256),
            oRngTreeDirs=xrange(2, 16),
            cchMaxPath=230,
            cchMaxName=230,
            uSeed=None):
        ## @name Parameters
        ## @{
        self.fDosStyle = fDosStyle
        self.sMinStyle = 'win' if fDosStyle else 'linux'
        if asCompatibleWith is not None:
            for sOs in asCompatibleWith:
                assert sOs in (
                    'win',
                    'os2',
                    'darwin',
                    'linux',
                    'solaris',
                ), sOs
            if 'os2' in asCompatibleWith:
                self.sMinStyle = 'os2'
            elif 'win' in asCompatibleWith:
                self.sMinStyle = 'win'
        self.sBasePath = sBasePath
        self.sSubDir = sSubDir
        self.oRngFileSizes = oRngFileSizes
        self.oRngManyFiles = oRngManyFiles
        self.oRngTreeFiles = oRngTreeFiles
        self.oRngTreeDepth = oRngTreeDepth
        self.oRngTreeDirs = oRngTreeDirs
        self.cchMaxPath = cchMaxPath
        self.cchMaxName = cchMaxName
        ## @}

        ## @name Charset stuff
        ## @todo allow more chars for unix hosts + guests.
        ## @todo include unicode stuff, except on OS/2 and DOS.
        ## @{
        ## The filename charset.
        self.sFileCharset = string.printable
        ## Set of characters that should not trail a guest filename.
        self.sReservedTrailing = self.ksReservedTrailingWinOS2
        if self.sMinStyle in ('win', 'os2'):
            for ch in self.ksReservedWinOS2:
                self.sFileCharset = self.sFileCharset.replace(ch, '')
        else:
            self.sReservedTrailing = self.ksReservedTrailingUnix
            for ch in self.ksReservedUnix:
                self.sFileCharset = self.sFileCharset.replace(ch, '')
        # More spaces and dot:
        self.sFileCharset += '   ...'
        ## @}

        ## The root directory.
        self.oRoot = None  # type: TestDir;
        ## An empty directory (under root).
        self.oEmptyDir = None  # type: TestDir;

        ## A directory with a lot of files in it.
        self.oManyDir = None  # type: TestDir;

        ## A directory with a mixed tree structure under it.
        self.oTreeDir = None  # type: TestDir;
        ## Number of files in oTreeDir.
        self.cTreeFiles = 0
        ## Number of directories under oTreeDir.
        self.cTreeDirs = 0
        ## Number of other file types under oTreeDir.
        self.cTreeOthers = 0

        ## All directories in creation order.
        self.aoDirs = []  # type: list(TestDir);
        ## All files in creation order.
        self.aoFiles = []  # type: list(TestFile);
        ## Path to object lookup.
        self.dPaths = {}  # type: dict(str, TestFsObj);

        #
        # Do the creating.
        #
        self.uSeed = uSeed if uSeed is not None else utils.timestampMilli()
        self.oRandom = random.Random()
        self.oRandom.seed(self.uSeed)
        reporter.log('prepareGuestForTesting: random seed %s' % (self.uSeed, ))

        self.__createTestStuff()