diff options
Diffstat (limited to 'src/3rdparty/v8/test/cctest/testcfg.py')
-rw-r--r-- | src/3rdparty/v8/test/cctest/testcfg.py | 70 |
1 files changed, 65 insertions, 5 deletions
diff --git a/src/3rdparty/v8/test/cctest/testcfg.py b/src/3rdparty/v8/test/cctest/testcfg.py index f1387e8..69a5db2 100644 --- a/src/3rdparty/v8/test/cctest/testcfg.py +++ b/src/3rdparty/v8/test/cctest/testcfg.py @@ -25,11 +25,70 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import test import os -from os.path import join, dirname, exists -import platform -import utils +import shutil + +from testrunner.local import commands +from testrunner.local import testsuite +from testrunner.local import utils +from testrunner.objects import testcase + + +class CcTestSuite(testsuite.TestSuite): + + def __init__(self, name, root): + super(CcTestSuite, self).__init__(name, root) + self.serdes_dir = os.path.normpath( + os.path.join(root, "..", "..", "out", ".serdes")) + if os.path.exists(self.serdes_dir): + shutil.rmtree(self.serdes_dir, True) + os.makedirs(self.serdes_dir) + + def ListTests(self, context): + if utils.IsWindows(): + shell += '.exe' + shell = os.path.abspath(os.path.join(context.shell_dir, self.shell())) + output = commands.Execute([context.command_prefix, + shell, + '--list', + context.extra_flags]) + if output.exit_code != 0: + print output.stdout + print output.stderr + return [] + tests = [] + for test_desc in output.stdout.strip().split(): + raw_test, dependency = test_desc.split('<') + if dependency != '': + dependency = raw_test.split('/')[0] + '/' + dependency + else: + dependency = None + test = testcase.TestCase(self, raw_test, dependency=dependency) + tests.append(test) + tests.sort() + return tests + + def GetFlagsForTestCase(self, testcase, context): + testname = testcase.path.split(os.path.sep)[-1] + serialization_file = os.path.join(self.serdes_dir, "serdes_" + testname) + serialization_file += ''.join(testcase.flags).replace('-', '_') + return (testcase.flags + [testcase.path] + context.mode_flags + + ["--testing_serialization_file=" + serialization_file]) + + def shell(self): + return "cctest" + + +def GetSuite(name, root): + return CcTestSuite(name, root) + + +# Deprecated definitions below. +# TODO(jkummerow): Remove when SCons is no longer supported. + + +from os.path import exists, join, normpath +import test class CcTestCase(test.TestCase): @@ -93,7 +152,8 @@ class CcTestConfiguration(test.TestConfiguration): if utils.IsWindows(): executable += '.exe' executable = join(self.context.buildspace, executable) - output = test.Execute([executable, '--list'], self.context) + full_command = self.context.processor([executable, '--list']) + output = test.Execute(full_command, self.context) if output.exit_code != 0: print output.stdout print output.stderr |