MCPcopy Create free account
hub / github.com/pybind/pybind11 / test_reference_internal

Function test_reference_internal

tests/test_modules.py:29–63  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

27
28
29def test_reference_internal():
30 b = ms.B()
31 assert str(b.get_a1()) == "A[1]"
32 assert str(b.a1) == "A[1]"
33 assert str(b.get_a2()) == "A[2]"
34 assert str(b.a2) == "A[2]"
35
36 b.a1 = ms.A(42)
37 b.a2 = ms.A(43)
38 assert str(b.get_a1()) == "A[42]"
39 assert str(b.a1) == "A[42]"
40 assert str(b.get_a2()) == "A[43]"
41 assert str(b.a2) == "A[43]"
42
43 if env.GRAALPY:
44 pytest.skip("ConstructorStats is incompatible with GraalPy.")
45
46 astats, bstats = ConstructorStats.get(ms.A), ConstructorStats.get(ms.B)
47 assert astats.alive() == 2
48 assert bstats.alive() == 1
49 del b
50 assert astats.alive() == 0
51 assert bstats.alive() == 0
52 assert astats.values() == ["1", "2", "42", "43"]
53 assert bstats.values() == []
54 assert astats.default_constructions == 0
55 assert bstats.default_constructions == 1
56 assert astats.copy_constructions == 0
57 assert bstats.copy_constructions == 0
58 # assert astats.move_constructions >= 0 # Don't invoke any
59 # assert bstats.move_constructions >= 0 # Don't invoke any
60 assert astats.copy_assignments == 2
61 assert bstats.copy_assignments == 0
62 assert astats.move_assignments == 0
63 assert bstats.move_assignments == 0
64
65
66def test_importing():

Callers

nothing calls this directly

Calls 6

strClass · 0.85
aliveMethod · 0.80
valuesMethod · 0.80
BMethod · 0.45
AMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected