test_imports.py 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. # These tests import Panda3D modules just to make sure that there are no
  2. # missing imports. It is useful for a quick and dirty test to make sure
  3. # that there are no obvious build issues.
  4. import pytest
  5. # This will print out imports on the command line.
  6. #import direct.showbase.VerboseImport
  7. def test_imports_panda3d():
  8. import imp, importlib, os
  9. import panda3d
  10. dir = os.path.dirname(panda3d.__file__)
  11. # Iterate over the things in the panda3d package that look like modules.
  12. extensions = set()
  13. for suffix in imp.get_suffixes():
  14. extensions.add(suffix[0])
  15. for basename in os.listdir(dir):
  16. if basename.startswith('lib'):
  17. # This not a Python module.
  18. continue
  19. module = basename.split('.', 1)[0]
  20. ext = basename[len(module):]
  21. if ext in extensions:
  22. importlib.import_module('panda3d.%s' % (module))
  23. def test_imports_direct():
  24. import direct.actor.Actor
  25. import direct.actor.DistributedActor
  26. import direct.cluster.ClusterClient
  27. import direct.cluster.ClusterConfig
  28. import direct.cluster.ClusterMsgs
  29. import direct.cluster.ClusterServer
  30. import direct.controls.BattleWalker
  31. import direct.controls.ControlManager
  32. import direct.controls.DevWalker
  33. import direct.controls.GhostWalker
  34. import direct.controls.GravityWalker
  35. import direct.controls.InputState
  36. import direct.controls.NonPhysicsWalker
  37. import direct.controls.ObserverWalker
  38. import direct.controls.PhysicsWalker
  39. import direct.controls.SwimWalker
  40. import direct.controls.TwoDWalker
  41. import direct.directnotify.DirectNotify
  42. import direct.directnotify.DirectNotifyGlobal
  43. import direct.directnotify.Logger
  44. import direct.directnotify.LoggerGlobal
  45. import direct.directnotify.Notifier
  46. import direct.directnotify.RotatingLog
  47. import direct.directtools.DirectCameraControl
  48. import direct.directtools.DirectGeometry
  49. import direct.directtools.DirectGlobals
  50. import direct.directtools.DirectGrid
  51. import direct.directtools.DirectLights
  52. import direct.directtools.DirectManipulation
  53. import direct.directtools.DirectSelection
  54. import direct.directtools.DirectUtil
  55. import direct.directutil.DeltaProfiler
  56. import direct.directutil.DistributedLargeBlobSender
  57. import direct.directutil.DistributedLargeBlobSenderAI
  58. import direct.directutil.LargeBlobSenderConsts
  59. import direct.directutil.Mopath
  60. import direct.directutil.Verify
  61. import direct.directutil.WeightedChoice
  62. import direct.dist.FreezeTool
  63. import direct.dist.icon
  64. import direct.dist.commands
  65. import direct.distributed.AsyncRequest
  66. import direct.distributed.CRCache
  67. import direct.distributed.CRDataCache
  68. import direct.distributed.CachedDOData
  69. import direct.distributed.CartesianGridBase
  70. import direct.distributed.ClientRepository
  71. import direct.distributed.ClientRepositoryBase
  72. import direct.distributed.ClockDelta
  73. import direct.distributed.ConnectionRepository
  74. import direct.distributed.DistributedCamera
  75. import direct.distributed.DistributedCameraAI
  76. import direct.distributed.DistributedCameraOV
  77. import direct.distributed.DistributedCartesianGrid
  78. import direct.distributed.DistributedCartesianGridAI
  79. import direct.distributed.DistributedNode
  80. import direct.distributed.DistributedNodeAI
  81. import direct.distributed.DistributedNodeUD
  82. import direct.distributed.DistributedObject
  83. import direct.distributed.DistributedObjectAI
  84. import direct.distributed.DistributedObjectBase
  85. import direct.distributed.DistributedObjectGlobal
  86. import direct.distributed.DistributedObjectGlobalAI
  87. import direct.distributed.DistributedObjectGlobalUD
  88. import direct.distributed.DistributedObjectOV
  89. import direct.distributed.DistributedObjectUD
  90. import direct.distributed.DistributedSmoothNodeAI
  91. import direct.distributed.DistributedSmoothNodeBase
  92. import direct.distributed.DoCollectionManager
  93. import direct.distributed.DoHierarchy
  94. import direct.distributed.DoInterestManager
  95. import direct.distributed.GridChild
  96. import direct.distributed.GridParent
  97. import direct.distributed.InterestWatcher
  98. import direct.distributed.MsgTypes
  99. import direct.distributed.MsgTypesCMU
  100. import direct.distributed.NetMessenger
  101. import direct.distributed.ParentMgr
  102. import direct.distributed.PyDatagram
  103. import direct.distributed.PyDatagramIterator
  104. import direct.distributed.RelatedObjectMgr
  105. import direct.distributed.SampleObject
  106. import direct.distributed.ServerRepository
  107. import direct.distributed.StagedObject
  108. import direct.distributed.TimeManager
  109. import direct.distributed.TimeManagerAI
  110. import direct.extensions_native.extension_native_helpers
  111. import direct.filter.CommonFilters
  112. import direct.filter.FilterManager
  113. import direct.fsm.ClassicFSM
  114. import direct.fsm.FSM
  115. import direct.fsm.FourState
  116. import direct.fsm.FourStateAI
  117. import direct.fsm.SampleFSM
  118. import direct.fsm.State
  119. import direct.fsm.StateData
  120. import direct.fsm.StatePush
  121. import direct.gui.DirectButton
  122. import direct.gui.DirectCheckBox
  123. import direct.gui.DirectCheckButton
  124. import direct.gui.DirectDialog
  125. import direct.gui.DirectEntry
  126. import direct.gui.DirectEntryScroll
  127. import direct.gui.DirectFrame
  128. import direct.gui.DirectGui
  129. import direct.gui.DirectGuiBase
  130. import direct.gui.DirectGuiGlobals
  131. import direct.gui.DirectGuiTest
  132. import direct.gui.DirectLabel
  133. import direct.gui.DirectOptionMenu
  134. import direct.gui.DirectRadioButton
  135. import direct.gui.DirectScrollBar
  136. import direct.gui.DirectScrolledFrame
  137. import direct.gui.DirectScrolledList
  138. import direct.gui.DirectSlider
  139. import direct.gui.DirectWaitBar
  140. import direct.gui.OnscreenGeom
  141. import direct.gui.OnscreenImage
  142. import direct.gui.OnscreenText
  143. import direct.interval.ActorInterval
  144. import direct.interval.AnimControlInterval
  145. import direct.interval.FunctionInterval
  146. import direct.interval.IndirectInterval
  147. import direct.interval.Interval
  148. import direct.interval.IntervalGlobal
  149. import direct.interval.IntervalManager
  150. import direct.interval.IntervalTest
  151. import direct.interval.LerpBlendHelpers
  152. import direct.interval.LerpInterval
  153. import direct.interval.MetaInterval
  154. import direct.interval.MopathInterval
  155. import direct.interval.ParticleInterval
  156. import direct.interval.ProjectileInterval
  157. import direct.interval.ProjectileIntervalTest
  158. import direct.interval.SoundInterval
  159. import direct.interval.TestInterval
  160. import direct.motiontrail.MotionTrail
  161. import direct.particles.ForceGroup
  162. import direct.particles.GlobalForceGroup
  163. import direct.particles.ParticleEffect
  164. import direct.particles.ParticleFloorTest
  165. import direct.particles.ParticleManagerGlobal
  166. import direct.particles.ParticleTest
  167. import direct.particles.Particles
  168. import direct.particles.SpriteParticleRendererExt
  169. import direct.physics.FallTest
  170. import direct.physics.RotationTest
  171. import direct.showbase.Audio3DManager
  172. import direct.showbase.BufferViewer
  173. import direct.showbase.BulletinBoard
  174. import direct.showbase.BulletinBoardGlobal
  175. import direct.showbase.BulletinBoardWatcher
  176. import direct.showbase.ContainerLeakDetector
  177. import direct.showbase.ContainerReport
  178. import direct.showbase.CountedResource
  179. import direct.showbase.DirectObject
  180. import direct.showbase.DistancePhasedNode
  181. import direct.showbase.EventGroup
  182. import direct.showbase.EventManager
  183. import direct.showbase.EventManagerGlobal
  184. import direct.showbase.ExceptionVarDump
  185. import direct.showbase.Factory
  186. import direct.showbase.Finder
  187. import direct.showbase.GarbageReport
  188. import direct.showbase.GarbageReportScheduler
  189. import direct.showbase.InputStateGlobal
  190. import direct.showbase.Job
  191. import direct.showbase.JobManager
  192. import direct.showbase.JobManagerGlobal
  193. import direct.showbase.LeakDetectors
  194. import direct.showbase.Loader
  195. import direct.showbase.Messenger
  196. import direct.showbase.MessengerGlobal
  197. import direct.showbase.MessengerLeakDetector
  198. import direct.showbase.MirrorDemo
  199. import direct.showbase.ObjectPool
  200. import direct.showbase.ObjectReport
  201. import direct.showbase.OnScreenDebug
  202. import direct.showbase.PhasedObject
  203. import direct.showbase.PhysicsManagerGlobal
  204. import direct.showbase.Pool
  205. import direct.showbase.ProfileSession
  206. import direct.showbase.PythonUtil
  207. import direct.showbase.RandomNumGen
  208. import direct.showbase.ReferrerSearch
  209. import direct.showbase.SfxPlayer
  210. import direct.showbase.ShadowDemo
  211. import direct.showbase.ShadowPlacer
  212. import direct.showbase.ShowBase
  213. import direct.showbase.TaskThreaded
  214. import direct.showbase.ThreeUpShow
  215. import direct.showbase.Transitions
  216. import direct.showbase.VFSImporter
  217. import direct.showbase.WxGlobal
  218. import direct.showutil.BuildGeometry
  219. import direct.showutil.Effects
  220. import direct.showutil.Rope
  221. import direct.showutil.TexMemWatcher
  222. import direct.showutil.TexViewer
  223. import direct.stdpy.file
  224. import direct.stdpy.glob
  225. import direct.stdpy.pickle
  226. import direct.stdpy.thread
  227. import direct.stdpy.threading
  228. import direct.stdpy.threading2
  229. import direct.task.FrameProfiler
  230. import direct.task.MiniTask
  231. import direct.task.Task
  232. import direct.task.TaskManagerGlobal
  233. import direct.task.TaskProfiler
  234. import direct.task.TaskTester
  235. import direct.task.Timer
  236. def test_imports_tk():
  237. Pmw = pytest.importorskip('Pmw')
  238. import direct.showbase.TkGlobal
  239. import direct.tkpanels.AnimPanel
  240. import direct.tkpanels.DirectSessionPanel
  241. import direct.tkpanels.FSMInspector
  242. import direct.tkpanels.Inspector
  243. import direct.tkpanels.MopathRecorder
  244. import direct.tkpanels.NotifyPanel
  245. import direct.tkpanels.ParticlePanel
  246. import direct.tkpanels.Placer
  247. import direct.tkpanels.TaskManagerPanel
  248. import direct.tkwidgets.AppShell
  249. import direct.tkwidgets.Dial
  250. import direct.tkwidgets.EntryScale
  251. import direct.tkwidgets.Floater
  252. import direct.tkwidgets.MemoryExplorer
  253. import direct.tkwidgets.ProgressBar
  254. import direct.tkwidgets.SceneGraphExplorer
  255. import direct.tkwidgets.Slider
  256. import direct.tkwidgets.Tree
  257. import direct.tkwidgets.Valuator
  258. import direct.tkwidgets.VectorWidgets
  259. import direct.tkwidgets.WidgetPropertiesDialog
  260. def test_imports_wx():
  261. wx = pytest.importorskip('wx')
  262. import direct.wxwidgets.ViewPort
  263. import direct.wxwidgets.WxAppShell
  264. import direct.wxwidgets.WxPandaShell
  265. import direct.wxwidgets.WxPandaWindow
  266. import direct.wxwidgets.WxSlider
  267. import direct.leveleditor.ActionMgr
  268. import direct.leveleditor.AnimControlUI
  269. import direct.leveleditor.AnimGlobals
  270. import direct.leveleditor.AnimMgr
  271. import direct.leveleditor.AnimMgrBase
  272. import direct.leveleditor.CurveAnimUI
  273. import direct.leveleditor.CurveEditor
  274. import direct.leveleditor.FileMgr
  275. import direct.leveleditor.GraphEditorUI
  276. import direct.leveleditor.HotKeyUI
  277. import direct.leveleditor.LayerEditorUI
  278. import direct.leveleditor.LevelEditor
  279. import direct.leveleditor.LevelEditorBase
  280. import direct.leveleditor.LevelEditorStart
  281. import direct.leveleditor.LevelEditorUI
  282. import direct.leveleditor.LevelEditorUIBase
  283. import direct.leveleditor.LevelLoader
  284. import direct.leveleditor.LevelLoaderBase
  285. import direct.leveleditor.MayaConverter
  286. import direct.leveleditor.ObjectGlobals
  287. import direct.leveleditor.ObjectHandler
  288. import direct.leveleditor.ObjectMgr
  289. import direct.leveleditor.ObjectMgrBase
  290. import direct.leveleditor.ObjectPalette
  291. import direct.leveleditor.ObjectPaletteBase
  292. import direct.leveleditor.ObjectPaletteUI
  293. import direct.leveleditor.ObjectPropertyUI
  294. import direct.leveleditor.PaletteTreeCtrl
  295. import direct.leveleditor.ProtoObjs
  296. import direct.leveleditor.ProtoObjsUI
  297. import direct.leveleditor.ProtoPalette
  298. import direct.leveleditor.ProtoPaletteBase
  299. import direct.leveleditor.ProtoPaletteUI
  300. import direct.leveleditor.SceneGraphUI
  301. import direct.leveleditor.SceneGraphUIBase