def run_case_inner(self, testcase: DataDrivenTestCase) -> None: if not os.path.isdir(WORKDIR): # (one test puts something in build...) os.mkdir(WORKDIR) text = '\n'.join(testcase.input) with open('native.py', 'w', encoding='utf-8') as f: f.write(text) with open('interpreted.py', 'w', encoding='utf-8') as f: f.write(text) shutil.copyfile(TESTUTIL_PATH, 'testutil.py') step = 1 self.run_case_step(testcase, step) steps = testcase.find_steps() if steps == [[]]: steps = [] for operations in steps: # To make sure that any new changes get picked up as being # new by distutils, shift the mtime of all of the # generated artifacts back by a second. fudge_dir_mtimes(WORKDIR, -1) step += 1 with chdir_manager('..'): perform_file_operations(operations) self.run_case_step(testcase, step)
def run_case_inner(self, testcase: DataDrivenTestCase) -> None: os.mkdir(WORKDIR) text = '\n'.join(testcase.input) with open('native.py', 'w', encoding='utf-8') as f: f.write(text) with open('interpreted.py', 'w', encoding='utf-8') as f: f.write(text) shutil.copyfile(TESTUTIL_PATH, 'testutil.py') step = 1 self.run_case_step(testcase, step) steps = testcase.find_steps() if steps == [[]]: steps = [] for operations in steps: # To make sure that any new changes get picked up as being # new by distutils, shift the mtime of all of the # generated artifacts back by a second. fudge_dir_mtimes(WORKDIR, -1) step += 1 with chdir_manager('..'): for op in operations: if isinstance(op, UpdateFile): # Modify/create file copy_and_fudge_mtime(op.source_path, op.target_path) else: # Delete file try: os.remove(op.path) except FileNotFoundError: pass self.run_case_step(testcase, step)