{"html_url": "https://github.com/simonw/datasette/pull/542#issuecomment-508876468", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/542", "id": 508876468, "node_id": "MDEyOklzc3VlQ29tbWVudDUwODg3NjQ2OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-05T22:57:32Z", "updated_at": "2019-07-05T22:57:32Z", "author_association": "OWNER", "body": "This looks relevant: https://github.com/pytest-dev/pytest/issues/1235 - \"pytest explodes if getcwd fails\"", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 464786717, "label": "extra_template_vars plugin hook"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/542#issuecomment-508876259", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/542", "id": 508876259, "node_id": "MDEyOklzc3VlQ29tbWVudDUwODg3NjI1OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-05T22:55:27Z", "updated_at": "2019-07-05T22:55:46Z", "author_association": "OWNER", "body": "Here's what `isolated_filesystem()` does:\r\n\r\n> A context manager that creates a temporary folder and changes the current working directory to it for isolated filesystem tests.\r\n\r\nhttps://github.com/pallets/click/issues/395 is a four year old issue suggesting allowing it to have a parent tmp directory passed to it, but since that issue was never closed I don't think it's going to help me.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 464786717, "label": "extra_template_vars plugin hook"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/542#issuecomment-508875041", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/542", "id": 508875041, "node_id": "MDEyOklzc3VlQ29tbWVudDUwODg3NTA0MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-05T22:43:53Z", "updated_at": "2019-07-05T22:43:53Z", "author_association": "OWNER", "body": "I've confirmed that it's the `template_dir=` line quoted above. It isn't the fault of `pathlib` - if you hard-code in the path string like this I still get the same failures:\r\n```\r\n template_dir = \"/Users/simonw/Dropbox/Development/datasette/tests/test_templates\"\r\n for client in make_app_client(\r\n template_dir=template_dir\r\n ):\r\n```\r\nSo for some reason setting `template_dir` to a concrete directory breaks those other tests.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 464786717, "label": "extra_template_vars plugin hook"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/542#issuecomment-508873216", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/542", "id": 508873216, "node_id": "MDEyOklzc3VlQ29tbWVudDUwODg3MzIxNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-05T22:27:00Z", "updated_at": "2019-07-05T22:27:00Z", "author_association": "OWNER", "body": "I bet that error is something to do with this:\r\nhttps://github.com/simonw/datasette/blob/e06e083240522a281b280b6461e935bf4b47bdbc/tests/test_plugins.py#L195-L197", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 464786717, "label": "extra_template_vars plugin hook"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/542#issuecomment-508873079", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/542", "id": 508873079, "node_id": "MDEyOklzc3VlQ29tbWVudDUwODg3MzA3OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-05T22:25:33Z", "updated_at": "2019-07-05T22:25:33Z", "author_association": "OWNER", "body": "I'm getting this weird failure again:\r\n```\r\nself = \r\n @contextlib.contextmanager\r\n def isolated_filesystem(self):\r\n \"\"\"A context manager that creates a temporary folder and changes\r\n the current working directory to it for isolated filesystem tests.\r\n \"\"\"\r\n> cwd = os.getcwd()\r\nE FileNotFoundError: [Errno 2] No such file or directory\r\n```\r\nI saw this the other day too, but managed to avoid it by skipping any code that messed around with temporary files.\r\n\r\nBaffled as to why this is showing up now, as none of the changes I'm making here have any relevance to the way temporary files are created or the current working directory is set.\r\n\r\nI understand the root cause here to be that the working directory for the tests was deleted while the tests were still running, which would seem to indicate that something to do with a `tmpdir` fixture is at fault.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 464786717, "label": "extra_template_vars plugin hook"}, "performed_via_github_app": null}