test_imports.py 12 KB

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