dparse icon indicating copy to clipboard operation
dparse copied to clipboard

Pipfile.Updater fails test when trying to delete temporary file before it is closed

Open ptmcg opened this issue 3 years ago • 0 comments

  • Dependency Parser version:
  • Python version: 3.10
  • Operating System: Windows 10

Description

Test failure while trying to os.remove a file that had not yet been closed.

What I Did

While running tests with tox, got the following error:

        data = open(pipfile.name).read()
>       os.remove(pipfile.name)
E       PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\ptmcg\\AppData\\Local\\Temp\\tmpwetzvkjv'

FAILED tests/test_updater.py::test_update_pipfile - PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\ptmcg\\AppData\...

Fixed by changing the "data.open(pipfile.name).read()" line in dparse/updater.py to:

        with open(pipfile.name) as pf:
            data = pf.read()
        pipfile.close()

ptmcg avatar Aug 02 '22 12:08 ptmcg