晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/heapy/test/ |
| Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/heapy/test/support.py |
"""Supporting definitions for the Heapy regression test.
Addapted from Python standard module test_support.
"""
import contextlib
import unittest
import pdb
import sys
import tracemalloc
class Error(Exception):
"""Base class for regression test exceptions."""
class TestFailed(Error):
"""Test failed."""
class TestSkipped(Error):
"""Test skipped.
This can be raised to indicate that a test was deliberatly
skipped, but not because a feature wasn't available. For
example, if some resource can't be used, such as the network
appears to be unavailable, this should be raised instead of
TestFailed.
"""
verbose = 1 # Flag set to 0 by regrtest.py
use_resources = None # Flag set to [] by regrtest.py
# =======================================================================
# Preliminary PyUNIT integration.
class BasicTestRunner:
def run(self, test):
result = unittest.TestResult()
test(result)
return result
def run_suite(suite, testclass=None):
"""Run tests from a unittest.TestSuite-derived class."""
if verbose:
runner = unittest.TextTestRunner(sys.stdout, verbosity=2)
else:
runner = BasicTestRunner()
result = runner.run(suite)
if not result.wasSuccessful():
if len(result.errors) == 1 and not result.failures:
err = result.errors[0][1]
elif len(result.failures) == 1 and not result.errors:
err = result.failures[0][1]
else:
if testclass is None:
msg = "errors occurred; run in verbose mode for details"
else:
msg = "errors occurred in %s.%s" \
% (testclass.__module__, testclass.__name__)
raise TestFailed(msg)
raise TestFailed(err)
def run_unittest(testclass, debug=0):
"""Run tests from a unittest.TestCase-derived class."""
suite = unittest.makeSuite(testclass)
if debug:
suite.debug()
else:
run_suite(suite, testclass)
def debug_unittest(testclass):
""" Debug tests from a unittest.TestCase-derived class."""
run_unittest(testclass, debug=1)
# Base test case, tailored for heapy
class TestCase(unittest.TestCase):
def setUp(self):
from guppy import Root
self.python = Root()
self.guppy = self.python.guppy
self.heapy = self.guppy.heapy
self.Part = self.heapy.Part
self.ImpSet = self.heapy.ImpSet
self.Use = self.heapy.Use
self.View = self.heapy.View
self.iso = self.Use.iso
self.idset = self.Use.idset
self.version_info = sys.version_info
def aseq(self, a, b, cont=0):
if a != b:
print("aseq: Expected: b = ", b)
print("Got actually : a = ", a)
if cont <= 0:
if cont < 0:
pdb.set_trace()
else:
self.assertTrue(0)
def asis(self, a, b, cont=0):
if a is not b:
print("asis: Expected: b = ", b)
print("Got actually : a = ", a)
if cont <= 0:
if cont < 0:
pdb.set_trace()
else:
self.assertTrue(0)
def tearDown(self):
pass
@contextlib.contextmanager
def tracemalloc_state(enabled=True):
orig_enabled = tracemalloc.is_tracing()
def set_enabled(new_enabled):
cur_enabled = tracemalloc.is_tracing()
if cur_enabled == new_enabled:
return
if new_enabled:
tracemalloc.start()
else:
tracemalloc.stop()
set_enabled(enabled)
try:
yield
finally:
set_enabled(orig_enabled)
|