summaryrefslogtreecommitdiff
path: root/tests/test_server.py
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2025-09-23 19:04:03 -0400
committerJohn Turner <jturner.usa@gmail.com>2025-09-23 19:04:03 -0400
commitb59489de36ad01ba0c28db9905f3c01f44a27a26 (patch)
tree5b96a3a7c8c55fff39787190df949a37b1ebbdf8 /tests/test_server.py
parent1b0fede86a689c1f8e7c77e851318b7ea3c28fef (diff)
downloadpypaste-b59489de36ad01ba0c28db9905f3c01f44a27a26.tar.gz
debuggingselect sqlite.data from sqlite where key=? limit 1"debugging
Diffstat (limited to 'tests/test_server.py')
-rwxr-xr-xtests/test_server.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/tests/test_server.py b/tests/test_server.py
index 0ccfc5b..2b1ed2e 100755
--- a/tests/test_server.py
+++ b/tests/test_server.py
@@ -7,6 +7,7 @@ import string
import random
import aiohttp
from pathlib import Path
+from asyncio import Queue
def truncate(file: Path) -> None:
@@ -20,10 +21,21 @@ def generate_name() -> str:
return "".join(random.choice(characters) for _ in range(10))
+async def tee_pipe(proc: asyncio.subprocess.Process, queue: Queue[str]) -> None:
+ assert proc.stdout is not None
+
+ while (line := await proc.stdout.readline()) is not None:
+ sys.stderr.write(line.decode())
+ await queue.put(line.decode())
+
+
async def main() -> int:
- with tempfile.TemporaryDirectory() as tmpdir:
+ with tempfile.TemporaryDirectory(delete=False) as tmpdir:
+ print(tmpdir, file=sys.stderr)
+
socket = Path(tmpdir) / (generate_name() + ".sock")
database = Path(tmpdir) / generate_name()
+ queue: Queue[str] = Queue()
truncate(database)
@@ -38,7 +50,7 @@ async def main() -> int:
"--content-length-max-bytes",
"200000",
"--key-length",
- "3",
+ "6",
"--database",
database,
"--storage-max-bytes",
@@ -48,12 +60,9 @@ async def main() -> int:
stderr=asyncio.subprocess.STDOUT,
)
- assert proc.stdout is not None
-
- line = await proc.stdout.readline()
+ asyncio.create_task(tee_pipe(proc, queue))
- if b"starting" not in line:
- print(line, file=sys.stderr)
+ if "starting" not in await queue.get():
return 1
connection = aiohttp.UnixConnector(path=str(socket))