'return base temporary directory.'

def getbasetemp(self):

    try:
        return self._basetemp
    except AttributeError:
        basetemp = self.config.option.basetemp
        if basetemp:
            basetemp = py.path.local(basetemp)
            if basetemp.check():
                basetemp.remove()
            basetemp.mkdir()
        else:
            temproot = py.path.local.get_temproot()
            user = get_user()
            if user:
                rootdir = temproot.join(('pytest-of-%s' % user))
            else:
                rootdir = temproot
            rootdir.ensure(dir=1)
            basetemp = py.path.local.make_numbered_dir(prefix='pytest-', rootdir=rootdir)
        self._basetemp = t = basetemp.realpath()
        self.trace('new    basetemp', t)
        return t
