debugpy 1.8.5__zip → 1.8.7__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. {debugpy-1.8.5/src/debugpy.egg-info → debugpy-1.8.7}/PKG-INFO +1 -1
  2. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
  3. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
  4. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
  5. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
  6. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
  7. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
  8. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
  9. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
  10. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
  11. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
  12. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
  13. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
  14. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
  15. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
  16. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
  17. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
  18. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
  19. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
  20. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
  21. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
  22. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
  23. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
  24. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
  25. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
  26. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
  27. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
  28. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
  29. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
  30. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
  31. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
  32. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
  33. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
  34. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
  35. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
  36. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
  37. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
  38. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
  39. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
  40. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
  41. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
  42. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +328 -0
  43. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
  44. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
  45. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
  46. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
  47. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
  48. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
  49. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
  50. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
  51. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
  52. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
  53. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
  54. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
  55. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +159 -127
  56. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
  57. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +55527 -0
  58. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
  59. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +803 -511
  60. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
  61. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
  62. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
  63. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
  64. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
  65. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
  66. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
  67. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
  68. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
  69. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
  70. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +69 -61
  71. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
  72. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
  73. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
  74. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
  75. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
  76. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
  77. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
  78. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
  79. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
  80. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
  81. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
  82. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
  83. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
  84. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
  85. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
  86. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
  87. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
  88. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
  89. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
  90. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
  91. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
  92. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
  93. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
  94. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
  95. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
  96. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
  97. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
  98. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
  99. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
  100. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
  101. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
  102. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
  103. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
  104. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
  105. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
  106. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
  107. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
  108. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
  109. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
  110. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
  111. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
  112. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
  113. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
  114. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
  115. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
  116. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
  117. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
  118. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
  119. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
  120. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
  121. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
  122. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
  123. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1929 -0
  124. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43253 -0
  125. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
  126. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1935 -0
  127. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
  128. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
  129. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
  130. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
  131. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
  132. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
  133. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
  134. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
  135. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
  136. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
  137. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
  138. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
  139. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
  140. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
  141. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
  142. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
  143. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
  144. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
  145. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
  146. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
  147. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
  148. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
  149. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
  150. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
  151. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
  152. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
  153. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
  154. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
  155. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  156. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  157. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
  158. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
  159. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  160. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  161. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
  162. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
  163. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  164. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  165. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
  166. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  167. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
  168. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  169. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  170. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  171. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  172. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
  173. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
  174. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
  175. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
  176. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
  177. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
  178. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
  179. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
  180. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
  181. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
  182. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
  183. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
  184. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
  185. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
  186. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
  187. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
  188. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
  189. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
  190. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
  191. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
  192. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
  193. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
  194. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
  195. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
  196. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
  197. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
  198. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
  199. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
  200. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
  201. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
  202. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
  203. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
  204. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
  205. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
  206. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
  207. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
  208. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
  209. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +1 -0
  210. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
  211. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +1 -0
  212. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +1 -0
  213. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
  214. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
  215. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
  216. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
  217. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
  218. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
  219. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
  220. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
  221. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_version.py +3 -3
  222. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/messaging.py +2 -1
  223. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/cli.py +32 -17
  224. {debugpy-1.8.5 → debugpy-1.8.7/src/debugpy.egg-info}/PKG-INFO +1 -1
  225. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/SOURCES.txt +6 -1
  226. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
  227. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
  228. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
  229. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
  230. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
  231. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
  232. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +0 -43377
  233. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
  234. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
  235. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
  236. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
  237. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
  238. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
  239. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
  240. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
  241. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
  242. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
  243. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
  244. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  245. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  246. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
  247. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  248. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  249. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  250. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  251. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  252. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  253. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  254. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  255. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  256. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
  257. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
  258. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
  259. {debugpy-1.8.5 → debugpy-1.8.7}/DESCRIPTION.md +0 -0
  260. {debugpy-1.8.5 → debugpy-1.8.7}/LICENSE +0 -0
  261. {debugpy-1.8.5 → debugpy-1.8.7}/MANIFEST.in +0 -0
  262. {debugpy-1.8.5 → debugpy-1.8.7}/README.md +0 -0
  263. {debugpy-1.8.5 → debugpy-1.8.7}/pyproject.toml +0 -0
  264. {debugpy-1.8.5 → debugpy-1.8.7}/setup.cfg +0 -0
  265. {debugpy-1.8.5 → debugpy-1.8.7}/setup.py +0 -0
  266. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/ThirdPartyNotices.txt +0 -0
  267. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__init__.py +0 -0
  268. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__main__.py +0 -0
  269. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/__init__.py +0 -0
  270. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
  271. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_util.py +0 -0
  272. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/force_pydevd.py +0 -0
  273. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
  274. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
  275. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
  276. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
  277. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
  278. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
  279. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
  280. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
  281. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
  282. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
  283. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
  284. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
  285. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
  286. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
  287. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
  288. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
  289. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
  290. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
  291. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
  292. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
  293. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
  294. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
  295. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
  296. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
  297. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
  298. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
  299. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
  300. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
  301. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
  302. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
  303. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
  304. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
  305. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
  306. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
  307. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
  308. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
  309. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
  310. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
  311. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
  312. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__init__.py +0 -0
  313. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__main__.py +0 -0
  314. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/clients.py +0 -0
  315. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/components.py +0 -0
  316. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/launchers.py +0 -0
  317. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/servers.py +0 -0
  318. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/sessions.py +0 -0
  319. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/__init__.py +0 -0
  320. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/json.py +0 -0
  321. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/log.py +0 -0
  322. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/singleton.py +0 -0
  323. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/sockets.py +0 -0
  324. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/stacks.py +0 -0
  325. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/timestamp.py +0 -0
  326. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/util.py +0 -0
  327. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__init__.py +0 -0
  328. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__main__.py +0 -0
  329. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/debuggee.py +0 -0
  330. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/handlers.py +0 -0
  331. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/output.py +0 -0
  332. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/winapi.py +0 -0
  333. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/public_api.py +0 -0
  334. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/__init__.py +0 -0
  335. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/api.py +0 -0
  336. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/attach_pid_injected.py +0 -0
  337. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/dependency_links.txt +0 -0
  338. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/entry_points.txt +0 -0
  339. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/top_level.txt +0 -0
  340. {debugpy-1.8.5 → debugpy-1.8.7}/versioneer.py +0 -0
@@ -6,23 +6,23 @@ from _pydev_runfiles.pydev_runfiles_coverage import start_coverage_support
6
6
  from _pydevd_bundle.pydevd_constants import * # @UnusedWildImport
7
7
  import re
8
8
  import time
9
+ import json
9
10
 
10
11
 
11
- #=======================================================================================================================
12
+ # =======================================================================================================================
12
13
  # Configuration
13
- #=======================================================================================================================
14
+ # =======================================================================================================================
14
15
  class Configuration:
15
-
16
16
  def __init__(
17
17
  self,
18
- files_or_dirs='',
18
+ files_or_dirs="",
19
19
  verbosity=2,
20
20
  include_tests=None,
21
21
  tests=None,
22
22
  port=None,
23
23
  files_to_tests=None,
24
24
  jobs=1,
25
- split_jobs='tests',
25
+ split_jobs="tests",
26
26
  coverage_output_dir=None,
27
27
  coverage_include=None,
28
28
  coverage_output_file=None,
@@ -30,7 +30,7 @@ class Configuration:
30
30
  exclude_tests=None,
31
31
  include_files=None,
32
32
  django=False,
33
- ):
33
+ ):
34
34
  self.files_or_dirs = files_or_dirs
35
35
  self.verbosity = verbosity
36
36
  self.include_tests = include_tests
@@ -59,7 +59,7 @@ class Configuration:
59
59
  self.coverage_output_file = coverage_output_file
60
60
 
61
61
  def __str__(self):
62
- return '''Configuration
62
+ return """Configuration
63
63
  - files_or_dirs: %s
64
64
  - verbosity: %s
65
65
  - tests: %s
@@ -79,32 +79,28 @@ class Configuration:
79
79
  - coverage_output_file: %s
80
80
 
81
81
  - django: %s
82
- ''' % (
83
- self.files_or_dirs,
84
- self.verbosity,
85
- self.tests,
86
- self.port,
87
- self.files_to_tests,
88
- self.jobs,
89
- self.split_jobs,
90
-
91
- self.include_files,
92
- self.include_tests,
93
-
94
- self.exclude_files,
95
- self.exclude_tests,
96
-
97
- self.coverage_output_dir,
98
- self.coverage_include,
99
- self.coverage_output_file,
100
-
101
- self.django,
102
- )
103
-
104
-
105
- #=======================================================================================================================
82
+ """ % (
83
+ self.files_or_dirs,
84
+ self.verbosity,
85
+ self.tests,
86
+ self.port,
87
+ self.files_to_tests,
88
+ self.jobs,
89
+ self.split_jobs,
90
+ self.include_files,
91
+ self.include_tests,
92
+ self.exclude_files,
93
+ self.exclude_tests,
94
+ self.coverage_output_dir,
95
+ self.coverage_include,
96
+ self.coverage_output_file,
97
+ self.django,
98
+ )
99
+
100
+
101
+ # =======================================================================================================================
106
102
  # parse_cmdline
107
- #=======================================================================================================================
103
+ # =======================================================================================================================
108
104
  def parse_cmdline(argv=None):
109
105
  """
110
106
  Parses command line and returns test directories, verbosity, test filter and test suites
@@ -132,7 +128,7 @@ def parse_cmdline(argv=None):
132
128
  tests = None
133
129
  port = None
134
130
  jobs = 1
135
- split_jobs = 'tests'
131
+ split_jobs = "tests"
136
132
  files_to_tests = {}
137
133
  coverage_output_dir = None
138
134
  coverage_include = None
@@ -142,29 +138,25 @@ def parse_cmdline(argv=None):
142
138
  django = False
143
139
 
144
140
  from _pydev_bundle._pydev_getopt import gnu_getopt
141
+
145
142
  optlist, dirs = gnu_getopt(
146
- argv[1:], "",
143
+ argv[1:],
144
+ "",
147
145
  [
148
146
  "verbosity=",
149
147
  "tests=",
150
-
151
148
  "port=",
152
149
  "config_file=",
153
-
154
150
  "jobs=",
155
151
  "split_jobs=",
156
-
157
152
  "include_tests=",
158
153
  "include_files=",
159
-
160
154
  "exclude_files=",
161
155
  "exclude_tests=",
162
-
163
156
  "coverage_output_dir=",
164
157
  "coverage_include=",
165
-
166
- "django="
167
- ]
158
+ "django=",
159
+ ],
168
160
  )
169
161
 
170
162
  for opt, value in optlist:
@@ -179,37 +171,43 @@ def parse_cmdline(argv=None):
179
171
 
180
172
  elif opt in ("-s", "--split_jobs"):
181
173
  split_jobs = value
182
- if split_jobs not in ('module', 'tests'):
174
+ if split_jobs not in ("module", "tests"):
183
175
  raise AssertionError('Expected split to be either "module" or "tests". Was :%s' % (split_jobs,))
184
176
 
185
- elif opt in ("-d", "--coverage_output_dir",):
177
+ elif opt in (
178
+ "-d",
179
+ "--coverage_output_dir",
180
+ ):
186
181
  coverage_output_dir = value.strip()
187
182
 
188
- elif opt in ("-i", "--coverage_include",):
183
+ elif opt in (
184
+ "-i",
185
+ "--coverage_include",
186
+ ):
189
187
  coverage_include = value.strip()
190
188
 
191
189
  elif opt in ("-I", "--include_tests"):
192
- include_tests = value.split(',')
190
+ include_tests = value.split(",")
193
191
 
194
192
  elif opt in ("-E", "--exclude_files"):
195
- exclude_files = value.split(',')
193
+ exclude_files = value.split(",")
196
194
 
197
195
  elif opt in ("-F", "--include_files"):
198
- include_files = value.split(',')
196
+ include_files = value.split(",")
199
197
 
200
198
  elif opt in ("-e", "--exclude_tests"):
201
- exclude_tests = value.split(',')
199
+ exclude_tests = value.split(",")
202
200
 
203
201
  elif opt in ("-t", "--tests"):
204
- tests = value.split(',')
202
+ tests = value.split(",")
205
203
 
206
204
  elif opt in ("--django",):
207
- django = value.strip() in ['true', 'True', '1']
205
+ django = value.strip() in ["true", "True", "1"]
208
206
 
209
207
  elif opt in ("-c", "--config_file"):
210
208
  config_file = value.strip()
211
209
  if os.path.exists(config_file):
212
- f = open(config_file, 'r')
210
+ f = open(config_file, "r")
213
211
  try:
214
212
  config_file_contents = f.read()
215
213
  finally:
@@ -220,7 +218,7 @@ def parse_cmdline(argv=None):
220
218
 
221
219
  if config_file_contents:
222
220
  for line in config_file_contents.splitlines():
223
- file_and_test = line.split('|')
221
+ file_and_test = line.split("|")
224
222
  if len(file_and_test) == 2:
225
223
  file, test = file_and_test
226
224
  if file in files_to_tests:
@@ -229,16 +227,29 @@ def parse_cmdline(argv=None):
229
227
  files_to_tests[file] = [test]
230
228
 
231
229
  else:
232
- sys.stderr.write('Could not find config file: %s\n' % (config_file,))
230
+ sys.stderr.write("Could not find config file: %s\n" % (config_file,))
231
+
232
+ filter_tests_env_var = os.environ.get("PYDEV_RUNFILES_FILTER_TESTS", None)
233
+ if filter_tests_env_var:
234
+ loaded = json.loads(filter_tests_env_var)
235
+ include = loaded["include"]
236
+ for path, name in include:
237
+ existing = files_to_tests.get(path)
238
+ if not existing:
239
+ existing = files_to_tests[path] = []
240
+ existing.append(name)
241
+ # Note: at this point exclude or `*` is not handled.
242
+ # Clients need to do all the filtering on their side (could
243
+ # change to have `exclude` and support `*` entries).
233
244
 
234
245
  if type([]) != type(dirs):
235
246
  dirs = [dirs]
236
247
 
237
248
  ret_dirs = []
238
249
  for d in dirs:
239
- if '|' in d:
250
+ if "|" in d:
240
251
  # paths may come from the ide separated by |
241
- ret_dirs.extend(d.split('|'))
252
+ ret_dirs.extend(d.split("|"))
242
253
  else:
243
254
  ret_dirs.append(d)
244
255
 
@@ -246,7 +257,7 @@ def parse_cmdline(argv=None):
246
257
 
247
258
  if tests:
248
259
  if verbosity > 4:
249
- sys.stdout.write('--tests provided. Ignoring --exclude_files, --exclude_tests and --include_files\n')
260
+ sys.stdout.write("--tests provided. Ignoring --exclude_files, --exclude_tests and --include_files\n")
250
261
  exclude_files = exclude_tests = include_files = None
251
262
 
252
263
  config = Configuration(
@@ -267,34 +278,30 @@ def parse_cmdline(argv=None):
267
278
  )
268
279
 
269
280
  if verbosity > 5:
270
- sys.stdout.write(str(config) + '\n')
281
+ sys.stdout.write(str(config) + "\n")
271
282
  return config
272
283
 
273
284
 
274
- #=======================================================================================================================
285
+ # =======================================================================================================================
275
286
  # PydevTestRunner
276
- #=======================================================================================================================
287
+ # =======================================================================================================================
277
288
  class PydevTestRunner(object):
278
- """ finds and runs a file or directory of files as a unit test """
289
+ """finds and runs a file or directory of files as a unit test"""
279
290
 
280
291
  __py_extensions = ["*.py", "*.pyw"]
281
292
  __exclude_files = ["__init__.*"]
282
293
 
283
294
  # Just to check that only this attributes will be written to this file
284
295
  __slots__ = [
285
- 'verbosity', # Always used
286
-
287
- 'files_to_tests', # If this one is given, the ones below are not used
288
-
289
- 'files_or_dirs', # Files or directories received in the command line
290
- 'include_tests', # The filter used to collect the tests
291
- 'tests', # Strings with the tests to be run
292
-
293
- 'jobs', # Integer with the number of jobs that should be used to run the test cases
294
- 'split_jobs', # String with 'tests' or 'module' (how should the jobs be split)
295
-
296
- 'configuration',
297
- 'coverage',
296
+ "verbosity", # Always used
297
+ "files_to_tests", # If this one is given, the ones below are not used
298
+ "files_or_dirs", # Files or directories received in the command line
299
+ "include_tests", # The filter used to collect the tests
300
+ "tests", # Strings with the tests to be run
301
+ "jobs", # Integer with the number of jobs that should be used to run the test cases
302
+ "split_jobs", # String with 'tests' or 'module' (how should the jobs be split)
303
+ "configuration",
304
+ "coverage",
298
305
  ]
299
306
 
300
307
  def __init__(self, configuration):
@@ -317,7 +324,7 @@ class PydevTestRunner(object):
317
324
  self.__adjust_path()
318
325
 
319
326
  def __adjust_path(self):
320
- """ add the current file or directory to the python path """
327
+ """add the current file or directory to the python path"""
321
328
  path_to_append = None
322
329
  for n in range(len(self.files_or_dirs)):
323
330
  dir_name = self.__unixify(self.files_or_dirs[n])
@@ -329,10 +336,10 @@ class PydevTestRunner(object):
329
336
  path_to_append = os.path.dirname(dir_name)
330
337
  else:
331
338
  if not os.path.exists(dir_name):
332
- block_line = '*' * 120
333
- sys.stderr.write('\n%s\n* PyDev test runner error: %s does not exist.\n%s\n' % (block_line, dir_name, block_line))
339
+ block_line = "*" * 120
340
+ sys.stderr.write("\n%s\n* PyDev test runner error: %s does not exist.\n%s\n" % (block_line, dir_name, block_line))
334
341
  return
335
- msg = ("unknown type. \n%s\nshould be file or a directory.\n" % (dir_name))
342
+ msg = "unknown type. \n%s\nshould be file or a directory.\n" % (dir_name)
336
343
  raise RuntimeError(msg)
337
344
  if path_to_append is not None:
338
345
  # Add it as the last one (so, first things are resolved against the default dirs and
@@ -340,8 +347,8 @@ class PydevTestRunner(object):
340
347
  sys.path.append(path_to_append)
341
348
 
342
349
  def __is_valid_py_file(self, fname):
343
- """ tests that a particular file contains the proper file extension
344
- and is not in the list of files to exclude """
350
+ """tests that a particular file contains the proper file extension
351
+ and is not in the list of files to exclude"""
345
352
  is_valid_fname = 0
346
353
  for invalid_fname in self.__class__.__exclude_files:
347
354
  is_valid_fname += int(not fnmatch.fnmatch(fname, invalid_fname))
@@ -351,16 +358,16 @@ class PydevTestRunner(object):
351
358
  return is_valid_fname > 0 and if_valid_ext > 0
352
359
 
353
360
  def __unixify(self, s):
354
- """ stupid windows. converts the backslash to forwardslash for consistency """
361
+ """stupid windows. converts the backslash to forwardslash for consistency"""
355
362
  return os.path.normpath(s).replace(os.sep, "/")
356
363
 
357
364
  def __importify(self, s, dir=False):
358
- """ turns directory separators into dots and removes the ".py*" extension
359
- so the string can be used as import statement """
365
+ """turns directory separators into dots and removes the ".py*" extension
366
+ so the string can be used as import statement"""
360
367
  if not dir:
361
368
  dirname, fname = os.path.split(s)
362
369
 
363
- if fname.count('.') > 1:
370
+ if fname.count(".") > 1:
364
371
  # if there's a file named xxx.xx.py, it is not a valid module, so, let's not load it...
365
372
  return
366
373
 
@@ -375,14 +382,14 @@ class PydevTestRunner(object):
375
382
  return s.replace("\\", "/").replace("/", ".")
376
383
 
377
384
  def __add_files(self, pyfiles, root, files):
378
- """ if files match, appends them to pyfiles. used by os.path.walk fcn """
385
+ """if files match, appends them to pyfiles. used by os.path.walk fcn"""
379
386
  for fname in files:
380
387
  if self.__is_valid_py_file(fname):
381
388
  name_without_base_dir = self.__unixify(os.path.join(root, fname))
382
389
  pyfiles.append(name_without_base_dir)
383
390
 
384
391
  def find_import_files(self):
385
- """ return a list of files to import """
392
+ """return a list of files to import"""
386
393
  if self.files_to_tests:
387
394
  pyfiles = self.files_to_tests.keys()
388
395
  else:
@@ -395,8 +402,8 @@ class PydevTestRunner(object):
395
402
  # they don't have __init__.py
396
403
  exclude = {}
397
404
  for d in dirs:
398
- for init in ['__init__.py', '__init__.pyo', '__init__.pyc', '__init__.pyw', '__init__$py.class']:
399
- if os.path.exists(os.path.join(root, d, init).replace('\\', '/')):
405
+ for init in ["__init__.py", "__init__.pyo", "__init__.pyc", "__init__.pyw", "__init__$py.class"]:
406
+ if os.path.exists(os.path.join(root, d, init).replace("\\", "/")):
400
407
  break
401
408
  else:
402
409
  exclude[d] = 1
@@ -429,23 +436,25 @@ class PydevTestRunner(object):
429
436
 
430
437
  if not add:
431
438
  if self.verbosity > 3:
432
- sys.stdout.write('Skipped file: %s (did not match any include_files pattern: %s)\n' % (f, self.configuration.include_files))
439
+ sys.stdout.write(
440
+ "Skipped file: %s (did not match any include_files pattern: %s)\n" % (f, self.configuration.include_files)
441
+ )
433
442
 
434
443
  elif self.configuration.exclude_files:
435
444
  for pat in self.configuration.exclude_files:
436
445
  if fnmatch.fnmatchcase(basename, pat):
437
446
  if self.verbosity > 3:
438
- sys.stdout.write('Skipped file: %s (matched exclude_files pattern: %s)\n' % (f, pat))
447
+ sys.stdout.write("Skipped file: %s (matched exclude_files pattern: %s)\n" % (f, pat))
439
448
 
440
449
  elif self.verbosity > 2:
441
- sys.stdout.write('Skipped file: %s\n' % (f,))
450
+ sys.stdout.write("Skipped file: %s\n" % (f,))
442
451
 
443
452
  add = False
444
453
  break
445
454
 
446
455
  if add:
447
456
  if self.verbosity > 3:
448
- sys.stdout.write('Adding file: %s for test discovery.\n' % (f,))
457
+ sys.stdout.write("Adding file: %s for test discovery.\n" % (f,))
449
458
  ret.append(f)
450
459
 
451
460
  pyfiles = ret
@@ -453,29 +462,31 @@ class PydevTestRunner(object):
453
462
  return pyfiles
454
463
 
455
464
  def __get_module_from_str(self, modname, print_exception, pyfile):
456
- """ Import the module in the given import path.
457
- * Returns the "final" module, so importing "coilib40.subject.visu"
458
- returns the "visu" module, not the "coilib40" as returned by __import__ """
465
+ """Import the module in the given import path.
466
+ * Returns the "final" module, so importing "coilib40.subject.visu"
467
+ returns the "visu" module, not the "coilib40" as returned by __import__"""
459
468
  try:
460
469
  mod = __import__(modname)
461
- for part in modname.split('.')[1:]:
470
+ for part in modname.split(".")[1:]:
462
471
  mod = getattr(mod, part)
463
472
  return mod
464
473
  except:
465
474
  if print_exception:
466
475
  from _pydev_runfiles import pydev_runfiles_xml_rpc
467
476
  from _pydevd_bundle import pydevd_io
468
- buf_err = pydevd_io.start_redirect(keep_original_redirection=True, std='stderr')
469
- buf_out = pydevd_io.start_redirect(keep_original_redirection=True, std='stdout')
477
+
478
+ buf_err = pydevd_io.start_redirect(keep_original_redirection=True, std="stderr")
479
+ buf_out = pydevd_io.start_redirect(keep_original_redirection=True, std="stdout")
470
480
  try:
471
- import traceback;traceback.print_exc()
472
- sys.stderr.write('ERROR: Module: %s could not be imported (file: %s).\n' % (modname, pyfile))
481
+ import traceback
482
+
483
+ traceback.print_exc()
484
+ sys.stderr.write("ERROR: Module: %s could not be imported (file: %s).\n" % (modname, pyfile))
473
485
  finally:
474
- pydevd_io.end_redirect('stderr')
475
- pydevd_io.end_redirect('stdout')
486
+ pydevd_io.end_redirect("stderr")
487
+ pydevd_io.end_redirect("stdout")
476
488
 
477
- pydev_runfiles_xml_rpc.notifyTest(
478
- 'error', buf_out.getvalue(), buf_err.getvalue(), pyfile, modname, 0)
489
+ pydev_runfiles_xml_rpc.notifyTest("error", buf_out.getvalue(), buf_err.getvalue(), pyfile, modname, 0)
479
490
 
480
491
  return None
481
492
 
@@ -485,7 +496,7 @@ class PydevTestRunner(object):
485
496
  return [x for x in seq if not (x in seen or seen_add(x))]
486
497
 
487
498
  def find_modules_from_files(self, pyfiles):
488
- """ returns a list of modules given a list of files """
499
+ """returns a list of modules given a list of files"""
489
500
  # let's make sure that the paths we want are in the pythonpath...
490
501
  imports = [(s, self.__importify(s)) for s in pyfiles]
491
502
 
@@ -503,13 +514,13 @@ class PydevTestRunner(object):
503
514
  choices = []
504
515
  for s in system_paths:
505
516
  if imp.startswith(s):
506
- add = imp[len(s) + 1:]
517
+ add = imp[len(s) + 1 :]
507
518
  if add:
508
519
  choices.append(add)
509
520
  # sys.stdout.write(' ' + add + ' ')
510
521
 
511
522
  if not choices:
512
- sys.stdout.write('PYTHONPATH not found for file: %s\n' % imp)
523
+ sys.stdout.write("PYTHONPATH not found for file: %s\n" % imp)
513
524
  else:
514
525
  for i, import_str in enumerate(choices):
515
526
  print_exception = i == len(choices) - 1
@@ -520,9 +531,9 @@ class PydevTestRunner(object):
520
531
 
521
532
  return ret
522
533
 
523
- #===================================================================================================================
534
+ # ===================================================================================================================
524
535
  # GetTestCaseNames
525
- #===================================================================================================================
536
+ # ===================================================================================================================
526
537
  class GetTestCaseNames:
527
538
  """Yes, we need a class for that (cannot use outer context on jython 2.1)"""
528
539
 
@@ -538,14 +549,14 @@ class PydevTestRunner(object):
538
549
  if className in self.accepted_classes:
539
550
  for attrname in dir(testCaseClass):
540
551
  # If a class is chosen, we select all the 'test' methods'
541
- if attrname.startswith('test') and hasattr(getattr(testCaseClass, attrname), '__call__'):
552
+ if attrname.startswith("test") and hasattr(getattr(testCaseClass, attrname), "__call__"):
542
553
  testFnNames.append(attrname)
543
554
 
544
555
  else:
545
556
  for attrname in dir(testCaseClass):
546
557
  # If we have the class+method name, we must do a full check and have an exact match.
547
- if className + '.' + attrname in self.accepted_methods:
548
- if hasattr(getattr(testCaseClass, attrname), '__call__'):
558
+ if className + "." + attrname in self.accepted_methods:
559
+ if hasattr(getattr(testCaseClass, attrname), "__call__"):
549
560
  testFnNames.append(attrname)
550
561
 
551
562
  # sorted() is not available in jython 2.1
@@ -554,6 +565,7 @@ class PydevTestRunner(object):
554
565
 
555
566
  def _decorate_test_suite(self, suite, pyfile, module_name):
556
567
  import unittest
568
+
557
569
  if isinstance(suite, unittest.TestSuite):
558
570
  add = False
559
571
  suite.__pydev_pyfile__ = pyfile
@@ -574,10 +586,11 @@ class PydevTestRunner(object):
574
586
  return False
575
587
 
576
588
  def find_tests_from_modules(self, file_and_modules_and_module_name):
577
- """ returns the unittests given a list of modules """
589
+ """returns the unittests given a list of modules"""
578
590
  # Use our own suite!
579
591
  from _pydev_runfiles import pydev_runfiles_unittest
580
592
  import unittest
593
+
581
594
  unittest.TestLoader.suiteClass = pydev_runfiles_unittest.PydevTestSuite
582
595
  loader = unittest.TestLoader()
583
596
 
@@ -602,7 +615,7 @@ class PydevTestRunner(object):
602
615
  accepted_methods = {}
603
616
 
604
617
  for t in self.tests:
605
- splitted = t.split('.')
618
+ splitted = t.split(".")
606
619
  if len(splitted) == 1:
607
620
  accepted_classes[t] = t
608
621
 
@@ -619,9 +632,10 @@ class PydevTestRunner(object):
619
632
  return ret
620
633
 
621
634
  def filter_tests(self, test_objs, internal_call=False):
622
- """ based on a filter name, only return those tests that have
623
- the test case names that match """
635
+ """based on a filter name, only return those tests that have
636
+ the test case names that match"""
624
637
  import unittest
638
+
625
639
  if not internal_call:
626
640
  if not self.configuration.include_tests and not self.tests and not self.configuration.exclude_tests:
627
641
  # No need to filter if we have nothing to filter!
@@ -629,17 +643,16 @@ class PydevTestRunner(object):
629
643
 
630
644
  if self.verbosity > 1:
631
645
  if self.configuration.include_tests:
632
- sys.stdout.write('Tests to include: %s\n' % (self.configuration.include_tests,))
646
+ sys.stdout.write("Tests to include: %s\n" % (self.configuration.include_tests,))
633
647
 
634
648
  if self.tests:
635
- sys.stdout.write('Tests to run: %s\n' % (self.tests,))
649
+ sys.stdout.write("Tests to run: %s\n" % (self.tests,))
636
650
 
637
651
  if self.configuration.exclude_tests:
638
- sys.stdout.write('Tests to exclude: %s\n' % (self.configuration.exclude_tests,))
652
+ sys.stdout.write("Tests to exclude: %s\n" % (self.configuration.exclude_tests,))
639
653
 
640
654
  test_suite = []
641
655
  for test_obj in test_objs:
642
-
643
656
  if isinstance(test_obj, unittest.TestSuite):
644
657
  # Note: keep the suites as they are and just 'fix' the tests (so, don't use the iter_tests).
645
658
  if test_obj._tests:
@@ -659,10 +672,10 @@ class PydevTestRunner(object):
659
672
  for pat in self.configuration.exclude_tests:
660
673
  if fnmatch.fnmatchcase(testMethodName, pat):
661
674
  if self.verbosity > 3:
662
- sys.stdout.write('Skipped test: %s (matched exclude_tests pattern: %s)\n' % (testMethodName, pat))
675
+ sys.stdout.write("Skipped test: %s (matched exclude_tests pattern: %s)\n" % (testMethodName, pat))
663
676
 
664
677
  elif self.verbosity > 2:
665
- sys.stdout.write('Skipped test: %s\n' % (testMethodName,))
678
+ sys.stdout.write("Skipped test: %s\n" % (testMethodName,))
666
679
 
667
680
  add = False
668
681
  break
@@ -680,13 +693,19 @@ class PydevTestRunner(object):
680
693
  test_suite.append(test_obj)
681
694
  else:
682
695
  if self.verbosity > 3:
683
- sys.stdout.write('Skipped test: %s (did not match any include_tests pattern %s)\n' % (
684
- testMethodName, self.configuration.include_tests,))
696
+ sys.stdout.write(
697
+ "Skipped test: %s (did not match any include_tests pattern %s)\n"
698
+ % (
699
+ testMethodName,
700
+ self.configuration.include_tests,
701
+ )
702
+ )
685
703
  return test_suite
686
704
 
687
705
  def iter_tests(self, test_objs):
688
706
  # Note: not using yield because of Jython 2.1.
689
707
  import unittest
708
+
690
709
  tests = []
691
710
  for test_obj in test_objs:
692
711
  if isinstance(test_obj, unittest.TestSuite):
@@ -712,7 +731,7 @@ class PydevTestRunner(object):
712
731
  return 1
713
732
 
714
733
  for t in tests:
715
- class_and_method = t.split('.')
734
+ class_and_method = t.split(".")
716
735
  if len(class_and_method) == 1:
717
736
  # only class name
718
737
  if class_and_method[0] == test_case.__class__.__name__:
@@ -725,7 +744,7 @@ class PydevTestRunner(object):
725
744
  return 0
726
745
 
727
746
  def __match(self, filter_list, name):
728
- """ returns whether a test name matches the test filter """
747
+ """returns whether a test name matches the test filter"""
729
748
  if filter_list is None:
730
749
  return 1
731
750
  for f in filter_list:
@@ -734,15 +753,21 @@ class PydevTestRunner(object):
734
753
  return 0
735
754
 
736
755
  def run_tests(self, handle_coverage=True):
737
- """ runs all tests """
756
+ """runs all tests"""
738
757
  sys.stdout.write("Finding files... ")
739
758
  files = self.find_import_files()
740
759
  if self.verbosity > 3:
741
- sys.stdout.write('%s ... done.\n' % (self.files_or_dirs))
760
+ sys.stdout.write("%s ... done.\n" % (self.files_or_dirs))
742
761
  else:
743
- sys.stdout.write('done.\n')
762
+ sys.stdout.write("done.\n")
744
763
  sys.stdout.write("Importing test modules ... ")
745
764
 
765
+ if self.configuration.django:
766
+ import django
767
+
768
+ if hasattr(django, "setup"):
769
+ django.setup()
770
+
746
771
  if handle_coverage:
747
772
  coverage_files, coverage = start_coverage_support(self.configuration)
748
773
 
@@ -753,8 +778,10 @@ class PydevTestRunner(object):
753
778
  all_tests = self.filter_tests(all_tests)
754
779
 
755
780
  from _pydev_runfiles import pydev_runfiles_unittest
781
+
756
782
  test_suite = pydev_runfiles_unittest.PydevTestSuite(all_tests)
757
783
  from _pydev_runfiles import pydev_runfiles_xml_rpc
784
+
758
785
  pydev_runfiles_xml_rpc.notifyTestsCollected(test_suite.countTestCases())
759
786
 
760
787
  start_time = time.time()
@@ -768,12 +795,13 @@ class PydevTestRunner(object):
768
795
  # (e.g.: 2 jobs were requested for running 1 test) -- in which case execute_tests_in_parallel will
769
796
  # return False and won't run any tests.
770
797
  executed_in_parallel = pydev_runfiles_parallel.execute_tests_in_parallel(
771
- all_tests, self.jobs, self.split_jobs, self.verbosity, coverage_files, self.configuration.coverage_include)
798
+ all_tests, self.jobs, self.split_jobs, self.verbosity, coverage_files, self.configuration.coverage_include
799
+ )
772
800
 
773
801
  if not executed_in_parallel:
774
802
  # If in coverage, we don't need to pass anything here (coverage is already enabled for this execution).
775
803
  runner = pydev_runfiles_unittest.PydevTextTestRunner(stream=sys.stdout, descriptions=1, verbosity=self.verbosity)
776
- sys.stdout.write('\n')
804
+ sys.stdout.write("\n")
777
805
  runner.run(test_suite)
778
806
 
779
807
  if self.configuration.django:
@@ -785,7 +813,7 @@ class PydevTestRunner(object):
785
813
  coverage.stop()
786
814
  coverage.save()
787
815
 
788
- total_time = 'Finished in: %.2f secs.' % (time.time() - start_time,)
816
+ total_time = "Finished in: %.2f secs." % (time.time() - start_time,)
789
817
  pydev_runfiles_xml_rpc.notifyTestRunFinished(total_time)
790
818
 
791
819
 
@@ -802,7 +830,6 @@ def get_django_test_suite_runner():
802
830
  from django.test.runner import DiscoverRunner
803
831
 
804
832
  class MyDjangoTestSuiteRunner(DiscoverRunner):
805
-
806
833
  def __init__(self, on_run_suite):
807
834
  django.setup()
808
835
  DiscoverRunner.__init__(self)
@@ -824,15 +851,15 @@ def get_django_test_suite_runner():
824
851
  except:
825
852
 
826
853
  class DjangoTestSuiteRunner:
827
-
828
854
  def __init__(self):
829
855
  pass
830
856
 
831
857
  def run_tests(self, *args, **kwargs):
832
- raise AssertionError("Unable to run suite with django.test.runner.DiscoverRunner nor django.test.simple.DjangoTestSuiteRunner because it couldn't be imported.")
858
+ raise AssertionError(
859
+ "Unable to run suite with django.test.runner.DiscoverRunner nor django.test.simple.DjangoTestSuiteRunner because it couldn't be imported."
860
+ )
833
861
 
834
862
  class MyDjangoTestSuiteRunner(DjangoTestSuiteRunner):
835
-
836
863
  def __init__(self, on_run_suite):
837
864
  DjangoTestSuiteRunner.__init__(self)
838
865
  self.on_run_suite = on_run_suite
@@ -850,8 +877,8 @@ def get_django_test_suite_runner():
850
877
  return DJANGO_TEST_SUITE_RUNNER
851
878
 
852
879
 
853
- #=======================================================================================================================
880
+ # =======================================================================================================================
854
881
  # main
855
- #=======================================================================================================================
882
+ # =======================================================================================================================
856
883
  def main(configuration):
857
884
  PydevTestRunner(configuration).run_tests()