Skip to content

Commit 98f0dfd

Browse files
connernilsenfacebook-github-bot
authored andcommitted
Fix GH tests (#952)
Summary: Fixes OSS tests I broke :( Differential Revision: D67107107
1 parent b862790 commit 98f0dfd

File tree

2 files changed

+2
-261
lines changed

2 files changed

+2
-261
lines changed

client/commands/tests/language_server_test.py

-259
Original file line numberDiff line numberDiff line change
@@ -1642,265 +1642,6 @@ async def test_did_change__basic(self) -> None:
16421642
expectations,
16431643
)
16441644

1645-
@setup.async_test
1646-
async def test_did_change__with_type_errors(self) -> None:
1647-
unsaved_file_content = "# some example code"
1648-
tracked_path = Path("/tracked.py")
1649-
for telemetry in (
1650-
features.TelemetryAvailability.ENABLED,
1651-
features.TelemetryAvailability.DISABLED,
1652-
):
1653-
querier = server_setup.MockDaemonQuerier(
1654-
mock_type_errors={
1655-
tracked_path: [
1656-
error.Error(
1657-
line=1,
1658-
column=1,
1659-
stop_line=2,
1660-
stop_column=2,
1661-
path=Path("/tracked.py"),
1662-
code=42,
1663-
name="name",
1664-
description="description",
1665-
),
1666-
]
1667-
}
1668-
)
1669-
setup = server_setup.create_pyre_language_server_api_setup(
1670-
opened_documents={
1671-
tracked_path: state.OpenedDocumentState(
1672-
code=unsaved_file_content,
1673-
)
1674-
},
1675-
querier=querier,
1676-
server_options=server_setup.create_server_options(
1677-
language_server_features=features.LanguageServerFeatures(
1678-
unsaved_changes=features.UnsavedChangesAvailability.ENABLED,
1679-
telemetry=telemetry,
1680-
),
1681-
),
1682-
)
1683-
api = setup.api
1684-
output_writer = setup.output_writer
1685-
await api.process_did_change_request(
1686-
parameters=lsp.DidChangeTextDocumentParameters(
1687-
text_document=lsp.TextDocumentIdentifier(
1688-
uri=lsp.DocumentUri.from_file_path(tracked_path).unparse(),
1689-
),
1690-
content_changes=[lsp.ContentChange(text=unsaved_file_content)],
1691-
),
1692-
)
1693-
# When unsaved changes is not enabled, we should send no requests.
1694-
self.assertEqual(
1695-
querier.requests,
1696-
[
1697-
{"path": tracked_path, "code": unsaved_file_content},
1698-
],
1699-
)
1700-
expect_diagnostics = self._expect_diagnostics(
1701-
uri="file:///tracked.py",
1702-
diagnostics=[
1703-
lsp.Diagnostic(
1704-
range=lsp.LspRange(
1705-
start=lsp.LspPosition(line=0, character=1),
1706-
end=lsp.LspPosition(line=1, character=2),
1707-
),
1708-
message="description",
1709-
severity=lsp.DiagnosticSeverity.ERROR,
1710-
code="pyre (documentation link)",
1711-
source="Pyre",
1712-
code_description=lsp.CodeDescription(
1713-
href="https://pyre-check.org/docs/errors/#42-missing-overload-implementation"
1714-
),
1715-
)
1716-
],
1717-
)
1718-
if telemetry.is_enabled():
1719-
expectations = [
1720-
self._expect_telemetry_event(
1721-
operation="didChange",
1722-
result=None,
1723-
),
1724-
expect_diagnostics,
1725-
self._expect_telemetry_event(
1726-
operation="typeErrors",
1727-
result=None,
1728-
),
1729-
]
1730-
else:
1731-
expectations = [expect_diagnostics]
1732-
self._assert_output_messages(
1733-
output_writer,
1734-
expectations,
1735-
)
1736-
1737-
@setup.async_test
1738-
async def test_did_change__no_type_errors(self) -> None:
1739-
tracked_path = Path("/tracked.py")
1740-
for telemetry in (
1741-
features.TelemetryAvailability.ENABLED,
1742-
features.TelemetryAvailability.DISABLED,
1743-
):
1744-
querier = server_setup.MockDaemonQuerier(
1745-
mock_type_errors={},
1746-
)
1747-
setup = server_setup.create_pyre_language_server_api_setup(
1748-
opened_documents={
1749-
tracked_path: state.OpenedDocumentState(
1750-
code=server_setup.DEFAULT_FILE_CONTENTS
1751-
)
1752-
},
1753-
querier=querier,
1754-
server_options=server_setup.create_server_options(
1755-
language_server_features=features.LanguageServerFeatures(
1756-
unsaved_changes=features.UnsavedChangesAvailability.ENABLED,
1757-
telemetry=telemetry,
1758-
),
1759-
),
1760-
)
1761-
api = setup.api
1762-
output_writer = setup.output_writer
1763-
await api.process_did_change_request(
1764-
parameters=lsp.DidChangeTextDocumentParameters(
1765-
text_document=lsp.TextDocumentIdentifier(
1766-
uri=lsp.DocumentUri.from_file_path(tracked_path).unparse(),
1767-
),
1768-
content_changes=[
1769-
lsp.ContentChange(text=server_setup.DEFAULT_FILE_CONTENTS)
1770-
],
1771-
),
1772-
)
1773-
# When unsaved changes is not enabled, we should send no requests.
1774-
self.assertEqual(
1775-
querier.requests,
1776-
[
1777-
{"path": tracked_path, "code": server_setup.DEFAULT_FILE_CONTENTS},
1778-
],
1779-
)
1780-
expect_diagnostics = self._expect_diagnostics(
1781-
uri="file:///tracked.py",
1782-
diagnostics=[],
1783-
)
1784-
if telemetry.is_enabled():
1785-
expectations = [
1786-
self._expect_telemetry_event(
1787-
operation="didChange",
1788-
result=None,
1789-
),
1790-
expect_diagnostics,
1791-
self._expect_telemetry_event(
1792-
operation="typeErrors",
1793-
result=None,
1794-
),
1795-
]
1796-
else:
1797-
expectations = [expect_diagnostics]
1798-
self._assert_output_messages(
1799-
output_writer,
1800-
expectations,
1801-
)
1802-
1803-
@setup.async_test
1804-
async def test_did_change__debounce(self) -> None:
1805-
unsaved_file_content_list = [f"# some example code {i}" for i in range(3)]
1806-
tracked_path = Path("/tracked.py")
1807-
querier = server_setup.MockDaemonQuerier(
1808-
mock_type_errors={
1809-
tracked_path: [
1810-
error.Error(
1811-
line=1,
1812-
column=1,
1813-
stop_line=2,
1814-
stop_column=2,
1815-
path=Path("/tracked.py"),
1816-
code=42,
1817-
name="name",
1818-
description="description",
1819-
),
1820-
]
1821-
}
1822-
)
1823-
setup = server_setup.create_pyre_language_server_api_setup(
1824-
opened_documents={
1825-
tracked_path: state.OpenedDocumentState(
1826-
code=unsaved_file_content_list[0],
1827-
)
1828-
},
1829-
querier=querier,
1830-
server_options=server_setup.create_server_options(
1831-
language_server_features=features.LanguageServerFeatures(
1832-
unsaved_changes=features.UnsavedChangesAvailability.ENABLED,
1833-
type_errors=features.TypeErrorsAvailability.ENABLED,
1834-
telemetry=features.TelemetryAvailability.ENABLED,
1835-
),
1836-
),
1837-
)
1838-
api = setup.api
1839-
output_writer = setup.output_writer
1840-
for i in range(len(unsaved_file_content_list)):
1841-
await api.process_did_change_request(
1842-
parameters=lsp.DidChangeTextDocumentParameters(
1843-
text_document=lsp.TextDocumentIdentifier(
1844-
uri=lsp.DocumentUri.from_file_path(tracked_path).unparse(),
1845-
),
1846-
content_changes=[
1847-
lsp.ContentChange(text=unsaved_file_content_list[i])
1848-
],
1849-
),
1850-
)
1851-
setup.server_state.status_tracker.set_status(
1852-
state.ConnectionStatus.INCREMENTAL_CHECK
1853-
)
1854-
self.assertEqual(
1855-
querier.requests,
1856-
[
1857-
# we expect to be able to send only the first request, since the
1858-
# remaining requests will put the server in a non-ready state
1859-
{"path": tracked_path, "code": unsaved_file_content_list[0]}
1860-
],
1861-
)
1862-
expect_diagnostics = self._expect_diagnostics(
1863-
uri="file:///tracked.py",
1864-
diagnostics=[
1865-
lsp.Diagnostic(
1866-
range=lsp.LspRange(
1867-
start=lsp.LspPosition(line=0, character=1),
1868-
end=lsp.LspPosition(line=1, character=2),
1869-
),
1870-
message="description",
1871-
severity=lsp.DiagnosticSeverity.ERROR,
1872-
code="pyre (documentation link)",
1873-
source="Pyre",
1874-
code_description=lsp.CodeDescription(
1875-
href="https://pyre-check.org/docs/errors/#42-missing-overload-implementation"
1876-
),
1877-
)
1878-
],
1879-
)
1880-
expectations = [
1881-
self._expect_telemetry_event(
1882-
operation="didChange",
1883-
result=None,
1884-
),
1885-
expect_diagnostics,
1886-
self._expect_telemetry_event(
1887-
operation="typeErrors",
1888-
result=None,
1889-
),
1890-
self._expect_telemetry_event(
1891-
operation="didChange",
1892-
result=None,
1893-
),
1894-
self._expect_telemetry_event(
1895-
operation="didChange",
1896-
result=None,
1897-
),
1898-
]
1899-
self._assert_output_messages(
1900-
output_writer,
1901-
expectations,
1902-
)
1903-
19041645

19051646
class HoverTest(ApiTestCase):
19061647
@setup.async_test

client/language_server/features.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class LanguageServerFeatures:
121121
GlobalLazyTypeErrorsAvailability.ENABLED
122122
)
123123
per_target_type_errors: PerTargetTypeErrorsAvailability = (
124-
PerTargetTypeErrorsAvailability.ENABLED
124+
PerTargetTypeErrorsAvailability.DISABLED
125125
)
126126
unsaved_changes: UnsavedChangesAvailability = UnsavedChangesAvailability.DISABLED
127127
telemetry: TelemetryAvailability = TelemetryAvailability.DISABLED
@@ -132,7 +132,7 @@ class LanguageServerFeatures:
132132
inlay_hint: InlayHintAvailability = InlayHintAvailability.DISABLED
133133
formatting: FormattingAvailability = FormattingAvailability.DISABLED
134134
python_auto_targets: PythonAutoTargetsAvailability = (
135-
PythonAutoTargetsAvailability.ENABLED
135+
PythonAutoTargetsAvailability.DISABLED
136136
)
137137
use_system_pyautotargets: SystemPyAutoTargetsAvailability = (
138138
SystemPyAutoTargetsAvailability.from_enabled(False)

0 commit comments

Comments
 (0)