json_check: drop unused & redundant check

This isn't used in repos, and was rarely used, and is covered by the
`cros lint` tool which is fairly widespread.  Delete it.

BUG=None
TEST=CQ passes

Change-Id: I7807eed5d127a58a1321a4df1c486e62abf54316
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/repohooks/+/4243061
Reviewed-by: Ram Chandrasekar <rchandrasekar@google.com>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/README.md b/README.md
index 3e00e38..8b01b55 100644
--- a/README.md
+++ b/README.md
@@ -116,7 +116,6 @@
 *   `gofmt_check`: Run Go code through `gofmt`.
 *   `handle_eintr_close_check`: Check C++ code does not use unsafe
     `HANDLE_EINTR(close(...))` idioms.
-*   `json_check`: Check all `.json` files are valid JSON.
 *   `kernel_splitconfig_check`: Require CrOS kernel config changes are separate
     commits from kernel code changes.
 *   `kerneldoc_check`: Run commits through Linux's `kernel-doc` tool.
diff --git a/pre-upload.py b/pre-upload.py
index 46e9958..32963cc 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -16,7 +16,6 @@
 import fnmatch
 import functools
 import itertools
-import json
 import os
 from pathlib import Path
 import re
@@ -2495,25 +2494,6 @@
     return None
 
 
-def _run_json_check(_project, commit):
-    """Checks that all JSON files are syntactically valid."""
-    ret = []
-
-    files = _filter_files(
-        _get_affected_files(commit, relative=True), [r".*\.json$"]
-    )
-    for f in files:
-        data = _get_file_content(f, commit)
-        try:
-            json.loads(data)
-        except Exception as e:
-            ret.append("%s: Invalid JSON: %s" % (f, e))
-
-    if ret:
-        return HookFailure("\n".join(ret))
-    return None
-
-
 def _check_manifests(_project, commit):
     """Make sure Manifest files only have comments & DIST lines."""
     ret = []
@@ -2872,7 +2852,6 @@
     "git_cl_presubmit": _check_git_cl_presubmit,
     "gofmt_check": _check_gofmt,
     "handle_eintr_close_check": _check_no_handle_eintr_close,
-    "json_check": _run_json_check,
     "kernel_splitconfig_check": _kernel_configcheck,
     "kerneldoc_check": _run_kerneldoc,
     "keyword_check": _check_keywords,
diff --git a/pre-upload_unittest.py b/pre-upload_unittest.py
index 512b076..8d9e851 100755
--- a/pre-upload_unittest.py
+++ b/pre-upload_unittest.py
@@ -718,45 +718,6 @@
         self.assertFalse(failure)
 
 
-class CheckJson(PreUploadTestCase):
-    """Tests for _run_json_check."""
-
-    def setUp(self):
-        self.file_mock = self.PatchObject(pre_upload, "_get_affected_files")
-        self.content_mock = self.PatchObject(pre_upload, "_get_file_content")
-
-    def testNoJson(self):
-        """Nothing should be checked w/no JSON files."""
-        self.file_mock.return_value = [
-            "/foo/bar.txt",
-            "/readme.md",
-        ]
-        ret = pre_upload._run_json_check("PROJECT", "COMMIT")
-        self.assertIsNone(ret)
-
-    def testValidJson(self):
-        """We should accept valid json files."""
-        self.file_mock.return_value = [
-            "/foo/bar.txt",
-            "/data.json",
-        ]
-        self.content_mock.return_value = "{}"
-        ret = pre_upload._run_json_check("PROJECT", "COMMIT")
-        self.assertIsNone(ret)
-        self.content_mock.assert_called_once_with("/data.json", "COMMIT")
-
-    def testInvalidJson(self):
-        """We should reject invalid json files."""
-        self.file_mock.return_value = [
-            "/foo/bar.txt",
-            "/data.json",
-        ]
-        self.content_mock.return_value = "{"
-        ret = pre_upload._run_json_check("PROJECT", "COMMIT")
-        self.assertIsNotNone(ret)
-        self.content_mock.assert_called_once_with("/data.json", "COMMIT")
-
-
 class CheckManifests(PreUploadTestCase):
     """Tests _check_manifests."""