equal
deleted
inserted
replaced
1097 self._out = None |
1097 self._out = None |
1098 self._skipped = None |
1098 self._skipped = None |
1099 |
1099 |
1100 try: |
1100 try: |
1101 os.mkdir(self._threadtmp) |
1101 os.mkdir(self._threadtmp) |
1102 except OSError as e: |
1102 except FileExistsError: |
1103 if e.errno != errno.EEXIST: |
1103 pass |
1104 raise |
|
1105 |
1104 |
1106 name = self._tmpname |
1105 name = self._tmpname |
1107 self._testtmp = os.path.join(self._threadtmp, name) |
1106 self._testtmp = os.path.join(self._threadtmp, name) |
1108 os.mkdir(self._testtmp) |
1107 os.mkdir(self._testtmp) |
1109 |
1108 |
3275 |
3274 |
3276 if self.options.exceptions: |
3275 if self.options.exceptions: |
3277 exceptionsdir = os.path.join(self._outputdir, b'exceptions') |
3276 exceptionsdir = os.path.join(self._outputdir, b'exceptions') |
3278 try: |
3277 try: |
3279 os.makedirs(exceptionsdir) |
3278 os.makedirs(exceptionsdir) |
3280 except OSError as e: |
3279 except FileExistsError: |
3281 if e.errno != errno.EEXIST: |
3280 pass |
3282 raise |
|
3283 |
3281 |
3284 # Remove all existing exception reports. |
3282 # Remove all existing exception reports. |
3285 for f in os.listdir(exceptionsdir): |
3283 for f in os.listdir(exceptionsdir): |
3286 os.unlink(os.path.join(exceptionsdir, f)) |
3284 os.unlink(os.path.join(exceptionsdir, f)) |
3287 |
3285 |
3591 raise |
3589 raise |
3592 if self._findprogram(pyexename) != sysexecutable: |
3590 if self._findprogram(pyexename) != sysexecutable: |
3593 try: |
3591 try: |
3594 os.symlink(sysexecutable, mypython) |
3592 os.symlink(sysexecutable, mypython) |
3595 self._createdfiles.append(mypython) |
3593 self._createdfiles.append(mypython) |
3596 except OSError as err: |
3594 except FileExistsError: |
3597 # child processes may race, which is harmless |
3595 # child processes may race, which is harmless |
3598 if err.errno != errno.EEXIST: |
3596 pass |
3599 raise |
|
3600 elif WINDOWS and not os.getenv('MSYSTEM'): |
3597 elif WINDOWS and not os.getenv('MSYSTEM'): |
3601 raise AssertionError('cannot run test on Windows without MSYSTEM') |
3598 raise AssertionError('cannot run test on Windows without MSYSTEM') |
3602 else: |
3599 else: |
3603 # Generate explicit file instead of symlink |
3600 # Generate explicit file instead of symlink |
3604 # |
3601 # |
3704 |
3701 |
3705 # setuptools requires install directories to exist. |
3702 # setuptools requires install directories to exist. |
3706 def makedirs(p): |
3703 def makedirs(p): |
3707 try: |
3704 try: |
3708 os.makedirs(p) |
3705 os.makedirs(p) |
3709 except OSError as e: |
3706 except FileExistsError: |
3710 if e.errno != errno.EEXIST: |
3707 pass |
3711 raise |
|
3712 |
3708 |
3713 makedirs(self._pythondir) |
3709 makedirs(self._pythondir) |
3714 makedirs(self._bindir) |
3710 makedirs(self._bindir) |
3715 |
3711 |
3716 vlog("# Running", cmd.decode("utf-8")) |
3712 vlog("# Running", cmd.decode("utf-8")) |
3755 vlog('# Installing coverage rc to %s' % rc) |
3751 vlog('# Installing coverage rc to %s' % rc) |
3756 osenvironb[b'COVERAGE_PROCESS_START'] = rc |
3752 osenvironb[b'COVERAGE_PROCESS_START'] = rc |
3757 covdir = os.path.join(self._installdir, b'..', b'coverage') |
3753 covdir = os.path.join(self._installdir, b'..', b'coverage') |
3758 try: |
3754 try: |
3759 os.mkdir(covdir) |
3755 os.mkdir(covdir) |
3760 except OSError as e: |
3756 except FileExistsError: |
3761 if e.errno != errno.EEXIST: |
3757 pass |
3762 raise |
|
3763 |
3758 |
3764 osenvironb[b'COVERAGE_DIR'] = covdir |
3759 osenvironb[b'COVERAGE_DIR'] = covdir |
3765 |
3760 |
3766 def _checkhglib(self, verb): |
3761 def _checkhglib(self, verb): |
3767 """Ensure that the 'mercurial' package imported by python is |
3762 """Ensure that the 'mercurial' package imported by python is |