Skip to content

Instantly share code, notes, and snippets.

@certik
Created April 28, 2025 04:09
Show Gist options
  • Save certik/bf60ce8c3af5d8b7a069d93ee5c7a515 to your computer and use it in GitHub Desktop.
Save certik/bf60ce8c3af5d8b7a069d93ee5c7a515 to your computer and use it in GitHub Desktop.
2025-04-27T09:19:55.5398220Z ##[group]Run case "$OSTYPE" in darwin*) export MACOS=1;; *) export MACOS=0;; esac
2025-04-27T09:19:55.5398600Z case "$OSTYPE" in darwin*) export MACOS=1;; *) export MACOS=0;; esac
2025-04-27T09:19:55.5398870Z export LFORTRAN_TEST_ENV_VAR='STATUS OK!'
2025-04-27T09:19:55.5399060Z shell ci/test_lsp.sh
2025-04-27T09:19:55.5491660Z shell: /bin/bash -e -l {0}
2025-04-27T09:19:55.5491810Z env:
2025-04-27T09:19:55.5491950Z MACOSX_DEPLOYMENT_TARGET: 14
2025-04-27T09:19:55.5492120Z MAMBA_ROOT_PREFIX: /Users/runner/micromamba
2025-04-27T09:19:55.5492350Z MAMBA_EXE: /Users/runner/micromamba-bin/micromamba
2025-04-27T09:19:55.5492590Z CONDARC: /Users/runner/work/_temp/setup-micromamba/.condarc
2025-04-27T09:19:55.5492810Z LFORTRAN_CMAKE_GENERATOR: Ninja
2025-04-27T09:19:55.5492970Z CMAKE_C_COMPILER_LAUNCHER: ccache
2025-04-27T09:19:55.5493130Z CMAKE_CXX_COMPILER_LAUNCHER: ccache
2025-04-27T09:19:55.5493290Z ENABLE_RUNTIME_STACKTRACE: yes
2025-04-27T09:19:55.5493440Z ##[endgroup]
2025-04-27T09:19:55.6895590Z + echo Running SHELL
2025-04-27T09:19:55.6895890Z Running SHELL
2025-04-27T09:19:55.6896030Z + src/bin/lfortran --version
2025-04-27T09:19:55.7064110Z LFortran version: 0.51.0-243-ga374fcd7a
2025-04-27T09:19:55.7064370Z Platform: macOS ARM
2025-04-27T09:19:55.7064500Z LLVM: 11.1.0
2025-04-27T09:19:55.7064650Z Default target: arm64-apple-darwin23.6.0
2025-04-27T09:19:55.7081250Z + cmake --version
2025-04-27T09:19:55.7174110Z cmake version 3.29.1
2025-04-27T09:19:55.7179860Z
2025-04-27T09:19:55.7180200Z CMake suite maintained and supported by Kitware (kitware.com/cmake).
2025-04-27T09:19:55.7187700Z + pip install src/server/tests tests/server
2025-04-27T09:19:56.3286500Z Processing ./src/server/tests
2025-04-27T09:19:56.3295790Z Preparing metadata (setup.py): started
2025-04-27T09:19:56.4976870Z Preparing metadata (setup.py): finished with status 'done'
2025-04-27T09:19:56.4995990Z Processing ./tests/server
2025-04-27T09:19:56.5003300Z Preparing metadata (setup.py): started
2025-04-27T09:19:56.6284000Z Preparing metadata (setup.py): finished with status 'done'
2025-04-27T09:19:56.7130080Z Collecting attrs==24.3.0 (from llanguage-test-client==0.0.1)
2025-04-27T09:19:56.7646530Z Downloading attrs-24.3.0-py3-none-any.whl.metadata (11 kB)
2025-04-27T09:19:56.8014290Z Collecting cattrs==24.1.2 (from llanguage-test-client==0.0.1)
2025-04-27T09:19:56.8124170Z Downloading cattrs-24.1.2-py3-none-any.whl.metadata (8.4 kB)
2025-04-27T09:19:56.8681620Z Collecting lsprotocol==2023.0.1 (from llanguage-test-client==0.0.1)
2025-04-27T09:19:56.8788280Z Downloading lsprotocol-2023.0.1-py3-none-any.whl.metadata (2.2 kB)
2025-04-27T09:19:56.8823950Z Requirement already satisfied: psutil==7.0.0 in /Users/runner/micromamba/envs/lf/lib/python3.10/site-packages (from llanguage-test-client==0.0.1) (7.0.0)
2025-04-27T09:19:56.9239980Z Collecting pytest>=8.3.5 (from lfortran-language-server==0.0.1)
2025-04-27T09:19:56.9339020Z Downloading pytest-8.3.5-py3-none-any.whl.metadata (7.6 kB)
2025-04-27T09:19:56.9545620Z Collecting pytest-timeout>=2.3.1 (from lfortran-language-server==0.0.1)
2025-04-27T09:19:56.9645020Z Downloading pytest_timeout-2.3.1-py3-none-any.whl.metadata (20 kB)
2025-04-27T09:19:56.9729720Z Requirement already satisfied: exceptiongroup>=1.1.1 in /Users/runner/micromamba/envs/lf/lib/python3.10/site-packages (from cattrs==24.1.2->llanguage-test-client==0.0.1) (1.2.2)
2025-04-27T09:19:56.9734480Z Requirement already satisfied: typing-extensions!=4.6.3,>=4.1.0 in /Users/runner/micromamba/envs/lf/lib/python3.10/site-packages (from cattrs==24.1.2->llanguage-test-client==0.0.1) (4.13.2)
2025-04-27T09:19:56.9801150Z Requirement already satisfied: iniconfig in /Users/runner/micromamba/envs/lf/lib/python3.10/site-packages (from pytest>=8.3.5->lfortran-language-server==0.0.1) (2.0.0)
2025-04-27T09:19:56.9803020Z Requirement already satisfied: packaging in /Users/runner/micromamba/envs/lf/lib/python3.10/site-packages (from pytest>=8.3.5->lfortran-language-server==0.0.1) (25.0)
2025-04-27T09:19:56.9806480Z Requirement already satisfied: pluggy<2,>=1.5 in /Users/runner/micromamba/envs/lf/lib/python3.10/site-packages (from pytest>=8.3.5->lfortran-language-server==0.0.1) (1.5.0)
2025-04-27T09:19:56.9810960Z Requirement already satisfied: tomli>=1 in /Users/runner/micromamba/envs/lf/lib/python3.10/site-packages (from pytest>=8.3.5->lfortran-language-server==0.0.1) (2.2.1)
2025-04-27T09:19:56.9989410Z Downloading attrs-24.3.0-py3-none-any.whl (63 kB)
2025-04-27T09:19:57.0198620Z Downloading cattrs-24.1.2-py3-none-any.whl (66 kB)
2025-04-27T09:19:57.0348990Z Downloading lsprotocol-2023.0.1-py3-none-any.whl (70 kB)
2025-04-27T09:19:57.0488330Z Downloading pytest-8.3.5-py3-none-any.whl (343 kB)
2025-04-27T09:19:57.0735880Z Downloading pytest_timeout-2.3.1-py3-none-any.whl (14 kB)
2025-04-27T09:19:57.0830930Z Building wheels for collected packages: llanguage-test-client, lfortran-language-server
2025-04-27T09:19:57.0837610Z DEPRECATION: Building 'llanguage-test-client' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'llanguage-test-client'. Discussion can be found at https://github.com/pypa/pip/issues/6334
2025-04-27T09:19:57.0838960Z Building wheel for llanguage-test-client (setup.py): started
2025-04-27T09:19:57.2510560Z Building wheel for llanguage-test-client (setup.py): finished with status 'done'
2025-04-27T09:19:57.2514550Z Created wheel for llanguage-test-client: filename=llanguage_test_client-0.0.1-py3-none-any.whl size=16333 sha256=46f645875b1391cb8796b0ea5bede54548c6ebd7009141b1f0c480db548dd87e
2025-04-27T09:19:57.2515530Z Stored in directory: /private/var/folders/7g/cnfrzbd555q9lmpsr1byngs80000gn/T/pip-ephem-wheel-cache-l0vqp17k/wheels/9d/94/f7/86338e25da74f1a13eaee1c339b8a96930121dde6837975829
2025-04-27T09:19:57.2534510Z DEPRECATION: Building 'lfortran-language-server' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'lfortran-language-server'. Discussion can be found at https://github.com/pypa/pip/issues/6334
2025-04-27T09:19:57.2535840Z Building wheel for lfortran-language-server (setup.py): started
2025-04-27T09:19:57.4190850Z Building wheel for lfortran-language-server (setup.py): finished with status 'done'
2025-04-27T09:19:57.4194840Z Created wheel for lfortran-language-server: filename=lfortran_language_server-0.0.1-py3-none-any.whl size=4915 sha256=8b90fd0302cd7913e32e6b50748fc34a92d9a715d067b6e332e41e76e1670cef
2025-04-27T09:19:57.4195790Z Stored in directory: /private/var/folders/7g/cnfrzbd555q9lmpsr1byngs80000gn/T/pip-ephem-wheel-cache-l0vqp17k/wheels/ff/4c/f2/aa7e5d1d5b715d0f9f04d93ba43bc193cc39c3726ca22ae1d7
2025-04-27T09:19:57.4207530Z Successfully built llanguage-test-client lfortran-language-server
2025-04-27T09:19:57.5545700Z Installing collected packages: pytest, attrs, pytest-timeout, cattrs, lsprotocol, llanguage-test-client, lfortran-language-server
2025-04-27T09:19:57.5549250Z Attempting uninstall: pytest
2025-04-27T09:19:57.5556040Z Found existing installation: pytest 8.1.1
2025-04-27T09:19:57.5606070Z Uninstalling pytest-8.1.1:
2025-04-27T09:19:57.6643030Z Successfully uninstalled pytest-8.1.1
2025-04-27T09:19:57.8053450Z Attempting uninstall: attrs
2025-04-27T09:19:57.8058170Z Found existing installation: attrs 25.3.0
2025-04-27T09:19:57.8083760Z Uninstalling attrs-25.3.0:
2025-04-27T09:19:57.8091990Z Successfully uninstalled attrs-25.3.0
2025-04-27T09:19:57.9544710Z
2025-04-27T09:19:57.9665420Z Successfully installed attrs-24.3.0 cattrs-24.1.2 lfortran-language-server-0.0.1 llanguage-test-client-0.0.1 lsprotocol-2023.0.1 pytest-8.3.5 pytest-timeout-2.3.1
2025-04-27T09:19:58.0809110Z + pytest -vv --showlocals --timeout=10 --execution-strategy=concurrent tests/server
2025-04-27T09:19:59.5321750Z ============================= test session starts ==============================
2025-04-27T09:19:59.5322320Z platform darwin -- Python 3.10.14, pytest-8.3.5, pluggy-1.5.0 -- /Users/runner/micromamba/envs/lf/bin/python3.10
2025-04-27T09:19:59.5322710Z cachedir: .pytest_cache
2025-04-27T09:19:59.5322920Z rootdir: /Users/runner/work/lfortran/lfortran/tests/server
2025-04-27T09:19:59.5323190Z plugins: anyio-4.9.0, xonsh-0.16.0, timeout-2.3.1
2025-04-27T09:19:59.5323420Z timeout: 10.0s
2025-04-27T09:19:59.5323570Z timeout method: signal
2025-04-27T09:19:59.5323720Z timeout func_only: False
2025-04-27T09:19:59.5707550Z collecting ... collected 13 items
2025-04-27T09:19:59.5707820Z
2025-04-27T09:20:01.2056020Z tests/server/tests/test_document_manipulation.py::test_document_manipulation PASSED [ 7%]
2025-04-27T09:20:02.3502570Z tests/server/tests/test_features.py::test_goto_definition PASSED [ 15%]
2025-04-27T09:20:03.4298020Z tests/server/tests/test_features.py::test_diagnostics PASSED [ 23%]
2025-04-27T09:20:04.2332420Z tests/server/tests/test_features.py::test_configuration_caching PASSED [ 30%]
2025-04-27T09:20:05.2357510Z tests/server/tests/test_features.py::test_rename PASSED [ 38%]
2025-04-27T09:20:08.4863920Z tests/server/tests/test_features.py::test_document_highlight ERROR [ 46%]
2025-04-27T09:20:09.6641900Z tests/server/tests/test_features.py::test_document_hover PASSED [ 53%]
2025-04-27T09:20:10.6237470Z tests/server/tests/test_features.py::test_symbol_tree PASSED [ 61%]
2025-04-27T09:20:11.6145040Z tests/server/tests/test_features.py::test_semantic_highlighting PASSED [ 69%]
2025-04-27T09:20:13.2932120Z tests/server/tests/test_features.py::test_code_completion PASSED [ 76%]
2025-04-27T09:20:14.3173820Z tests/server/tests/test_features.py::test_whole_document_formatting PASSED [ 84%]
2025-04-27T09:20:15.1982110Z tests/server/tests/test_features.py::test_partial_document_formatting PASSED [ 92%]
2025-04-27T09:20:15.7469310Z tests/server/tests/test_features.py::test_telemetry_event PASSED [100%]
2025-04-27T09:20:15.7470030Z
2025-04-27T09:20:15.7470250Z ==================================== ERRORS ====================================
2025-04-27T09:20:15.7471120Z __________________ ERROR at setup of test_document_highlight ___________________
2025-04-27T09:20:15.7471660Z
2025-04-27T09:20:15.7472050Z request = <SubRequest 'client' for <Function test_document_highlight>>
2025-04-27T09:20:15.7472850Z capfd = <_pytest.capture.CaptureFixture object at 0x1066329e0>
2025-04-27T09:20:15.7473350Z
2025-04-27T09:20:15.7473510Z @pytest.fixture
2025-04-27T09:20:15.7474710Z def client(request: pytest.FixtureRequest, capfd: pytest.CaptureFixture) -> Iterator[LFortranLspTestClient]:
2025-04-27T09:20:15.7475730Z execution_strategy = request.config.getoption("--execution-strategy")
2025-04-27T09:20:15.7476390Z
2025-04-27T09:20:15.7476780Z server_path = None
2025-04-27T09:20:15.7477120Z if 'LFORTRAN_PATH' in os.environ:
2025-04-27T09:20:15.7477710Z server_path = os.environ['LFORTRAN_PATH']
2025-04-27T09:20:15.7478250Z if server_path is None or not os.path.exists(server_path):
2025-04-27T09:20:15.7479230Z server_path = Path(__file__).absolute().parent.parent.parent.parent / "src" / "bin" / "lfortran"
2025-04-27T09:20:15.7480040Z if server_path is None or not os.path.exists(server_path):
2025-04-27T09:20:15.7480550Z server_path = shutil.which('lfortran')
2025-04-27T09:20:15.7480960Z if server_path is None:
2025-04-27T09:20:15.7481430Z raise RuntimeError('cannot determine location of lfortran')
2025-04-27T09:20:15.7481940Z server_path = Path(server_path)
2025-04-27T09:20:15.7482530Z if not (server_path.exists() and os.access(server_path, os.X_OK)):
2025-04-27T09:20:15.7484040Z raise RuntimeError(f'Invalid or non-executable path to lfortran: {server_path}')
2025-04-27T09:20:15.7484690Z
2025-04-27T09:20:15.7485070Z compiler_path = server_path
2025-04-27T09:20:15.7485510Z
2025-04-27T09:20:15.7486180Z server_log_path = f"{request.node.name}-{execution_strategy}-server.log"
2025-04-27T09:20:15.7487110Z client_log_path = f"{request.node.name}-{execution_strategy}-client.log"
2025-04-27T09:20:15.7487830Z stdout_log_path = f"{request.node.name}-{execution_strategy}-stdout.log"
2025-04-27T09:20:15.7488760Z stdin_log_path = f"{request.node.name}-{execution_strategy}-stdin.log"
2025-04-27T09:20:15.7489700Z gdb_log_path = f"{request.node.name}-{execution_strategy}-gdb.log"
2025-04-27T09:20:15.7490420Z lldb_log_path = f"{request.node.name}-{execution_strategy}-lldb.log"
2025-04-27T09:20:15.7490980Z
2025-04-27T09:20:15.7491280Z config = {
2025-04-27T09:20:15.7491740Z "LFortran": {
2025-04-27T09:20:15.7492290Z "openIssueReporterOnError": False,
2025-04-27T09:20:15.7492800Z "maxNumberOfProblems": 100,
2025-04-27T09:20:15.7493240Z "trace": {
2025-04-27T09:20:15.7493750Z "server": "verbose",
2025-04-27T09:20:15.7494190Z },
2025-04-27T09:20:15.7494970Z "compiler": {
2025-04-27T09:20:15.7495510Z "path": "lfortran",
2025-04-27T09:20:15.7495940Z "flags": [],
2025-04-27T09:20:15.7496330Z },
2025-04-27T09:20:15.7496670Z "log": {
2025-04-27T09:20:15.7497200Z "path": server_log_path,
2025-04-27T09:20:15.7497690Z "level": "all",
2025-04-27T09:20:15.7498130Z "prettyPrint": False,
2025-04-27T09:20:15.7498550Z },
2025-04-27T09:20:15.7499060Z "indentSize": 4,
2025-04-27T09:20:15.7499630Z # NOTE: Regarding timing-out and retrying requests, a timeout of 0
2025-04-27T09:20:15.7500710Z # means do not time-out (or retry):
2025-04-27T09:20:15.7501350Z "timeoutMs": 0,
2025-04-27T09:20:15.7501820Z "retry": {
2025-04-27T09:20:15.7502220Z "maxAttempts": 3,
2025-04-27T09:20:15.7502700Z "minSleepTimeMs": 10,
2025-04-27T09:20:15.7503290Z "maxSleepTimeMs": 300,
2025-04-27T09:20:15.7503710Z },
2025-04-27T09:20:15.7504060Z "telemetry": {
2025-04-27T09:20:15.7504450Z "enabled": True,
2025-04-27T09:20:15.7505030Z "frequencyMs": 1000,
2025-04-27T09:20:15.7505440Z },
2025-04-27T09:20:15.7505800Z }
2025-04-27T09:20:15.7506220Z }
2025-04-27T09:20:15.7506540Z
2025-04-27T09:20:15.7506850Z server_args = []
2025-04-27T09:20:15.7507190Z
2025-04-27T09:20:15.7507790Z # FIXME: Find the correct combination of commands to get LLDB to dump crashes
2025-04-27T09:20:15.7508700Z # to a log file like GDB and uncomment the following to enable it:
2025-04-27T09:20:15.7509560Z # ---------------------------------------------------------------------------
2025-04-27T09:20:15.7510130Z # lldb_path = shutil.which('lldb')
2025-04-27T09:20:15.7510760Z lldb_path = None #<- FIXME: When LLDB is enabled, remove this line.
2025-04-27T09:20:15.7511490Z
2025-04-27T09:20:15.7511950Z # NOTE: If you have GDB on your system and would like to run the tests with
2025-04-27T09:20:15.7512620Z # it, uncomment the following line so GDB may be found and disable the line
2025-04-27T09:20:15.7513430Z # that assigns `None` to it:
2025-04-27T09:20:15.7514040Z # -------------------------------------------------------------------------
2025-04-27T09:20:15.7514580Z # gdb_path = shutil.which('gdb')
2025-04-27T09:20:15.7515290Z gdb_path = None
2025-04-27T09:20:15.7515590Z
2025-04-27T09:20:15.7515910Z if lldb_path is not None:
2025-04-27T09:20:15.7516320Z server_args += [
2025-04-27T09:20:15.7516720Z "-q",
2025-04-27T09:20:15.7557750Z "-b",
2025-04-27T09:20:15.7558270Z "-o", "run",
2025-04-27T09:20:15.7558810Z "-o", "bt",
2025-04-27T09:20:15.7559400Z "-o", f"log enable lldb crashlog {lldb_log_path}",
2025-04-27T09:20:15.7559800Z "-o", "quit",
2025-04-27T09:20:15.7560260Z str(compiler_path),
2025-04-27T09:20:15.7560690Z "--",
2025-04-27T09:20:15.7561110Z ]
2025-04-27T09:20:15.7561420Z server_path = Path(lldb_path)
2025-04-27T09:20:15.7561890Z elif gdb_path is not None:
2025-04-27T09:20:15.7562250Z server_args += [
2025-04-27T09:20:15.7562620Z "-q", "-batch",
2025-04-27T09:20:15.7563210Z "-ex", "set logging enabled off",
2025-04-27T09:20:15.7563710Z "-ex", "set logging redirect on",
2025-04-27T09:20:15.7564220Z "-ex", "set logging debugredirect on",
2025-04-27T09:20:15.7564650Z "-ex", "set logging overwrite on",
2025-04-27T09:20:15.7565220Z "-ex", f"set logging file {gdb_log_path}",
2025-04-27T09:20:15.7565680Z "-ex", "set logging enabled on",
2025-04-27T09:20:15.7566400Z "-ex", "run",
2025-04-27T09:20:15.7566880Z "-ex", "bt",
2025-04-27T09:20:15.7567160Z "--args", str(compiler_path),
2025-04-27T09:20:15.7567580Z ]
2025-04-27T09:20:15.7567870Z server_path = Path(gdb_path)
2025-04-27T09:20:15.7568340Z
2025-04-27T09:20:15.7568520Z server_args += [
2025-04-27T09:20:15.7568750Z "server",
2025-04-27T09:20:15.7569110Z "--parent-process-id", str(os.getpid()),
2025-04-27T09:20:15.7569500Z "--log-level", config["LFortran"]["log"]["level"],
2025-04-27T09:20:15.7569880Z "--log-path", server_log_path,
2025-04-27T09:20:15.7570260Z "--timeout-ms", str(config["LFortran"]["timeoutMs"]),
2025-04-27T09:20:15.7570810Z "--num-request-threads", "1",
2025-04-27T09:20:15.7571230Z "--num-worker-threads", "1",
2025-04-27T09:20:15.7571720Z "--config-section", "LFortran",
2025-04-27T09:20:15.7572440Z "--open-issue-reporter-on-error", str(config["LFortran"]["openIssueReporterOnError"]).lower(),
2025-04-27T09:20:15.7573150Z "--max-number-of-problems", str(config["LFortran"]["maxNumberOfProblems"]),
2025-04-27T09:20:15.7573690Z "--trace-server", config["LFortran"]["trace"]["server"],
2025-04-27T09:20:15.7574170Z "--compiler-path", str(compiler_path),
2025-04-27T09:20:15.7574660Z "--log-pretty-print", str(config["LFortran"]["log"]["prettyPrint"]).lower(),
2025-04-27T09:20:15.7575180Z "--indent-size", str(config["LFortran"]["indentSize"]),
2025-04-27T09:20:15.7575840Z "--max-retry-attempts", str(config["LFortran"]["retry"]["maxAttempts"]),
2025-04-27T09:20:15.7576540Z "--min-retry-sleep-time-ms", str(config["LFortran"]["retry"]["minSleepTimeMs"]),
2025-04-27T09:20:15.7577310Z "--max-retry-sleep-time-ms", str(config["LFortran"]["retry"]["maxSleepTimeMs"]),
2025-04-27T09:20:15.7577920Z "--extension-id", "lcompilers.lfortran",
2025-04-27T09:20:15.7578390Z "--execution-strategy", execution_strategy,
2025-04-27T09:20:15.7578780Z ]
2025-04-27T09:20:15.7579150Z
2025-04-27T09:20:15.7579470Z def print_log(log_path: str, heading: str) -> None:
2025-04-27T09:20:15.7579940Z header = f"~~ {heading} [{log_path}] ~~"
2025-04-27T09:20:15.7580280Z border = "~" * len(header)
2025-04-27T09:20:15.7580650Z print(file=sys.stderr)
2025-04-27T09:20:15.7581030Z print(border, file=sys.stderr)
2025-04-27T09:20:15.7581680Z print(header, file=sys.stderr)
2025-04-27T09:20:15.7582050Z print(border, file=sys.stderr)
2025-04-27T09:20:15.7582370Z print(file=sys.stderr)
2025-04-27T09:20:15.7582770Z if os.path.exists(log_path):
2025-04-27T09:20:15.7583090Z with open(log_path) as f:
2025-04-27T09:20:15.7583500Z print(f.read(), file=sys.stderr)
2025-04-27T09:20:15.7583800Z else:
2025-04-27T09:20:15.7584130Z print(f"Log file does not exist: {log_path}", file=sys.stderr)
2025-04-27T09:20:15.7584570Z
2025-04-27T09:20:15.7584770Z def print_logs() -> None:
2025-04-27T09:20:15.7585150Z print_log(client_log_path, "Client Logs")
2025-04-27T09:20:15.7585530Z print_log(stdin_log_path, "Standard Input")
2025-04-27T09:20:15.7585900Z print_log(stdout_log_path, "Standard Output")
2025-04-27T09:20:15.7586410Z print_log(server_log_path, "Server Logs")
2025-04-27T09:20:15.7586860Z if lldb_path is not None:
2025-04-27T09:20:15.7587350Z print_log(lldb_log_path, "Low-Level Debugger (LLDB)")
2025-04-27T09:20:15.7587840Z elif gdb_path is not None:
2025-04-27T09:20:15.7588310Z print_log(gdb_log_path, "GNU Debugger (GDB)")
2025-04-27T09:20:15.7588630Z
2025-04-27T09:20:15.7588970Z client: Optional[LFortranLspTestClient] = None
2025-04-27T09:20:15.7589650Z logs_printed = False
2025-04-27T09:20:15.7589960Z try:
2025-04-27T09:20:15.7590320Z client = LFortranLspTestClient(
2025-04-27T09:20:15.7590670Z server_path=server_path,
2025-04-27T09:20:15.7590980Z server_params=server_args,
2025-04-27T09:20:15.7591280Z workspace_path=None,
2025-04-27T09:20:15.7591560Z timeout_ms=3000,
2025-04-27T09:20:15.7591830Z config=config,
2025-04-27T09:20:15.7592320Z client_log_path=client_log_path,
2025-04-27T09:20:15.7592720Z stdout_log_path=stdout_log_path,
2025-04-27T09:20:15.7593120Z stdin_log_path=stdin_log_path
2025-04-27T09:20:15.7593700Z )
2025-04-27T09:20:15.7593940Z
2025-04-27T09:20:15.7594220Z with client.serve():
2025-04-27T09:20:15.7594540Z # Steps abstracted by context manager:
2025-04-27T09:20:15.7594870Z # 1. Send request: initialize
2025-04-27T09:20:15.7595210Z # 2. Send notification: initialized
2025-04-27T09:20:15.7595710Z # 3. <yield client>
2025-04-27T09:20:15.7596000Z # 4. Send request: shutdown
2025-04-27T09:20:15.7596440Z # 5. Send notification: exit
2025-04-27T09:20:15.7596850Z yield client
2025-04-27T09:20:15.7597130Z except BaseException as e:
2025-04-27T09:20:15.7597570Z if not isinstance(e, SystemExit) or e.code != 0:
2025-04-27T09:20:15.7597910Z print_logs()
2025-04-27T09:20:15.7598230Z logs_printed = True
2025-04-27T09:20:15.7598560Z > raise e
2025-04-27T09:20:15.7598700Z
2025-04-27T09:20:15.7598910Z capfd = <_pytest.capture.CaptureFixture object at 0x1066329e0>
2025-04-27T09:20:15.7599890Z client = <lfortran_language_server.lfortran_lsp_test_client.LFortranLspTestClient object at 0x106630760>
2025-04-27T09:20:15.7601060Z client_log_path = 'test_document_highlight-concurrent-client.log'
2025-04-27T09:20:15.7602020Z compiler_path = PosixPath('/Users/runner/work/lfortran/lfortran/src/bin/lfortran')
2025-04-27T09:20:15.7602800Z config = {'LFortran': {'compiler': {'flags': [], 'path': 'lfortran'},
2025-04-27T09:20:15.7603270Z 'indentSize': 4,
2025-04-27T09:20:15.7603620Z 'log': {'level': 'all',
2025-04-27T09:20:15.7604090Z 'path': 'test_document_highlight-concurrent-server.log',
2025-04-27T09:20:15.7604620Z 'prettyPrint': False},
2025-04-27T09:20:15.7605010Z 'maxNumberOfProblems': 100,
2025-04-27T09:20:15.7605680Z 'openIssueReporterOnError': False,
2025-04-27T09:20:15.7606080Z 'retry': {'maxAttempts': 3,
2025-04-27T09:20:15.7606540Z 'maxSleepTimeMs': 300,
2025-04-27T09:20:15.7606940Z 'minSleepTimeMs': 10},
2025-04-27T09:20:15.7607380Z 'telemetry': {'enabled': True, 'frequencyMs': 1000},
2025-04-27T09:20:15.7607850Z 'timeoutMs': 0,
2025-04-27T09:20:15.7608200Z 'trace': {'server': 'verbose'}}}
2025-04-27T09:20:15.7608600Z execution_strategy = 'concurrent'
2025-04-27T09:20:15.7609040Z gdb_log_path = 'test_document_highlight-concurrent-gdb.log'
2025-04-27T09:20:15.7609480Z gdb_path = None
2025-04-27T09:20:15.7609850Z lldb_log_path = 'test_document_highlight-concurrent-lldb.log'
2025-04-27T09:20:15.7610510Z lldb_path = None
2025-04-27T09:20:15.7610840Z logs_printed = True
2025-04-27T09:20:15.7611230Z print_log = <function client.<locals>.print_log at 0x1071197e0>
2025-04-27T09:20:15.7611800Z print_logs = <function client.<locals>.print_logs at 0x107119240>
2025-04-27T09:20:15.7612470Z request = <SubRequest 'client' for <Function test_document_highlight>>
2025-04-27T09:20:15.7613100Z server_args = ['server',
2025-04-27T09:20:15.7613420Z '--parent-process-id',
2025-04-27T09:20:15.7613730Z '9733',
2025-04-27T09:20:15.7613970Z '--log-level',
2025-04-27T09:20:15.7614280Z 'all',
2025-04-27T09:20:15.7614720Z '--log-path',
2025-04-27T09:20:15.7615060Z 'test_document_highlight-concurrent-server.log',
2025-04-27T09:20:15.7615520Z '--timeout-ms',
2025-04-27T09:20:15.7615780Z '0',
2025-04-27T09:20:15.7616050Z '--num-request-threads',
2025-04-27T09:20:15.7616360Z '1',
2025-04-27T09:20:15.7616680Z '--num-worker-threads',
2025-04-27T09:20:15.7616970Z '1',
2025-04-27T09:20:15.7617220Z '--config-section',
2025-04-27T09:20:15.7617520Z 'LFortran',
2025-04-27T09:20:15.7617870Z '--open-issue-reporter-on-error',
2025-04-27T09:20:15.7618220Z 'false',
2025-04-27T09:20:15.7618550Z '--max-number-of-problems',
2025-04-27T09:20:15.7618870Z '100',
2025-04-27T09:20:15.7619170Z '--trace-server',
2025-04-27T09:20:15.7619450Z 'verbose',
2025-04-27T09:20:15.7619730Z '--compiler-path',
2025-04-27T09:20:15.7620180Z '/Users/runner/work/lfortran/lfortran/src/bin/lfortran',
2025-04-27T09:20:15.7620620Z '--log-pretty-print',
2025-04-27T09:20:15.7620940Z 'false',
2025-04-27T09:20:15.7621200Z '--indent-size',
2025-04-27T09:20:15.7621530Z '4',
2025-04-27T09:20:15.7621790Z '--max-retry-attempts',
2025-04-27T09:20:15.7622040Z '3',
2025-04-27T09:20:15.7622300Z '--min-retry-sleep-time-ms',
2025-04-27T09:20:15.7622620Z '10',
2025-04-27T09:20:15.7622890Z '--max-retry-sleep-time-ms',
2025-04-27T09:20:15.7623230Z '300',
2025-04-27T09:20:15.7623530Z '--extension-id',
2025-04-27T09:20:15.7623820Z 'lcompilers.lfortran',
2025-04-27T09:20:15.7624140Z '--execution-strategy',
2025-04-27T09:20:15.7624470Z 'concurrent']
2025-04-27T09:20:15.7624940Z server_log_path = 'test_document_highlight-concurrent-server.log'
2025-04-27T09:20:15.7625680Z server_path = PosixPath('/Users/runner/work/lfortran/lfortran/src/bin/lfortran')
2025-04-27T09:20:15.7626330Z stdin_log_path = 'test_document_highlight-concurrent-stdin.log'
2025-04-27T09:20:15.7627150Z stdout_log_path = 'test_document_highlight-concurrent-stdout.log'
2025-04-27T09:20:15.7627760Z
2025-04-27T09:20:15.7627930Z tests/server/tests/conftest.py:194:
2025-04-27T09:20:15.7628370Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-04-27T09:20:15.7628840Z tests/server/tests/conftest.py:182: in client
2025-04-27T09:20:15.7629270Z with client.serve():
2025-04-27T09:20:15.7629660Z capfd = <_pytest.capture.CaptureFixture object at 0x1066329e0>
2025-04-27T09:20:15.7630550Z client = <lfortran_language_server.lfortran_lsp_test_client.LFortranLspTestClient object at 0x106630760>
2025-04-27T09:20:15.7631400Z client_log_path = 'test_document_highlight-concurrent-client.log'
2025-04-27T09:20:15.7632370Z compiler_path = PosixPath('/Users/runner/work/lfortran/lfortran/src/bin/lfortran')
2025-04-27T09:20:15.7633110Z config = {'LFortran': {'compiler': {'flags': [], 'path': 'lfortran'},
2025-04-27T09:20:15.7633660Z 'indentSize': 4,
2025-04-27T09:20:15.7633990Z 'log': {'level': 'all',
2025-04-27T09:20:15.7634390Z 'path': 'test_document_highlight-concurrent-server.log',
2025-04-27T09:20:15.7634800Z 'prettyPrint': False},
2025-04-27T09:20:15.7635140Z 'maxNumberOfProblems': 100,
2025-04-27T09:20:15.7635480Z 'openIssueReporterOnError': False,
2025-04-27T09:20:15.7635810Z 'retry': {'maxAttempts': 3,
2025-04-27T09:20:15.7636130Z 'maxSleepTimeMs': 300,
2025-04-27T09:20:15.7636450Z 'minSleepTimeMs': 10},
2025-04-27T09:20:15.7636970Z 'telemetry': {'enabled': True, 'frequencyMs': 1000},
2025-04-27T09:20:15.7637330Z 'timeoutMs': 0,
2025-04-27T09:20:15.7637600Z 'trace': {'server': 'verbose'}}}
2025-04-27T09:20:15.7637930Z execution_strategy = 'concurrent'
2025-04-27T09:20:15.7638320Z gdb_log_path = 'test_document_highlight-concurrent-gdb.log'
2025-04-27T09:20:15.7638700Z gdb_path = None
2025-04-27T09:20:15.7639050Z lldb_log_path = 'test_document_highlight-concurrent-lldb.log'
2025-04-27T09:20:15.7639640Z lldb_path = None
2025-04-27T09:20:15.7639890Z logs_printed = True
2025-04-27T09:20:15.7640240Z print_log = <function client.<locals>.print_log at 0x1071197e0>
2025-04-27T09:20:15.7640730Z print_logs = <function client.<locals>.print_logs at 0x107119240>
2025-04-27T09:20:15.7641250Z request = <SubRequest 'client' for <Function test_document_highlight>>
2025-04-27T09:20:15.7641680Z server_args = ['server',
2025-04-27T09:20:15.7641960Z '--parent-process-id',
2025-04-27T09:20:15.7642180Z '9733',
2025-04-27T09:20:15.7642360Z '--log-level',
2025-04-27T09:20:15.7642540Z 'all',
2025-04-27T09:20:15.7642700Z '--log-path',
2025-04-27T09:20:15.7642930Z 'test_document_highlight-concurrent-server.log',
2025-04-27T09:20:15.7643220Z '--timeout-ms',
2025-04-27T09:20:15.7643390Z '0',
2025-04-27T09:20:15.7643560Z '--num-request-threads',
2025-04-27T09:20:15.7643760Z '1',
2025-04-27T09:20:15.7643920Z '--num-worker-threads',
2025-04-27T09:20:15.7644130Z '1',
2025-04-27T09:20:15.7644290Z '--config-section',
2025-04-27T09:20:15.7644470Z 'LFortran',
2025-04-27T09:20:15.7644670Z '--open-issue-reporter-on-error',
2025-04-27T09:20:15.7644920Z 'false',
2025-04-27T09:20:15.7645100Z '--max-number-of-problems',
2025-04-27T09:20:15.7645310Z '100',
2025-04-27T09:20:15.7645460Z '--trace-server',
2025-04-27T09:20:15.7645640Z 'verbose',
2025-04-27T09:20:15.7645800Z '--compiler-path',
2025-04-27T09:20:15.7646070Z '/Users/runner/work/lfortran/lfortran/src/bin/lfortran',
2025-04-27T09:20:15.7646390Z '--log-pretty-print',
2025-04-27T09:20:15.7646590Z 'false',
2025-04-27T09:20:15.7646740Z '--indent-size',
2025-04-27T09:20:15.7646910Z '4',
2025-04-27T09:20:15.7647090Z '--max-retry-attempts',
2025-04-27T09:20:15.7647290Z '3',
2025-04-27T09:20:15.7647460Z '--min-retry-sleep-time-ms',
2025-04-27T09:20:15.7647680Z '10',
2025-04-27T09:20:15.7647850Z '--max-retry-sleep-time-ms',
2025-04-27T09:20:15.7648070Z '300',
2025-04-27T09:20:15.7648230Z '--extension-id',
2025-04-27T09:20:15.7648420Z 'lcompilers.lfortran',
2025-04-27T09:20:15.7648640Z '--execution-strategy',
2025-04-27T09:20:15.7648920Z 'concurrent']
2025-04-27T09:20:15.7649220Z server_log_path = 'test_document_highlight-concurrent-server.log'
2025-04-27T09:20:15.7649810Z server_path = PosixPath('/Users/runner/work/lfortran/lfortran/src/bin/lfortran')
2025-04-27T09:20:15.7650330Z stdin_log_path = 'test_document_highlight-concurrent-stdin.log'
2025-04-27T09:20:15.7650880Z stdout_log_path = 'test_document_highlight-concurrent-stdout.log'
2025-04-27T09:20:15.7651560Z ../../../micromamba/envs/lf/lib/python3.10/contextlib.py:135: in __enter__
2025-04-27T09:20:15.7651940Z return next(self.gen)
2025-04-27T09:20:15.7652270Z self = <contextlib._GeneratorContextManager object at 0x105cca980>
2025-04-27T09:20:15.7652890Z ../../../micromamba/envs/lf/lib/python3.10/site-packages/llanguage_test_client/lsp_test_client.py:346: in serve
2025-04-27T09:20:15.7653490Z self.initialize()
2025-04-27T09:20:15.7653980Z log_file = <_io.TextIOWrapper name='test_document_highlight-concurrent-client.log' mode='w' encoding='UTF-8'>
2025-04-27T09:20:15.7654810Z self = <lfortran_language_server.lfortran_lsp_test_client.LFortranLspTestClient object at 0x106630760>
2025-04-27T09:20:15.7655470Z stdin_log = <_io.BufferedWriter name='test_document_highlight-concurrent-stdin.log'>
2025-04-27T09:20:15.7656150Z stdout_log = <_io.BufferedWriter name='test_document_highlight-concurrent-stdout.log'>
2025-04-27T09:20:15.7656860Z ../../../micromamba/envs/lf/lib/python3.10/site-packages/llanguage_test_client/lsp_test_client.py:463: in initialize
2025-04-27T09:20:15.7657450Z self.await_response(initialize_id)
2025-04-27T09:20:15.7657720Z initialize_id = 0
2025-04-27T09:20:15.7658180Z self = <lfortran_language_server.lfortran_lsp_test_client.LFortranLspTestClient object at 0x106630760>
2025-04-27T09:20:15.7658660Z stderr_fd = 28
2025-04-27T09:20:15.7658950Z stdout_fd = 26
2025-04-27T09:20:15.7659460Z ../../../micromamba/envs/lf/lib/python3.10/site-packages/llanguage_test_client/lsp_test_client.py:385: in await_response
2025-04-27T09:20:15.7660150Z message = self.receive_message()
2025-04-27T09:20:15.7660410Z message = None
2025-04-27T09:20:15.7660610Z request_id = 0
2025-04-27T09:20:15.7661050Z self = <lfortran_language_server.lfortran_lsp_test_client.LFortranLspTestClient object at 0x106630760>
2025-04-27T09:20:15.7661910Z ../../../micromamba/envs/lf/lib/python3.10/site-packages/llanguage_test_client/lsp_test_client.py:564: in receive_message
2025-04-27T09:20:15.7662610Z message = self.message_stream.next()
2025-04-27T09:20:15.7663110Z self = <lfortran_language_server.lfortran_lsp_test_client.LFortranLspTestClient object at 0x106630760>
2025-04-27T09:20:15.7663930Z ../../../micromamba/envs/lf/lib/python3.10/site-packages/llanguage_test_client/lsp_json_stream.py:70: in next
2025-04-27T09:20:15.7664540Z return self.parse_header_name()
2025-04-27T09:20:15.7664960Z self = <llanguage_test_client.lsp_json_stream.LspJsonStream object at 0x105cc8550>
2025-04-27T09:20:15.7665730Z ../../../micromamba/envs/lf/lib/python3.10/site-packages/llanguage_test_client/lsp_json_stream.py:90: in parse_header_name
2025-04-27T09:20:15.7666280Z match self.next_byte():
2025-04-27T09:20:15.7666670Z self = <llanguage_test_client.lsp_json_stream.LspJsonStream object at 0x105cc8550>
2025-04-27T09:20:15.7667070Z start = 0
2025-04-27T09:20:15.7667420Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-04-27T09:20:15.7667660Z
2025-04-27T09:20:15.7667890Z self = <llanguage_test_client.lsp_json_stream.LspJsonStream object at 0x105cc8550>
2025-04-27T09:20:15.7668310Z
2025-04-27T09:20:15.7668400Z def next_byte(self) -> bytes:
2025-04-27T09:20:15.7668660Z start_time = time.perf_counter()
2025-04-27T09:20:15.7668950Z bi = self.bi
2025-04-27T09:20:15.7669150Z bs = self.bs
2025-04-27T09:20:15.7669370Z if (bs is not None) and (bi < len(bs)):
2025-04-27T09:20:15.7669630Z bj = bi + 1
2025-04-27T09:20:15.7669830Z b = bs[bi:bj]
2025-04-27T09:20:15.7670040Z self.bi = bj
2025-04-27T09:20:15.7670350Z self.message_buf.write(b)
2025-04-27T09:20:15.7670890Z self.position += 1
2025-04-27T09:20:15.7671710Z return b
2025-04-27T09:20:15.7672020Z while self.check_server() \
2025-04-27T09:20:15.7672720Z and ((duration(start_time) < self.timeout_s)
2025-04-27T09:20:15.7673110Z or (self.timeout_s == 0.0)):
2025-04-27T09:20:15.7673390Z try:
2025-04-27T09:20:15.7673640Z self.bs = self.istream.read(4096)
2025-04-27T09:20:15.7674000Z if (self.bs is not None) and (len(self.bs) > 0):
2025-04-27T09:20:15.7674330Z self.bi = 0
2025-04-27T09:20:15.7674620Z return self.next_byte()
2025-04-27T09:20:15.7674920Z except BlockingIOError:
2025-04-27T09:20:15.7675190Z # Try again ...
2025-04-27T09:20:15.7675420Z pass
2025-04-27T09:20:15.7675680Z time.sleep(self.sleep_s)
2025-04-27T09:20:15.7676040Z > raise RuntimeError(
2025-04-27T09:20:15.7676500Z f'Timed-out after {self.timeout_s} seconds while reading from the stream:\n{self.message()}'
2025-04-27T09:20:15.7677020Z )
2025-04-27T09:20:15.7677390Z E RuntimeError: Timed-out after 3.0 seconds while reading from the stream:
2025-04-27T09:20:15.7677710Z
2025-04-27T09:20:15.7677810Z bi = 0
2025-04-27T09:20:15.7678000Z bs = None
2025-04-27T09:20:15.7678380Z self = <llanguage_test_client.lsp_json_stream.LspJsonStream object at 0x105cc8550>
2025-04-27T09:20:15.7678810Z start_time = 1282.689452125
2025-04-27T09:20:15.7678990Z
2025-04-27T09:20:15.7679360Z ../../../micromamba/envs/lf/lib/python3.10/site-packages/llanguage_test_client/lsp_json_stream.py:61: RuntimeError
2025-04-27T09:20:15.7686880Z ---------------------------- Captured stderr setup -----------------------------
2025-04-27T09:20:15.7687690Z [2025-04-27T09:20:05.257Z][LanguageServerInterface][INFO] Logging to: /Users/runner/work/lfortran/lfortran/test_document_highlight-concurrent-server.log
2025-04-27T09:20:15.7688490Z [2025-04-27T09:20:05.258Z][CommunicationProtocol][main][INFO] Serving requests.
2025-04-27T09:20:15.7689040Z [2025-04-27T09:20:05.258Z][CommunicationProtocol][main][TRACE] Awaiting next message ...
2025-04-27T09:20:15.7689560Z [2025-04-27T09:20:05.258Z][LspMessageStream][main][TRACE] Receiving:
2025-04-27T09:20:15.7689900Z Content-Length: 1541
2025-04-27T09:20:15.7690040Z
2025-04-27T09:20:15.7695130Z {"id":0,"params":{"capabilities":{"workspace":{"didChangeConfiguration":{"dynamicRegistration":true},"configuration":true,"fileOperations":{"didCreate":true,"willCreate":true,"didRename":true,"willRename":true,"didDelete":true,"willDelete":true}},"textDocument":{"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":false,"didSave":true},"completion":{"dynamicRegistration":true,"completionItem":{"snippetSupport":false,"commitCharactersSupport":false,"documentationFormat":["plaintext","markdown"],"deprecatedSupport":true,"preselectSupport":false,"tagSupport":{"valueSet":[1]},"insertReplaceSupport":false,"resolveSupport":{"properties":[]},"insertTextModeSupport":{"valueSet":[1,2]},"labelDetailsSupport":true},"contextSupport":true},"hover":{"contentFormat":["plaintext","markdown"]},"definition":{},"documentHighlight":{},"documentSymbol":{"hierarchicalDocumentSymbolSupport":true},"formatting":{},"rangeFormatting":{},"rename":{},"semanticTokens":{"requests":{"full":true},"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"]}}},"processId":null,"rootPath":null,"rootUri":null,"workspaceFolders":null},"method":"initialize","jsonrpc":"2.0"}
2025-04-27T09:20:15.7700830Z [2025-04-27T09:20:05.258Z][CommunicationProtocol][main][TRACE] Awaiting next message ...
2025-04-27T09:20:15.7701170Z
2025-04-27T09:20:15.7701290Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7701920Z ~~ Client Logs [test_document_highlight-concurrent-client.log] ~~
2025-04-27T09:20:15.7702310Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7702520Z
2025-04-27T09:20:15.7702600Z [2025-04-27T09:20:05.258Z] Sending:
2025-04-27T09:20:15.7702840Z Content-Length: 1541
2025-04-27T09:20:15.7702980Z
2025-04-27T09:20:15.7707950Z {"id":0,"params":{"capabilities":{"workspace":{"didChangeConfiguration":{"dynamicRegistration":true},"configuration":true,"fileOperations":{"didCreate":true,"willCreate":true,"didRename":true,"willRename":true,"didDelete":true,"willDelete":true}},"textDocument":{"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":false,"didSave":true},"completion":{"dynamicRegistration":true,"completionItem":{"snippetSupport":false,"commitCharactersSupport":false,"documentationFormat":["plaintext","markdown"],"deprecatedSupport":true,"preselectSupport":false,"tagSupport":{"valueSet":[1]},"insertReplaceSupport":false,"resolveSupport":{"properties":[]},"insertTextModeSupport":{"valueSet":[1,2]},"labelDetailsSupport":true},"contextSupport":true},"hover":{"contentFormat":["plaintext","markdown"]},"definition":{},"documentHighlight":{},"documentSymbol":{"hierarchicalDocumentSymbolSupport":true},"formatting":{},"rangeFormatting":{},"rename":{},"semanticTokens":{"requests":{"full":true},"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"]}}},"processId":null,"rootPath":null,"rootUri":null,"workspaceFolders":null},"method":"initialize","jsonrpc":"2.0"}
2025-04-27T09:20:15.7713400Z
2025-04-27T09:20:15.7713400Z
2025-04-27T09:20:15.7713520Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7713940Z ~~ Standard Input [test_document_highlight-concurrent-stdin.log] ~~
2025-04-27T09:20:15.7714340Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7714550Z
2025-04-27T09:20:15.7721740Z [2025-04-27T09:20:05.258Z] WRITE: Content-Length: 1541\r\n\r\n{"id":0,"params":{"capabilities":{"workspace":{"didChangeConfiguration":{"dynamicRegistration":true},"configuration":true,"fileOperations":{"didCreate":true,"willCreate":true,"didRename":true,"willRename":true,"didDelete":true,"willDelete":true}},"textDocument":{"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":false,"didSave":true},"completion":{"dynamicRegistration":true,"completionItem":{"snippetSupport":false,"commitCharactersSupport":false,"documentationFormat":["plaintext","markdown"],"deprecatedSupport":true,"preselectSupport":false,"tagSupport":{"valueSet":[1]},"insertReplaceSupport":false,"resolveSupport":{"properties":[]},"insertTextModeSupport":{"valueSet":[1,2]},"labelDetailsSupport":true},"contextSupport":true},"hover":{"contentFormat":["plaintext","markdown"]},"definition":{},"documentHighlight":{},"documentSymbol":{"hierarchicalDocumentSymbolSupport":true},"formatting":{},"rangeFormatting":{},"rename":{},"semanticTokens":{"requests":{"full":true},"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"]}}},"processId":null,"rootPath":null,"rootUri":null,"workspaceFolders":null},"method":"initialize","jsonrpc":"2.0"}
2025-04-27T09:20:15.7725690Z
2025-04-27T09:20:15.7725700Z
2025-04-27T09:20:15.7726030Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7726580Z ~~ Standard Output [test_document_highlight-concurrent-stdout.log] ~~
2025-04-27T09:20:15.7727030Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7727270Z
2025-04-27T09:20:15.7727510Z [2025-04-27T09:20:05.259Z] READ: ␀
2025-04-27T09:20:15.7727780Z [2025-04-27T09:20:05.512Z] READ: ␀
2025-04-27T09:20:15.7728030Z [2025-04-27T09:20:05.715Z] READ: ␀
2025-04-27T09:20:15.7728380Z [2025-04-27T09:20:05.976Z] READ: ␀
2025-04-27T09:20:15.7728650Z [2025-04-27T09:20:06.196Z] READ: ␀
2025-04-27T09:20:15.7728910Z [2025-04-27T09:20:06.446Z] READ: ␀
2025-04-27T09:20:15.7729180Z [2025-04-27T09:20:06.704Z] READ: ␀
2025-04-27T09:20:15.7729430Z [2025-04-27T09:20:06.812Z] READ: ␀
2025-04-27T09:20:15.7729730Z [2025-04-27T09:20:07.006Z] READ: ␀
2025-04-27T09:20:15.7729980Z [2025-04-27T09:20:07.118Z] READ: ␀
2025-04-27T09:20:15.7730260Z [2025-04-27T09:20:07.236Z] READ: ␀
2025-04-27T09:20:15.7730570Z [2025-04-27T09:20:07.340Z] READ: ␀
2025-04-27T09:20:15.7730880Z [2025-04-27T09:20:07.580Z] READ: ␀
2025-04-27T09:20:15.7731130Z [2025-04-27T09:20:07.694Z] READ: ␀
2025-04-27T09:20:15.7731430Z [2025-04-27T09:20:07.955Z] READ: ␀
2025-04-27T09:20:15.7731730Z [2025-04-27T09:20:08.082Z] READ: ␀
2025-04-27T09:20:15.7732000Z [2025-04-27T09:20:08.243Z] READ: ␀
2025-04-27T09:20:15.7732180Z
2025-04-27T09:20:15.7732180Z
2025-04-27T09:20:15.7732300Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7732730Z ~~ Server Logs [test_document_highlight-concurrent-server.log] ~~
2025-04-27T09:20:15.7733130Z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-27T09:20:15.7733380Z
2025-04-27T09:20:15.7733880Z [2025-04-27T09:20:05.257Z][LanguageServerInterface][INFO] Logging to: /Users/runner/work/lfortran/lfortran/test_document_highlight-concurrent-server.log
2025-04-27T09:20:15.7734680Z [2025-04-27T09:20:05.258Z][CommunicationProtocol][main][INFO] Serving requests.
2025-04-27T09:20:15.7735260Z [2025-04-27T09:20:05.258Z][CommunicationProtocol][main][TRACE] Awaiting next message ...
2025-04-27T09:20:15.7735790Z [2025-04-27T09:20:05.258Z][LspMessageStream][main][TRACE] Receiving:
2025-04-27T09:20:15.7736140Z Content-Length: 1541
2025-04-27T09:20:15.7736260Z
2025-04-27T09:20:15.7740860Z {"id":0,"params":{"capabilities":{"workspace":{"didChangeConfiguration":{"dynamicRegistration":true},"configuration":true,"fileOperations":{"didCreate":true,"willCreate":true,"didRename":true,"willRename":true,"didDelete":true,"willDelete":true}},"textDocument":{"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":false,"didSave":true},"completion":{"dynamicRegistration":true,"completionItem":{"snippetSupport":false,"commitCharactersSupport":false,"documentationFormat":["plaintext","markdown"],"deprecatedSupport":true,"preselectSupport":false,"tagSupport":{"valueSet":[1]},"insertReplaceSupport":false,"resolveSupport":{"properties":[]},"insertTextModeSupport":{"valueSet":[1,2]},"labelDetailsSupport":true},"contextSupport":true},"hover":{"contentFormat":["plaintext","markdown"]},"definition":{},"documentHighlight":{},"documentSymbol":{"hierarchicalDocumentSymbolSupport":true},"formatting":{},"rangeFormatting":{},"rename":{},"semanticTokens":{"requests":{"full":true},"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"]}}},"processId":null,"rootPath":null,"rootUri":null,"workspaceFolders":null},"method":"initialize","jsonrpc":"2.0"}
2025-04-27T09:20:15.7746060Z [2025-04-27T09:20:05.258Z][CommunicationProtocol][main][TRACE] Awaiting next message ...
2025-04-27T09:20:15.7746370Z
2025-04-27T09:20:15.7746640Z =========================== short test summary info ============================
2025-04-27T09:20:15.7747300Z ERROR tests/server/tests/test_features.py::test_document_highlight - RuntimeError: Timed-out after 3.0 seconds while reading from the stream:
2025-04-27T09:20:15.7747930Z ========================= 12 passed, 1 error in 16.22s =========================
2025-04-27T15:14:36.7338280Z ##[error]The operation was canceled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment