| OLD | NEW | 
|---|
| 1 # Copyright 2016 the V8 project authors. All rights reserved. | 1 # Copyright 2016 the V8 project authors. All rights reserved. | 
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be | 
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. | 
| 4 | 4 | 
| 5 import unittest | 5 import unittest | 
| 6 | 6 | 
| 7 import sancov_merger | 7 import sancov_merger | 
| 8 | 8 | 
| 9 | 9 | 
| 10 # Files on disk after test runner completes. The files are mapped by | 10 # Files on disk after test runner completes. The files are mapped by | 
| 11 # executable name -> file list. | 11 # executable name -> file list. | 
| 12 FILE_MAP = { | 12 FILE_MAP = { | 
| 13   'd8': [ | 13   'd8': [ | 
| 14     'd8.test.1.sancov', | 14     'd8.test.1.1.sancov', | 
| 15     'd8.test.2.sancov', | 15     'd8.test.2.1.sancov', | 
| 16     'd8.test.3.sancov', | 16     'd8.test.3.1.sancov', | 
| 17     'd8.test.4.sancov', | 17     'd8.test.4.1.sancov', | 
| 18     'd8.test.5.sancov', | 18     'd8.test.5.1.sancov', | 
| 19     'd8.test.6.sancov', | 19     'd8.test.5.2.sancov', | 
| 20     'd8.test.7.sancov', | 20     'd8.test.6.1.sancov', | 
| 21   ], | 21   ], | 
| 22   'cctest': [ | 22   'cctest': [ | 
| 23     'cctest.test.1.sancov', | 23     'cctest.test.1.1.sancov', | 
| 24     'cctest.test.2.sancov', | 24     'cctest.test.2.1.sancov', | 
| 25     'cctest.test.3.sancov', | 25     'cctest.test.3.1.sancov', | 
| 26     'cctest.test.4.sancov', | 26     'cctest.test.4.1.sancov', | 
| 27   ], | 27   ], | 
| 28 } | 28 } | 
| 29 | 29 | 
| 30 | 30 | 
| 31 # Inputs for merge process with 2 cpus. The tuples contain: | 31 # Inputs for merge process with 2 cpus. The tuples contain: | 
| 32 # (flag, path, executable name, intermediate result index, file list). | 32 # (flag, path, executable name, intermediate result index, file list). | 
| 33 EXPECTED_INPUTS_2 = [ | 33 EXPECTED_INPUTS_2 = [ | 
| 34   (False, '/some/path', 'cctest', 0, [ | 34   (False, '/some/path', 'cctest', 0, [ | 
| 35     'cctest.test.1.sancov', | 35     'cctest.test.1.1.sancov', | 
| 36     'cctest.test.2.sancov']), | 36     'cctest.test.2.1.sancov']), | 
| 37   (False, '/some/path', 'cctest', 1, [ | 37   (False, '/some/path', 'cctest', 1, [ | 
| 38     'cctest.test.3.sancov', | 38     'cctest.test.3.1.sancov', | 
| 39     'cctest.test.4.sancov']), | 39     'cctest.test.4.1.sancov']), | 
| 40   (False, '/some/path', 'd8', 0, [ | 40   (False, '/some/path', 'd8', 0, [ | 
| 41     'd8.test.1.sancov', | 41     'd8.test.1.1.sancov', | 
| 42     'd8.test.2.sancov', | 42     'd8.test.2.1.sancov', | 
| 43     'd8.test.3.sancov', | 43     'd8.test.3.1.sancov', | 
| 44     'd8.test.4.sancov']), | 44     'd8.test.4.1.sancov']), | 
| 45   (False, '/some/path', 'd8', 1, [ | 45   (False, '/some/path', 'd8', 1, [ | 
| 46     'd8.test.5.sancov', | 46     'd8.test.5.1.sancov', | 
| 47     'd8.test.6.sancov', | 47     'd8.test.5.2.sancov', | 
| 48     'd8.test.7.sancov']), | 48     'd8.test.6.1.sancov']), | 
| 49 ] | 49 ] | 
| 50 | 50 | 
| 51 | 51 | 
| 52 # The same for 4 cpus. | 52 # The same for 4 cpus. | 
| 53 EXPECTED_INPUTS_4 = [ | 53 EXPECTED_INPUTS_4 = [ | 
| 54   (True, '/some/path', 'cctest', 0, [ | 54   (True, '/some/path', 'cctest', 0, [ | 
| 55     'cctest.test.1.sancov', | 55     'cctest.test.1.1.sancov', | 
| 56     'cctest.test.2.sancov']), | 56     'cctest.test.2.1.sancov']), | 
| 57   (True, '/some/path', 'cctest', 1, [ | 57   (True, '/some/path', 'cctest', 1, [ | 
| 58     'cctest.test.3.sancov', | 58     'cctest.test.3.1.sancov', | 
| 59     'cctest.test.4.sancov']), | 59     'cctest.test.4.1.sancov']), | 
| 60   (True, '/some/path', 'd8', 0, [ | 60   (True, '/some/path', 'd8', 0, [ | 
| 61     'd8.test.1.sancov', | 61     'd8.test.1.1.sancov', | 
| 62     'd8.test.2.sancov']), | 62     'd8.test.2.1.sancov']), | 
| 63   (True, '/some/path', 'd8', 1, [ | 63   (True, '/some/path', 'd8', 1, [ | 
| 64     'd8.test.3.sancov', | 64     'd8.test.3.1.sancov', | 
| 65     'd8.test.4.sancov']), | 65     'd8.test.4.1.sancov']), | 
| 66   (True, '/some/path', 'd8', 2, [ | 66   (True, '/some/path', 'd8', 2, [ | 
| 67     'd8.test.5.sancov', | 67     'd8.test.5.1.sancov', | 
| 68     'd8.test.6.sancov']), | 68     'd8.test.5.2.sancov']), | 
| 69   (True, '/some/path', 'd8', 3, [ | 69   (True, '/some/path', 'd8', 3, [ | 
| 70     'd8.test.7.sancov'])] | 70     'd8.test.6.1.sancov'])] | 
| 71 | 71 | 
| 72 | 72 | 
| 73 class MergerTests(unittest.TestCase): | 73 class MergerTests(unittest.TestCase): | 
| 74   def test_generate_inputs_2_cpu(self): | 74   def test_generate_inputs_2_cpu(self): | 
| 75     inputs = sancov_merger.generate_inputs( | 75     inputs = sancov_merger.generate_inputs( | 
| 76         False, '/some/path', FILE_MAP, 2) | 76         False, '/some/path', FILE_MAP, 2) | 
| 77     self.assertEquals(EXPECTED_INPUTS_2, inputs) | 77     self.assertEquals(EXPECTED_INPUTS_2, inputs) | 
| 78 | 78 | 
| 79   def test_generate_inputs_4_cpu(self): | 79   def test_generate_inputs_4_cpu(self): | 
| 80     inputs = sancov_merger.generate_inputs( | 80     inputs = sancov_merger.generate_inputs( | 
| 81         True, '/some/path', FILE_MAP, 4) | 81         True, '/some/path', FILE_MAP, 4) | 
| 82     self.assertEquals(EXPECTED_INPUTS_4, inputs) | 82     self.assertEquals(EXPECTED_INPUTS_4, inputs) | 
| OLD | NEW | 
|---|