Example #1
0
 def test_resolve_one_level(self):
   tmp1 = self.make_temp_file(suffix = '-one')
   tmp2 = self.make_temp_file(suffix = '-two')
   file_util.remove(tmp2)
   os.symlink(tmp1, tmp2)
   self.assertEqual( tmp1, file_symlink.resolve(tmp1) )
   self.assertEqual( tmp1, file_symlink.resolve(tmp2) )
Example #2
0
 def test_resolve_cyclic_error(self):
   tmp1 = self.make_temp_file(suffix = '-one')
   tmp2 = self.make_temp_file(suffix = '-two')
   file_util.remove(tmp2)
   os.symlink(tmp1, tmp2)
   file_util.remove(tmp1)
   os.symlink(tmp2, tmp1)
   with self.assertRaises(IOError) as ctx:
     file_symlink.resolve(tmp1)
   self.assertTrue( 'Cyclic error' in str(ctx.exception) )
Example #3
0
 def test_resolve_two_levels(self):
   tmp1 = self.make_temp_file()
   tmp2 = self.make_temp_file()
   tmp3 = self.make_temp_file()
   file_util.remove(tmp2)
   file_util.remove(tmp3)
   os.symlink(tmp1, tmp2)
   os.symlink(tmp2, tmp3)
   self.assertEqual( tmp1, file_symlink.resolve(tmp1) )
   self.assertEqual( tmp1, file_symlink.resolve(tmp2) )
   self.assertEqual( tmp1, file_symlink.resolve(tmp3) )
Example #4
0
    def _source_is_brew(clazz, exe):
        'Return True if python executable is from brew'

        # First check the exe itself to see if its in the brew "cellar"
        actual_exe = file_symlink.resolve(exe)
        if 'cellar' in actual_exe.lower():
            return True

        # Next check the exe prefix standard to brew to check if that is in the brew "cellar"
        if actual_exe.startswith('/usr/local/opt/python@'):
            parts = file_path.split(actual_exe)
            prefix = file_path.join(parts[0:5])
            actual_prefix = file_symlink.resolve(prefix)
            if 'cellar' in actual_prefix.lower():
                return True
        return False
Example #5
0
 def _make_info(clazz, exe):
     main_exe, exe_links = clazz._determine_main_exe_and_links(exe)
     from .python_installation import python_installation
     piv = python_installation(main_exe)
     sys_executable = python_script.sys_executable(main_exe)
     real_executable = file_symlink.resolve(sys_executable)
     source = python_source.exe_source(main_exe)
     version = clazz.version(main_exe)
     full_version = clazz.full_version(main_exe)
     return python_exe_info(main_exe, full_version, source, sys_executable,
                            real_executable, exe_links, piv.pip_exe)
 def _make_read_only_temp_file(self):
     from bes.fs.file_util import file_util
     tmp = self._make_temp_file('this is foo\n')
     print('B4: tmp={} mode={}'.format(tmp, file_util.mode(tmp)))
     import os
     #      os.chmod(tmp, stat.S_IREAD)
     os.chmod(tmp, 0o0400)
     print('AF: tmp={} mode={}'.format(tmp, file_util.mode(tmp)))
     return tmp
     if host.is_unix():
         return file_symlink.resolve('/bin/sh')
     elif host.is_windows():
         return r'C:\Windows\System32\cmd.exe'
     else:
         host.raise_unsupported_system()
Example #7
0
 def test_is_binary_unix(self):
     self.assertTrue(file_mime.is_binary(file_symlink.resolve('/bin/sh')))