py2docfx 0.1.13.dev2016723__py3-none-any.whl → 0.1.13.dev2021865__py3-none-any.whl
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.
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
- py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
- py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +38 -23
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_static.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/unicode_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +22 -26
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +21 -73
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +11 -17
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +8 -11
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +14 -41
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +57 -12
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +7 -8
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +11 -8
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +19 -22
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +5 -7
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +13 -22
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +1 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +4 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1178 -78
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +17 -21
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +6 -18
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
- py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
- py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +38 -23
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_static.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/unicode_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +8 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +8 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +10 -9
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +6 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +17 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +32 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +60 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +8 -10
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +2 -10
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +14 -7
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +16 -35
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +10 -11
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +5 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +304 -121
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +4926 -604
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +194 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +733 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +120 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +4 -7
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +13 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +12 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +8 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +16 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +24 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +23 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +3 -11
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +97 -65
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +24 -24
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +17 -33
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +14 -14
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +30 -12
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +50 -98
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +12 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +48 -56
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +2 -6
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +9 -11
- py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +20 -24
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +8 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +4 -18
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +5 -6
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +2 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +2 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +40 -57
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +143 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +12 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +1 -24
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -20
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +2 -8
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +16 -12
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +2 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +7 -14
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +2 -14
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +5 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +5 -10
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -1
- py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +77 -122
- py2docfx/venv/venv1/Scripts/pywin32_testall.py +4 -9
- {py2docfx-0.1.13.dev2016723.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/METADATA +1 -1
- {py2docfx-0.1.13.dev2016723.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/RECORD +342 -330
- py2docfx/venv/venv1/Lib/site-packages/docs/conf.py +0 -384
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +0 -850
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +0 -24
- {py2docfx-0.1.13.dev2016723.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.13.dev2016723.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,120 @@
|
|
1
|
+
"""A test runner for pywin32"""
|
2
|
+
|
3
|
+
import os
|
4
|
+
import site
|
5
|
+
import subprocess
|
6
|
+
import sys
|
7
|
+
|
8
|
+
# locate the dirs based on where this script is - it may be either in the
|
9
|
+
# source tree, or in an installed Python 'Scripts' tree.
|
10
|
+
project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
11
|
+
site_packages = [site.getusersitepackages()] + site.getsitepackages()
|
12
|
+
|
13
|
+
failures = []
|
14
|
+
|
15
|
+
|
16
|
+
# Run a test using subprocess and wait for the result.
|
17
|
+
# If we get an returncode != 0, we know that there was an error, but we don't
|
18
|
+
# abort immediately - we run as many tests as we can.
|
19
|
+
def run_test(script, cmdline_extras):
|
20
|
+
dirname, scriptname = os.path.split(script)
|
21
|
+
# some tests prefer to be run from their directory.
|
22
|
+
cmd = [sys.executable, "-u", scriptname] + cmdline_extras
|
23
|
+
print("--- Running '%s' ---" % script)
|
24
|
+
sys.stdout.flush()
|
25
|
+
result = subprocess.run(cmd, check=False, cwd=dirname)
|
26
|
+
print(f"*** Test script '{script}' exited with {result.returncode}")
|
27
|
+
sys.stdout.flush()
|
28
|
+
if result.returncode:
|
29
|
+
failures.append(script)
|
30
|
+
|
31
|
+
|
32
|
+
def find_and_run(possible_locations, extras):
|
33
|
+
for maybe in possible_locations:
|
34
|
+
if os.path.isfile(maybe):
|
35
|
+
run_test(maybe, extras)
|
36
|
+
break
|
37
|
+
else:
|
38
|
+
raise RuntimeError(
|
39
|
+
"Failed to locate a test script in one of %s" % possible_locations
|
40
|
+
)
|
41
|
+
|
42
|
+
|
43
|
+
def main():
|
44
|
+
import argparse
|
45
|
+
|
46
|
+
code_directories = [project_root] + site_packages
|
47
|
+
|
48
|
+
parser = argparse.ArgumentParser(
|
49
|
+
description="A script to trigger tests in all subprojects of PyWin32."
|
50
|
+
)
|
51
|
+
parser.add_argument(
|
52
|
+
"-no-user-interaction",
|
53
|
+
default=False,
|
54
|
+
action="store_true",
|
55
|
+
help="(This is now the default - use `-user-interaction` to include them)",
|
56
|
+
)
|
57
|
+
|
58
|
+
parser.add_argument(
|
59
|
+
"-user-interaction",
|
60
|
+
action="store_true",
|
61
|
+
help="Include tests which require user interaction",
|
62
|
+
)
|
63
|
+
|
64
|
+
parser.add_argument(
|
65
|
+
"-skip-adodbapi",
|
66
|
+
default=False,
|
67
|
+
action="store_true",
|
68
|
+
help="Skip the adodbapi tests; useful for CI where there's no provider",
|
69
|
+
)
|
70
|
+
|
71
|
+
args, remains = parser.parse_known_args()
|
72
|
+
|
73
|
+
# win32, win32ui / Pythonwin
|
74
|
+
|
75
|
+
extras = []
|
76
|
+
if args.user_interaction:
|
77
|
+
extras.append("-user-interaction")
|
78
|
+
extras.extend(remains)
|
79
|
+
scripts = [
|
80
|
+
"win32/test/testall.py",
|
81
|
+
"Pythonwin/pywin/test/all.py",
|
82
|
+
]
|
83
|
+
for script in scripts:
|
84
|
+
maybes = [os.path.join(directory, script) for directory in code_directories]
|
85
|
+
find_and_run(maybes, extras)
|
86
|
+
|
87
|
+
# win32com
|
88
|
+
maybes = [
|
89
|
+
os.path.join(directory, "win32com", "test", "testall.py")
|
90
|
+
for directory in [os.path.join(project_root, "com")] + site_packages
|
91
|
+
]
|
92
|
+
extras = remains + ["1"] # only run "level 1" tests in CI
|
93
|
+
find_and_run(maybes, extras)
|
94
|
+
|
95
|
+
# adodbapi
|
96
|
+
if not args.skip_adodbapi:
|
97
|
+
maybes = [
|
98
|
+
os.path.join(directory, "adodbapi", "test", "adodbapitest.py")
|
99
|
+
for directory in code_directories
|
100
|
+
]
|
101
|
+
find_and_run(maybes, remains)
|
102
|
+
# This script has a hard-coded sql server name in it, (and markh typically
|
103
|
+
# doesn't have a different server to test on) but there is now supposed to be a server out there on the Internet
|
104
|
+
# just to run these tests, so try it...
|
105
|
+
maybes = [
|
106
|
+
os.path.join(directory, "adodbapi", "test", "test_adodbapi_dbapi20.py")
|
107
|
+
for directory in code_directories
|
108
|
+
]
|
109
|
+
find_and_run(maybes, remains)
|
110
|
+
|
111
|
+
if failures:
|
112
|
+
print("The following scripts failed")
|
113
|
+
for failure in failures:
|
114
|
+
print(">", failure)
|
115
|
+
sys.exit(1)
|
116
|
+
print("All tests passed \\o/")
|
117
|
+
|
118
|
+
|
119
|
+
if __name__ == "__main__":
|
120
|
+
main()
|
@@ -447,8 +447,7 @@ def RegisterShellInfo(searchPaths):
|
|
447
447
|
|
448
448
|
# FindRegisterApp("win32", ["win32con.pyc", "win32api%s.pyd" % suffix], searchPaths)
|
449
449
|
|
450
|
-
usage =
|
451
|
-
"""\
|
450
|
+
usage = """\
|
452
451
|
regsetup.py - Setup/maintain the registry for Python apps.
|
453
452
|
|
454
453
|
Run without options, (but possibly search paths) to repair a totally broken
|
@@ -475,9 +474,7 @@ Usage: %s [options ...] paths ...
|
|
475
474
|
|
476
475
|
--description -- Print a description of the usage.
|
477
476
|
--examples -- Print examples of usage.
|
478
|
-
"""
|
479
|
-
% sys.argv[0]
|
480
|
-
)
|
477
|
+
""" % sys.argv[0]
|
481
478
|
|
482
479
|
description = """\
|
483
480
|
If no options are processed, the program attempts to validate and set
|
@@ -500,9 +497,9 @@ of the registry.
|
|
500
497
|
# Using raw string so that all paths meant to be copied read correctly inline and when printed
|
501
498
|
examples = r"""
|
502
499
|
Examples:
|
503
|
-
"regsetup c:\
|
500
|
+
"regsetup c:\weird\spot\1 c:\weird\spot\2"
|
504
501
|
Attempts to setup the core Python. Looks in some standard places,
|
505
|
-
as well as the 2
|
502
|
+
as well as the 2 weird spots to locate the core Python files (eg, Python.exe,
|
506
503
|
pythonXX.dll, the standard library and Win32 Extensions).
|
507
504
|
|
508
505
|
"regsetup -a myappname . .\subdir"
|
@@ -5,6 +5,14 @@ import pywintypes
|
|
5
5
|
import win32api
|
6
6
|
|
7
7
|
|
8
|
+
class TestError1(Exception):
|
9
|
+
pass
|
10
|
+
|
11
|
+
|
12
|
+
class TestError2(Exception):
|
13
|
+
pass
|
14
|
+
|
15
|
+
|
8
16
|
# A class that will never die vie refcounting, but will die via GC.
|
9
17
|
class Cycle:
|
10
18
|
def __init__(self, handle):
|
@@ -21,7 +29,7 @@ class PyHandleTestCase(unittest.TestCase):
|
|
21
29
|
h = win32event.CreateEvent(None, 0, 0, None)
|
22
30
|
if invalidate:
|
23
31
|
win32api.CloseHandle(int(h))
|
24
|
-
|
32
|
+
raise TestError1
|
25
33
|
# If we invalidated, then the object destruction code will attempt
|
26
34
|
# to close an invalid handle. We don't wan't an exception in
|
27
35
|
# this case
|
@@ -30,13 +38,13 @@ class PyHandleTestCase(unittest.TestCase):
|
|
30
38
|
"""This function should throw an OSError."""
|
31
39
|
try:
|
32
40
|
f1(invalidate)
|
33
|
-
except
|
34
|
-
raise
|
41
|
+
except TestError1:
|
42
|
+
raise TestError2
|
35
43
|
|
36
|
-
self.assertRaises(
|
44
|
+
self.assertRaises(TestError2, f2, False)
|
37
45
|
# Now do it again, but so the auto object destruction
|
38
46
|
# actually fails.
|
39
|
-
self.assertRaises(
|
47
|
+
self.assertRaises(TestError2, f2, True)
|
40
48
|
|
41
49
|
def testCleanup2(self):
|
42
50
|
# Cause an exception during object destruction.
|
@@ -7,7 +7,18 @@ import unittest
|
|
7
7
|
import pywintypes
|
8
8
|
import win32con
|
9
9
|
import win32gui
|
10
|
-
from win32clipboard import
|
10
|
+
from win32clipboard import (
|
11
|
+
CloseClipboard,
|
12
|
+
EmptyClipboard,
|
13
|
+
GetClipboardData,
|
14
|
+
GetClipboardDataHandle,
|
15
|
+
GetClipboardFormatName,
|
16
|
+
GetGlobalMemory,
|
17
|
+
OpenClipboard,
|
18
|
+
RegisterClipboardFormat,
|
19
|
+
SetClipboardData,
|
20
|
+
SetClipboardText,
|
21
|
+
)
|
11
22
|
|
12
23
|
custom_format_name = "PythonClipboardTestFormat"
|
13
24
|
|
@@ -84,7 +84,7 @@ class TestSSPI(unittest.TestCase):
|
|
84
84
|
|
85
85
|
def _doTestEncryptStream(self, pkg_name):
|
86
86
|
# Test out the SSPI/GSSAPI interop wrapping examples at
|
87
|
-
# https://
|
87
|
+
# https://learn.microsoft.com/en-us/windows/win32/secauthn/sspi-kerberos-interoperability-with-gssapi
|
88
88
|
|
89
89
|
sspiclient, sspiserver = self._doAuth(pkg_name)
|
90
90
|
|
@@ -14,6 +14,10 @@ import winerror
|
|
14
14
|
from pywin32_testutil import TestSkipped
|
15
15
|
|
16
16
|
|
17
|
+
class TestError(Exception):
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
17
21
|
class CurrentUserTestCase(unittest.TestCase):
|
18
22
|
def testGetCurrentUser(self):
|
19
23
|
domain = win32api.GetDomainName()
|
@@ -63,7 +67,7 @@ class Registry(unittest.TestCase):
|
|
63
67
|
# This used to leave a stale exception behind.
|
64
68
|
def reg_operation():
|
65
69
|
hkey = win32api.RegCreateKey(win32con.HKEY_CURRENT_USER, self.key_name)
|
66
|
-
|
70
|
+
raise TestError
|
67
71
|
|
68
72
|
# do the test
|
69
73
|
try:
|
@@ -71,10 +75,10 @@ class Registry(unittest.TestCase):
|
|
71
75
|
try:
|
72
76
|
reg_operation()
|
73
77
|
except:
|
74
|
-
|
78
|
+
raise TestError # Force a TestError
|
75
79
|
finally:
|
76
80
|
win32api.RegDeleteKey(win32con.HKEY_CURRENT_USER, self.key_name)
|
77
|
-
except
|
81
|
+
except TestError:
|
78
82
|
pass
|
79
83
|
|
80
84
|
def testValues(self):
|
@@ -262,7 +266,7 @@ class Misc(unittest.TestCase):
|
|
262
266
|
"BatteryLifeTime",
|
263
267
|
"BatteryFullLifeTime",
|
264
268
|
)
|
265
|
-
self.assertEqual(set(test_keys), set(sps
|
269
|
+
self.assertEqual(set(test_keys), set(sps))
|
266
270
|
|
267
271
|
|
268
272
|
if __name__ == "__main__":
|
@@ -5,7 +5,6 @@ import win32clipboard
|
|
5
5
|
|
6
6
|
|
7
7
|
class TestGetSetClipboardData(unittest.TestCase):
|
8
|
-
|
9
8
|
def copyData(self, data, format_):
|
10
9
|
win32clipboard.OpenClipboard()
|
11
10
|
ret = None
|
@@ -30,13 +29,13 @@ class TestGetSetClipboardData(unittest.TestCase):
|
|
30
29
|
test_data = {
|
31
30
|
"Dummy str": win32clipboard.CF_UNICODETEXT,
|
32
31
|
b"Dummy bytes text": win32clipboard.CF_TEXT,
|
33
|
-
b"Dummy\x00\
|
32
|
+
b"Dummy\x00\xff bytes": win32clipboard.CF_DIB,
|
34
33
|
}
|
35
34
|
for data, fmt in test_data.items():
|
36
35
|
self.assertEqual(data, self.copyData(data, fmt))
|
37
36
|
test_data = {
|
38
37
|
"Dummy str": (win32clipboard.CF_TEXT, win32clipboard.CF_DIB),
|
39
|
-
b"Dummy\x00\
|
38
|
+
b"Dummy\x00\xff bytes": (win32clipboard.CF_UNICODETEXT,),
|
40
39
|
}
|
41
40
|
for data, formats in test_data.items():
|
42
41
|
for fmt in formats:
|
@@ -2,11 +2,24 @@
|
|
2
2
|
|
3
3
|
import contextlib
|
4
4
|
import unittest
|
5
|
-
from
|
5
|
+
from collections.abc import Iterator
|
6
|
+
from typing import Any
|
6
7
|
|
7
8
|
import win32crypt
|
8
|
-
from pywin32_testutil import
|
9
|
-
from win32cryptcon import
|
9
|
+
from pywin32_testutil import find_test_fixture, testmain
|
10
|
+
from win32cryptcon import (
|
11
|
+
CERT_QUERY_CONTENT_CERT,
|
12
|
+
CERT_QUERY_CONTENT_FLAG_CERT,
|
13
|
+
CERT_QUERY_FORMAT_BASE64_ENCODED,
|
14
|
+
CERT_QUERY_FORMAT_BINARY,
|
15
|
+
CERT_QUERY_FORMAT_FLAG_ALL,
|
16
|
+
CERT_QUERY_OBJECT_BLOB,
|
17
|
+
CERT_QUERY_OBJECT_FILE,
|
18
|
+
CERT_STORE_ADD_REPLACE_EXISTING,
|
19
|
+
CERT_STORE_PROV_SYSTEM,
|
20
|
+
CERT_SYSTEM_STORE_CURRENT_USER,
|
21
|
+
CERT_SYSTEM_STORE_LOCAL_MACHINE,
|
22
|
+
)
|
10
23
|
|
11
24
|
|
12
25
|
class Crypt(unittest.TestCase):
|
@@ -227,16 +227,25 @@ class TestSimpleOps(unittest.TestCase):
|
|
227
227
|
)
|
228
228
|
try:
|
229
229
|
ct, at, wt = win32file.GetFileTime(f)
|
230
|
-
|
231
|
-
|
230
|
+
# NOTE (Avasam): I've seen the time be off from -0.003 to +1.11 seconds,
|
231
|
+
# so the above comment about microseconds might be wrong.
|
232
|
+
# Let's standardize ms and avoid random CI failures
|
233
|
+
# https://github.com/mhammond/pywin32/issues/2203
|
234
|
+
ct = ct.replace(microsecond=0)
|
235
|
+
at = at.replace(microsecond=0)
|
236
|
+
wt = wt.replace(microsecond=0)
|
237
|
+
self.assertGreaterEqual(
|
238
|
+
ct,
|
239
|
+
now,
|
232
240
|
f"File was created in the past - now={now}, created={ct}",
|
233
241
|
)
|
234
|
-
self.assertTrue(now <= ct <= nowish, (now, ct))
|
235
|
-
self.
|
236
|
-
wt
|
242
|
+
self.assertTrue(now <= ct <= nowish, (now, ct, nowish))
|
243
|
+
self.assertGreaterEqual(
|
244
|
+
wt,
|
245
|
+
now,
|
237
246
|
f"File was written-to in the past now={now}, written={wt}",
|
238
247
|
)
|
239
|
-
self.assertTrue(now <= wt <= nowish, (now, wt))
|
248
|
+
self.assertTrue(now <= wt <= nowish, (now, wt, nowish))
|
240
249
|
|
241
250
|
# Now set the times.
|
242
251
|
win32file.SetFileTime(f, later, later, later, UTCTimes=True)
|
@@ -632,7 +641,10 @@ class TestDirectoryChanges(unittest.TestCase):
|
|
632
641
|
try:
|
633
642
|
print("waiting", dh)
|
634
643
|
changes = win32file.ReadDirectoryChangesW(
|
635
|
-
dh,
|
644
|
+
dh,
|
645
|
+
8192,
|
646
|
+
False, # sub-tree
|
647
|
+
flags,
|
636
648
|
)
|
637
649
|
print("got", changes)
|
638
650
|
except:
|
@@ -646,7 +658,11 @@ class TestDirectoryChanges(unittest.TestCase):
|
|
646
658
|
overlapped.hEvent = win32event.CreateEvent(None, 0, 0, None)
|
647
659
|
while 1:
|
648
660
|
win32file.ReadDirectoryChangesW(
|
649
|
-
dh,
|
661
|
+
dh,
|
662
|
+
buf,
|
663
|
+
False, # sub-tree
|
664
|
+
flags,
|
665
|
+
overlapped,
|
650
666
|
)
|
651
667
|
# Wait for our event, or for 5 seconds.
|
652
668
|
rc = win32event.WaitForSingleObject(overlapped.hEvent, 5000)
|
@@ -3,7 +3,6 @@ import unittest
|
|
3
3
|
|
4
4
|
import pythoncom
|
5
5
|
import win32con
|
6
|
-
import win32gui
|
7
6
|
import win32gui_struct
|
8
7
|
|
9
8
|
|
@@ -13,10 +12,8 @@ class TestBase(unittest.TestCase):
|
|
13
12
|
for n, v in kw.items():
|
14
13
|
self.assertEqual(v, d[n], f"'{n}' doesn't match: {v!r} != {d[n]!r}")
|
15
14
|
checked[n] = True
|
16
|
-
checked_keys =
|
17
|
-
passed_keys =
|
18
|
-
checked_keys.sort()
|
19
|
-
passed_keys.sort()
|
15
|
+
checked_keys = sorted(checked)
|
16
|
+
passed_keys = sorted(kw)
|
20
17
|
self.assertEqual(checked_keys, passed_keys)
|
21
18
|
|
22
19
|
|
@@ -2,22 +2,39 @@ import unittest
|
|
2
2
|
|
3
3
|
import winerror
|
4
4
|
from pywin32_testutil import TestSkipped, testmain
|
5
|
-
from win32inet import
|
6
|
-
|
5
|
+
from win32inet import (
|
6
|
+
FtpCommand,
|
7
|
+
InternetCanonicalizeUrl,
|
8
|
+
InternetConnect,
|
9
|
+
InternetGetCookie,
|
10
|
+
InternetGetLastResponseInfo,
|
11
|
+
InternetOpen,
|
12
|
+
InternetOpenUrl,
|
13
|
+
InternetReadFile,
|
14
|
+
InternetSetCookie,
|
15
|
+
error,
|
16
|
+
)
|
17
|
+
from win32inetcon import (
|
18
|
+
FTP_TRANSFER_TYPE_ASCII,
|
19
|
+
INTERNET_FLAG_EXISTING_CONNECT,
|
20
|
+
INTERNET_INVALID_PORT_NUMBER,
|
21
|
+
INTERNET_OPEN_TYPE_DIRECT,
|
22
|
+
INTERNET_SERVICE_FTP,
|
23
|
+
)
|
7
24
|
|
8
25
|
|
9
26
|
class CookieTests(unittest.TestCase):
|
10
27
|
def testCookies(self):
|
11
28
|
data = "TestData=Test"
|
12
|
-
InternetSetCookie("
|
13
|
-
got = InternetGetCookie("
|
29
|
+
InternetSetCookie("https://www.python.org", None, data)
|
30
|
+
got = InternetGetCookie("https://www.python.org", None)
|
14
31
|
# handle that there might already be cookies for the domain.
|
15
32
|
bits = (x.strip() for x in got.split(";"))
|
16
33
|
self.assertTrue(data in bits)
|
17
34
|
|
18
35
|
def testCookiesEmpty(self):
|
19
36
|
try:
|
20
|
-
InternetGetCookie("
|
37
|
+
InternetGetCookie("https://site-with-no-cookie.python.org", None)
|
21
38
|
self.fail("expected win32 exception")
|
22
39
|
except error as exc:
|
23
40
|
self.assertEqual(exc.winerror, winerror.ERROR_NO_MORE_ITEMS)
|
@@ -44,7 +61,7 @@ class TestNetwork(unittest.TestCase):
|
|
44
61
|
|
45
62
|
def testPythonDotOrg(self):
|
46
63
|
hdl = InternetOpenUrl(
|
47
|
-
self.hi, "
|
64
|
+
self.hi, "https://www.python.org", None, INTERNET_FLAG_EXISTING_CONNECT
|
48
65
|
)
|
49
66
|
chunks = []
|
50
67
|
while 1:
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Tests for win32ts module
|
2
|
+
|
3
|
+
import unittest
|
4
|
+
|
5
|
+
import win32ts
|
6
|
+
|
7
|
+
|
8
|
+
class Win32TsTestCase(unittest.TestCase):
|
9
|
+
def test_is_remote_session(self):
|
10
|
+
ret = win32ts.WTSQuerySessionInformation(
|
11
|
+
win32ts.WTS_CURRENT_SERVER_HANDLE,
|
12
|
+
win32ts.WTS_CURRENT_SESSION,
|
13
|
+
win32ts.WTSIsRemoteSession,
|
14
|
+
)
|
15
|
+
self.assertIsInstance(ret, bool)
|
16
|
+
|
17
|
+
|
18
|
+
if __name__ == "__main__":
|
19
|
+
unittest.main()
|
@@ -3,19 +3,11 @@ The `winxpgui` module is obsolete and has been completely replaced \
|
|
3
3
|
by `win32gui` and `win32console.GetConsoleWindow`. Use those instead. \
|
4
4
|
"""
|
5
5
|
|
6
|
-
from __future__ import annotations
|
7
|
-
|
8
6
|
import warnings
|
9
7
|
|
10
|
-
from win32console import (
|
8
|
+
from win32console import ( # nopycln: import
|
11
9
|
GetConsoleWindow as GetConsoleWindow, # noqa: PLC0414 # Explicit re-export
|
12
10
|
)
|
13
|
-
from win32gui import *
|
11
|
+
from win32gui import * # nopycln: import
|
14
12
|
|
15
|
-
warnings.warn(
|
16
|
-
"""\
|
17
|
-
The `winxpgui` module is obsolete and has been completely replaced \
|
18
|
-
by `win32gui` and `win32console.GetConsoleWindow`. Use those instead. \
|
19
|
-
""",
|
20
|
-
category=DeprecationWarning,
|
21
|
-
)
|
13
|
+
warnings.warn(str(__doc__), category=DeprecationWarning)
|