mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
Fix lit/example/many-tests pickling issue
Summary: The multiprocess module uses pickling to transfer information between processes and does not know how to pickle the class created in the lit.cfg file and thus the example fails. Implement ManyTests in a separate file and import for the example test passes Patch by Nathan Lanza <nathan@lanza.io> Differential Revision: https://reviews.llvm.org/D51328 llvm-svn: 342269
This commit is contained in:
parent
023adc2eda
commit
6602205ee0
18
utils/lit/examples/many-tests/ManyTests.py
Normal file
18
utils/lit/examples/many-tests/ManyTests.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
from lit import Test
|
||||||
|
|
||||||
|
|
||||||
|
class ManyTests(object):
|
||||||
|
def __init__(self, N=10000):
|
||||||
|
self.N = N
|
||||||
|
|
||||||
|
def getTestsInDirectory(self, testSuite, path_in_suite, litConfig, localConfig):
|
||||||
|
for i in range(self.N):
|
||||||
|
test_name = "test-%04d" % (i,)
|
||||||
|
yield Test.Test(testSuite, path_in_suite + (test_name,), localConfig)
|
||||||
|
|
||||||
|
def execute(self, test, litConfig):
|
||||||
|
# Do a "non-trivial" amount of Python work.
|
||||||
|
sum = 0
|
||||||
|
for i in range(10000):
|
||||||
|
sum += i
|
||||||
|
return Test.PASS, ""
|
@ -1,23 +1,8 @@
|
|||||||
# -*- Python -*-
|
# -*- Python -*-
|
||||||
|
|
||||||
from lit import Test
|
import sys
|
||||||
|
import os
|
||||||
|
sys.path.insert(0, os.path.dirname(__file__))
|
||||||
|
import ManyTests
|
||||||
|
|
||||||
class ManyTests(object):
|
config.test_format = ManyTests.ManyTests()
|
||||||
def __init__(self, N=10000):
|
|
||||||
self.N = N
|
|
||||||
|
|
||||||
def getTestsInDirectory(self, testSuite, path_in_suite,
|
|
||||||
litConfig, localConfig):
|
|
||||||
for i in range(self.N):
|
|
||||||
test_name = 'test-%04d' % (i,)
|
|
||||||
yield Test.Test(testSuite, path_in_suite + (test_name,),
|
|
||||||
localConfig)
|
|
||||||
|
|
||||||
def execute(self, test, litConfig):
|
|
||||||
# Do a "non-trivial" amount of Python work.
|
|
||||||
sum = 0
|
|
||||||
for i in range(10000):
|
|
||||||
sum += i
|
|
||||||
return Test.PASS,''
|
|
||||||
|
|
||||||
config.test_format = ManyTests()
|
|
||||||
|
Loading…
Reference in New Issue
Block a user