Skip to content

Commit

Permalink
InteractiveRenderTest : Don't use node subclasses
Browse files Browse the repository at this point in the history
We're phasing these out, and we want to be able to test new renderers without being forced to add an unnecessary subclass.
  • Loading branch information
johnhaddon committed Oct 16, 2024
1 parent 29bd8ae commit c25bd9d
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 16 deletions.
4 changes: 4 additions & 0 deletions Changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ Improvements
- Light Editor : Added `is_sphere` column for Cycles lights.
- Windows : Gaffer now uses the TBB memory allocator for significantly better performance.

Breaking Changes
----------------

- InteractiveRenderTest : Removed `interactiveRenderNodeClass` member and `useNodeClass` argument to `_createInteractiveRender`. All testing is now performed with the InteractiveRender node itself.

1.5.0.0a3 (relative to 1.5.0.0a2)
=========
Expand Down
1 change: 0 additions & 1 deletion python/GafferArnoldTest/InteractiveArnoldRenderTest.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@

class InteractiveArnoldRenderTest( GafferSceneTest.InteractiveRenderTest ) :

interactiveRenderNodeClass = GafferArnold.InteractiveArnoldRender
renderer = "Arnold"

# Arnold outputs licensing warnings that would cause failures
Expand Down
1 change: 0 additions & 1 deletion python/GafferCyclesTest/InteractiveCyclesRenderTest.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@

class InteractiveCyclesRenderTest( GafferSceneTest.InteractiveRenderTest ) :

interactiveRenderNodeClass = GafferCycles.InteractiveCyclesRender
renderer = "Cycles"

def testSVMRenderWithCPU( self ) :
Expand Down
1 change: 0 additions & 1 deletion python/GafferDelightTest/InteractiveDelightRenderTest.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@
@unittest.skipIf( GafferTest.inCI(), "No license available in cloud" )
class InteractiveDelightRenderTest( GafferSceneTest.InteractiveRenderTest ) :

interactiveRenderNodeClass = GafferDelight.InteractiveDelightRender
renderer = "3Delight"

# Temporarily disable this test (which is implemented in the
Expand Down
19 changes: 6 additions & 13 deletions python/GafferSceneTest/InteractiveRenderTest.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,6 @@
# rather than GafferScene.InteractiveRender, which we hope to phase out.
class InteractiveRenderTest( GafferSceneTest.SceneTestCase ) :

## \todo Phase out InteractiveRender subclasses and just use the `renderer`
# field below.
interactiveRenderNodeClass = None
# Derived classes should set `cls.renderer` to the type of
# renderer to be tested.
renderer = None
Expand Down Expand Up @@ -2175,7 +2172,7 @@ def testRendererOption( self ):
script["customOptions"] = GafferScene.CustomOptions()
script["customOptions"]["in"].setInput( script["outputs"]["out"] )

script["renderer"] = self._createInteractiveRender( useNodeClass = False )
script["renderer"] = self._createInteractiveRender()
script["renderer"]["renderer"].setValue( "" )
script["renderer"]["in"].setInput( script["customOptions"]["out"] )

Expand Down Expand Up @@ -2223,7 +2220,7 @@ def testRendererOptionContext( self ):
script["standardOptions"]["options"]["defaultRenderer"]["enabled"].setValue( True )
script["standardOptions"]["options"]["defaultRenderer"]["value"].setValue( "${defaultRendererVariable}" )

script["renderer"] = self._createInteractiveRender( useNodeClass = False )
script["renderer"] = self._createInteractiveRender()
script["renderer"]["renderer"].setValue( "" )
script["renderer"]["in"].setInput( script["standardOptions"]["out"] )

Expand Down Expand Up @@ -2307,14 +2304,10 @@ def tearDown( self ) :
## Should be used in test cases to create an InteractiveRender node
# suitably configured for error reporting. If failOnError is
# True, then the node's error signal will cause the test to fail.
def _createInteractiveRender( self, failOnError = True, useNodeClass = True ) :

if useNodeClass :
assert( issubclass( self.interactiveRenderNodeClass, GafferScene.InteractiveRender ) )
node = self.interactiveRenderNodeClass()
else :
node = GafferScene.InteractiveRender()
node["renderer"].setValue( self.renderer )
def _createInteractiveRender( self, failOnError = True ) :

node = GafferScene.InteractiveRender()
node["renderer"].setValue( self.renderer )

if failOnError :

Expand Down

0 comments on commit c25bd9d

Please sign in to comment.