diff options
Diffstat (limited to 'deps/v8/tools/sanitizers/sancov_merger_test.py')
-rw-r--r-- | deps/v8/tools/sanitizers/sancov_merger_test.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/deps/v8/tools/sanitizers/sancov_merger_test.py b/deps/v8/tools/sanitizers/sancov_merger_test.py new file mode 100644 index 0000000000..93b89eb8a7 --- /dev/null +++ b/deps/v8/tools/sanitizers/sancov_merger_test.py @@ -0,0 +1,82 @@ +# Copyright 2016 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import unittest + +import sancov_merger + + +# Files on disk after test runner completes. The files are mapped by +# executable name -> file list. +FILE_MAP = { + 'd8': [ + 'd8.test.1.sancov', + 'd8.test.2.sancov', + 'd8.test.3.sancov', + 'd8.test.4.sancov', + 'd8.test.5.sancov', + 'd8.test.6.sancov', + 'd8.test.7.sancov', + ], + 'cctest': [ + 'cctest.test.1.sancov', + 'cctest.test.2.sancov', + 'cctest.test.3.sancov', + 'cctest.test.4.sancov', + ], +} + + +# Inputs for merge process with 2 cpus. The tuples contain: +# (flag, path, executable name, intermediate result index, file list). +EXPECTED_INPUTS_2 = [ + (False, '/some/path', 'cctest', 0, [ + 'cctest.test.1.sancov', + 'cctest.test.2.sancov']), + (False, '/some/path', 'cctest', 1, [ + 'cctest.test.3.sancov', + 'cctest.test.4.sancov']), + (False, '/some/path', 'd8', 0, [ + 'd8.test.1.sancov', + 'd8.test.2.sancov', + 'd8.test.3.sancov', + 'd8.test.4.sancov']), + (False, '/some/path', 'd8', 1, [ + 'd8.test.5.sancov', + 'd8.test.6.sancov', + 'd8.test.7.sancov']), +] + + +# The same for 4 cpus. +EXPECTED_INPUTS_4 = [ + (True, '/some/path', 'cctest', 0, [ + 'cctest.test.1.sancov', + 'cctest.test.2.sancov']), + (True, '/some/path', 'cctest', 1, [ + 'cctest.test.3.sancov', + 'cctest.test.4.sancov']), + (True, '/some/path', 'd8', 0, [ + 'd8.test.1.sancov', + 'd8.test.2.sancov']), + (True, '/some/path', 'd8', 1, [ + 'd8.test.3.sancov', + 'd8.test.4.sancov']), + (True, '/some/path', 'd8', 2, [ + 'd8.test.5.sancov', + 'd8.test.6.sancov']), + (True, '/some/path', 'd8', 3, [ + 'd8.test.7.sancov'])] + + +class MergerTests(unittest.TestCase): + def test_generate_inputs_2_cpu(self): + inputs = sancov_merger.generate_inputs( + False, '/some/path', FILE_MAP, 2) + self.assertEquals(EXPECTED_INPUTS_2, inputs) + + def test_generate_inputs_4_cpu(self): + inputs = sancov_merger.generate_inputs( + True, '/some/path', FILE_MAP, 4) + self.assertEquals(EXPECTED_INPUTS_4, inputs) |