晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/cloudlinux/venv/lib64/python3.11/site-packages/pytest_subprocess/ |
| Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/pytest_subprocess/process_recorder.py |
from typing import Iterator
from typing import List
from typing import Optional
from typing import TYPE_CHECKING
from typing import Union
from .types import COMMAND
from .utils import Command
if TYPE_CHECKING:
from .fake_popen import FakePopen, AsyncFakePopen
class ProcessRecorder:
"""
Recorder class that holds all FakePopen (or AsyncFakePopen) instances that were
created by the subprocess. The class contains auxiliary
"""
calls: List[Union["FakePopen", "AsyncFakePopen"]]
def __init__(self) -> None:
self.calls = []
@property
def first_call(self) -> Optional[Union["FakePopen", "AsyncFakePopen"]]:
"""Get the first process call"""
if not self.calls:
return None
return self.calls[0]
@property
def last_call(self) -> Optional[Union["FakePopen", "AsyncFakePopen"]]:
"""Get the last (latest) process call"""
if not self.calls:
return None
return self.calls[-1]
def call_count(self, command: Optional[COMMAND] = None) -> int:
"""Get process call count - optionally match with arguments"""
if not command:
return len(self.calls)
return len(tuple(self.get_matching_calls(command)))
def was_called(self, command: Optional[COMMAND] = None) -> bool:
"""Check if process was called - optionally match with arguments"""
if not self.calls:
return False
if not command:
return True
return any(self.get_matching_calls(command))
def get_matching_calls(
self, command: COMMAND
) -> Iterator[Union["FakePopen", "AsyncFakePopen"]]:
"""Get calls that match arguments"""
if not isinstance(command, Command):
command = Command(command)
return (call for call in self.calls if self.calls if command == call.args)
def clear(self) -> None:
"""Clear records"""
self.calls.clear()
|