diff options
Diffstat (limited to 'src/test_setup.py')
| -rw-r--r-- | src/test_setup.py | 35 | 
1 files changed, 20 insertions, 15 deletions
diff --git a/src/test_setup.py b/src/test_setup.py index 2726465..b540ab2 100644 --- a/src/test_setup.py +++ b/src/test_setup.py @@ -23,7 +23,7 @@  #  from __future__ import print_function -__revision__ = "src/test_setup.py 103260fce95bf5db1c35fb2371983087d85dd611 2019-07-13 18:25:30 bdbaddog" +__revision__ = "src/test_setup.py e724ae812eb96f4858a132f5b8c769724744faf6 2019-07-21 00:04:47 bdeegan"  """  Test how the setup.py script installs SCons. @@ -176,21 +176,26 @@ tar_gz = os.path.join(cwd, 'build', 'dist', '%s.tar.gz' % scons_version)  zip = os.path.join(cwd, 'build', 'dist', '%s.zip' % scons_version)  if os.path.isfile(zip): -    try: import zipfile -    except ImportError: pass +    try:  +        import zipfile +    except ImportError: +        pass      else: -        zf = zipfile.ZipFile(zip, 'r') - -        for name in zf.namelist(): -            dir = os.path.dirname(name) -            try: os.makedirs(dir) -            except: pass -            # if the file exists, then delete it before writing -            # to it so that we don't end up trying to write to a symlink: -            if os.path.isfile(name) or os.path.islink(name): -                os.unlink(name) -            if not os.path.isdir(name): -                open(name, 'w').write(zf.read(name)) +        with zipfile.ZipFile(zip, 'r') as zf: + +            for name in zf.namelist(): +                dname = os.path.dirname(name) +                try:  +                    os.makedirs(dname) +                except FileExistsError:  +                    pass +                # if the file exists, then delete it before writing +                # to it so that we don't end up trying to write to a symlink: +                if os.path.isfile(name) or os.path.islink(name): +                    os.unlink(name) +                if not os.path.isdir(name): +                    with open(name, 'w') as ofp: +                        ofp.write(zf.read(name))  if not os.path.isdir(scons_version) and os.path.isfile(tar_gz):      # Unpack the .tar.gz file.  This should create the scons_version/  | 
