| Index: tools/sanitizers/sancov_merger_test.py
|
| diff --git a/tools/sanitizers/sancov_merger_test.py b/tools/sanitizers/sancov_merger_test.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..93b89eb8a7b2fd47af56f55aeb47dd55d1a08ebd
|
| --- /dev/null
|
| +++ b/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)
|
|
|