import string
import socket
import typing as T
+import tempfile
from pathlib import Path
from . import check
log.debug("could not bind to random port %d", port, exc_info=ex)
+def temp_file(content: str) -> str:
+ """Create a temporary file and write text content into it."""
+ file = tempfile.mktemp()
+ with open(file, "w", encoding="utf-8") as f:
+ f.write(content)
+ return file
+
+
def remove_file(path: T.Union[str, Path]) -> bool:
"""Try to remove file without failing if it does not exist."""
try:
"""Check that command args runs with exit code 0.
Exit with code 77 otherwise.
"""
- if subp.run(args, check=False).returncode:
- log.info('this test requires command "%s" to work', " ".join(args))
- sys.exit(EXIT_SKIP)
+ try:
+ if subp.run(args, check=False).returncode == 0:
+ return
+ except FileNotFoundError:
+ pass
+ log.info('this test requires command "%s" to work', " ".join(args))
+ sys.exit(EXIT_SKIP)
def require_path(path: str) -> None: