1
0
forked from VimPlug/jedi
Commit Graph

76 Commits

Author SHA1 Message Date
Dave Halter c0f5c5f24c print_to_stderr can be replaced with a proper future import 2019-04-03 09:37:40 +02:00
Dave Halter c997d568f3 Remove unused code 2019-04-03 09:30:22 +02:00
Dave Halter a437c2cb02 Fix test_imports tests, now zip imports work again 2019-03-26 09:16:38 +01:00
Dave Halter 151935dc67 Avoid property, because there's a __getattr__ on that class 2019-03-21 18:49:56 +01:00
Dave Halter 6ddc242746 Ignore some errors that are happening when the Python process ends and its subprocesses are cleaned up 2018-08-21 01:28:13 +02:00
Dave Halter 705f561bdb Sometimes when terminating, the subprocess module is already gone and equals None. 2018-08-10 19:32:54 +02:00
Dave Halter 3d55b2d826 Subprocess error reporting improvements 2018-08-05 12:50:17 +02:00
Dave Halter 72f2a9e4a5 Prefer Python 3 import over 2 2018-08-04 12:07:41 +02:00
Dave Halter b91203820c Now it's actually possible to specify a pytest environment for the same Python version 2018-08-04 02:00:13 +02:00
Dave Halter fd8f254ce1 Fix an issue with stderr debugging of subprocesses 2018-08-03 23:51:58 +02:00
Dave Halter 1c76359291 stderr of the child processes should be printed in debug output
This fixes #1169. It might have a bit of a different intention, but at least it's now possible to see output of the subprocess and it's not just a black hole.
2018-08-03 13:35:21 +02:00
Dave Halter 1e796fc08d Environments are now always created on request
The issue was that if something changed about the environment (e.g. version
switch) or sys.path change, re-creating the environment was possible, but did
not involve the change. The environments have now a __del__ function that
deletes the subprocess after every time an Environment is garbage collected.
2018-07-15 17:49:17 +02:00
Daniel Hahler 2fc91ceb64 Improve Environment
It only takes `executable` and gets all the information from the
subprocess directly.

Fixes https://github.com/davidhalter/jedi/issues/1107.
2018-07-15 17:49:17 +02:00
Daniel Hahler 87d7c59c6e subprocess: listen: exit normally with EOFError
This is an expected case, since the parent closed normally, and
therefore the subprocess should exit with 0.
2018-07-11 12:56:55 +02:00
micbou 95f835a014 Force unicode when listing module names
pkgutil.iter_modules may return the module name as str instead of unicode on
Python 2.
2018-06-24 22:41:14 +02:00
micbou 282c6a2ba1 Use highest possible pickle protocol 2018-06-23 14:45:34 +02:00
Daniel Hahler ea71dedaa1 Include stderr with "subprocess has crashed" exception (#1124)
* Include stderr with "subprocess has crashed" exception

This does not add it to the other similar exception raised from `kill`,
since this should be something like "was killed already" anyway.

* fixup! Include stderr with "subprocess has crashed" exception
2018-06-23 11:37:43 +02:00
micbou 106b11f1af Set stdout and stdin to binary mode on Python 2 and Windows 2018-06-22 00:08:53 +02:00
micbou f9e90e863b Use system default buffering on Python 2 2018-06-21 19:50:51 +02:00
Dave Halter 83d635cbac Add a way to generalize Popen 2018-04-13 10:17:30 +02:00
Dave Halter b5bc25fc0b Fix another windows issue 2018-03-23 01:21:07 +01:00
Dave Halter c8bb41662e Merge the windows fixes 2018-03-23 00:55:23 +01:00
Dave Halter 094affaf84 Remove stdout/stderr from subprocesses (redirected to /dev/null)
This means that the subprocess should now not crash anymore because of people
writing to stdout in c modules and stderr should be empty.

Fixes #793.
2018-03-17 14:14:00 +01:00
Dave Halter 378a5846db Clean up zombie subprocesses, fixes #1048 2018-03-12 20:06:02 +01:00
Dave Halter 9e9c62a5ab Get rid of the imp library import in Python3 to avoid warnings, fixes #1001 2018-03-05 10:55:21 +01:00
T.Rzepka 99130e7664 Fix for Python 2 and 3 on Windows, see #1037. 2018-02-17 13:49:10 +01:00
Dave Halter 9177c120f4 Merge the implicit namespace improvement (pkgutils.itermodules modification)
There are still a few issues that need to be addressed.
2018-02-15 20:08:58 +01:00
Dave Halter 4653c30fa4 Use the PathFinder, because the FileFinder doesn't work without suffixes
This feels more like importlib was intended to be used anyway.
2018-01-21 23:52:44 +01:00
Dave Halter 7fcbf7b5f0 Create the importer stuff Python2.7 and 3.3 2018-01-21 15:46:40 +01:00
Dave Halter baacb5ec0d Trying to use the import machinery to import jedi/parso in python3.4+
The problem was that adding stuff to sys.path is simply very risky, because it already caused import issues (because enum was installed in 2.7). It was bound to cause other issues
2018-01-21 15:25:59 +01:00
Dave Halter fef594373a Better reporting of internal errors 2018-01-20 22:56:51 +01:00
Dave Halter 41b24ab46b Better error handling for subprocesses
I don't really understand why this wasn't an issue before, but it looks like we have to
catch both IOError and and socket.error in Python2.
2018-01-20 22:56:26 +01:00
Dave Halter 94ce54e776 Merge with master again
Some bugs were still present in master
2018-01-20 21:45:55 +01:00
Dave Halter 263989c0ab Add a comment about why the project is None in the subprocess 2018-01-17 19:12:58 +01:00
Dave Halter 4e4f75c882 evaluate.project doesn't exist anymore. Eliminated code that used it 2018-01-17 19:11:20 +01:00
Dave Halter 9b5e3447d9 Make the new project API fully work in tests 2018-01-17 09:54:11 +01:00
Dave Halter fe813292cf Try to migrate to the new project API 2018-01-16 23:56:35 +01:00
Dave Halter 2a0e8f91d3 A possible introduction for projects 2018-01-15 23:57:08 +01:00
Dave Halter db1a4415b3 Some tests that involved jedi were actually a bit wrong and only worked in certain environments. 2018-01-05 00:48:40 +01:00
Dave Halter bcb3f02a01 If a subprocess gets killed by an OOM killer or whatever it should respawn and raise an InternalError 2018-01-02 00:56:22 +01:00
Dave Halter 7ff6871548 Merge Subprocess and CompiledSubprocess 2018-01-02 00:33:30 +01:00
Dave Halter 927aa2bd91 Try to recover from errors that are happening in subprocesses 2018-01-02 00:24:15 +01:00
Dave Halter 7de04fb28d Move the module name searching to the subprocess 2017-12-29 21:10:00 +01:00
Dave Halter 59c44fe499 Use force_unicode for all sys paths 2017-12-29 01:28:23 +01:00
Dave Halter 05b2906dcc Some more small improvements for Python 2 2017-12-28 23:58:19 +01:00
Dave Halter ba81aa16a2 Use unicode in way more cases 2017-12-28 23:19:17 +01:00
Dave Halter d1d4986667 Eliminate is_py3 usages 2017-12-28 01:55:39 +01:00
Dave Halter 6b6795c40c Don't use python_version directly on evaluator anymore 2017-12-28 01:44:59 +01:00
Dave Halter 40f1354f67 More unicode conversions 2017-12-24 03:35:15 +01:00
Dave Halter a38acdbe08 Use unicode sys paths always 2017-12-24 02:42:14 +01:00