def test_custom_pydistutils(self): # fixes #2166 # make sure pydistutils.cfg is found if os.name == 'posix': user_filename = ".pydistutils.cfg" else: user_filename = "pydistutils.cfg" temp_dir = self.mkdtemp() user_filename = os.path.join(temp_dir, user_filename) f = open(user_filename, 'w') try: f.write('.') finally: f.close() try: dist = Distribution() # linux-style if sys.platform in ('linux', 'darwin'): os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertIn(user_filename, files) # win32-style if sys.platform == 'win32': # home drive should be found os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertIn(user_filename, files, '%r not found in %r' % (user_filename, files)) finally: os.remove(user_filename)
def test_custom_pydistutils(self): if os.name == 'posix': user_filename = '.pydistutils.cfg' else: user_filename = 'pydistutils.cfg' temp_dir = self.mkdtemp() user_filename = os.path.join(temp_dir, user_filename) f = open(user_filename, 'w') try: f.write('.') finally: f.close() try: dist = Distribution() if sys.platform in ('linux', 'darwin'): os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertIn(user_filename, files) if sys.platform == 'win32': os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertIn(user_filename, files, '%r not found in %r' % (user_filename, files)) finally: os.remove(user_filename)
def test_custom_pydistutils(self): # fixes #2166 # make sure pydistutils.cfg is found if os.name == 'posix': user_filename = ".pydistutils.cfg" else: user_filename = "pydistutils.cfg" temp_dir = self.mkdtemp() user_filename = os.path.join(temp_dir, user_filename) f = open(user_filename, 'w') try: f.write('.') finally: f.close() try: dist = Distribution() # linux-style if sys.platform in ('linux', 'darwin'): os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertTrue(user_filename in files) # win32-style if sys.platform == 'win32': # home drive should be found os.environ['HOME'] = temp_dir files = dist.find_config_files() self.assertTrue(user_filename in files, '%r not found in %r' % (user_filename, files)) finally: os.remove(user_filename)
def test_custom_pydistutils(self): # fixes #2166 # make sure pydistutils.cfg is found if os.name == "posix": user_filename = ".pydistutils.cfg" else: user_filename = "pydistutils.cfg" temp_dir = self.mkdtemp() user_filename = os.path.join(temp_dir, user_filename) f = open(user_filename, "w") f.write(".") f.close() try: dist = Distribution() # linux-style if sys.platform in ("linux", "darwin"): os.environ["HOME"] = temp_dir files = dist.find_config_files() self.assertTrue(user_filename in files) # win32-style if sys.platform == "win32": # home drive should be found os.environ["HOME"] = temp_dir files = dist.find_config_files() self.assertTrue(user_filename in files, "%r not found in %r" % (user_filename, files)) finally: os.remove(user_filename)
def find_distutils_file(logger): """ Returns the location of the main distutils.cfg file """ import distutils.dist dist = distutils.dist.Distribution(None) files = dist.find_config_files() writable_files = [] for file in files: if not os.path.exists(file): logger.info('Distutils config file %s does not exist' % file) continue if os.access(file, os.W_OK): logger.debug('Distutils config %s is writable' % file) writable_files.append(file) else: logger.notify('Distutils config %s is not writable' % file) if not files: logger.fatal( 'Could not find any existing writable config file (tried options %s)' % ', '.join(files)) raise OSError("No config files found") if len(files) > 1: logger.notify( "Choosing file %s among writable options %s" % (files[0], ', '.join(files[1:]))) return files[0]
def find_distutils_file(logger): """ Returns the location of the main distutils.cfg file """ import distutils.dist dist = distutils.dist.Distribution(None) files = dist.find_config_files() writable_files = [] for file in files: if not os.path.exists(file): logger.info('Distutils config file %s does not exist' % file) continue if os.access(file, os.W_OK): logger.debug('Distutils config %s is writable' % file) writable_files.append(file) else: logger.notify('Distutils config %s is not writable' % file) if not files: logger.fatal( 'Could not find any existing writable config file (tried options %s)' % ', '.join(files)) raise OSError("No config files found") if len(files) > 1: logger.notify("Choosing file %s among writable options %s" % (files[0], ', '.join(files[1:]))) return files[0]
def test_custom_pydistutils(self): # fixes #2166 # make sure pydistutils.cfg is found old = {} for env in ('HOME', 'HOMEPATH', 'HOMEDRIVE'): value = os.environ.get(env) old[env] = value if value is not None: del os.environ[env] if os.name == 'posix': user_filename = ".pydistutils.cfg" else: user_filename = "pydistutils.cfg" curdir = os.path.dirname(__file__) user_filename = os.path.join(curdir, user_filename) f = open(user_filename, 'w') f.write('.') f.close() try: dist = distutils.dist.Distribution() # linux-style if sys.platform in ('linux', 'darwin'): os.environ['HOME'] = curdir files = dist.find_config_files() self.assert_(user_filename in files) # win32-style if sys.platform == 'win32': # home drive should be found os.environ['HOME'] = curdir files = dist.find_config_files() self.assert_(user_filename in files, '%r not found in %r' % (user_filename, files)) finally: for key, value in old.items(): if value is None: continue os.environ[key] = value os.remove(user_filename)