tests: Fix unit test suite when building without physics or net

This commit is contained in:
rdb 2023-02-23 00:06:44 +01:00
parent 17e3f3331c
commit 6860c7776b
3 changed files with 79 additions and 62 deletions

View File

@ -1,3 +1,6 @@
import pytest
pytest.importorskip("panda3d.physics")
from panda3d.core import NodePath, PandaNode from panda3d.core import NodePath, PandaNode
from direct.particles.ParticleEffect import ParticleEffect from direct.particles.ParticleEffect import ParticleEffect
from direct.particles.Particles import Particles from direct.particles.Particles import Particles

View File

@ -1,5 +1,7 @@
import pytest
physics = pytest.importorskip("panda3d.physics")
from direct.particles.GlobalForceGroup import GlobalForceGroup from direct.particles.GlobalForceGroup import GlobalForceGroup
from panda3d import physics
def test_GlobalForceGroup(): def test_GlobalForceGroup():

View File

@ -31,10 +31,6 @@ def test_imports_panda3d():
def test_imports_direct(): def test_imports_direct():
import direct.actor.Actor import direct.actor.Actor
import direct.actor.DistributedActor 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.BattleWalker
import direct.controls.ControlManager import direct.controls.ControlManager
import direct.controls.DevWalker import direct.controls.DevWalker
@ -43,7 +39,6 @@ def test_imports_direct():
import direct.controls.InputState import direct.controls.InputState
import direct.controls.NonPhysicsWalker import direct.controls.NonPhysicsWalker
import direct.controls.ObserverWalker import direct.controls.ObserverWalker
import direct.controls.PhysicsWalker
import direct.controls.SwimWalker import direct.controls.SwimWalker
import direct.controls.TwoDWalker import direct.controls.TwoDWalker
import direct.directnotify.DirectNotify import direct.directnotify.DirectNotify
@ -70,51 +65,6 @@ def test_imports_direct():
import direct.dist.FreezeTool import direct.dist.FreezeTool
import direct.dist.icon import direct.dist.icon
import direct.dist.commands import direct.dist.commands
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.extensions_native.extension_native_helpers
import direct.filter.CommonFilters import direct.filter.CommonFilters
import direct.filter.FilterManager import direct.filter.FilterManager
@ -166,16 +116,6 @@ def test_imports_direct():
import direct.interval.SoundInterval import direct.interval.SoundInterval
import direct.interval.TestInterval import direct.interval.TestInterval
import direct.motiontrail.MotionTrail import direct.motiontrail.MotionTrail
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.Audio3DManager import direct.showbase.Audio3DManager
import direct.showbase.BufferViewer import direct.showbase.BufferViewer
import direct.showbase.BulletinBoard import direct.showbase.BulletinBoard
@ -208,7 +148,6 @@ def test_imports_direct():
import direct.showbase.ObjectReport import direct.showbase.ObjectReport
import direct.showbase.OnScreenDebug import direct.showbase.OnScreenDebug
import direct.showbase.PhasedObject import direct.showbase.PhasedObject
import direct.showbase.PhysicsManagerGlobal
import direct.showbase.Pool import direct.showbase.Pool
import direct.showbase.ProfileSession import direct.showbase.ProfileSession
import direct.showbase.PythonUtil import direct.showbase.PythonUtil
@ -243,6 +182,79 @@ def test_imports_direct():
import direct.task.Timer import direct.task.Timer
def test_imports_direct_physics():
pytest.importorskip("panda3d.physics")
import direct.controls.PhysicsWalker
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.PhysicsManagerGlobal
def test_imports_direct_net():
from panda3d import core
if not hasattr(core, 'ConnectionWriter'):
pytest.skip("Build without HAVE_NET")
import direct.cluster.ClusterClient
import direct.cluster.ClusterConfig
import direct.cluster.ClusterMsgs
import direct.cluster.ClusterServer
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
def test_imports_tk(): def test_imports_tk():
Pmw = pytest.importorskip('Pmw') Pmw = pytest.importorskip('Pmw')