mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 16:20:11 -04:00
tests: convert makepanda/test_imports.py to a unit test
This commit is contained in:
parent
39224c651d
commit
7b5f818ab2
@ -44,7 +44,6 @@ install:
|
|||||||
- $PYTHONV -m pip install pytest
|
- $PYTHONV -m pip install pytest
|
||||||
script:
|
script:
|
||||||
- $PYTHONV makepanda/makepanda.py --everything --git-commit $TRAVIS_COMMIT $FLAGS --threads 4
|
- $PYTHONV makepanda/makepanda.py --everything --git-commit $TRAVIS_COMMIT $FLAGS --threads 4
|
||||||
- test -n "$SKIP_TESTS" || LD_LIBRARY_PATH=built/lib PYTHONPATH=built $PYTHONV makepanda/test_imports.py
|
|
||||||
- test -n "$SKIP_TESTS" || LD_LIBRARY_PATH=built/lib PYTHONPATH=built $PYTHONV -m pytest -v tests
|
- test -n "$SKIP_TESTS" || LD_LIBRARY_PATH=built/lib PYTHONPATH=built $PYTHONV -m pytest -v tests
|
||||||
notifications:
|
notifications:
|
||||||
irc:
|
irc:
|
||||||
|
@ -1,333 +0,0 @@
|
|||||||
# This script imports Panda3D modules just to make sure that there are no
|
|
||||||
# missing imports. It is useful for a quick and dirty test to make sure
|
|
||||||
# that there are no obvious build issues.
|
|
||||||
import os, importlib
|
|
||||||
|
|
||||||
# This will print out imports on the command line.
|
|
||||||
import direct.showbase.VerboseImport
|
|
||||||
|
|
||||||
|
|
||||||
import imp
|
|
||||||
import panda3d
|
|
||||||
dir = os.path.dirname(panda3d.__file__)
|
|
||||||
|
|
||||||
extensions = set()
|
|
||||||
for suffix in imp.get_suffixes():
|
|
||||||
extensions.add(suffix[0])
|
|
||||||
|
|
||||||
for basename in os.listdir(dir):
|
|
||||||
module = basename.split('.', 1)[0]
|
|
||||||
ext = basename[len(module):]
|
|
||||||
|
|
||||||
if ext in extensions:
|
|
||||||
importlib.import_module('panda3d.%s' % (module))
|
|
||||||
|
|
||||||
|
|
||||||
import direct.actor.Actor
|
|
||||||
import direct.actor.DistributedActor
|
|
||||||
import direct.cluster.ClusterClient
|
|
||||||
import direct.cluster.ClusterConfig
|
|
||||||
import direct.cluster.ClusterMsgs
|
|
||||||
import direct.cluster.ClusterServer
|
|
||||||
import direct.controls.BattleWalker
|
|
||||||
import direct.controls.ControlManager
|
|
||||||
import direct.controls.DevWalker
|
|
||||||
import direct.controls.GhostWalker
|
|
||||||
import direct.controls.GravityWalker
|
|
||||||
import direct.controls.InputState
|
|
||||||
import direct.controls.NonPhysicsWalker
|
|
||||||
import direct.controls.ObserverWalker
|
|
||||||
import direct.controls.PhysicsRoller
|
|
||||||
import direct.controls.PhysicsWalker
|
|
||||||
import direct.controls.SwimWalker
|
|
||||||
import direct.controls.TwoDWalker
|
|
||||||
import direct.directnotify.DirectNotify
|
|
||||||
import direct.directnotify.DirectNotifyGlobal
|
|
||||||
import direct.directnotify.Logger
|
|
||||||
import direct.directnotify.LoggerGlobal
|
|
||||||
import direct.directnotify.Notifier
|
|
||||||
import direct.directnotify.RotatingLog
|
|
||||||
import direct.directtools.DirectCameraControl
|
|
||||||
import direct.directtools.DirectGeometry
|
|
||||||
import direct.directtools.DirectGlobals
|
|
||||||
import direct.directtools.DirectGrid
|
|
||||||
import direct.directtools.DirectLights
|
|
||||||
import direct.directtools.DirectManipulation
|
|
||||||
import direct.directtools.DirectSelection
|
|
||||||
import direct.directtools.DirectUtil
|
|
||||||
import direct.directutil.DeltaProfiler
|
|
||||||
import direct.directutil.DistributedLargeBlobSender
|
|
||||||
import direct.directutil.DistributedLargeBlobSenderAI
|
|
||||||
import direct.directutil.LargeBlobSenderConsts
|
|
||||||
import direct.directutil.Mopath
|
|
||||||
import direct.directutil.Verify
|
|
||||||
import direct.directutil.WeightedChoice
|
|
||||||
import direct.dist.FreezeTool
|
|
||||||
import direct.distributed.AsyncRequest
|
|
||||||
import direct.distributed.CRCache
|
|
||||||
import direct.distributed.CRDataCache
|
|
||||||
import direct.distributed.CachedDOData
|
|
||||||
import direct.distributed.CartesianGridBase
|
|
||||||
import direct.distributed.ClientRepository
|
|
||||||
import direct.distributed.ClientRepositoryBase
|
|
||||||
import direct.distributed.ClockDelta
|
|
||||||
import direct.distributed.ConnectionRepository
|
|
||||||
import direct.distributed.DistributedCamera
|
|
||||||
import direct.distributed.DistributedCameraAI
|
|
||||||
import direct.distributed.DistributedCameraOV
|
|
||||||
import direct.distributed.DistributedCartesianGrid
|
|
||||||
import direct.distributed.DistributedCartesianGridAI
|
|
||||||
import direct.distributed.DistributedNode
|
|
||||||
import direct.distributed.DistributedNodeAI
|
|
||||||
import direct.distributed.DistributedNodeUD
|
|
||||||
import direct.distributed.DistributedObject
|
|
||||||
import direct.distributed.DistributedObjectAI
|
|
||||||
import direct.distributed.DistributedObjectBase
|
|
||||||
import direct.distributed.DistributedObjectGlobal
|
|
||||||
import direct.distributed.DistributedObjectGlobalAI
|
|
||||||
import direct.distributed.DistributedObjectGlobalUD
|
|
||||||
import direct.distributed.DistributedObjectOV
|
|
||||||
import direct.distributed.DistributedObjectUD
|
|
||||||
import direct.distributed.DistributedSmoothNodeAI
|
|
||||||
import direct.distributed.DistributedSmoothNodeBase
|
|
||||||
import direct.distributed.DoCollectionManager
|
|
||||||
import direct.distributed.DoHierarchy
|
|
||||||
import direct.distributed.DoInterestManager
|
|
||||||
import direct.distributed.GridChild
|
|
||||||
import direct.distributed.GridParent
|
|
||||||
import direct.distributed.InterestWatcher
|
|
||||||
import direct.distributed.MsgTypes
|
|
||||||
import direct.distributed.MsgTypesCMU
|
|
||||||
import direct.distributed.NetMessenger
|
|
||||||
import direct.distributed.ParentMgr
|
|
||||||
import direct.distributed.PyDatagram
|
|
||||||
import direct.distributed.PyDatagramIterator
|
|
||||||
import direct.distributed.RelatedObjectMgr
|
|
||||||
import direct.distributed.SampleObject
|
|
||||||
import direct.distributed.ServerRepository
|
|
||||||
import direct.distributed.StagedObject
|
|
||||||
import direct.distributed.TimeManager
|
|
||||||
import direct.distributed.TimeManagerAI
|
|
||||||
import direct.extensions_native.extension_native_helpers
|
|
||||||
import direct.filter.CommonFilters
|
|
||||||
import direct.filter.FilterManager
|
|
||||||
import direct.fsm.ClassicFSM
|
|
||||||
import direct.fsm.FSM
|
|
||||||
import direct.fsm.FourState
|
|
||||||
import direct.fsm.FourStateAI
|
|
||||||
import direct.fsm.SampleFSM
|
|
||||||
import direct.fsm.State
|
|
||||||
import direct.fsm.StateData
|
|
||||||
import direct.fsm.StatePush
|
|
||||||
import direct.gui.DirectButton
|
|
||||||
import direct.gui.DirectCheckBox
|
|
||||||
import direct.gui.DirectCheckButton
|
|
||||||
import direct.gui.DirectDialog
|
|
||||||
import direct.gui.DirectEntry
|
|
||||||
import direct.gui.DirectEntryScroll
|
|
||||||
import direct.gui.DirectFrame
|
|
||||||
import direct.gui.DirectGui
|
|
||||||
import direct.gui.DirectGuiBase
|
|
||||||
import direct.gui.DirectGuiGlobals
|
|
||||||
import direct.gui.DirectGuiTest
|
|
||||||
import direct.gui.DirectLabel
|
|
||||||
import direct.gui.DirectOptionMenu
|
|
||||||
import direct.gui.DirectRadioButton
|
|
||||||
import direct.gui.DirectScrollBar
|
|
||||||
import direct.gui.DirectScrolledFrame
|
|
||||||
import direct.gui.DirectScrolledList
|
|
||||||
import direct.gui.DirectSlider
|
|
||||||
import direct.gui.DirectWaitBar
|
|
||||||
import direct.gui.OnscreenGeom
|
|
||||||
import direct.gui.OnscreenImage
|
|
||||||
import direct.gui.OnscreenText
|
|
||||||
import direct.interval.ActorInterval
|
|
||||||
import direct.interval.AnimControlInterval
|
|
||||||
import direct.interval.FunctionInterval
|
|
||||||
import direct.interval.IndirectInterval
|
|
||||||
import direct.interval.Interval
|
|
||||||
import direct.interval.IntervalGlobal
|
|
||||||
import direct.interval.IntervalManager
|
|
||||||
import direct.interval.IntervalTest
|
|
||||||
import direct.interval.LerpBlendHelpers
|
|
||||||
import direct.interval.LerpInterval
|
|
||||||
import direct.interval.MetaInterval
|
|
||||||
import direct.interval.MopathInterval
|
|
||||||
import direct.interval.ParticleInterval
|
|
||||||
import direct.interval.ProjectileInterval
|
|
||||||
import direct.interval.ProjectileIntervalTest
|
|
||||||
import direct.interval.SoundInterval
|
|
||||||
import direct.interval.TestInterval
|
|
||||||
import direct.motiontrail.MotionTrail
|
|
||||||
import direct.p3d.AppRunner
|
|
||||||
import direct.p3d.DWBPackageInstaller
|
|
||||||
import direct.p3d.DeploymentTools
|
|
||||||
import direct.p3d.FileSpec
|
|
||||||
import direct.p3d.HostInfo
|
|
||||||
import direct.p3d.InstalledHostData
|
|
||||||
import direct.p3d.InstalledPackageData
|
|
||||||
import direct.p3d.JavaScript
|
|
||||||
import direct.p3d.PackageInfo
|
|
||||||
import direct.p3d.PackageInstaller
|
|
||||||
import direct.p3d.PackageMerger
|
|
||||||
import direct.p3d.Packager
|
|
||||||
import direct.p3d.PatchMaker
|
|
||||||
import direct.p3d.ScanDirectoryNode
|
|
||||||
import direct.p3d.SeqValue
|
|
||||||
import direct.particles.ForceGroup
|
|
||||||
import direct.particles.GlobalForceGroup
|
|
||||||
import direct.particles.ParticleEffect
|
|
||||||
import direct.particles.ParticleFloorTest
|
|
||||||
import direct.particles.ParticleManagerGlobal
|
|
||||||
import direct.particles.ParticleTest
|
|
||||||
import direct.particles.Particles
|
|
||||||
import direct.particles.SpriteParticleRendererExt
|
|
||||||
import direct.physics.FallTest
|
|
||||||
import direct.physics.RotationTest
|
|
||||||
import direct.showbase.AppRunnerGlobal
|
|
||||||
import direct.showbase.Audio3DManager
|
|
||||||
import direct.showbase.BufferViewer
|
|
||||||
import direct.showbase.BulletinBoard
|
|
||||||
import direct.showbase.BulletinBoardGlobal
|
|
||||||
import direct.showbase.BulletinBoardWatcher
|
|
||||||
import direct.showbase.ContainerLeakDetector
|
|
||||||
import direct.showbase.ContainerReport
|
|
||||||
import direct.showbase.CountedResource
|
|
||||||
import direct.showbase.DirectObject
|
|
||||||
import direct.showbase.DistancePhasedNode
|
|
||||||
import direct.showbase.EventGroup
|
|
||||||
import direct.showbase.EventManager
|
|
||||||
import direct.showbase.EventManagerGlobal
|
|
||||||
import direct.showbase.ExceptionVarDump
|
|
||||||
import direct.showbase.Factory
|
|
||||||
import direct.showbase.Finder
|
|
||||||
import direct.showbase.GarbageReport
|
|
||||||
import direct.showbase.GarbageReportScheduler
|
|
||||||
import direct.showbase.InputStateGlobal
|
|
||||||
import direct.showbase.Job
|
|
||||||
import direct.showbase.JobManager
|
|
||||||
import direct.showbase.JobManagerGlobal
|
|
||||||
import direct.showbase.LeakDetectors
|
|
||||||
import direct.showbase.Loader
|
|
||||||
import direct.showbase.Messenger
|
|
||||||
import direct.showbase.MessengerGlobal
|
|
||||||
import direct.showbase.MessengerLeakDetector
|
|
||||||
import direct.showbase.MirrorDemo
|
|
||||||
import direct.showbase.ObjectPool
|
|
||||||
import direct.showbase.ObjectReport
|
|
||||||
import direct.showbase.OnScreenDebug
|
|
||||||
import direct.showbase.PhasedObject
|
|
||||||
import direct.showbase.PhysicsManagerGlobal
|
|
||||||
import direct.showbase.Pool
|
|
||||||
import direct.showbase.ProfileSession
|
|
||||||
import direct.showbase.PythonUtil
|
|
||||||
import direct.showbase.RandomNumGen
|
|
||||||
import direct.showbase.ReferrerSearch
|
|
||||||
import direct.showbase.SfxPlayer
|
|
||||||
import direct.showbase.ShadowDemo
|
|
||||||
import direct.showbase.ShadowPlacer
|
|
||||||
import direct.showbase.ShowBase
|
|
||||||
import direct.showbase.TaskThreaded
|
|
||||||
import direct.showbase.ThreeUpShow
|
|
||||||
import direct.showbase.Transitions
|
|
||||||
import direct.showbase.VFSImporter
|
|
||||||
import direct.showbase.WxGlobal
|
|
||||||
import direct.showutil.BuildGeometry
|
|
||||||
import direct.showutil.Effects
|
|
||||||
import direct.showutil.Rope
|
|
||||||
import direct.showutil.TexMemWatcher
|
|
||||||
import direct.showutil.TexViewer
|
|
||||||
import direct.stdpy.file
|
|
||||||
import direct.stdpy.glob
|
|
||||||
#import direct.stdpy.pickle
|
|
||||||
import direct.stdpy.thread
|
|
||||||
import direct.stdpy.threading
|
|
||||||
import direct.stdpy.threading2
|
|
||||||
import direct.task.FrameProfiler
|
|
||||||
import direct.task.MiniTask
|
|
||||||
import direct.task.Task
|
|
||||||
import direct.task.TaskManagerGlobal
|
|
||||||
import direct.task.TaskProfiler
|
|
||||||
import direct.task.TaskTester
|
|
||||||
import direct.task.Timer
|
|
||||||
|
|
||||||
try:
|
|
||||||
import Pmw
|
|
||||||
except ImportError:
|
|
||||||
Pmw = None
|
|
||||||
print("Skipping Tk modules due to missing Pmw.")
|
|
||||||
|
|
||||||
if Pmw:
|
|
||||||
import direct.showbase.TkGlobal
|
|
||||||
import direct.tkpanels.AnimPanel
|
|
||||||
import direct.tkpanels.DirectSessionPanel
|
|
||||||
import direct.tkpanels.FSMInspector
|
|
||||||
import direct.tkpanels.Inspector
|
|
||||||
import direct.tkpanels.MopathRecorder
|
|
||||||
import direct.tkpanels.NotifyPanel
|
|
||||||
import direct.tkpanels.ParticlePanel
|
|
||||||
import direct.tkpanels.Placer
|
|
||||||
import direct.tkpanels.TaskManagerPanel
|
|
||||||
import direct.tkwidgets.AppShell
|
|
||||||
import direct.tkwidgets.Dial
|
|
||||||
import direct.tkwidgets.EntryScale
|
|
||||||
import direct.tkwidgets.Floater
|
|
||||||
import direct.tkwidgets.MemoryExplorer
|
|
||||||
import direct.tkwidgets.ProgressBar
|
|
||||||
import direct.tkwidgets.SceneGraphExplorer
|
|
||||||
import direct.tkwidgets.Slider
|
|
||||||
import direct.tkwidgets.Tree
|
|
||||||
import direct.tkwidgets.Valuator
|
|
||||||
import direct.tkwidgets.VectorWidgets
|
|
||||||
import direct.tkwidgets.WidgetPropertiesDialog
|
|
||||||
|
|
||||||
try:
|
|
||||||
import wx
|
|
||||||
except ImportError:
|
|
||||||
wx = None
|
|
||||||
print("Skipping wxPython and leveleditor modules due to missing wx.")
|
|
||||||
|
|
||||||
if wx:
|
|
||||||
import direct.wxwidgets.ViewPort
|
|
||||||
import direct.wxwidgets.WxAppShell
|
|
||||||
import direct.wxwidgets.WxPandaShell
|
|
||||||
import direct.wxwidgets.WxPandaWindow
|
|
||||||
import direct.wxwidgets.WxSlider
|
|
||||||
|
|
||||||
import direct.leveleditor.ActionMgr
|
|
||||||
import direct.leveleditor.AnimControlUI
|
|
||||||
import direct.leveleditor.AnimGlobals
|
|
||||||
import direct.leveleditor.AnimMgr
|
|
||||||
import direct.leveleditor.AnimMgrBase
|
|
||||||
import direct.leveleditor.CurveAnimUI
|
|
||||||
import direct.leveleditor.CurveEditor
|
|
||||||
import direct.leveleditor.FileMgr
|
|
||||||
import direct.leveleditor.GraphEditorUI
|
|
||||||
import direct.leveleditor.HotKeyUI
|
|
||||||
import direct.leveleditor.LayerEditorUI
|
|
||||||
import direct.leveleditor.LevelEditor
|
|
||||||
import direct.leveleditor.LevelEditorBase
|
|
||||||
import direct.leveleditor.LevelEditorStart
|
|
||||||
import direct.leveleditor.LevelEditorUI
|
|
||||||
import direct.leveleditor.LevelEditorUIBase
|
|
||||||
import direct.leveleditor.LevelLoader
|
|
||||||
import direct.leveleditor.LevelLoaderBase
|
|
||||||
import direct.leveleditor.MayaConverter
|
|
||||||
import direct.leveleditor.ObjectGlobals
|
|
||||||
import direct.leveleditor.ObjectHandler
|
|
||||||
import direct.leveleditor.ObjectMgr
|
|
||||||
import direct.leveleditor.ObjectMgrBase
|
|
||||||
import direct.leveleditor.ObjectPalette
|
|
||||||
import direct.leveleditor.ObjectPaletteBase
|
|
||||||
import direct.leveleditor.ObjectPaletteUI
|
|
||||||
import direct.leveleditor.ObjectPropertyUI
|
|
||||||
import direct.leveleditor.PaletteTreeCtrl
|
|
||||||
import direct.leveleditor.ProtoObjs
|
|
||||||
import direct.leveleditor.ProtoObjsUI
|
|
||||||
import direct.leveleditor.ProtoPalette
|
|
||||||
import direct.leveleditor.ProtoPaletteBase
|
|
||||||
import direct.leveleditor.ProtoPaletteUI
|
|
||||||
import direct.leveleditor.SceneGraphUI
|
|
||||||
import direct.leveleditor.SceneGraphUIBase
|
|
||||||
|
|
||||||
print("Finished.")
|
|
328
tests/test_imports.py
Normal file
328
tests/test_imports.py
Normal file
@ -0,0 +1,328 @@
|
|||||||
|
# These tests import Panda3D modules just to make sure that there are no
|
||||||
|
# missing imports. It is useful for a quick and dirty test to make sure
|
||||||
|
# that there are no obvious build issues.
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
# This will print out imports on the command line.
|
||||||
|
#import direct.showbase.VerboseImport
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def test_imports_panda3d():
|
||||||
|
import imp, importlib, os
|
||||||
|
import panda3d
|
||||||
|
dir = os.path.dirname(panda3d.__file__)
|
||||||
|
|
||||||
|
extensions = set()
|
||||||
|
for suffix in imp.get_suffixes():
|
||||||
|
extensions.add(suffix[0])
|
||||||
|
|
||||||
|
for basename in os.listdir(dir):
|
||||||
|
module = basename.split('.', 1)[0]
|
||||||
|
ext = basename[len(module):]
|
||||||
|
|
||||||
|
if ext in extensions:
|
||||||
|
importlib.import_module('panda3d.%s' % (module))
|
||||||
|
|
||||||
|
|
||||||
|
def test_imports_direct():
|
||||||
|
import direct.actor.Actor
|
||||||
|
import direct.actor.DistributedActor
|
||||||
|
import direct.cluster.ClusterClient
|
||||||
|
import direct.cluster.ClusterConfig
|
||||||
|
import direct.cluster.ClusterMsgs
|
||||||
|
import direct.cluster.ClusterServer
|
||||||
|
import direct.controls.BattleWalker
|
||||||
|
import direct.controls.ControlManager
|
||||||
|
import direct.controls.DevWalker
|
||||||
|
import direct.controls.GhostWalker
|
||||||
|
import direct.controls.GravityWalker
|
||||||
|
import direct.controls.InputState
|
||||||
|
import direct.controls.NonPhysicsWalker
|
||||||
|
import direct.controls.ObserverWalker
|
||||||
|
import direct.controls.PhysicsRoller
|
||||||
|
import direct.controls.PhysicsWalker
|
||||||
|
import direct.controls.SwimWalker
|
||||||
|
import direct.controls.TwoDWalker
|
||||||
|
import direct.directnotify.DirectNotify
|
||||||
|
import direct.directnotify.DirectNotifyGlobal
|
||||||
|
import direct.directnotify.Logger
|
||||||
|
import direct.directnotify.LoggerGlobal
|
||||||
|
import direct.directnotify.Notifier
|
||||||
|
import direct.directnotify.RotatingLog
|
||||||
|
import direct.directtools.DirectCameraControl
|
||||||
|
import direct.directtools.DirectGeometry
|
||||||
|
import direct.directtools.DirectGlobals
|
||||||
|
import direct.directtools.DirectGrid
|
||||||
|
import direct.directtools.DirectLights
|
||||||
|
import direct.directtools.DirectManipulation
|
||||||
|
import direct.directtools.DirectSelection
|
||||||
|
import direct.directtools.DirectUtil
|
||||||
|
import direct.directutil.DeltaProfiler
|
||||||
|
import direct.directutil.DistributedLargeBlobSender
|
||||||
|
import direct.directutil.DistributedLargeBlobSenderAI
|
||||||
|
import direct.directutil.LargeBlobSenderConsts
|
||||||
|
import direct.directutil.Mopath
|
||||||
|
import direct.directutil.Verify
|
||||||
|
import direct.directutil.WeightedChoice
|
||||||
|
import direct.dist.FreezeTool
|
||||||
|
import direct.distributed.AsyncRequest
|
||||||
|
import direct.distributed.CRCache
|
||||||
|
import direct.distributed.CRDataCache
|
||||||
|
import direct.distributed.CachedDOData
|
||||||
|
import direct.distributed.CartesianGridBase
|
||||||
|
import direct.distributed.ClientRepository
|
||||||
|
import direct.distributed.ClientRepositoryBase
|
||||||
|
import direct.distributed.ClockDelta
|
||||||
|
import direct.distributed.ConnectionRepository
|
||||||
|
import direct.distributed.DistributedCamera
|
||||||
|
import direct.distributed.DistributedCameraAI
|
||||||
|
import direct.distributed.DistributedCameraOV
|
||||||
|
import direct.distributed.DistributedCartesianGrid
|
||||||
|
import direct.distributed.DistributedCartesianGridAI
|
||||||
|
import direct.distributed.DistributedNode
|
||||||
|
import direct.distributed.DistributedNodeAI
|
||||||
|
import direct.distributed.DistributedNodeUD
|
||||||
|
import direct.distributed.DistributedObject
|
||||||
|
import direct.distributed.DistributedObjectAI
|
||||||
|
import direct.distributed.DistributedObjectBase
|
||||||
|
import direct.distributed.DistributedObjectGlobal
|
||||||
|
import direct.distributed.DistributedObjectGlobalAI
|
||||||
|
import direct.distributed.DistributedObjectGlobalUD
|
||||||
|
import direct.distributed.DistributedObjectOV
|
||||||
|
import direct.distributed.DistributedObjectUD
|
||||||
|
import direct.distributed.DistributedSmoothNodeAI
|
||||||
|
import direct.distributed.DistributedSmoothNodeBase
|
||||||
|
import direct.distributed.DoCollectionManager
|
||||||
|
import direct.distributed.DoHierarchy
|
||||||
|
import direct.distributed.DoInterestManager
|
||||||
|
import direct.distributed.GridChild
|
||||||
|
import direct.distributed.GridParent
|
||||||
|
import direct.distributed.InterestWatcher
|
||||||
|
import direct.distributed.MsgTypes
|
||||||
|
import direct.distributed.MsgTypesCMU
|
||||||
|
import direct.distributed.NetMessenger
|
||||||
|
import direct.distributed.ParentMgr
|
||||||
|
import direct.distributed.PyDatagram
|
||||||
|
import direct.distributed.PyDatagramIterator
|
||||||
|
import direct.distributed.RelatedObjectMgr
|
||||||
|
import direct.distributed.SampleObject
|
||||||
|
import direct.distributed.ServerRepository
|
||||||
|
import direct.distributed.StagedObject
|
||||||
|
import direct.distributed.TimeManager
|
||||||
|
import direct.distributed.TimeManagerAI
|
||||||
|
import direct.extensions_native.extension_native_helpers
|
||||||
|
import direct.filter.CommonFilters
|
||||||
|
import direct.filter.FilterManager
|
||||||
|
import direct.fsm.ClassicFSM
|
||||||
|
import direct.fsm.FSM
|
||||||
|
import direct.fsm.FourState
|
||||||
|
import direct.fsm.FourStateAI
|
||||||
|
import direct.fsm.SampleFSM
|
||||||
|
import direct.fsm.State
|
||||||
|
import direct.fsm.StateData
|
||||||
|
import direct.fsm.StatePush
|
||||||
|
import direct.gui.DirectButton
|
||||||
|
import direct.gui.DirectCheckBox
|
||||||
|
import direct.gui.DirectCheckButton
|
||||||
|
import direct.gui.DirectDialog
|
||||||
|
import direct.gui.DirectEntry
|
||||||
|
import direct.gui.DirectEntryScroll
|
||||||
|
import direct.gui.DirectFrame
|
||||||
|
import direct.gui.DirectGui
|
||||||
|
import direct.gui.DirectGuiBase
|
||||||
|
import direct.gui.DirectGuiGlobals
|
||||||
|
import direct.gui.DirectGuiTest
|
||||||
|
import direct.gui.DirectLabel
|
||||||
|
import direct.gui.DirectOptionMenu
|
||||||
|
import direct.gui.DirectRadioButton
|
||||||
|
import direct.gui.DirectScrollBar
|
||||||
|
import direct.gui.DirectScrolledFrame
|
||||||
|
import direct.gui.DirectScrolledList
|
||||||
|
import direct.gui.DirectSlider
|
||||||
|
import direct.gui.DirectWaitBar
|
||||||
|
import direct.gui.OnscreenGeom
|
||||||
|
import direct.gui.OnscreenImage
|
||||||
|
import direct.gui.OnscreenText
|
||||||
|
import direct.interval.ActorInterval
|
||||||
|
import direct.interval.AnimControlInterval
|
||||||
|
import direct.interval.FunctionInterval
|
||||||
|
import direct.interval.IndirectInterval
|
||||||
|
import direct.interval.Interval
|
||||||
|
import direct.interval.IntervalGlobal
|
||||||
|
import direct.interval.IntervalManager
|
||||||
|
import direct.interval.IntervalTest
|
||||||
|
import direct.interval.LerpBlendHelpers
|
||||||
|
import direct.interval.LerpInterval
|
||||||
|
import direct.interval.MetaInterval
|
||||||
|
import direct.interval.MopathInterval
|
||||||
|
import direct.interval.ParticleInterval
|
||||||
|
import direct.interval.ProjectileInterval
|
||||||
|
import direct.interval.ProjectileIntervalTest
|
||||||
|
import direct.interval.SoundInterval
|
||||||
|
import direct.interval.TestInterval
|
||||||
|
import direct.motiontrail.MotionTrail
|
||||||
|
import direct.p3d.AppRunner
|
||||||
|
import direct.p3d.DWBPackageInstaller
|
||||||
|
import direct.p3d.DeploymentTools
|
||||||
|
import direct.p3d.FileSpec
|
||||||
|
import direct.p3d.HostInfo
|
||||||
|
import direct.p3d.InstalledHostData
|
||||||
|
import direct.p3d.InstalledPackageData
|
||||||
|
import direct.p3d.JavaScript
|
||||||
|
import direct.p3d.PackageInfo
|
||||||
|
import direct.p3d.PackageInstaller
|
||||||
|
import direct.p3d.PackageMerger
|
||||||
|
import direct.p3d.Packager
|
||||||
|
import direct.p3d.PatchMaker
|
||||||
|
import direct.p3d.ScanDirectoryNode
|
||||||
|
import direct.p3d.SeqValue
|
||||||
|
import direct.particles.ForceGroup
|
||||||
|
import direct.particles.GlobalForceGroup
|
||||||
|
import direct.particles.ParticleEffect
|
||||||
|
import direct.particles.ParticleFloorTest
|
||||||
|
import direct.particles.ParticleManagerGlobal
|
||||||
|
import direct.particles.ParticleTest
|
||||||
|
import direct.particles.Particles
|
||||||
|
import direct.particles.SpriteParticleRendererExt
|
||||||
|
import direct.physics.FallTest
|
||||||
|
import direct.physics.RotationTest
|
||||||
|
import direct.showbase.AppRunnerGlobal
|
||||||
|
import direct.showbase.Audio3DManager
|
||||||
|
import direct.showbase.BufferViewer
|
||||||
|
import direct.showbase.BulletinBoard
|
||||||
|
import direct.showbase.BulletinBoardGlobal
|
||||||
|
import direct.showbase.BulletinBoardWatcher
|
||||||
|
import direct.showbase.ContainerLeakDetector
|
||||||
|
import direct.showbase.ContainerReport
|
||||||
|
import direct.showbase.CountedResource
|
||||||
|
import direct.showbase.DirectObject
|
||||||
|
import direct.showbase.DistancePhasedNode
|
||||||
|
import direct.showbase.EventGroup
|
||||||
|
import direct.showbase.EventManager
|
||||||
|
import direct.showbase.EventManagerGlobal
|
||||||
|
import direct.showbase.ExceptionVarDump
|
||||||
|
import direct.showbase.Factory
|
||||||
|
import direct.showbase.Finder
|
||||||
|
import direct.showbase.GarbageReport
|
||||||
|
import direct.showbase.GarbageReportScheduler
|
||||||
|
import direct.showbase.InputStateGlobal
|
||||||
|
import direct.showbase.Job
|
||||||
|
import direct.showbase.JobManager
|
||||||
|
import direct.showbase.JobManagerGlobal
|
||||||
|
import direct.showbase.LeakDetectors
|
||||||
|
import direct.showbase.Loader
|
||||||
|
import direct.showbase.Messenger
|
||||||
|
import direct.showbase.MessengerGlobal
|
||||||
|
import direct.showbase.MessengerLeakDetector
|
||||||
|
import direct.showbase.MirrorDemo
|
||||||
|
import direct.showbase.ObjectPool
|
||||||
|
import direct.showbase.ObjectReport
|
||||||
|
import direct.showbase.OnScreenDebug
|
||||||
|
import direct.showbase.PhasedObject
|
||||||
|
import direct.showbase.PhysicsManagerGlobal
|
||||||
|
import direct.showbase.Pool
|
||||||
|
import direct.showbase.ProfileSession
|
||||||
|
import direct.showbase.PythonUtil
|
||||||
|
import direct.showbase.RandomNumGen
|
||||||
|
import direct.showbase.ReferrerSearch
|
||||||
|
import direct.showbase.SfxPlayer
|
||||||
|
import direct.showbase.ShadowDemo
|
||||||
|
import direct.showbase.ShadowPlacer
|
||||||
|
import direct.showbase.ShowBase
|
||||||
|
import direct.showbase.TaskThreaded
|
||||||
|
import direct.showbase.ThreeUpShow
|
||||||
|
import direct.showbase.Transitions
|
||||||
|
import direct.showbase.VFSImporter
|
||||||
|
import direct.showbase.WxGlobal
|
||||||
|
import direct.showutil.BuildGeometry
|
||||||
|
import direct.showutil.Effects
|
||||||
|
import direct.showutil.Rope
|
||||||
|
import direct.showutil.TexMemWatcher
|
||||||
|
import direct.showutil.TexViewer
|
||||||
|
import direct.stdpy.file
|
||||||
|
import direct.stdpy.glob
|
||||||
|
import direct.stdpy.pickle
|
||||||
|
import direct.stdpy.thread
|
||||||
|
import direct.stdpy.threading
|
||||||
|
import direct.stdpy.threading2
|
||||||
|
import direct.task.FrameProfiler
|
||||||
|
import direct.task.MiniTask
|
||||||
|
import direct.task.Task
|
||||||
|
import direct.task.TaskManagerGlobal
|
||||||
|
import direct.task.TaskProfiler
|
||||||
|
import direct.task.TaskTester
|
||||||
|
import direct.task.Timer
|
||||||
|
|
||||||
|
|
||||||
|
def test_imports_tk():
|
||||||
|
Pmw = pytest.importorskip('Pmw')
|
||||||
|
|
||||||
|
import direct.showbase.TkGlobal
|
||||||
|
import direct.tkpanels.AnimPanel
|
||||||
|
import direct.tkpanels.DirectSessionPanel
|
||||||
|
import direct.tkpanels.FSMInspector
|
||||||
|
import direct.tkpanels.Inspector
|
||||||
|
import direct.tkpanels.MopathRecorder
|
||||||
|
import direct.tkpanels.NotifyPanel
|
||||||
|
import direct.tkpanels.ParticlePanel
|
||||||
|
import direct.tkpanels.Placer
|
||||||
|
import direct.tkpanels.TaskManagerPanel
|
||||||
|
import direct.tkwidgets.AppShell
|
||||||
|
import direct.tkwidgets.Dial
|
||||||
|
import direct.tkwidgets.EntryScale
|
||||||
|
import direct.tkwidgets.Floater
|
||||||
|
import direct.tkwidgets.MemoryExplorer
|
||||||
|
import direct.tkwidgets.ProgressBar
|
||||||
|
import direct.tkwidgets.SceneGraphExplorer
|
||||||
|
import direct.tkwidgets.Slider
|
||||||
|
import direct.tkwidgets.Tree
|
||||||
|
import direct.tkwidgets.Valuator
|
||||||
|
import direct.tkwidgets.VectorWidgets
|
||||||
|
import direct.tkwidgets.WidgetPropertiesDialog
|
||||||
|
|
||||||
|
|
||||||
|
def test_imports_wx():
|
||||||
|
wx = pytest.importorskip('wx')
|
||||||
|
|
||||||
|
import direct.wxwidgets.ViewPort
|
||||||
|
import direct.wxwidgets.WxAppShell
|
||||||
|
import direct.wxwidgets.WxPandaShell
|
||||||
|
import direct.wxwidgets.WxPandaWindow
|
||||||
|
import direct.wxwidgets.WxSlider
|
||||||
|
|
||||||
|
import direct.leveleditor.ActionMgr
|
||||||
|
import direct.leveleditor.AnimControlUI
|
||||||
|
import direct.leveleditor.AnimGlobals
|
||||||
|
import direct.leveleditor.AnimMgr
|
||||||
|
import direct.leveleditor.AnimMgrBase
|
||||||
|
import direct.leveleditor.CurveAnimUI
|
||||||
|
import direct.leveleditor.CurveEditor
|
||||||
|
import direct.leveleditor.FileMgr
|
||||||
|
import direct.leveleditor.GraphEditorUI
|
||||||
|
import direct.leveleditor.HotKeyUI
|
||||||
|
import direct.leveleditor.LayerEditorUI
|
||||||
|
import direct.leveleditor.LevelEditor
|
||||||
|
import direct.leveleditor.LevelEditorBase
|
||||||
|
import direct.leveleditor.LevelEditorStart
|
||||||
|
import direct.leveleditor.LevelEditorUI
|
||||||
|
import direct.leveleditor.LevelEditorUIBase
|
||||||
|
import direct.leveleditor.LevelLoader
|
||||||
|
import direct.leveleditor.LevelLoaderBase
|
||||||
|
import direct.leveleditor.MayaConverter
|
||||||
|
import direct.leveleditor.ObjectGlobals
|
||||||
|
import direct.leveleditor.ObjectHandler
|
||||||
|
import direct.leveleditor.ObjectMgr
|
||||||
|
import direct.leveleditor.ObjectMgrBase
|
||||||
|
import direct.leveleditor.ObjectPalette
|
||||||
|
import direct.leveleditor.ObjectPaletteBase
|
||||||
|
import direct.leveleditor.ObjectPaletteUI
|
||||||
|
import direct.leveleditor.ObjectPropertyUI
|
||||||
|
import direct.leveleditor.PaletteTreeCtrl
|
||||||
|
import direct.leveleditor.ProtoObjs
|
||||||
|
import direct.leveleditor.ProtoObjsUI
|
||||||
|
import direct.leveleditor.ProtoPalette
|
||||||
|
import direct.leveleditor.ProtoPaletteBase
|
||||||
|
import direct.leveleditor.ProtoPaletteUI
|
||||||
|
import direct.leveleditor.SceneGraphUI
|
||||||
|
import direct.leveleditor.SceneGraphUIBase
|
Loading…
x
Reference in New Issue
Block a user