trey
Nov 13, 2020 - 22:18
I inadvertently broke pytest — I can still long-press Run and do “Run Doctests” and they work, but if I do “Run Unit Tests” I get the traceback below,, ending with PermissionError: [Errno 1] Operation not permitted: '/private/var/mobile/Library/Mobile Documents/pytest.ini'.
I know I broke it myself: I used StaSh (with Python 3) to do a pip install pytest because I was previously (when it worked) running into a bug I saw pytest had fixed. I can’t figure out how to back out the changes inflicted by running this.
Can anyone help me to fix this? Thanks!
Traceback (most recent call last):
File "/private/var/containers/Bundle/Application/1F6E6781-AC43-4C6A-86CC-E1540DE81702/Pythonista3.app/pythonista_pytest.py", line 52, in <module>
main()
File "/private/var/containers/Bundle/Application/1F6E6781-AC43-4C6A-86CC-E1540DE81702/Pythonista3.app/pythonista_pytest.py", line 17, in main
pytest.main(['--verbose', script_path, '--junitxml=%s' % (log_path,), '-p', 'no:cacheprovider'])
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/__init__.py", line 143, in main
config = _prepareconfig(args, plugins)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/__init__.py", line 319, in _prepareconfig
pluginmanager=pluginmanager, args=args
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/pluggy/manager.py", line 87, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/helpconfig.py", line 100, in pytest_cmdline_parse
config = outcome.get_result() # type: Config
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/__init__.py", line 1003, in pytest_cmdline_parse
self.parse(args)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/__init__.py", line 1280, in parse
self._preparse(args, addopts=addopts)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/__init__.py", line 1157, in _preparse
self._initini(args)
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/__init__.py", line 1080, in _initini
config=self,
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/findpaths.py", line 184, in determine_setup
rootdir, inipath, inicfg = locate_config([ancestor])
File "/private/var/mobile/Containers/Shared/AppGroup/D9BD8947-DFD5-470C-B1D9-66DA93B008C0/Pythonista3/Documents/site-packages-3/_pytest/config/findpaths.py", line 105, in locate_config
if p.is_file():
File "/var/containers/Bundle/Application/1F6E6781-AC43-4C6A-86CC-E1540DE81702/Pythonista3.app/Frameworks/Py3Kit.framework/pylib/pathlib.py", line 1346, in is_file
return S_ISREG(self.stat().st_mode)
File "/var/containers/Bundle/Application/1F6E6781-AC43-4C6A-86CC-E1540DE81702/Pythonista3.app/Frameworks/Py3Kit.framework/pylib/pathlib.py", line 1140, in stat
return self._accessor.stat(self)
File "/var/containers/Bundle/Application/1F6E6781-AC43-4C6A-86CC-E1540DE81702/Pythonista3.app/Frameworks/Py3Kit.framework/pylib/pathlib.py", line 391, in wrapped
return strfunc(str(pathobj), *args)
PermissionError: [Errno 1] Operation not permitted: '/private/var/mobile/Library/Mobile Documents/pytest.ini'