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
Dave Halter
7bfca5bcd7
Don't cast bytes to strings when unpickling
2017-12-23 21:18:04 +01:00
Dave Halter
87666d72a1
Move the import logic to the subprocess
2017-12-23 17:59:56 +01:00
Dave Halter
96a67f9a4c
Start using the correct parser for each environment
2017-12-19 19:19:35 +01:00
Dave Halter
6780eba157
Fix sys_path propagation for builtins load_module
2017-12-18 20:16:58 +01:00