Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: tools/sanitizers/sancov_merger_test.py

Issue 1737263003: [coverage] Enable sanitizer coverage. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Logging + exe blacklist Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/sanitizers/sancov_merger.py ('k') | tools/sanitizers/sanitize_pcs.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)
« no previous file with comments | « tools/sanitizers/sancov_merger.py ('k') | tools/sanitizers/sanitize_pcs.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698