288016f4e8fd9550edfdc14054d592fa37feaf1d
8 preserve
= ['camera', 'DIRECT']
9 unexpected_nodes
= [c
for c
in render
.children
if child
.name
not in preserve
]
10 for node
in unexpected_nodes
: Assert
.__process
_render
3d
_exception
(node
)
13 def __process_render3d_exception(node
):
15 message
= f
'unexpected render3d node: {node.name}'
16 raise Exception(message
)
19 def assert_aspect2d():
21 'a2dBackground', 'a2dTopCenter', 'a2dTopCenterNS',
22 'a2dBottomCenter', 'a2dBottomCenterNS', 'a2dLeftCenter',
23 'a2dLeftCenterNS', 'a2dRightCenter', 'a2dRightCenterNS',
24 'a2dTopLeft', 'a2dTopLeftNS', 'a2dTopRight',
25 'a2dTopRightNS', 'a2dBottomLeft', 'a2dBottomLeftNS',
26 'a2dBottomRight', 'a2dBottomRightNS', 'test_txt']
27 unexpected_nodes
= [c
for c
in aspect2d
.children
28 if c
.name
not in preserve
and not c
.has_python_tag('preserve')]
29 for node
in unexpected_nodes
: Assert
.__process
_aspect
2d
_exception
(node
)
32 def __process_aspect2d_exception(node
):
34 message
= f
'unexpected aspect2d node: {node.name}'
35 raise Exception(message
)
38 def assert_render2d():
39 preserve
= ['aspect2d', 'pixel2d', 'camera2d']
40 unexpected_nodes
= [c
for c
in render2d
.children
if c
.name
not in preserve
and not c
.has_python_tag('preserve')]
41 for node
in unexpected_nodes
: Assert
.__process
_render
2d
_exception
(node
)
44 def __process_render2d_exception(self
, node
):
46 message
= f
'unexpected render2d node: {node.name}'
47 raise Exception(message
)
51 preserve
= ['window-event', 'window-closed', 'async_loader_0', 'async_loader_1',
52 'render-texture-targets-changed', 'aspectRatioChanged']
53 unexpected_events
= [e
for e
in messenger
.getEvents() if e
not in preserve
]
54 for e
in unexpected_events
: Assert
.__process
_event
_exception
(e
)
57 def __process_event_exception(event
):
58 if (acc
:= messenger
.who_accepts(event
)):
59 Assert
.__process
_event
_acceptors
(acc
, event
)
62 def __process_event_acceptors(acceptors
, event
):
63 for key
, a
in acceptors
.items(): Assert
.__process
_event
_acceptor
(key
, a
, event
)
66 def __process_event_acceptor(key
, acceptor
, event
):
68 # print(f'the event {event} accepted by <{key}, {acceptor[0]}> is persistent')
70 Assert
.__actually
_process
_event
_exception
(acceptor
, event
)
73 def __actually_process_event_exception(acceptor
, event
):
74 message
= f
'unexpected event: {event}, {str(acceptor)}'
75 raise Exception(message
)
80 'ivalLoop', 'garbageCollectStates', 'collisionLoop',
81 'igLoop', 'audioLoop', 'resetPrevTransform', 'dataLoop',
82 'eventManager', 'simplepbr update', 'on frame music',
83 'assert_fps', 'DIRECTContextTask']
84 unexpected_tasks
= [t
for t
in taskMgr
.getTasks() + taskMgr
.getDoLaters()
85 if t
.name
not in preserve
and not hasattr(t
, 'preserve')]
86 for t
in unexpected_tasks
: Assert
.__process
_task
_exception
(t
)
89 def __process_task_exception(task
):
90 message
= f
'unexpected task: {task.name}'
91 raise Exception(message
)
96 #if RenderToTexture.buffers:
100 def assert_threads():
101 thread_names
= [thread
.name
for thread
in threading
.enumerate()]
102 preserve
= ['MainThread', 'rpc_server']
103 unexpected_tasks
= [t
for t
in thread_names
if t
not in preserve
]
104 for t
in unexpected_tasks
: Assert
.__process
_unexpected
_thread
(t
)
107 def __process_unexpected_thread(thread_name
):
108 message
= f
'unexpected thread: {thread_name}'
109 raise Exception(message
)