Run Doctest via pytest configuration if `pytest` is installed and selected in settings
Merge-request: IJ-MR-130194
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: 4c97411c3da69249e6b9ad886bcbd9a206db744b
Django plugin should have a uniq package name.
The previous package name was clashing with PythonId.
GitOrigin-RevId: e680e460d5ef9dff21c457e89e26568c81523d9a
Remove the 'extra_tests' argument if a Django version >= 4.0
Merge-request: IJ-MR-120964
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: d9274d828827112a01fd04d0ea62f4df945772af
Passing `name=None` to old API was redundant,
for the new one - mistaken.
(cherry picked from commit 4a1f8a20d1f792623623a86d42c70c423e32ec91)
IJ-CR-115023
GitOrigin-RevId: f6f1330069cb211ec9578c7534023f9f0812a67c
Remove pydev warning if old trace function equals to new one.
Add argparse for `docrunner.py`.
Add tests for `doctest` with parameters.
Add debugger tests for `doctest` with parameters.
Merge-request: IJ-MR-111959
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: 608080b3b5db93718f62a3dddd17893fe8118539
Use `importlib.metadata` for the new Python versions (>= 3.10).
Ignore `DeprecationWarning` for old versions of Python.
Merge-request: IJ-MR-111445
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: a639ae84016a85d508484e31e48913543d4e51f1
When pytest stops with ``pytest.stop`` started test is not finished nor failed, so IJ shows it as "running". We now mark it as "ignored" explicitly.
(cherry picked from commit 83db3d319466ab25ce54bdcbff55bdc25f81d529)
IJ-MR-105333
GitOrigin-RevId: 68047929f947d9d9388389f9dddce896ce81bb72
It has different API, so we now have two separate modules.
Merge-request: IJ-MR-102673
Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com>
GitOrigin-RevId: 0a2dd2f74376662a34e8b782883f6631dc2a42b1
Python runners aren't aware of suites: they report ``fully.qualified.test.names``.
These names are splitted to the suites on the Python side, and just before process ends we close all of them.
GitOrigin-RevId: 4e1ad5b308cd393ac8877e1f6e1f616b254a130c
Note that `os.path.basename(path)` returns an empty string (`''`) when `path` ends in a slash.
GitOrigin-RevId: e400e794d5e0de0cf29ab6796ffac5972f50eb53
``assert "[]" == []``
``assert "123" == 123``
is only displayed correctly when we ``repr`` both
GitOrigin-RevId: ff962dffe7341e95ceeda613e557e9de5cb2620f
Fixed by merging correct version of teamcity runners.
Boolean option brakes all other arguments when used incorrectly
GitOrigin-RevId: e61955cb10fc98eb3dcf741650b79c64a5a573fc
No need to show summary for pytest in most cases, but some plugins may need it.
So, we add advanced option to enable that
GitOrigin-RevId: 15106a4a68ea2adc048119ad4b45e82640086ce0
Logic implemented in ``teamcity-messages``, see changes in diff_tools.py and pytest_plugin.py
GitOrigin-RevId: 8e9cc8cb350e33a9a1cb49ea78ed7ad29c4e1f96
It seems that every IJ product needs to know WSL-2 IP, but there are no guarantees for an interpreter/runtime to exist on WSL except glibc and kernel of course.
Binary tool runs everywhere.
It must be compiled statically on the oldest Linux possible. It gives us guarantee that it runs on distros without of glibc (i.e. Alpine).
GitOrigin-RevId: 92b26d4e176cc3a46ede7970a2b08a228d0f89b7
The correct way to use parameters is to add them to the test name.
"-k" is also works in some cases, but it is not official nor stable.
* pytest runner reports "testname[param]" as metainfo
* we fetch param
* add "parameters" field to the pytest
* glue it with test name
GitOrigin-RevId: 56c5d93fd93a12ba5742b21af51ea04823a9d8f7
When test runner returns code > 0 (because of test failure), our runner must do the same.
See issue description for the reason
GitOrigin-RevId: 231c9ab337e80f70872bf6e6f61a397599f18e26
According to POSIX, getcwd must resolve symbolic links.
But links in backtrace should not be resolved, otherwise link might point to some dir outside of project root.
We check ``PWD`` (works for bash) with fallback to ``
getcwd``
GitOrigin-RevId: 449e5961d0d59c3fe9a627351c79deb83805d58d
* Remote process command line must be patched to support debug, profile etc.
It is now done with PyRemoteCommandLinePatcher.kt
* WSL2 must run with closed stdin because of MS bug.
So, we check if we are on WSL2, and close it.
* WSL2 uses different approach to connect to host for debug (see PyWSLSocketProvider)
* WSL2 needs several commands to run to get list of mappings, so we wrap it with modal dialog.
GitOrigin-RevId: 1789afd9832f048d10d972f5e0f23977e92f973f
With testdir fixture, pytest runs test under separate pytest (which may be inline or separate process).
Previously we monkeypatched prepareconfig not to call it twice.
But this approach fails with testdir, because same config returned twice leading to double plugin registration.
See comment in YT
GitOrigin-RevId: bd9f11a2a10900fa3c059791d7c0183a20b1ed70