[llvm] r342269 - Fix lit/example/many-tests pickling issue
Alex Langford via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 14 12:44:09 PDT 2018
Author: xiaobai
Date: Fri Sep 14 12:44:09 2018
New Revision: 342269
URL: http://llvm.org/viewvc/llvm-project?rev=342269&view=rev
Log:
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 at lanza.io>
Differential Revision: https://reviews.llvm.org/D51328
Added:
llvm/trunk/utils/lit/examples/many-tests/ManyTests.py
- copied, changed from r340788, llvm/trunk/utils/lit/examples/many-tests/lit.cfg
Modified:
llvm/trunk/utils/lit/examples/many-tests/lit.cfg
Copied: llvm/trunk/utils/lit/examples/many-tests/ManyTests.py (from r340788, llvm/trunk/utils/lit/examples/many-tests/lit.cfg)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/examples/many-tests/ManyTests.py?p2=llvm/trunk/utils/lit/examples/many-tests/ManyTests.py&p1=llvm/trunk/utils/lit/examples/many-tests/lit.cfg&r1=340788&r2=342269&rev=342269&view=diff
==============================================================================
--- llvm/trunk/utils/lit/examples/many-tests/lit.cfg (original)
+++ llvm/trunk/utils/lit/examples/many-tests/ManyTests.py Fri Sep 14 12:44:09 2018
@@ -1,23 +1,18 @@
-# -*- Python -*-
-
from lit import Test
+
class ManyTests(object):
def __init__(self, N=10000):
self.N = N
- def getTestsInDirectory(self, testSuite, path_in_suite,
- litConfig, localConfig):
+ 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)
+ 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()
+ return Test.PASS, ""
Modified: llvm/trunk/utils/lit/examples/many-tests/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/examples/many-tests/lit.cfg?rev=342269&r1=342268&r2=342269&view=diff
==============================================================================
--- llvm/trunk/utils/lit/examples/many-tests/lit.cfg (original)
+++ llvm/trunk/utils/lit/examples/many-tests/lit.cfg Fri Sep 14 12:44:09 2018
@@ -1,23 +1,8 @@
# -*- Python -*-
-from lit import Test
+import sys
+import os
+sys.path.insert(0, os.path.dirname(__file__))
+import ManyTests
-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,''
-
-config.test_format = ManyTests()
+config.test_format = ManyTests.ManyTests()
More information about the llvm-commits
mailing list