diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2018-08-14 20:39:31 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2018-08-24 06:54:17 -0400 |
commit | 9b13a1a7d44d991c4c5dd51d5624f5abe84b77f8 (patch) | |
tree | bf0b853e137880342e939fc7e4d4d07688bc4d68 | |
parent | 067d0a60384b5f12cfee622381cfb5905efb8e13 (diff) | |
download | python-coveragepy-git-9b13a1a7d44d991c4c5dd51d5624f5abe84b77f8.tar.gz |
Skip some tests for SQL for now
-rw-r--r-- | coverage/sqldata.py | 3 | ||||
-rw-r--r-- | tests/coveragetest.py | 6 | ||||
-rw-r--r-- | tests/test_data.py | 6 | ||||
-rw-r--r-- | tests/test_process.py | 4 |
4 files changed, 17 insertions, 2 deletions
diff --git a/coverage/sqldata.py b/coverage/sqldata.py index f36a9385..c79ad175 100644 --- a/coverage/sqldata.py +++ b/coverage/sqldata.py @@ -3,9 +3,12 @@ """Sqlite coverage data.""" +# TODO: get rid of skip_unless_data_storage_is_json # TODO: check the schema # TODO: factor out dataop debugging to a wrapper class? # TODO: make sure all dataop debugging is in place somehow +# TODO: should writes be batched? +# TODO: settle the os.fork question import glob import os diff --git a/tests/coveragetest.py b/tests/coveragetest.py index 9814d648..cd6bb9fc 100644 --- a/tests/coveragetest.py +++ b/tests/coveragetest.py @@ -24,6 +24,7 @@ from coverage import env from coverage.backunittest import TestCase, unittest from coverage.backward import StringIO, import_local_file, string_class, shlex_quote from coverage.cmdline import CoverageScript +from coverage.data import STORAGE from coverage.misc import StopEverything from tests.helpers import run_command, SuperModuleCleaner @@ -90,6 +91,11 @@ class CoverageTest( self.last_command_output = None self.last_module_name = None + def skip_unless_data_storage_is_json(self): + if STORAGE != "json": + self.skipTest("Not using JSON for data storage") + + def clean_local_file_imports(self): """Clean up the results of calls to `import_local_file`. diff --git a/tests/test_data.py b/tests/test_data.py index ad4dc84a..876357eb 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -187,6 +187,7 @@ class CoverageDataTest(DataTestHelpers, CoverageTest): self.assertIsNone(covdata.lines('no_such_file.py')) def test_run_info(self): + self.skip_unless_data_storage_is_json() covdata = CoverageData() self.assertEqual(covdata.run_infos(), []) covdata.add_run_info(hello="there") @@ -265,6 +266,7 @@ class CoverageDataTest(DataTestHelpers, CoverageTest): self.assertEqual(covdata3.run_infos(), []) def test_update_run_info(self): + self.skip_unless_data_storage_is_json() covdata1 = CoverageData() covdata1.add_arcs(ARCS_3) covdata1.add_run_info(hello="there", count=17) @@ -478,6 +480,7 @@ class CoverageDataTestInTempDir(DataTestHelpers, CoverageTest): self.assertFalse(covdata) def test_debug_main(self): + self.skip_unless_data_storage_is_json() covdata1 = CoverageData(".coverage") covdata1.add_lines(LINES_1) covdata1.write() @@ -648,8 +651,7 @@ class CoverageDataFilesTest(DataTestHelpers, CoverageTest): def read_json_data_file(self, fname): """Read a JSON data file for testing the JSON directly.""" - if STORAGE != "json": - self.skipTest("Not using JSON for data storage") + self.skip_unless_data_storage_is_json() with open(fname, 'r') as fdata: go_away = fdata.read(len(CoverageData._GO_AWAY)) self.assertEqual(go_away, CoverageData._GO_AWAY) diff --git a/tests/test_process.py b/tests/test_process.py index 48083f22..7c705739 100644 --- a/tests/test_process.py +++ b/tests/test_process.py @@ -504,6 +504,8 @@ class ProcessTest(CoverageTest): def test_fork(self): if not hasattr(os, 'fork'): self.skipTest("Can't test os.fork since it doesn't exist.") + # See https://nedbatchelder.com/blog/201808/sqlite_data_storage_for_coveragepy.html + self.skip_unless_data_storage_is_json() self.make_file("fork.py", """\ import os @@ -642,6 +644,8 @@ class ProcessTest(CoverageTest): if env.PYPY and env.PY3 and env.PYPYVERSION[:3] == (5, 10, 0): # pragma: obscure # https://bitbucket.org/pypy/pypy/issues/2729/pypy3-510-incorrectly-decodes-astral-plane self.skipTest("Avoid incorrect decoding astral plane JSON chars") + self.skip_unless_data_storage_is_json() + self.make_file(".coveragerc", """\ [run] data_file = mydata.dat |