From: <bpe...@us...> - 2015-09-21 15:46:35
|
Revision: 4992 http://sourceforge.net/p/simupop/code/4992 Author: bpeng2000 Date: 2015-09-21 15:46:32 +0000 (Mon, 21 Sep 2015) Log Message: ----------- Fix test_03_operator for python2/3 compatibility Modified Paths: -------------- trunk/test/test_03_operator.py Modified: trunk/test/test_03_operator.py =================================================================== --- trunk/test/test_03_operator.py 2015-08-31 15:19:38 UTC (rev 4991) +++ trunk/test/test_03_operator.py 2015-09-21 15:46:32 UTC (rev 4992) @@ -266,14 +266,15 @@ with open('test1.txt') as test1txt: self.assertEqual(test1txt.read(), 'func2'*50) # runtime error only raise in python 3 - simu = Simulator(Population(), rep=5) - with open('test1.txt', 'wb') as out: - # each replicate - self.assertRaises(RuntimeError, simu.evolve, - matingScheme=CloneMating(), - postOps = [ - PyOutput("func2", output=out), - ], gen=10) + if sys.version_info.major > 2: + simu = Simulator(Population(), rep=5) + with open('test1.txt', 'wb') as out: + # each replicate + self.assertRaises(RuntimeError, simu.evolve, + matingScheme=CloneMating(), + postOps = [ + PyOutput("func2", output=out), + ], gen=10) # simu = Simulator(Population(), rep=5) with open('test1.txt', 'wb') as out: @@ -903,11 +904,14 @@ postOps=PyOperator(func=Functor(), param=self), gen=10 ) - self.assertEqual(Functor.instance_count, 0) + self.assertLessEqual(Functor.instance_count, 1) def testWrapperOp(self): - # func + # test memory leak of Function or class that involves self + # simuPOP automatically clears memory but the first instance + # is not cleared (due to the fact that we do not know the + # life of the object at the C++ level. for i in range(100): pop = Population(10) pop.evolve( @@ -915,7 +919,7 @@ postOps=WrapperOpFunc(param=self), gen=10 ) - self.assertEqual(WrapperOpFunc.instance_count, 0) + self.assertLessEqual(WrapperOpFunc.instance_count, 1) # for i in range(100): pop = Population(10) @@ -924,7 +928,7 @@ postOps=WrapperOpCall(param=self), gen=10 ) - self.assertEqual(WrapperOpCall.instance_count, 0) + self.assertLessEqual(WrapperOpCall.instance_count, 1) # for i in range(100): pop = Population(10) @@ -933,7 +937,7 @@ postOps=WrapperOpSelf(param=self), gen=10 ) - self.assertEqual(WrapperOpSelf.instance_count, 0) + self.assertLessEqual(WrapperOpSelf.instance_count, 1) # class lociFunc: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |