summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit/examples
diff options
context:
space:
mode:
authorAlex Langford <apl@fb.com>2018-09-14 19:44:09 +0000
committerAlex Langford <apl@fb.com>2018-09-14 19:44:09 +0000
commita250f90efe8207e69e21d2f19e4dacb66d854ea9 (patch)
tree88d15437404dcb963c334706ff8f50ca37c9fb90 /llvm/utils/lit/examples
parent7bff00e8419350996a1acdc95c289998c6db6357 (diff)
downloadbcm5719-llvm-a250f90efe8207e69e21d2f19e4dacb66d854ea9.tar.gz
bcm5719-llvm-a250f90efe8207e69e21d2f19e4dacb66d854ea9.zip
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
Diffstat (limited to 'llvm/utils/lit/examples')
-rw-r--r--llvm/utils/lit/examples/many-tests/ManyTests.py18
-rw-r--r--llvm/utils/lit/examples/many-tests/lit.cfg25
2 files changed, 23 insertions, 20 deletions
diff --git a/llvm/utils/lit/examples/many-tests/ManyTests.py b/llvm/utils/lit/examples/many-tests/ManyTests.py
new file mode 100644
index 00000000000..df3edb55b85
--- /dev/null
+++ b/llvm/utils/lit/examples/many-tests/ManyTests.py
@@ -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, ""
diff --git a/llvm/utils/lit/examples/many-tests/lit.cfg b/llvm/utils/lit/examples/many-tests/lit.cfg
index 8f7b940b6ea..3477fef01ef 100644
--- a/llvm/utils/lit/examples/many-tests/lit.cfg
+++ b/llvm/utils/lit/examples/many-tests/lit.cfg
@@ -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()
OpenPOWER on IntegriCloud