![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/lib/python3.6/dist-packages/sympy/testing/ |
Upload File : |
""" This module adds context manager for temporary files generated by the tests. """ from __future__ import print_function, division import shutil import os class TmpFileManager: """ A class to track record of every temporary files created by the tests. """ tmp_files = set('') tmp_folders = set('') @classmethod def tmp_file(cls, name=''): cls.tmp_files.add(name) return name @classmethod def tmp_folder(cls, name=''): cls.tmp_folders.add(name) return name @classmethod def cleanup(cls): while cls.tmp_files: file = cls.tmp_files.pop() if os.path.isfile(file): os.remove(file) while cls.tmp_folders: folder = cls.tmp_folders.pop() shutil.rmtree(folder) def cleanup_tmp_files(test_func): """ A decorator to help test codes remove temporary files after the tests. """ def wrapper_function(): try: test_func() finally: TmpFileManager.cleanup() return wrapper_function