mirror of https://github.com/zulip/zulip.git
report: Use ZULIP_VERSION rather than shelling out to git every time.
This commit is contained in:
parent
90b1e0b8b9
commit
73631950a5
|
@ -1,4 +1,3 @@
|
|||
import subprocess
|
||||
from typing import Callable, ContextManager, Dict, List, Tuple
|
||||
from unittest import mock
|
||||
|
||||
|
@ -151,11 +150,8 @@ class TestReport(ZulipTestCase):
|
|||
)
|
||||
)
|
||||
|
||||
subprocess_mock = mock.patch(
|
||||
"zerver.views.report.subprocess.check_output",
|
||||
side_effect=subprocess.CalledProcessError(1, []),
|
||||
)
|
||||
with mock_queue_publish("zerver.views.report.queue_json_publish") as m, subprocess_mock:
|
||||
version_mock = mock.patch("zerver.views.report.ZULIP_VERSION", spec="1.2.3")
|
||||
with mock_queue_publish("zerver.views.report.queue_json_publish") as m, version_mock:
|
||||
result = self.client_post("/json/report/error", params)
|
||||
self.assert_json_success(result)
|
||||
|
||||
|
@ -168,7 +164,7 @@ class TestReport(ZulipTestCase):
|
|||
|
||||
# Test with no more_info
|
||||
del params["more_info"]
|
||||
with mock_queue_publish("zerver.views.report.queue_json_publish") as m, subprocess_mock:
|
||||
with mock_queue_publish("zerver.views.report.queue_json_publish") as m, version_mock:
|
||||
result = self.client_post("/json/report/error", params)
|
||||
self.assert_json_success(result)
|
||||
|
||||
|
@ -181,7 +177,7 @@ class TestReport(ZulipTestCase):
|
|||
# js_source_map actually gets instantiated.
|
||||
with self.settings(DEVELOPMENT=False, TEST_SUITE=False), mock.patch(
|
||||
"zerver.lib.unminify.SourceMap.annotate_stacktrace"
|
||||
) as annotate, self.assertLogs(level="INFO") as info_logs:
|
||||
) as annotate, self.assertLogs(level="INFO") as info_logs, version_mock:
|
||||
result = self.client_post("/json/report/error", params)
|
||||
self.assert_json_success(result)
|
||||
# fix_params (see above) adds quotes when JSON encoding.
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
# System documented in https://zulip.readthedocs.io/en/latest/subsystems/logging.html
|
||||
import logging
|
||||
import subprocess
|
||||
from typing import Any, Mapping, Optional, Union
|
||||
from urllib.parse import SplitResult
|
||||
|
||||
|
@ -10,6 +9,7 @@ from django.http import HttpRequest, HttpResponse
|
|||
from django.views.decorators.csrf import csrf_exempt
|
||||
from django.views.decorators.http import require_POST
|
||||
|
||||
from version import ZULIP_VERSION
|
||||
from zerver.context_processors import get_valid_realm_from_request
|
||||
from zerver.decorator import human_users_only
|
||||
from zerver.lib.markdown import privacy_clean_markdown
|
||||
|
@ -139,13 +139,7 @@ def report_error(
|
|||
if js_source_map:
|
||||
stacktrace = js_source_map.annotate_stacktrace(stacktrace)
|
||||
|
||||
try:
|
||||
version: Optional[str] = subprocess.check_output(
|
||||
["git", "show", "-s", "--oneline"],
|
||||
text=True,
|
||||
)
|
||||
except (FileNotFoundError, subprocess.CalledProcessError):
|
||||
version = None
|
||||
version = str(ZULIP_VERSION)
|
||||
|
||||
# Get the IP address of the request
|
||||
remote_ip = request.META["REMOTE_ADDR"]
|
||||
|
|
Loading…
Reference in New Issue