Hi Michael... It didn't seem to take. Here is some of the actual code: [[[[[[[[[[ from the runner ]]]]]]]]]]]]] print "+++++++++++++++++++++++++++++++++++++++" print "::Dir before exec:",dir(testModule) import CodeGenBase if hasattr( testModule,"TheTestCode" ): print testModule.TheTestCode %(testModule.TheTestName,
testModule.TheTestName ) exec testModule.TheTestCode %(testModule.TheTestName, testModule.TheTestName ) else: print "PASSING" print "::Dir after exec:",dir( testModule ) print "+++++++++++++++++++++++++++++++++++++++" [[[[[[[[[[[[[[[[[[[ from the test file ]]]]]]]]]]]]]]]]]]]] TheTestName = "FOO_TEST_NAME" TheTestCode = \ """class %sTestCase( CodeGenBase.CodeGenBase ): def __init__( self,methodName ): CodeGenBase.CodeGenBase.__init__( self,methodName ) def test%s(self): self.SetupAndRunConfigTxtTests() """ .....It doesn't look like the new class is sticking. Below is some output: +++++++++++++++++++++++++++++++++++++++ ::Dir before exec: ['BuildRunBase', 'CodeGenBase', 'ConfigHelper', 'TheTestCode' , 'TheTestName', '__builtins__', '__doc__', '__file__', '__name__', 'isSupported ', 'os', 'sys'] class FOO_TEST_NAMETestCase( CodeGenBase.CodeGenBase ): def __init__( self,methodName ): CodeGenBase.CodeGenBase.__init__( self,methodName ) def testFOO_TEST_NAME(self): self.SetupAndRunConfigTxtTests() ::Dir after exec: ['BuildRunBase', 'CodeGenBase', 'ConfigHelper', 'TheTestCode', 'TheTestName', '__builtins__', '__doc__', '__file__', '__name__', 'isSupported' , 'os', 'sys'] +++++++++++++++++++++++++++++++++++++++ Hopefully I just missed something obvious, which happens all too often. Any ideas? Thanks again for the help! -- http://mail.python.org/mailman/listinfo/python-list