Index: tools/code_coverage/coverage_posix_unittest.py |
diff --git a/tools/code_coverage/coverage_posix_unittest.py b/tools/code_coverage/coverage_posix_unittest.py |
deleted file mode 100755 |
index 3164cd3359ae7b8b31f1f645febe0ac420144e29..0000000000000000000000000000000000000000 |
--- a/tools/code_coverage/coverage_posix_unittest.py |
+++ /dev/null |
@@ -1,142 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2010 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Unit tests for coverage_posix.py. |
- |
-Run a single test with a command such as: |
- ./coverage_posix_unittest.py CoveragePosixTest.testFindTestsAsArgs |
- |
-Waring that running a single test like that may interfere with the arg |
-parsing tests, since coverage_posix.py uses optparse.OptionParser() |
-which references globals. |
-""" |
- |
-import coverage_posix as coverage |
-import os |
-import sys |
-import tempfile |
-import unittest |
- |
-class CoveragePosixTest(unittest.TestCase): |
- |
- |
- def setUp(self): |
- self.parseArgs() |
- self.sample_test_names = ['zippy_tests', '../base/base.gyp:base_unittests'] |
- |
- def confirmSampleTestsArePresent(self, tests): |
- """Confirm the tests in self.sample_test_names are in some form in 'tests'. |
- |
- The Coverage object can munge them (e.g. add .exe to the end as needed. |
- Helper function for arg parsing, bundle file tests. |
- |
- Args: |
- tests: the parsed tests from a Coverage object. |
- """ |
- for simple_test_name in ('zippy_tests', 'base_unittests'): |
- found = False |
- for item in tests: |
- if simple_test_name in item: |
- found = True |
- break |
- self.assertTrue(found) |
- for not_test_name in ('kablammo', 'not_a_unittest'): |
- found = False |
- for item in tests: |
- if not_test_name in item: |
- found = True |
- break |
- self.assertFalse(found) |
- |
- def parseArgs(self): |
- """Setup and process arg parsing.""" |
- self.parser = coverage.CoverageOptionParser() |
- (self.options, self.args) = self.parser.parse_args() |
- self.options.directory = '.' |
- |
- def testSanity(self): |
- """Sanity check we're able to actually run the tests. |
- |
- Simply creating a Coverage instance checks a few things (e.g. on |
- Windows that the coverage tools can be found).""" |
- c = coverage.Coverage(self.options, self.args) |
- |
- def testRunBasicProcess(self): |
- """Test a simple run of a subprocess.""" |
- c = coverage.Coverage(self.options, self.args) |
- for code in range(2): |
- retcode = c.Run([sys.executable, '-u', '-c', |
- 'import sys; sys.exit(%d)' % code], |
- ignore_error=True) |
- self.assertEqual(code, retcode) |
- |
- def testRunSlowProcess(self): |
- """Test program which prints slowly but doesn't hit our timeout. |
- |
- Overall runtime is longer than the timeout but output lines |
- trickle in keeping things alive. |
- """ |
- self.options.timeout = 2.5 |
- c = coverage.Coverage(self.options, self.args) |
- slowscript = ('import sys, time\n' |
- 'for x in range(10):\n' |
- ' time.sleep(0.5)\n' |
- ' print "hi mom"\n' |
- 'sys.exit(0)\n') |
- retcode = c.Run([sys.executable, '-u', '-c', slowscript]) |
- self.assertEqual(0, retcode) |
- |
- def testRunExcessivelySlowProcess(self): |
- """Test program which DOES hit our timeout. |
- |
- Initial lines should print but quickly it takes too long and |
- should be killed. |
- """ |
- self.options.timeout = 2.5 |
- c = coverage.Coverage(self.options, self.args) |
- slowscript = ('import time\n' |
- 'for x in range(1,10):\n' |
- ' print "sleeping for %d" % x\n' |
- ' time.sleep(x)\n') |
- self.assertRaises(Exception, |
- c.Run, |
- [sys.executable, '-u', '-c', slowscript]) |
- |
- def testFindTestsAsArgs(self): |
- """Test finding of tests passed as args.""" |
- self.args += '--' |
- self.args += self.sample_test_names |
- c = coverage.Coverage(self.options, self.args) |
- c.FindTests() |
- self.confirmSampleTestsArePresent(c.tests) |
- |
- def testFindTestsFromBundleFile(self): |
- """Test finding of tests from a bundlefile.""" |
- (fd, filename) = tempfile.mkstemp() |
- f = os.fdopen(fd, 'w') |
- f.write(str(self.sample_test_names)) |
- f.close() |
- self.options.bundles = filename |
- c = coverage.Coverage(self.options, self.args) |
- c.FindTests() |
- self.confirmSampleTestsArePresent(c.tests) |
- os.unlink(filename) |
- |
- def testExclusionList(self): |
- """Test the gtest_filter exclusion list.""" |
- c = coverage.Coverage(self.options, self.args) |
- self.assertFalse(c.GtestFilter('doesnotexist_test')) |
- fake_exclusions = { sys.platform: { 'foobar': |
- ('a','b'), |
- 'doesnotexist_test': |
- ('Evil.Crash','Naughty.Test') } } |
- self.assertFalse(c.GtestFilter('barfoo')) |
- filter = c.GtestFilter('doesnotexist_test', fake_exclusions) |
- self.assertEquals('--gtest_filter=-Evil.Crash:-Naughty.Test', filter) |
- |
- |
- |
-if __name__ == '__main__': |
- unittest.main() |