aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/fsspec/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/fsspec/conftest.py')
-rw-r--r--.venv/lib/python3.12/site-packages/fsspec/conftest.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/fsspec/conftest.py b/.venv/lib/python3.12/site-packages/fsspec/conftest.py
new file mode 100644
index 00000000..6874a42c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/fsspec/conftest.py
@@ -0,0 +1,55 @@
+import os
+import shutil
+import subprocess
+import sys
+import time
+
+import pytest
+
+import fsspec
+from fsspec.implementations.cached import CachingFileSystem
+
+
+@pytest.fixture()
+def m():
+ """
+ Fixture providing a memory filesystem.
+ """
+ m = fsspec.filesystem("memory")
+ m.store.clear()
+ m.pseudo_dirs.clear()
+ m.pseudo_dirs.append("")
+ try:
+ yield m
+ finally:
+ m.store.clear()
+ m.pseudo_dirs.clear()
+ m.pseudo_dirs.append("")
+
+
+@pytest.fixture
+def ftp_writable(tmpdir):
+ """
+ Fixture providing a writable FTP filesystem.
+ """
+ pytest.importorskip("pyftpdlib")
+ from fsspec.implementations.ftp import FTPFileSystem
+
+ FTPFileSystem.clear_instance_cache() # remove lingering connections
+ CachingFileSystem.clear_instance_cache()
+ d = str(tmpdir)
+ with open(os.path.join(d, "out"), "wb") as f:
+ f.write(b"hello" * 10000)
+ P = subprocess.Popen(
+ [sys.executable, "-m", "pyftpdlib", "-d", d, "-u", "user", "-P", "pass", "-w"]
+ )
+ try:
+ time.sleep(1)
+ yield "localhost", 2121, "user", "pass"
+ finally:
+ P.terminate()
+ P.wait()
+ try:
+ shutil.rmtree(tmpdir)
+ except Exception:
+ pass