Skip to content

Only install libzstd.a so that it is statically linked during CPython #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 9, 2025

Conversation

emmatyping
Copy link
Contributor

PR Checklist:

  • All new features have been tested (n/a)
  • All new features have been documented (n/a)
  • I have read the CONTRIBUTING.md file
  • I will abide by the code of conduct

@emmatyping emmatyping changed the title Only install libzstd.a so that it is statically linked in CPython Only install libzstd.a so that it is statically linked during CPython Jul 4, 2025
@mhsmith
Copy link
Member

mhsmith commented Jul 8, 2025

This does not produce a usable package, because it has no header files:

$ tar -tvf /home/smith/git/beeware/cpython-android-source-deps/zstd/build/1.5.7/arm-linux-androideabi/zstd-1.5.7-0-arm-linux-androideabi.tar.gz
drwxr-xr-x smith/smith       0 2025-07-08 09:57 lib/
drwxr-xr-x smith/smith       0 2025-07-08 09:57 lib/pkgconfig/
-rw-r--r-- smith/smith     551 2025-07-08 09:57 lib/pkgconfig/libzstd.pc
-rw-r--r-- smith/smith 1485898 2025-07-08 09:57 lib/libzstd.a

It may also be necessary to do something to make sure the static library is built with -fPIC, since it will eventually be linked into a shared library. The bzip2 and xz build scripts both contain code to achieve this.

Before submitting this for review again, I recommend you temporarily edit cpython/Android/android.sh to use your locally-built zstd package in the context of a CPython build. Since the -fPIC issue in particular may not show up until runtime, you should also run the Python zstd unit tests locally if possible. Instructions are in cpython/Android/README.md.

@emmatyping
Copy link
Contributor Author

emmatyping commented Jul 9, 2025

Just needed to add install-headers to the final make command looks like:
image

zstd builds with -fPIC by default on non-Windows platforms I believe https://github.com/facebook/zstd/blob/dev/lib/Makefile#L147

Full log of test_zstd test_shutil test_zipfile (all zstd-related tests)

$ ANDROID_HOME=~/android-sdk python3 android.py test --connected emulator-5554 -- test_zstd test_shutil test_zipfile -v
Waiting for app to start - this may take several minutes
PID: 13536
== CPython 3.15.0a0 (heads/add-zstd-android-dirty:f2798dfe350, Jul 8 2025, 20:49:22) [Clang 18.0.3 (https://android.googlesource.com/toolchain/llvm-project d8003a456
== Android-14-x86_64-64bit little-endian
== Python build: release shared
== cwd: /data/data/org.python.testbed/cache/test_python_worker_13536æ
== CPU count: 4
== encodings: locale=utf-8 FS=utf-8
== resources: all test resources are disabled, use -u option to unskip tests

Using random seed: 1742039393
0:00:00 Run 3 tests sequentially in a single process
0:00:00 [1/3] test_zstd
test_compress_empty (test.test_zstd.CompressorTestCase.test_compress_empty) ...
ok
test_compress_flushblock (test.test_zstd.CompressorTestCase.test_compress_flushblock) ...
ok
test_compress_flushframe (test.test_zstd.CompressorTestCase.test_compress_flushframe) ...
ok
test_compress_parameters (test.test_zstd.CompressorTestCase.test_compress_parameters) ...
ok
test_set_pledged_input_size (test.test_zstd.CompressorTestCase.test_set_pledged_input_size) ...
ok
test_simple_compress_bad_args (test.test_zstd.CompressorTestCase.test_simple_compress_bad_args) ...
ok
test_unknown_compression_parameter (test.test_zstd.CompressorTestCase.test_unknown_compression_parameter) ...
ok
test_zstd_multithread_compress (test.test_zstd.CompressorTestCase.test_zstd_multithread_compress) ...
skipped "zstd build doesn't support multi-threaded compression"
test_decompressor_1 (test.test_zstd.DecompressorFlagsTestCase.test_decompressor_1) ...
ok
test_decompressor_skippable (test.test_zstd.DecompressorFlagsTestCase.test_decompressor_skippable) ...
ok
test_function_decompress (test.test_zstd.DecompressorFlagsTestCase.test_function_decompress) ...
ok
test_function_skippable (test.test_zstd.DecompressorFlagsTestCase.test_function_skippable) ...
ok
test_decompress_empty (test.test_zstd.DecompressorTestCase.test_decompress_empty) ...
ok
test_decompress_empty_content_frame (test.test_zstd.DecompressorTestCase.test_decompress_empty_content_frame) ...
ok
test_decompress_epilogue_flags (test.test_zstd.DecompressorTestCase.test_decompress_epilogue_flags) ...
ok
test_decompress_parameters (test.test_zstd.DecompressorTestCase.test_decompress_parameters) ...
ok
test_decompressor_1 (test.test_zstd.DecompressorTestCase.test_decompressor_1) ...
ok
test_decompressor_arg (test.test_zstd.DecompressorTestCase.test_decompressor_arg) ...
ok
test_decompressor_chunks_read_3 (test.test_zstd.DecompressorTestCase.test_decompressor_chunks_read_3) ...
ok
test_decompressor_chunks_read_300 (test.test_zstd.DecompressorTestCase.test_decompressor_chunks_read_300) ...
ok
test_simple_decompress_bad_args (test.test_zstd.DecompressorTestCase.test_simple_decompress_bad_args) ...
ok
test_unknown_decompression_parameter (test.test_zstd.DecompressorTestCase.test_unknown_decompression_parameter) ...
ok
test_UnsupportedOperation (test.test_zstd.FileTestCase.test_UnsupportedOperation) ...
ok
test_append_new_file (test.test_zstd.FileTestCase.test_append_new_file) ...
ok
test_close (test.test_zstd.FileTestCase.test_close) ...
ok
test_closed (test.test_zstd.FileTestCase.test_closed) ...
ok
test_decompress_limited (test.test_zstd.FileTestCase.test_decompress_limited) ...
ok
test_file_dict (test.test_zstd.FileTestCase.test_file_dict) ...
ok
test_file_prefix (test.test_zstd.FileTestCase.test_file_prefix) ...
ok
test_fileno (test.test_zstd.FileTestCase.test_fileno) ...
ok
test_init (test.test_zstd.FileTestCase.test_init) ...
ok
test_init_bad_check (test.test_zstd.FileTestCase.test_init_bad_check) ...
ok
test_init_bad_mode (test.test_zstd.FileTestCase.test_init_bad_mode) ...
ok
test_init_close_fp (test.test_zstd.FileTestCase.test_init_close_fp) ...
ok
test_init_mode (test.test_zstd.FileTestCase.test_init_mode) ...
ok
test_init_with_PathLike_filename (test.test_zstd.FileTestCase.test_init_with_PathLike_filename) ...
ok
test_init_with_filename (test.test_zstd.FileTestCase.test_init_with_filename) ...
ok
test_init_with_x_mode (test.test_zstd.FileTestCase.test_init_with_x_mode) ...
ok
test_iterator (test.test_zstd.FileTestCase.test_iterator) ...
ok
test_name (test.test_zstd.FileTestCase.test_name) ...
ok
test_peek (test.test_zstd.FileTestCase.test_peek) ...
ok
test_peek_bad_args (test.test_zstd.FileTestCase.test_peek_bad_args) ...
ok
test_read1 (test.test_zstd.FileTestCase.test_read1) ...
ok
test_read1_0 (test.test_zstd.FileTestCase.test_read1_0) ...
ok
test_read1_10 (test.test_zstd.FileTestCase.test_read1_10) ...
ok
test_read1_bad_args (test.test_zstd.FileTestCase.test_read1_bad_args) ...
ok
test_read1_multistream (test.test_zstd.FileTestCase.test_read1_multistream) ...
ok
test_read_0 (test.test_zstd.FileTestCase.test_read_0) ...
ok
test_read_10 (test.test_zstd.FileTestCase.test_read_10) ...
ok
test_read_bad_args (test.test_zstd.FileTestCase.test_read_bad_args) ...
ok
test_read_bad_data (test.test_zstd.FileTestCase.test_read_bad_data) ...
ok
test_read_exception (test.test_zstd.FileTestCase.test_read_exception) ...
ok
test_read_incomplete (test.test_zstd.FileTestCase.test_read_incomplete) ...
ok
test_read_multistream (test.test_zstd.FileTestCase.test_read_multistream) ...
ok
test_read_readinto_readinto1 (test.test_zstd.FileTestCase.test_read_readinto_readinto1) ...
ok
test_read_truncated (test.test_zstd.FileTestCase.test_read_truncated) ...
ok
test_readable (test.test_zstd.FileTestCase.test_readable) ...
ok
test_readinto (test.test_zstd.FileTestCase.test_readinto) ...
ok
test_seek_backward (test.test_zstd.FileTestCase.test_seek_backward) ...
ok
test_seek_backward_across_streams (test.test_zstd.FileTestCase.test_seek_backward_across_streams) ...
ok
test_seek_backward_relative_to_end (test.test_zstd.FileTestCase.test_seek_backward_relative_to_end) ...
ok
test_seek_bad_args (test.test_zstd.FileTestCase.test_seek_bad_args) ...
ok
test_seek_forward (test.test_zstd.FileTestCase.test_seek_forward) ...
ok
test_seek_forward_across_streams (test.test_zstd.FileTestCase.test_seek_forward_across_streams) ...
ok
test_seek_forward_relative_to_current (test.test_zstd.FileTestCase.test_seek_forward_relative_to_current) ...
ok
test_seek_forward_relative_to_end (test.test_zstd.FileTestCase.test_seek_forward_relative_to_end) ...
ok
test_seek_not_seekable (test.test_zstd.FileTestCase.test_seek_not_seekable) ...
ok
test_seek_past_end (test.test_zstd.FileTestCase.test_seek_past_end) ...
ok
test_seek_past_start (test.test_zstd.FileTestCase.test_seek_past_start) ...
ok
test_seekable (test.test_zstd.FileTestCase.test_seekable) ...
ok
test_tell (test.test_zstd.FileTestCase.test_tell) ...
ok
test_tell_bad_args (test.test_zstd.FileTestCase.test_tell_bad_args) ...
ok
test_writable (test.test_zstd.FileTestCase.test_writable) ...
ok
test_write (test.test_zstd.FileTestCase.test_write) ...
ok
test_write_101 (test.test_zstd.FileTestCase.test_write_101) ...
ok
test_write_append (test.test_zstd.FileTestCase.test_write_append) ...
ok
test_write_bad_args (test.test_zstd.FileTestCase.test_write_bad_args) ...
ok
test_write_empty_block (test.test_zstd.FileTestCase.test_write_empty_block) ...
ok
test_write_empty_frame (test.test_zstd.FileTestCase.test_write_empty_frame) ...
ok
test_writelines (test.test_zstd.FileTestCase.test_writelines) ...
ok
test_zstdfile_flush (test.test_zstd.FileTestCase.test_zstdfile_flush) ...
ok
test_zstdfile_flush_mode (test.test_zstd.FileTestCase.test_zstdfile_flush_mode) ...
ok
test_zstdfile_iter_issue45475 (test.test_zstd.FileTestCase.test_zstdfile_iter_issue45475) ...
ok
test_zstdfile_truncate (test.test_zstd.FileTestCase.test_zstdfile_truncate) ...
ok
test_compress_locking (test.test_zstd.FreeThreadingMethodTests.test_compress_locking) ...
ok
test_compress_shared_dict (test.test_zstd.FreeThreadingMethodTests.test_compress_shared_dict) ...
ok
test_decompress_locking (test.test_zstd.FreeThreadingMethodTests.test_decompress_locking) ...
ok
test_decompress_shared_dict (test.test_zstd.FreeThreadingMethodTests.test_decompress_shared_dict) ...
ok
test_compressionLevel_values (test.test_zstd.FunctionsTestCase.test_compressionLevel_values) ...
ok
test_decompress_2x130_1K (test.test_zstd.FunctionsTestCase.test_decompress_2x130_1K) ...
ok
test_get_frame_info (test.test_zstd.FunctionsTestCase.test_get_frame_info) ...
ok
test_get_frame_size (test.test_zstd.FunctionsTestCase.test_get_frame_size) ...
ok
test_roundtrip_default (test.test_zstd.FunctionsTestCase.test_roundtrip_default) ...
ok
test_roundtrip_level (test.test_zstd.FunctionsTestCase.test_roundtrip_level) ...
ok
test_version (test.test_zstd.FunctionsTestCase.test_version) ...
ok
test_bad_params (test.test_zstd.OpenTestCase.test_bad_params) ...
ok
test_binary_modes (test.test_zstd.OpenTestCase.test_binary_modes) ...
ok
test_buffer_protocol (test.test_zstd.OpenTestCase.test_buffer_protocol) ...
ok
test_encoding (test.test_zstd.OpenTestCase.test_encoding) ...
ok
test_encoding_error_handler (test.test_zstd.OpenTestCase.test_encoding_error_handler) ...
ok
test_newline (test.test_zstd.OpenTestCase.test_newline) ...
ok
test_open_dict (test.test_zstd.OpenTestCase.test_open_dict) ...
ok
test_open_prefix (test.test_zstd.OpenTestCase.test_open_prefix) ...
ok
test_option (test.test_zstd.OpenTestCase.test_option) ...
ok
test_text_modes (test.test_zstd.OpenTestCase.test_text_modes) ...
ok
test_x_mode (test.test_zstd.OpenTestCase.test_x_mode) ...
ok
test_advanced_compression_parameters (test.test_zstd.ZstdDictTestCase.test_advanced_compression_parameters) ...
ok
test_as_digested_dict (test.test_zstd.ZstdDictTestCase.test_as_digested_dict) ...
ok
test_as_prefix (test.test_zstd.ZstdDictTestCase.test_as_prefix) ...
ok
test_finalize_dict (test.test_zstd.ZstdDictTestCase.test_finalize_dict) ...
ok
test_finalize_dict_arguments (test.test_zstd.ZstdDictTestCase.test_finalize_dict_arguments) ...
ok
test_finalize_dict_c (test.test_zstd.ZstdDictTestCase.test_finalize_dict_c) ...
ok
test_invalid_dict (test.test_zstd.ZstdDictTestCase.test_invalid_dict) ...
ok
test_is_raw (test.test_zstd.ZstdDictTestCase.test_is_raw) ...
ok
test_len (test.test_zstd.ZstdDictTestCase.test_len) ...
ok
test_train_buffer_protocol_samples (test.test_zstd.ZstdDictTestCase.test_train_buffer_protocol_samples) ...
ok
test_train_dict (test.test_zstd.ZstdDictTestCase.test_train_dict) ...
ok
test_train_dict_arguments (test.test_zstd.ZstdDictTestCase.test_train_dict_arguments) ...
ok
test_train_dict_c (test.test_zstd.ZstdDictTestCase.test_train_dict_c) ...
ok

----------------------------------------------------------------------
Ran 119 tests in 0.467s

OK (skipped=1)
0:00:00 [1/3] test_zstd passed
0:00:00 [2/3] test_shutil
test_module_all_attribute (test.test_shutil.PublicAPITests.test_module_all_attribute) ...
ok
test_make_archive (test.test_shutil.TestArchives.test_make_archive) ...
ok
test_make_archive_cwd (test.test_shutil.TestArchives.test_make_archive_cwd) ...
ok
test_make_archive_cwd_default (test.test_shutil.TestArchives.test_make_archive_cwd_default) ...
ok
test_make_archive_cwd_supports_root_dir (test.test_shutil.TestArchives.test_make_archive_cwd_supports_root_dir) ...
ok
test_make_archive_owner_group (test.test_shutil.TestArchives.test_make_archive_owner_group) ...
ok
test_make_tarfile (test.test_shutil.TestArchives.test_make_tarfile) ...
ok
test_make_tarfile_in_curdir (test.test_shutil.TestArchives.test_make_tarfile_in_curdir) ...
ok
test_make_tarfile_rootdir_nodir (test.test_shutil.TestArchives.test_make_tarfile_rootdir_nodir) ...
ok
test_make_tarfile_with_explicit_curdir (test.test_shutil.TestArchives.test_make_tarfile_with_explicit_curdir) ...
ok
test_make_tarfile_without_rootdir (test.test_shutil.TestArchives.test_make_tarfile_without_rootdir) ...
ok
test_make_zipfile (test.test_shutil.TestArchives.test_make_zipfile) ...
ok
test_make_zipfile_in_curdir (test.test_shutil.TestArchives.test_make_zipfile_in_curdir) ...
ok
test_make_zipfile_rootdir_nodir (test.test_shutil.TestArchives.test_make_zipfile_rootdir_nodir) ...
ok
test_make_zipfile_with_explicit_curdir (test.test_shutil.TestArchives.test_make_zipfile_with_explicit_curdir) ...
ok
test_make_zipfile_without_rootdir (test.test_shutil.TestArchives.test_make_zipfile_without_rootdir) ...
ok
test_register_archive_format (test.test_shutil.TestArchives.test_register_archive_format) ...
ok
test_tarfile_root_owner (test.test_shutil.TestArchives.test_tarfile_root_owner) ...
skipped 'Requires grp and pwd support'
test_tarfile_vs_tar (test.test_shutil.TestArchives.test_tarfile_vs_tar) ...
ok
test_unpack_archive_bztar (test.test_shutil.TestArchives.test_unpack_archive_bztar) ...
ok
test_unpack_archive_gztar (test.test_shutil.TestArchives.test_unpack_archive_gztar) ...
ok
test_unpack_archive_tar (test.test_shutil.TestArchives.test_unpack_archive_tar) ...
ok
test_unpack_archive_xztar (test.test_shutil.TestArchives.test_unpack_archive_xztar) ...
ok
test_unpack_archive_zip (test.test_shutil.TestArchives.test_unpack_archive_zip) ...
ok
test_unpack_archive_zstdtar (test.test_shutil.TestArchives.test_unpack_archive_zstdtar) ...
ok
test_unpack_registry (test.test_shutil.TestArchives.test_unpack_registry) ...
ok
test_unzip_zipfile (test.test_shutil.TestArchives.test_unzip_zipfile) ...
ok
test_zipfile_vs_zip (test.test_shutil.TestArchives.test_zipfile_vs_zip) ...
skipped 'Need the zip command to run'
test_copy (test.test_shutil.TestCopy.test_copy) ...
ok
test_copy2 (test.test_shutil.TestCopy.test_copy2) ...
ok
test_copy2_dir (test.test_shutil.TestCopy.test_copy2_dir) ...
ok
test_copy2_symlinks (test.test_shutil.TestCopy.test_copy2_symlinks) ...
ok
test_copy2_xattr (test.test_shutil.TestCopy.test_copy2_xattr) ...
skipped 'no non-broken extended attribute support'
test_copy_dir (test.test_shutil.TestCopy.test_copy_dir) ...
ok
test_copy_return_value (test.test_shutil.TestCopy.test_copy_return_value) ...
ok
test_copy_symlinks (test.test_shutil.TestCopy.test_copy_symlinks) ...
ok
test_copyfile_copy_dir (test.test_shutil.TestCopy.test_copyfile_copy_dir) ...
ok
test_copyfile_named_pipe (test.test_shutil.TestCopy.test_copyfile_named_pipe) ...
ok
test_copyfile_nonexistent_dir (test.test_shutil.TestCopy.test_copyfile_nonexistent_dir) ...
ok
test_copyfile_return_value (test.test_shutil.TestCopy.test_copyfile_return_value) ...
ok
test_copyfile_same_file (test.test_shutil.TestCopy.test_copyfile_same_file) ...
ok
test_copyfile_symlinks (test.test_shutil.TestCopy.test_copyfile_symlinks) ...
ok
test_copymode_follow_symlinks (test.test_shutil.TestCopy.test_copymode_follow_symlinks) ...
ok
test_copymode_symlink_to_symlink (test.test_shutil.TestCopy.test_copymode_symlink_to_symlink) ...
skipped 'requires os.lchmod'
test_copymode_symlink_to_symlink_wo_lchmod (test.test_shutil.TestCopy.test_copymode_symlink_to_symlink_wo_lchmod) ...
ok
test_copystat_handles_harmless_chflags_errors (test.test_shutil.TestCopy.test_copystat_handles_harmless_chflags_errors) ...
skipped 'requires os.chflags, EOPNOTSUPP & ENOTSUP'
test_copystat_symlinks (test.test_shutil.TestCopy.test_copystat_symlinks) ...
ok
test_copyxattr (test.test_shutil.TestCopy.test_copyxattr) ...
skipped 'no non-broken extended attribute support'
test_copyxattr_symlinks (test.test_shutil.TestCopy.test_copyxattr_symlinks) ...
skipped 'no non-broken extended attribute support'
test_dont_copy_file_onto_link_to_itself (test.test_shutil.TestCopy.test_dont_copy_file_onto_link_to_itself) ...
skipped "os.link(): [Errno 13] Permission denied: '@test_13536_tmpæ/cheese' -> '@test_13536_tmpæ/shop'"
test_dont_copy_file_onto_symlink_to_itself (test.test_shutil.TestCopy.test_dont_copy_file_onto_symlink_to_itself) ...
ok
test_w_dest_close_fails (test.test_shutil.TestCopyFile.test_w_dest_close_fails) ...
ok
test_w_dest_open_fails (test.test_shutil.TestCopyFile.test_w_dest_open_fails) ...
ok
test_w_source_close_fails (test.test_shutil.TestCopyFile.test_w_source_close_fails) ...
ok
test_w_source_open_fails (test.test_shutil.TestCopyFile.test_w_source_open_fails) ...
ok
test_content (test.test_shutil.TestCopyFileObj.test_content) ...
ok
test_file_not_closed (test.test_shutil.TestCopyFileObj.test_file_not_closed) ...
ok
test_file_offset (test.test_shutil.TestCopyFileObj.test_file_offset) ...
ok
test_win_impl (test.test_shutil.TestCopyFileObj.test_win_impl) ...
skipped 'Windows only'
test_copytree_arg_types_of_ignore (test.test_shutil.TestCopyTree.test_copytree_arg_types_of_ignore) ...
ok
test_copytree_custom_copy_function (test.test_shutil.TestCopyTree.test_copytree_custom_copy_function) ...
ok
test_copytree_dangling_symlinks (test.test_shutil.TestCopyTree.test_copytree_dangling_symlinks) ...
ok
test_copytree_dirs_exist_ok (test.test_shutil.TestCopyTree.test_copytree_dirs_exist_ok) ...
ok
test_copytree_named_pipe (test.test_shutil.TestCopyTree.test_copytree_named_pipe) ...
ok
test_copytree_retains_permissions (test.test_shutil.TestCopyTree.test_copytree_retains_permissions) ...
ok
test_copytree_return_value (test.test_shutil.TestCopyTree.test_copytree_return_value) ...
ok
test_copytree_simple (test.test_shutil.TestCopyTree.test_copytree_simple) ...
ok
test_copytree_special_func (test.test_shutil.TestCopyTree.test_copytree_special_func) ...
ok
test_copytree_subdirectory (test.test_shutil.TestCopyTree.test_copytree_subdirectory) ...
ok
test_copytree_symlink_dir (test.test_shutil.TestCopyTree.test_copytree_symlink_dir) ...
ok
test_copytree_symlinks (test.test_shutil.TestCopyTree.test_copytree_symlinks) ...
ok
test_copytree_winerror (test.test_shutil.TestCopyTree.test_copytree_winerror) ...
ok
test_copytree_with_exclude (test.test_shutil.TestCopyTree.test_copytree_with_exclude) ...
ok
test_bad_environ (test.test_shutil.TestGetTerminalSize.test_bad_environ) ...
ok
test_does_not_crash (test.test_shutil.TestGetTerminalSize.test_does_not_crash)
Check if get_terminal_size() returns a meaningful value. ...
ok
test_fallback (test.test_shutil.TestGetTerminalSize.test_fallback) ...
ok
test_os_environ_first (test.test_shutil.TestGetTerminalSize.test_os_environ_first)
Check if environment variables have precedence ...
ok
test_stty_match (test.test_shutil.TestGetTerminalSize.test_stty_match)
Check if stty returns the same results ignoring env ...
skipped 'not on tty'
test_chown (test.test_shutil.TestMisc.test_chown) ...
skipped 'Requires grp and pwd support'
test_disk_usage (test.test_shutil.TestMisc.test_disk_usage) ...
ok
test_destinsrc_false_negative (test.test_shutil.TestMove.test_destinsrc_false_negative) ...
ok
test_destinsrc_false_positive (test.test_shutil.TestMove.test_destinsrc_false_positive) ...
ok
test_dont_move_dir_in_itself (test.test_shutil.TestMove.test_dont_move_dir_in_itself) ...
ok
test_existing_file_inside_dest_dir (test.test_shutil.TestMove.test_existing_file_inside_dest_dir) ...
ok
test_move_as_rename_return_value (test.test_shutil.TestMove.test_move_as_rename_return_value) ...
ok
test_move_dangling_symlink (test.test_shutil.TestMove.test_move_dangling_symlink) ...
ok
test_move_dir (test.test_shutil.TestMove.test_move_dir) ...
ok
test_move_dir_altsep_to_dir (test.test_shutil.TestMove.test_move_dir_altsep_to_dir) ...
skipped 'requires os.path.altsep'
test_move_dir_caseinsensitive (test.test_shutil.TestMove.test_move_dir_caseinsensitive) ...
ok
test_move_dir_other_fs (test.test_shutil.TestMove.test_move_dir_other_fs) ...
ok
test_move_dir_permission_denied (test.test_shutil.TestMove.test_move_dir_permission_denied) ...
skipped 'requires CAP_DAC_OVERRIDE'
test_move_dir_sep_to_dir (test.test_shutil.TestMove.test_move_dir_sep_to_dir) ...
ok
test_move_dir_special_function (test.test_shutil.TestMove.test_move_dir_special_function) ...
ok
test_move_dir_symlink (test.test_shutil.TestMove.test_move_dir_symlink) ...
ok
test_move_dir_to_dir (test.test_shutil.TestMove.test_move_dir_to_dir) ...
ok
test_move_dir_to_dir_other_fs (test.test_shutil.TestMove.test_move_dir_to_dir_other_fs) ...
ok
test_move_file (test.test_shutil.TestMove.test_move_file) ...
ok
test_move_file_other_fs (test.test_shutil.TestMove.test_move_file_other_fs) ...
ok
test_move_file_special_function (test.test_shutil.TestMove.test_move_file_special_function) ...
ok
test_move_file_symlink (test.test_shutil.TestMove.test_move_file_symlink) ...
ok
test_move_file_symlink_to_dir (test.test_shutil.TestMove.test_move_file_symlink_to_dir) ...
ok
test_move_file_to_dir (test.test_shutil.TestMove.test_move_file_to_dir) ...
ok
test_move_file_to_dir_other_fs (test.test_shutil.TestMove.test_move_file_to_dir_other_fs) ...
ok
test_move_file_to_dir_pathlike_dst (test.test_shutil.TestMove.test_move_file_to_dir_pathlike_dst) ...
ok
test_move_file_to_dir_pathlike_src (test.test_shutil.TestMove.test_move_file_to_dir_pathlike_src) ...
ok
test_move_return_value (test.test_shutil.TestMove.test_move_return_value) ...
ok
test_move_symlink_to_dir_into_dir (test.test_shutil.TestMove.test_move_symlink_to_dir_into_dir) ...
ok
test_move_symlink_to_dir_into_symlink_to_dir (test.test_shutil.TestMove.test_move_symlink_to_dir_into_symlink_to_dir) ...
ok
test_both_onerror_and_onexc (test.test_shutil.TestRmTree.test_both_onerror_and_onexc) ...
ok
test_on_error (test.test_shutil.TestRmTree.test_on_error) ...
ok
test_on_exc (test.test_shutil.TestRmTree.test_on_exc) ...
ok
test_rmtree_above_recursion_limit (test.test_shutil.TestRmTree.test_rmtree_above_recursion_limit) ...
ok
test_rmtree_deleted_race_condition (test.test_shutil.TestRmTree.test_rmtree_deleted_race_condition) ...
ok
test_rmtree_does_not_choke_on_failing_lstat (test.test_shutil.TestRmTree.test_rmtree_does_not_choke_on_failing_lstat) ...
ok
test_rmtree_dont_delete_file (test.test_shutil.TestRmTree.test_rmtree_dont_delete_file) ...
ok
test_rmtree_errors (test.test_shutil.TestRmTree.test_rmtree_errors) ...
ok
test_rmtree_errors_onerror (test.test_shutil.TestRmTree.test_rmtree_errors_onerror) ...
ok
test_rmtree_errors_onexc (test.test_shutil.TestRmTree.test_rmtree_errors_onexc) ...
ok
test_rmtree_fails_on_close (test.test_shutil.TestRmTree.test_rmtree_fails_on_close) ...
ok
test_rmtree_fails_on_junctions_onerror (test.test_shutil.TestRmTree.test_rmtree_fails_on_junctions_onerror) ...
skipped 'only relevant on Windows'
test_rmtree_fails_on_junctions_onexc (test.test_shutil.TestRmTree.test_rmtree_fails_on_junctions_onexc) ...
skipped 'only relevant on Windows'
test_rmtree_fails_on_symlink_onerror (test.test_shutil.TestRmTree.test_rmtree_fails_on_symlink_onerror) ...
ok
test_rmtree_fails_on_symlink_onexc (test.test_shutil.TestRmTree.test_rmtree_fails_on_symlink_onexc) ...
ok
test_rmtree_on_junction (test.test_shutil.TestRmTree.test_rmtree_on_junction) ...
skipped 'only relevant on Windows'
test_rmtree_on_named_pipe (test.test_shutil.TestRmTree.test_rmtree_on_named_pipe) ...
ok
test_rmtree_on_symlink (test.test_shutil.TestRmTree.test_rmtree_on_symlink) ...
ok
test_rmtree_uses_safe_fd_version_if_available (test.test_shutil.TestRmTree.test_rmtree_uses_safe_fd_version_if_available) ...
ok
test_rmtree_with_dir_fd (test.test_shutil.TestRmTree.test_rmtree_with_dir_fd) ...
ok
test_rmtree_with_dir_fd_unsupported (test.test_shutil.TestRmTree.test_rmtree_with_dir_fd_unsupported) ...
skipped 'dir_fd is supported'
test_rmtree_works_on_bytes (test.test_shutil.TestRmTree.test_rmtree_works_on_bytes) ...
ok
test_rmtree_works_on_junctions (test.test_shutil.TestRmTree.test_rmtree_works_on_junctions) ...
skipped 'only relevant on Windows'
test_rmtree_works_on_symlinks (test.test_shutil.TestRmTree.test_rmtree_works_on_symlinks) ...
ok
test_absolute_cmd (test.test_shutil.TestWhich.test_absolute_cmd) ...
skipped 'requires subprocess support'
test_basic (test.test_shutil.TestWhich.test_basic) ...
skipped 'requires subprocess support'
test_cwd_non_win32 (test.test_shutil.TestWhich.test_cwd_non_win32) ...
skipped 'requires subprocess support'
test_cwd_win32 (test.test_shutil.TestWhich.test_cwd_win32) ...
skipped 'requires subprocess support'
test_cwd_win32_added_before_all_other_path (test.test_shutil.TestWhich.test_cwd_win32_added_before_all_other_path) ...
skipped 'requires subprocess support'
test_dir_order_with_pathext_extension (test.test_shutil.TestWhich.test_dir_order_with_pathext_extension) ...
skipped 'requires subprocess support'
test_dir_order_without_pathext_extension (test.test_shutil.TestWhich.test_dir_order_without_pathext_extension) ...
skipped 'requires subprocess support'
test_empty_path (test.test_shutil.TestWhich.test_empty_path) ...
skipped 'requires subprocess support'
test_empty_path_no_PATH (test.test_shutil.TestWhich.test_empty_path_no_PATH) ...
skipped 'requires subprocess support'
test_environ_path (test.test_shutil.TestWhich.test_environ_path) ...
skipped 'requires subprocess support'
test_environ_path_cwd (test.test_shutil.TestWhich.test_environ_path_cwd) ...
skipped 'requires subprocess support'
test_environ_path_empty (test.test_shutil.TestWhich.test_environ_path_empty) ...
skipped 'requires subprocess support'
test_environ_path_missing (test.test_shutil.TestWhich.test_environ_path_missing) ...
skipped 'requires subprocess support'
test_non_matching_mode (test.test_shutil.TestWhich.test_non_matching_mode) ...
skipped 'requires subprocess support'
test_nonexistent_file (test.test_shutil.TestWhich.test_nonexistent_file) ...
skipped 'requires subprocess support'
test_pathext (test.test_shutil.TestWhich.test_pathext) ...
skipped 'requires subprocess support'
test_pathext_applied_on_files_in_path (test.test_shutil.TestWhich.test_pathext_applied_on_files_in_path) ...
skipped 'requires subprocess support'
test_pathext_checking (test.test_shutil.TestWhich.test_pathext_checking) ...
skipped 'requires subprocess support'
test_pathext_extension_ends_with_dot (test.test_shutil.TestWhich.test_pathext_extension_ends_with_dot) ...
skipped 'requires subprocess support'
test_pathext_with_empty_str (test.test_shutil.TestWhich.test_pathext_with_empty_str) ...
skipped 'requires subprocess support'
test_pathext_with_multidot_extension (test.test_shutil.TestWhich.test_pathext_with_multidot_extension) ...
skipped 'requires subprocess support'
test_pathext_with_null_extension (test.test_shutil.TestWhich.test_pathext_with_null_extension) ...
skipped 'requires subprocess support'
test_relative_cmd (test.test_shutil.TestWhich.test_relative_cmd) ...
skipped 'requires subprocess support'
test_relative_path (test.test_shutil.TestWhich.test_relative_path) ...
skipped 'requires subprocess support'
test_same_dir_with_pathext_extension (test.test_shutil.TestWhich.test_same_dir_with_pathext_extension) ...
skipped 'requires subprocess support'
test_same_dir_without_pathext_extension (test.test_shutil.TestWhich.test_same_dir_without_pathext_extension) ...
skipped 'requires subprocess support'
test_win_path_needs_curdir (test.test_shutil.TestWhich.test_win_path_needs_curdir) ...
skipped 'requires subprocess support'
test_absolute_cmd (test.test_shutil.TestWhichBytes.test_absolute_cmd) ...
skipped 'requires subprocess support'
test_basic (test.test_shutil.TestWhichBytes.test_basic) ...
skipped 'requires subprocess support'
test_cwd_non_win32 (test.test_shutil.TestWhichBytes.test_cwd_non_win32) ...
skipped 'requires subprocess support'
test_cwd_win32 (test.test_shutil.TestWhichBytes.test_cwd_win32) ...
skipped 'requires subprocess support'
test_cwd_win32_added_before_all_other_path (test.test_shutil.TestWhichBytes.test_cwd_win32_added_before_all_other_path) ...
skipped 'requires subprocess support'
test_dir_order_with_pathext_extension (test.test_shutil.TestWhichBytes.test_dir_order_with_pathext_extension) ...
skipped 'requires subprocess support'
test_dir_order_without_pathext_extension (test.test_shutil.TestWhichBytes.test_dir_order_without_pathext_extension) ...
skipped 'requires subprocess support'
test_empty_path (test.test_shutil.TestWhichBytes.test_empty_path) ...
skipped 'requires subprocess support'
test_empty_path_no_PATH (test.test_shutil.TestWhichBytes.test_empty_path_no_PATH) ...
skipped 'requires subprocess support'
test_environ_path (test.test_shutil.TestWhichBytes.test_environ_path) ...
skipped 'requires subprocess support'
test_environ_path_cwd (test.test_shutil.TestWhichBytes.test_environ_path_cwd) ...
skipped 'requires subprocess support'
test_environ_path_empty (test.test_shutil.TestWhichBytes.test_environ_path_empty) ...
skipped 'requires subprocess support'
test_environ_path_missing (test.test_shutil.TestWhichBytes.test_environ_path_missing) ...
skipped 'requires subprocess support'
test_non_matching_mode (test.test_shutil.TestWhichBytes.test_non_matching_mode) ...
skipped 'requires subprocess support'
test_nonexistent_file (test.test_shutil.TestWhichBytes.test_nonexistent_file) ...
skipped 'requires subprocess support'
test_pathext (test.test_shutil.TestWhichBytes.test_pathext) ...
skipped 'requires subprocess support'
test_pathext_applied_on_files_in_path (test.test_shutil.TestWhichBytes.test_pathext_applied_on_files_in_path) ...
skipped 'requires subprocess support'
test_pathext_checking (test.test_shutil.TestWhichBytes.test_pathext_checking) ...
skipped 'requires subprocess support'
test_pathext_extension_ends_with_dot (test.test_shutil.TestWhichBytes.test_pathext_extension_ends_with_dot) ...
skipped 'requires subprocess support'
test_pathext_with_empty_str (test.test_shutil.TestWhichBytes.test_pathext_with_empty_str) ...
skipped 'requires subprocess support'
test_pathext_with_multidot_extension (test.test_shutil.TestWhichBytes.test_pathext_with_multidot_extension) ...
skipped 'requires subprocess support'
test_pathext_with_null_extension (test.test_shutil.TestWhichBytes.test_pathext_with_null_extension) ...
skipped 'requires subprocess support'
test_relative_cmd (test.test_shutil.TestWhichBytes.test_relative_cmd) ...
skipped 'requires subprocess support'
test_relative_path (test.test_shutil.TestWhichBytes.test_relative_path) ...
skipped 'requires subprocess support'
test_same_dir_with_pathext_extension (test.test_shutil.TestWhichBytes.test_same_dir_with_pathext_extension) ...
skipped 'requires subprocess support'
test_same_dir_without_pathext_extension (test.test_shutil.TestWhichBytes.test_same_dir_without_pathext_extension) ...
skipped 'requires subprocess support'
test_win_path_needs_curdir (test.test_shutil.TestWhichBytes.test_win_path_needs_curdir) ...
skipped 'requires subprocess support'
test_big_chunk (test.test_shutil.TestZeroCopyCopyFileRange.test_big_chunk) ...
skipped 'os.copy_file_range() not supported'
test_blocksize_arg (test.test_shutil.TestZeroCopyCopyFileRange.test_blocksize_arg) ...
skipped 'os.copy_file_range() not supported'
test_cant_get_size (test.test_shutil.TestZeroCopyCopyFileRange.test_cant_get_size) ...
skipped 'os.copy_file_range() not supported'
test_empty_file (test.test_shutil.TestZeroCopyCopyFileRange.test_empty_file) ...
skipped 'os.copy_file_range() not supported'
test_exception_on_first_call (test.test_shutil.TestZeroCopyCopyFileRange.test_exception_on_first_call) ...
skipped 'os.copy_file_range() not supported'
test_exception_on_second_call (test.test_shutil.TestZeroCopyCopyFileRange.test_exception_on_second_call) ...
skipped 'os.copy_file_range() not supported'
test_filesystem_full (test.test_shutil.TestZeroCopyCopyFileRange.test_filesystem_full) ...
skipped 'os.copy_file_range() not supported'
test_non_existent_src (test.test_shutil.TestZeroCopyCopyFileRange.test_non_existent_src) ...
skipped 'os.copy_file_range() not supported'
test_non_regular_file_dst (test.test_shutil.TestZeroCopyCopyFileRange.test_non_regular_file_dst) ...
skipped 'os.copy_file_range() not supported'
test_non_regular_file_src (test.test_shutil.TestZeroCopyCopyFileRange.test_non_regular_file_src) ...
skipped 'os.copy_file_range() not supported'
test_regular_copy (test.test_shutil.TestZeroCopyCopyFileRange.test_regular_copy) ...
skipped 'os.copy_file_range() not supported'
test_same_file (test.test_shutil.TestZeroCopyCopyFileRange.test_same_file) ...
skipped 'os.copy_file_range() not supported'
test_small_chunks (test.test_shutil.TestZeroCopyCopyFileRange.test_small_chunks) ...
skipped 'os.copy_file_range() not supported'
test_unhandled_exception (test.test_shutil.TestZeroCopyCopyFileRange.test_unhandled_exception) ...
skipped 'os.copy_file_range() not supported'
test_empty_file (test.test_shutil.TestZeroCopyMACOS.test_empty_file) ...
skipped 'macOS only'
test_exception_on_first_call (test.test_shutil.TestZeroCopyMACOS.test_exception_on_first_call) ...
skipped 'macOS only'
test_filesystem_full (test.test_shutil.TestZeroCopyMACOS.test_filesystem_full) ...
skipped 'macOS only'
test_non_existent_src (test.test_shutil.TestZeroCopyMACOS.test_non_existent_src) ...
skipped 'macOS only'
test_regular_copy (test.test_shutil.TestZeroCopyMACOS.test_regular_copy) ...
skipped 'macOS only'
test_same_file (test.test_shutil.TestZeroCopyMACOS.test_same_file) ...
skipped 'macOS only'
test_unhandled_exception (test.test_shutil.TestZeroCopyMACOS.test_unhandled_exception) ...
skipped 'macOS only'
test_big_chunk (test.test_shutil.TestZeroCopySendfile.test_big_chunk) ...
ok
test_blocksize_arg (test.test_shutil.TestZeroCopySendfile.test_blocksize_arg) ...
ok
test_cant_get_size (test.test_shutil.TestZeroCopySendfile.test_cant_get_size) ...
ok
test_empty_file (test.test_shutil.TestZeroCopySendfile.test_empty_file) ...
ok
test_exception_on_first_call (test.test_shutil.TestZeroCopySendfile.test_exception_on_first_call) ...
ok
test_exception_on_second_call (test.test_shutil.TestZeroCopySendfile.test_exception_on_second_call) ...
ok
test_file2file_not_supported (test.test_shutil.TestZeroCopySendfile.test_file2file_not_supported) ...
ok
test_filesystem_full (test.test_shutil.TestZeroCopySendfile.test_filesystem_full) ...
ok
test_non_existent_src (test.test_shutil.TestZeroCopySendfile.test_non_existent_src) ...
ok
test_non_regular_file_dst (test.test_shutil.TestZeroCopySendfile.test_non_regular_file_dst) ...
ok
test_non_regular_file_src (test.test_shutil.TestZeroCopySendfile.test_non_regular_file_src) ...
ok
test_regular_copy (test.test_shutil.TestZeroCopySendfile.test_regular_copy) ...
ok
test_same_file (test.test_shutil.TestZeroCopySendfile.test_same_file) ...
ok
test_small_chunks (test.test_shutil.TestZeroCopySendfile.test_small_chunks) ...
ok
test_unhandled_exception (test.test_shutil.TestZeroCopySendfile.test_unhandled_exception) ...
ok

----------------------------------------------------------------------
Ran 222 tests in 0.402s

OK (skipped=93)
0:00:01 [2/3] test_shutil passed
0:00:01 [3/3] test_zipfile
test.test_zipfile._path.test_complexity (unittest.loader.ModuleSkipped.test.test_zipfile._path.test_complexity) ...
skipped 'Unable to import big_o'
test_backslash_not_separator (test.test_zipfile._path.test_path.TestPath.test_backslash_not_separator)
In a zip file, backslashes are not separators. ...
ok
test_dir_parent (test.test_zipfile._path.test_path.TestPath.test_dir_parent) ...
ok
test_encoding_warnings (test.test_zipfile._path.test_path.TestPath.test_encoding_warnings)
EncodingWarning must blame the read_text and open calls. ...
skipped 'Requires warn_default_encoding'
test_eq_hash (test.test_zipfile._path.test_path.TestPath.test_eq_hash) ...
ok
test_extract_orig_with_implied_dirs (test.test_zipfile._path.test_path.TestPath.test_extract_orig_with_implied_dirs)
A zip file wrapped in a Path should extract even with implied dirs. ...
ok
test_filename (test.test_zipfile._path.test_path.TestPath.test_filename) ...
ok
test_getinfo_missing (test.test_zipfile._path.test_path.TestPath.test_getinfo_missing)
Validate behavior of getinfo on original zipfile after wrapping. ...
ok
test_glob_chars (test.test_zipfile._path.test_path.TestPath.test_glob_chars) ...
ok
test_glob_dirs (test.test_zipfile._path.test_path.TestPath.test_glob_dirs) ...
ok
test_glob_does_not_overmatch_dot (test.test_zipfile._path.test_path.TestPath.test_glob_does_not_overmatch_dot) ...
ok
test_glob_empty (test.test_zipfile._path.test_path.TestPath.test_glob_empty) ...
ok
test_glob_recursive (test.test_zipfile._path.test_path.TestPath.test_glob_recursive) ...
ok
test_glob_single_char (test.test_zipfile._path.test_path.TestPath.test_glob_single_char) ...
ok
test_glob_subdir (test.test_zipfile._path.test_path.TestPath.test_glob_subdir) ...
ok
test_glob_subdirs (test.test_zipfile._path.test_path.TestPath.test_glob_subdirs) ...
ok
test_inheritance (test.test_zipfile._path.test_path.TestPath.test_inheritance) ...
ok
test_interface (test.test_zipfile._path.test_path.TestPath.test_interface) ...
ok
test_is_file_missing (test.test_zipfile._path.test_path.TestPath.test_is_file_missing) ...
ok
test_is_symlink (test.test_zipfile._path.test_path.TestPath.test_is_symlink) ...
ok
test_iterdir_and_types (test.test_zipfile._path.test_path.TestPath.test_iterdir_and_types) ...
ok
test_iterdir_on_file (test.test_zipfile._path.test_path.TestPath.test_iterdir_on_file) ...
ok
test_joinpath (test.test_zipfile._path.test_path.TestPath.test_joinpath) ...
ok
test_joinpath_constant_time (test.test_zipfile._path.test_path.TestPath.test_joinpath_constant_time)
Ensure joinpath on items in zipfile is linear time. ...
ok
test_joinpath_multiple (test.test_zipfile._path.test_path.TestPath.test_joinpath_multiple) ...
ok
test_malformed_paths (test.test_zipfile._path.test_path.TestPath.test_malformed_paths)
Path should handle malformed paths gracefully. ...
ok
test_match_and_glob (test.test_zipfile._path.test_path.TestPath.test_match_and_glob) ...
ok
test_missing_dir_parent (test.test_zipfile._path.test_path.TestPath.test_missing_dir_parent) ...
ok
test_mutability (test.test_zipfile._path.test_path.TestPath.test_mutability)
If the underlying zipfile is changed, the Path object should ...
ok
test_open (test.test_zipfile._path.test_path.TestPath.test_open) ...
ok
test_open_binary_invalid_args (test.test_zipfile._path.test_path.TestPath.test_open_binary_invalid_args) ...
ok
test_open_encoding_errors (test.test_zipfile._path.test_path.TestPath.test_open_encoding_errors) ...
ok
test_open_encoding_utf16 (test.test_zipfile._path.test_path.TestPath.test_open_encoding_utf16) ...
ok
test_open_extant_directory (test.test_zipfile._path.test_path.TestPath.test_open_extant_directory)
Attempting to open a directory raises IsADirectoryError. ...
ok
test_open_missing_directory (test.test_zipfile._path.test_path.TestPath.test_open_missing_directory)
Attempting to open a missing directory raises FileNotFoundError. ...
ok
test_open_write (test.test_zipfile._path.test_path.TestPath.test_open_write)
If the zipfile is open for write, it should be possible to ...
ok
test_parent (test.test_zipfile._path.test_path.TestPath.test_parent) ...
ok
test_pathlike_construction (test.test_zipfile._path.test_path.TestPath.test_pathlike_construction)
zipfile.Path should be constructable from a path-like object ...
ok
test_pickle (test.test_zipfile._path.test_path.TestPath.test_pickle) ...
ok
test_read (test.test_zipfile._path.test_path.TestPath.test_read) ...
ok
test_read_does_not_close (test.test_zipfile._path.test_path.TestPath.test_read_does_not_close) ...
ok
test_relative_to (test.test_zipfile._path.test_path.TestPath.test_relative_to) ...
ok
test_root_name (test.test_zipfile._path.test_path.TestPath.test_root_name)
The name of the root should be the name of the zipfile ...
ok
test_root_on_disk (test.test_zipfile._path.test_path.TestPath.test_root_on_disk)
The name/stem of the root should match the zipfile on disk. ...
ok
test_root_parent (test.test_zipfile._path.test_path.TestPath.test_root_parent) ...
ok
test_root_unnamed (test.test_zipfile._path.test_path.TestPath.test_root_unnamed)
It is an error to attempt to get the name ...
ok
test_stem (test.test_zipfile._path.test_path.TestPath.test_stem)
The final path component, without its suffix ...
ok
test_subclass (test.test_zipfile._path.test_path.TestPath.test_subclass) ...
ok
test_subdir_is_dir (test.test_zipfile._path.test_path.TestPath.test_subdir_is_dir) ...
ok
test_suffix (test.test_zipfile._path.test_path.TestPath.test_suffix)
The suffix of the root should be the suffix of the zipfile. ...
ok
test_suffix_no_filename (test.test_zipfile._path.test_path.TestPath.test_suffix_no_filename) ...
ok
test_suffixes (test.test_zipfile._path.test_path.TestPath.test_suffixes)
The suffix of the root should be the suffix of the zipfile. ...
ok
test_traverse_pathlike (test.test_zipfile._path.test_path.TestPath.test_traverse_pathlike) ...
ok
test_traverse_truediv (test.test_zipfile._path.test_path.TestPath.test_traverse_truediv) ...
ok
test_unsupported_names (test.test_zipfile._path.test_path.TestPath.test_unsupported_names)
Path segments with special characters are readable. ...
ok
test_read_with_bad_crc (test.test_zipfile.test_core.Bzip2BadCrcTests.test_read_with_bad_crc)
Tests that files with bad CRCs raise a BadZipFile exception when read. ...
ok
test_testzip_with_bad_crc (test.test_zipfile.test_core.Bzip2BadCrcTests.test_testzip_with_bad_crc)
Tests that files with bad CRCs return their name from testzip. ...
ok
test_basic (test.test_zipfile.test_core.Bzip2TestZip64InSmallFiles.test_basic) ...
ok
test_too_many_files (test.test_zipfile.test_core.Bzip2TestZip64InSmallFiles.test_too_many_files) ...
ok
test_too_many_files_append (test.test_zipfile.test_core.Bzip2TestZip64InSmallFiles.test_too_many_files_append) ...
ok
test_open (test.test_zipfile.test_core.Bzip2TestsWithRandomBinaryFiles.test_open) ...
ok
test_random_open (test.test_zipfile.test_core.Bzip2TestsWithRandomBinaryFiles.test_random_open) ...
ok
test_read (test.test_zipfile.test_core.Bzip2TestsWithRandomBinaryFiles.test_read) ...
ok
test_basic (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_basic) ...
ok
test_compresslevel_basic (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_compresslevel_basic) ...
ok
test_iterlines (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_iterlines) ...
ok
test_low_compression (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_low_compression)
Check for cases where compressed data is larger than original. ...
ok
test_open (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_open) ...
ok
test_open_with_pathlike (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_open_with_pathlike) ...
ok
test_per_file_compresslevel (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_per_file_compresslevel)
Check that files within a Zip archive can have different ...
ok
test_random_open (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_random_open) ...
ok
test_read1 (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_read1) ...
ok
test_read1_10 (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_read1_10) ...
ok
test_read_return_size (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_read_return_size) ...
ok
test_readline (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_readline) ...
ok
test_readline_read (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_readline_read) ...
ok
test_readlines (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_readlines) ...
ok
test_repr (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_repr) ...
ok
test_truncated_zipfile (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_truncated_zipfile) ...
ok
test_writestr_compression (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_writestr_compression) ...
ok
test_writestr_compresslevel (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_writestr_compresslevel) ...
ok
test_writing_errors (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_writing_errors) ...
ok
test_zipextfile_attrs (test.test_zipfile.test_core.Bzip2TestsWithSourceFile.test_zipextfile_attrs) ...
ok
test_close_after_close (test.test_zipfile.test_core.Bzip2WriterTests.test_close_after_close) ...
ok
test_issue44439 (test.test_zipfile.test_core.Bzip2WriterTests.test_issue44439) ...
ok
test_write_after_close (test.test_zipfile.test_core.Bzip2WriterTests.test_write_after_close) ...
ok
test_zipwritefile_attrs (test.test_zipfile.test_core.Bzip2WriterTests.test_zipwritefile_attrs) ...
ok
test_bad_use (test.test_zipfile.test_core.CommandLineTest.test_bad_use) ...
skipped 'requires subprocess support'
test_create_command (test.test_zipfile.test_core.CommandLineTest.test_create_command) ...
skipped 'requires subprocess support'
test_extract_command (test.test_zipfile.test_core.CommandLineTest.test_extract_command) ...
skipped 'requires subprocess support'
test_list_command (test.test_zipfile.test_core.CommandLineTest.test_list_command) ...
skipped 'requires subprocess support'
test_test_command (test.test_zipfile.test_core.CommandLineTest.test_test_command) ...
skipped 'requires subprocess support'
test_bad_password (test.test_zipfile.test_core.DecryptionTests.test_bad_password) ...
ok
test_good_password (test.test_zipfile.test_core.DecryptionTests.test_good_password) ...
ok
test_no_password (test.test_zipfile.test_core.DecryptionTests.test_no_password) ...
ok
test_seek_tell (test.test_zipfile.test_core.DecryptionTests.test_seek_tell) ...
ok
test_unicode_password (test.test_zipfile.test_core.DecryptionTests.test_unicode_password) ...
ok
test_read_with_bad_crc (test.test_zipfile.test_core.DeflateBadCrcTests.test_read_with_bad_crc)
Tests that files with bad CRCs raise a BadZipFile exception when read. ...
ok
test_testzip_with_bad_crc (test.test_zipfile.test_core.DeflateBadCrcTests.test_testzip_with_bad_crc)
Tests that files with bad CRCs return their name from testzip. ...
ok
test_basic (test.test_zipfile.test_core.DeflateTestZip64InSmallFiles.test_basic) ...
ok
test_too_many_files (test.test_zipfile.test_core.DeflateTestZip64InSmallFiles.test_too_many_files) ...
ok
test_too_many_files_append (test.test_zipfile.test_core.DeflateTestZip64InSmallFiles.test_too_many_files_append) ...
ok
test_open (test.test_zipfile.test_core.DeflateTestsWithRandomBinaryFiles.test_open) ...
ok
test_random_open (test.test_zipfile.test_core.DeflateTestsWithRandomBinaryFiles.test_random_open) ...
ok
test_read (test.test_zipfile.test_core.DeflateTestsWithRandomBinaryFiles.test_read) ...
ok
test_basic (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_basic) ...
ok
test_compresslevel_basic (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_compresslevel_basic) ...
ok
test_iterlines (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_iterlines) ...
ok
test_low_compression (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_low_compression)
Check for cases where compressed data is larger than original. ...
ok
test_open (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_open) ...
ok
test_open_with_pathlike (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_open_with_pathlike) ...
ok
test_per_file_compression (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_per_file_compression)
Check that files within a Zip archive can have different ...
ok
test_per_file_compresslevel (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_per_file_compresslevel)
Check that files within a Zip archive can have different ...
ok
test_random_open (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_random_open) ...
ok
test_read1 (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_read1) ...
ok
test_read1_10 (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_read1_10) ...
ok
test_read_return_size (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_read_return_size) ...
ok
test_readline (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_readline) ...
ok
test_readline_read (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_readline_read) ...
ok
test_readlines (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_readlines) ...
ok
test_repr (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_repr) ...
ok
test_truncated_zipfile (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_truncated_zipfile) ...
ok
test_writestr_compression (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_writestr_compression) ...
ok
test_writestr_compresslevel (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_writestr_compresslevel) ...
ok
test_writing_errors (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_writing_errors) ...
ok
test_zipextfile_attrs (test.test_zipfile.test_core.DeflateTestsWithSourceFile.test_zipextfile_attrs) ...
ok
test_close_after_close (test.test_zipfile.test_core.DeflateWriterTests.test_close_after_close) ...
ok
test_issue44439 (test.test_zipfile.test_core.DeflateWriterTests.test_issue44439) ...
ok
test_write_after_close (test.test_zipfile.test_core.DeflateWriterTests.test_write_after_close) ...
ok
test_zipwritefile_attrs (test.test_zipfile.test_core.DeflateWriterTests.test_zipwritefile_attrs) ...
ok
test_cli_with_metadata_encoding (test.test_zipfile.test_core.EncodedMetadataTests.test_cli_with_metadata_encoding) ...
ok
test_cli_with_metadata_encoding_extract (test.test_zipfile.test_core.EncodedMetadataTests.test_cli_with_metadata_encoding_extract) ...
ok
test_read_after_append (test.test_zipfile.test_core.EncodedMetadataTests.test_read_after_append) ...
ok
test_read_with_incorrect_metadata_encoding (test.test_zipfile.test_core.EncodedMetadataTests.test_read_with_incorrect_metadata_encoding) ...
ok
test_read_with_metadata_encoding (test.test_zipfile.test_core.EncodedMetadataTests.test_read_with_metadata_encoding) ...
ok
test_read_with_unsuitable_metadata_encoding (test.test_zipfile.test_core.EncodedMetadataTests.test_read_with_unsuitable_metadata_encoding) ...
ok
test_read_without_metadata_encoding (test.test_zipfile.test_core.EncodedMetadataTests.test_read_without_metadata_encoding) ...
ok
test_write_with_metadata_encoding (test.test_zipfile.test_core.EncodedMetadataTests.test_write_with_metadata_encoding) ...
ok
test_extract (test.test_zipfile.test_core.ExtractTests.test_extract) ...
ok
test_extract_all (test.test_zipfile.test_core.ExtractTests.test_extract_all) ...
ok
test_extract_all_with_target (test.test_zipfile.test_core.ExtractTests.test_extract_all_with_target) ...
ok
test_extract_all_with_target_pathlike (test.test_zipfile.test_core.ExtractTests.test_extract_all_with_target_pathlike) ...
ok
test_extract_hackers_arcnames_common_cases (test.test_zipfile.test_core.ExtractTests.test_extract_hackers_arcnames_common_cases) ...
ok
test_extract_hackers_arcnames_posix_only (test.test_zipfile.test_core.ExtractTests.test_extract_hackers_arcnames_posix_only) ...
ok
test_extract_hackers_arcnames_windows_only (test.test_zipfile.test_core.ExtractTests.test_extract_hackers_arcnames_windows_only)
Test combination of path fixing and windows name sanitization. ...
skipped 'Requires \\ as path separator.'
test_extract_with_target (test.test_zipfile.test_core.ExtractTests.test_extract_with_target) ...
ok
test_extract_with_target_pathlike (test.test_zipfile.test_core.ExtractTests.test_extract_with_target_pathlike) ...
ok
test_sanitize_windows_name (test.test_zipfile.test_core.ExtractTests.test_sanitize_windows_name) ...
ok
test_lazy_import (test.test_zipfile.test_core.LazyImportTest.test_lazy_import) ...
skipped 'requires subprocess support'
test_read_with_bad_crc (test.test_zipfile.test_core.LzmaBadCrcTests.test_read_with_bad_crc)
Tests that files with bad CRCs raise a BadZipFile exception when read. ...
ok
test_testzip_with_bad_crc (test.test_zipfile.test_core.LzmaBadCrcTests.test_testzip_with_bad_crc)
Tests that files with bad CRCs return their name from testzip. ...
ok
test_basic (test.test_zipfile.test_core.LzmaTestZip64InSmallFiles.test_basic) ...
ok
test_too_many_files (test.test_zipfile.test_core.LzmaTestZip64InSmallFiles.test_too_many_files) ...
ok
test_too_many_files_append (test.test_zipfile.test_core.LzmaTestZip64InSmallFiles.test_too_many_files_append) ...
ok
test_open (test.test_zipfile.test_core.LzmaTestsWithRandomBinaryFiles.test_open) ...
ok
test_random_open (test.test_zipfile.test_core.LzmaTestsWithRandomBinaryFiles.test_random_open) ...
ok
test_read (test.test_zipfile.test_core.LzmaTestsWithRandomBinaryFiles.test_read) ...
ok
test_basic (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_basic) ...
ok
test_compresslevel_basic (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_compresslevel_basic) ...
ok
test_iterlines (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_iterlines) ...
ok
test_low_compression (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_low_compression)
Check for cases where compressed data is larger than original. ...
ok
test_open (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_open) ...
ok
test_open_with_pathlike (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_open_with_pathlike) ...
ok
test_per_file_compresslevel (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_per_file_compresslevel)
Check that files within a Zip archive can have different ...
ok
test_random_open (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_random_open) ...
ok
test_read1 (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_read1) ...
ok
test_read1_10 (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_read1_10) ...
ok
test_read_return_size (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_read_return_size) ...
ok
test_readline (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_readline) ...
ok
test_readline_read (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_readline_read) ...
ok
test_readlines (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_readlines) ...
ok
test_repr (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_repr) ...
ok
test_truncated_zipfile (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_truncated_zipfile) ...
ok
test_writestr_compression (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_writestr_compression) ...
ok
test_writestr_compresslevel (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_writestr_compresslevel) ...
ok
test_writing_errors (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_writing_errors) ...
ok
test_zipextfile_attrs (test.test_zipfile.test_core.LzmaTestsWithSourceFile.test_zipextfile_attrs) ...
ok
test_close_after_close (test.test_zipfile.test_core.LzmaWriterTests.test_close_after_close) ...
ok
test_issue44439 (test.test_zipfile.test_core.LzmaWriterTests.test_issue44439) ...
ok
test_write_after_close (test.test_zipfile.test_core.LzmaWriterTests.test_write_after_close) ...
ok
test_zipwritefile_attrs (test.test_zipfile.test_core.LzmaWriterTests.test_zipwritefile_attrs) ...
ok
test_bad_compression_mode (test.test_zipfile.test_core.OtherTests.test_bad_compression_mode)
Check that bad compression methods passed to ZipFile.open are ...
ok
test_bad_constructor_mode (test.test_zipfile.test_core.OtherTests.test_bad_constructor_mode)
Check that bad modes passed to ZipFile constructor are caught. ...
ok
test_bad_open_mode (test.test_zipfile.test_core.OtherTests.test_bad_open_mode)
Check that bad modes passed to ZipFile.open are caught. ...
ok
test_change_comment_in_empty_archive (test.test_zipfile.test_core.OtherTests.test_change_comment_in_empty_archive) ...
ok
test_change_comment_in_nonempty_archive (test.test_zipfile.test_core.OtherTests.test_change_comment_in_nonempty_archive) ...
ok
test_close (test.test_zipfile.test_core.OtherTests.test_close)
Check that the zipfile is closed after the 'with' block. ...
ok
test_close_erroneous_file (test.test_zipfile.test_core.OtherTests.test_close_erroneous_file) ...
ok
test_close_on_exception (test.test_zipfile.test_core.OtherTests.test_close_on_exception)
Check that the zipfile is closed if an exception is raised in the ...
ok
test_closed_zip_raises_ValueError (test.test_zipfile.test_core.OtherTests.test_closed_zip_raises_ValueError)
Verify that testzip() doesn't swallow inappropriate exceptions. ...
ok
test_comments (test.test_zipfile.test_core.OtherTests.test_comments)
Check that comments on the archive are handled properly. ...
ok
test_create_empty_zipinfo_default_attributes (test.test_zipfile.test_core.OtherTests.test_create_empty_zipinfo_default_attributes)
Ensure all required attributes are set. ...
ok
test_create_empty_zipinfo_repr (test.test_zipfile.test_core.OtherTests.test_create_empty_zipinfo_repr)
Before bpo-26185, repr() on empty ZipInfo object was failing. ...
ok
test_create_non_existent_file_for_append (test.test_zipfile.test_core.OtherTests.test_create_non_existent_file_for_append) ...
ok
test_create_zipinfo_before_1980 (test.test_zipfile.test_core.OtherTests.test_create_zipinfo_before_1980) ...
ok
test_damaged_zipfile (test.test_zipfile.test_core.OtherTests.test_damaged_zipfile)
Check that zipfiles with missing bytes at the end raise BadZipFile. ...
ok
test_decompress_without_3rd_party_library (test.test_zipfile.test_core.OtherTests.test_decompress_without_3rd_party_library) ...
ok
test_empty_file_raises_BadZipFile (test.test_zipfile.test_core.OtherTests.test_empty_file_raises_BadZipFile) ...
ok
test_empty_zipfile (test.test_zipfile.test_core.OtherTests.test_empty_zipfile) ...
ok
test_exclusive_create_zip_file (test.test_zipfile.test_core.OtherTests.test_exclusive_create_zip_file)
Test exclusive creating a new zipfile. ...
ok
test_for_archive (test.test_zipfile.test_core.OtherTests.test_for_archive) ...
ok
test_full_overlap_different_names (test.test_zipfile.test_core.OtherTests.test_full_overlap_different_names) ...
ok
test_full_overlap_different_names2 (test.test_zipfile.test_core.OtherTests.test_full_overlap_different_names2) ...
ok
test_full_overlap_same_name (test.test_zipfile.test_core.OtherTests.test_full_overlap_same_name) ...
ok
test_is_zip_erroneous_file (test.test_zipfile.test_core.OtherTests.test_is_zip_erroneous_file)
Check that is_zipfile() correctly identifies non-zip files. ...
ok
test_is_zip_valid_file (test.test_zipfile.test_core.OtherTests.test_is_zip_valid_file)
Check that is_zipfile() correctly identifies zip files. ...
ok
test_negative_central_directory_offset_raises_BadZipFile (test.test_zipfile.test_core.OtherTests.test_negative_central_directory_offset_raises_BadZipFile) ...
ok
test_non_existent_file_raises_OSError (test.test_zipfile.test_core.OtherTests.test_non_existent_file_raises_OSError) ...
ok
test_null_byte_in_filename (test.test_zipfile.test_core.OtherTests.test_null_byte_in_filename)
Check that a filename containing a null byte is properly ...
ok
test_open_conflicting_handles (test.test_zipfile.test_core.OtherTests.test_open_conflicting_handles) ...
ok
test_open_empty_file (test.test_zipfile.test_core.OtherTests.test_open_empty_file) ...
ok
test_open_non_existent_item (test.test_zipfile.test_core.OtherTests.test_open_non_existent_item)
Check that attempting to call open() for an item that doesn't ...
ok
test_open_via_zip_info (test.test_zipfile.test_core.OtherTests.test_open_via_zip_info) ...
ok
test_overlap_with_archive_comment (test.test_zipfile.test_core.OtherTests.test_overlap_with_archive_comment) ...
ok
test_overlap_with_central_dir (test.test_zipfile.test_core.OtherTests.test_overlap_with_central_dir) ...
ok
test_quoted_overlap (test.test_zipfile.test_core.OtherTests.test_quoted_overlap) ...
ok
test_read0 (test.test_zipfile.test_core.OtherTests.test_read0)
Check that calling read(0) on a ZipExtFile object returns an empty ...
ok
test_read_after_seek (test.test_zipfile.test_core.OtherTests.test_read_after_seek) ...
ok
test_read_after_write_unicode_filenames (test.test_zipfile.test_core.OtherTests.test_read_after_write_unicode_filenames) ...
ok
test_read_unicode_filenames (test.test_zipfile.test_core.OtherTests.test_read_unicode_filenames) ...
ok
test_read_zipfile_containing_unicode_path_extra_field (test.test_zipfile.test_core.OtherTests.test_read_zipfile_containing_unicode_path_extra_field) ...
ok
test_read_zipfile_error (test.test_zipfile.test_core.OtherTests.test_read_zipfile_error) ...
ok
test_read_zipfile_warning (test.test_zipfile.test_core.OtherTests.test_read_zipfile_warning) ...
ok
test_seek_tell (test.test_zipfile.test_core.OtherTests.test_seek_tell) ...
ok
test_struct_sizes (test.test_zipfile.test_core.OtherTests.test_struct_sizes)
Check that ZIP internal structure sizes are calculated correctly. ...
ok
test_uncompressed_interleaved_seek_read (test.test_zipfile.test_core.OtherTests.test_uncompressed_interleaved_seek_read) ...
ok
test_unicode_comment (test.test_zipfile.test_core.OtherTests.test_unicode_comment) ...
ok
test_unsupported_compression (test.test_zipfile.test_core.OtherTests.test_unsupported_compression) ...
ok
test_unsupported_version (test.test_zipfile.test_core.OtherTests.test_unsupported_version) ...
ok
test_write_unicode_filenames (test.test_zipfile.test_core.OtherTests.test_write_unicode_filenames) ...
ok
test_write_with_source_date_epoch (test.test_zipfile.test_core.OtherTests.test_write_with_source_date_epoch) ...
ok
test_write_without_source_date_epoch (test.test_zipfile.test_core.OtherTests.test_write_without_source_date_epoch) ...
ok
test_writestr_extended_local_header_issue1202 (test.test_zipfile.test_core.OtherTests.test_writestr_extended_local_header_issue1202) ...
ok
test_zipfile_with_short_extra_field (test.test_zipfile.test_core.OtherTests.test_zipfile_with_short_extra_field)
If an extra field in the header is less than 4 bytes, skip it. ...
ok
test_concurrent_extract_dir (test.test_zipfile.test_core.OverwriteTests.test_concurrent_extract_dir) ...
ok
test_concurrent_extract_implicit_dir (test.test_zipfile.test_core.OverwriteTests.test_concurrent_extract_implicit_dir) ...
ok
test_overwrite_broken_dir_symlink_as_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_broken_dir_symlink_as_dir) ...
ok
test_overwrite_broken_dir_symlink_as_implicit_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_broken_dir_symlink_as_implicit_dir) ...
ok
test_overwrite_broken_file_symlink_as_file (test.test_zipfile.test_core.OverwriteTests.test_overwrite_broken_file_symlink_as_file) ...
ok
test_overwrite_dir_as_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_dir_as_dir) ...
ok
test_overwrite_dir_as_file (test.test_zipfile.test_core.OverwriteTests.test_overwrite_dir_as_file) ...
ok
test_overwrite_dir_as_implicit_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_dir_as_implicit_dir) ...
ok
test_overwrite_dir_symlink_as_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_dir_symlink_as_dir) ...
ok
test_overwrite_dir_symlink_as_implicit_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_dir_symlink_as_implicit_dir) ...
ok
test_overwrite_file_as_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_file_as_dir) ...
ok
test_overwrite_file_as_file (test.test_zipfile.test_core.OverwriteTests.test_overwrite_file_as_file) ...
ok
test_overwrite_file_as_implicit_dir (test.test_zipfile.test_core.OverwriteTests.test_overwrite_file_as_implicit_dir) ...
ok
test_overwrite_file_symlink_as_file (test.test_zipfile.test_core.OverwriteTests.test_overwrite_file_symlink_as_file) ...
ok
test_write_filtered_python_package (test.test_zipfile.test_core.PyZipFileTests.test_write_filtered_python_package) ...
ok
test_write_non_pyfile (test.test_zipfile.test_core.PyZipFileTests.test_write_non_pyfile) ...
ok
test_write_pathlike (test.test_zipfile.test_core.PyZipFileTests.test_write_pathlike) ...
ok
test_write_pyfile (test.test_zipfile.test_core.PyZipFileTests.test_write_pyfile) ...
ok
test_write_pyfile_bad_syntax (test.test_zipfile.test_core.PyZipFileTests.test_write_pyfile_bad_syntax) ...
ok
test_write_python_directory (test.test_zipfile.test_core.PyZipFileTests.test_write_python_directory) ...
ok
test_write_python_directory_filtered (test.test_zipfile.test_core.PyZipFileTests.test_write_python_directory_filtered) ...
ok
test_write_python_package (test.test_zipfile.test_core.PyZipFileTests.test_write_python_package) ...
ok
test_write_with_optimization (test.test_zipfile.test_core.PyZipFileTests.test_write_with_optimization) ...
ok
test_read_with_bad_crc (test.test_zipfile.test_core.StoredBadCrcTests.test_read_with_bad_crc)
Tests that files with bad CRCs raise a BadZipFile exception when read. ...
ok
test_testzip_with_bad_crc (test.test_zipfile.test_core.StoredBadCrcTests.test_testzip_with_bad_crc)
Tests that files with bad CRCs return their name from testzip. ...
ok
test_absolute_arcnames (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_absolute_arcnames) ...
ok
test_append (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_append) ...
ok
test_bad_zip64_extra (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_bad_zip64_extra)
Missing zip64 extra records raises an exception. ...
ok
test_basic (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_basic) ...
ok
test_force_zip64 (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_force_zip64)
Test that forcing zip64 extensions correctly notes this in the zip file ...
ok
test_generated_valid_zip64_extra (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_generated_valid_zip64_extra) ...
ok
test_large_file_exception (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_large_file_exception) ...
ok
test_too_many_files (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_too_many_files) ...
ok
test_too_many_files_append (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_too_many_files_append) ...
ok
test_unseekable_zip_known_filesize (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_unseekable_zip_known_filesize)
Test that creating a zip without seeking will use zip64 extensions if the file size is provided up-front ...
ok
test_unseekable_zip_unknown_filesize (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_unseekable_zip_unknown_filesize)
Test that creating a zip with/without seeking will raise a RuntimeError if zip64 was required but not used ...
ok
test_zip64_required_not_allowed_fail (test.test_zipfile.test_core.StoredTestZip64InSmallFiles.test_zip64_required_not_allowed_fail)
Test that trying to add a large file to a zip that doesn't allow zip64 extensions fails on add ...
ok
test_open (test.test_zipfile.test_core.StoredTestsWithRandomBinaryFiles.test_open) ...
ok
test_random_open (test.test_zipfile.test_core.StoredTestsWithRandomBinaryFiles.test_random_open) ...
ok
test_read (test.test_zipfile.test_core.StoredTestsWithRandomBinaryFiles.test_read) ...
ok
test_absolute_arcnames (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_absolute_arcnames) ...
ok
test_add_file_after_2107 (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_add_file_after_2107) ...
ok
test_add_file_before_1980 (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_add_file_before_1980) ...
ok
test_append_to_concatenated_zip_file (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_append_to_concatenated_zip_file) ...
ok
test_append_to_non_zip_file (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_append_to_non_zip_file)
Test appending to an existing file that is not a zipfile. ...
ok
test_append_to_zip_file (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_append_to_zip_file)
Test appending to an existing zipfile. ...
ok
test_basic (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_basic) ...
ok
test_compresslevel_basic (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_compresslevel_basic) ...
ok
test_ignores_newline_at_end (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_ignores_newline_at_end) ...
ok
test_ignores_stuff_appended_past_comments (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_ignores_stuff_appended_past_comments) ...
ok
test_io_on_closed_zipextfile (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_io_on_closed_zipextfile) ...
ok
test_iterlines (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_iterlines) ...
ok
test_open (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_open) ...
ok
test_open_with_pathlike (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_open_with_pathlike) ...
ok
test_per_file_compresslevel (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_per_file_compresslevel)
Check that files within a Zip archive can have different ...
ok
test_random_open (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_random_open) ...
ok
test_read1 (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_read1) ...
ok
test_read1_10 (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_read1_10) ...
ok
test_read_concatenated_zip_file (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_read_concatenated_zip_file) ...
ok
test_read_return_size (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_read_return_size) ...
ok
test_readline (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_readline) ...
ok
test_readline_read (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_readline_read) ...
ok
test_readlines (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_readlines) ...
ok
test_repr (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_repr) ...
ok
test_truncated_zipfile (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_truncated_zipfile) ...
ok
test_write_default_name (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_write_default_name)
Check that calling ZipFile.write without arcname specified ...
ok
test_write_to_readonly (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_write_to_readonly)
Check that trying to call write() on a readonly ZipFile object ...
ok
test_writestr_compression (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_writestr_compression) ...
ok
test_writestr_compresslevel (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_writestr_compresslevel) ...
ok
test_writestr_permissions (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_writestr_permissions) ...
ok
test_writing_errors (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_writing_errors) ...
ok
test_zipextfile_attrs (test.test_zipfile.test_core.StoredTestsWithSourceFile.test_zipextfile_attrs) ...
ok
test_close_after_close (test.test_zipfile.test_core.StoredWriterTests.test_close_after_close) ...
ok
test_issue44439 (test.test_zipfile.test_core.StoredWriterTests.test_issue44439) ...
ok
test_write_after_close (test.test_zipfile.test_core.StoredWriterTests.test_write_after_close) ...
ok
test_zipwritefile_attrs (test.test_zipfile.test_core.StoredWriterTests.test_zipwritefile_attrs) ...
ok
test_stored_seek_and_read (test.test_zipfile.test_core.StoredZipExtFileRandomReadTest.test_stored_seek_and_read) ...
ok
test_multiples (test.test_zipfile.test_core.StripExtraTests.test_multiples) ...
ok
test_no_data (test.test_zipfile.test_core.StripExtraTests.test_no_data) ...
ok
test_too_short (test.test_zipfile.test_core.StripExtraTests.test_too_short) ...
ok
test_with_data (test.test_zipfile.test_core.StripExtraTests.test_with_data) ...
ok
test_data_offset_with_exe_prepended (test.test_zipfile.test_core.TestDataOffsetPrependedZip.test_data_offset_with_exe_prepended) ...
ok
test_data_offset_with_exe_prepended_zip64 (test.test_zipfile.test_core.TestDataOffsetPrependedZip.test_data_offset_with_exe_prepended_zip64) ...
ok
test_data_offset_append_with_bad_zip (test.test_zipfile.test_core.TestDataOffsetZipWrite.test_data_offset_append_with_bad_zip) ...
ok
test_data_offset_write_no_prefix (test.test_zipfile.test_core.TestDataOffsetZipWrite.test_data_offset_write_no_prefix) ...
ok
test_data_offset_write_no_tell (test.test_zipfile.test_core.TestDataOffsetZipWrite.test_data_offset_write_no_tell) ...
ok
test_data_offset_write_with_prefix (test.test_zipfile.test_core.TestDataOffsetZipWrite.test_data_offset_write_with_prefix) ...
ok
test_execute_zip2 (test.test_zipfile.test_core.TestExecutablePrependedZip.test_execute_zip2) ...
skipped 'sys.executable required.'
test_execute_zip64 (test.test_zipfile.test_core.TestExecutablePrependedZip.test_execute_zip64) ...
skipped 'sys.executable required.'
test_read_zip64_with_exe_prepended (test.test_zipfile.test_core.TestExecutablePrependedZip.test_read_zip64_with_exe_prepended) ...
ok
test_read_zip_with_exe_prepended (test.test_zipfile.test_core.TestExecutablePrependedZip.test_read_zip_with_exe_prepended) ...
ok
test_bug_6050 (test.test_zipfile.test_core.TestWithDirectory.test_bug_6050) ...
ok
test_create_directory_with_write (test.test_zipfile.test_core.TestWithDirectory.test_create_directory_with_write) ...
ok
test_extract_dir (test.test_zipfile.test_core.TestWithDirectory.test_extract_dir) ...
ok
test_extract_dir_backslash (test.test_zipfile.test_core.TestWithDirectory.test_extract_dir_backslash) ...
ok
test_mkdir (test.test_zipfile.test_core.TestWithDirectory.test_mkdir) ...
ok
test_root_folder_in_zipfile (test.test_zipfile.test_core.TestWithDirectory.test_root_folder_in_zipfile)
gh-112795: Some tools or self constructed codes will add '/' folder to ...
ok
test_write_dir (test.test_zipfile.test_core.TestWithDirectory.test_write_dir) ...
ok
test_writestr_dir (test.test_zipfile.test_core.TestWithDirectory.test_writestr_dir) ...
ok
test_different_file (test.test_zipfile.test_core.TestsWithMultipleOpens.test_different_file) ...
ok
test_interleaved (test.test_zipfile.test_core.TestsWithMultipleOpens.test_interleaved) ...
ok
test_many_opens (test.test_zipfile.test_core.TestsWithMultipleOpens.test_many_opens) ...
ok
test_read_after_close (test.test_zipfile.test_core.TestsWithMultipleOpens.test_read_after_close) ...
ok
test_read_after_write (test.test_zipfile.test_core.TestsWithMultipleOpens.test_read_after_write) ...
ok
test_same_file (test.test_zipfile.test_core.TestsWithMultipleOpens.test_same_file) ...
ok
test_write_after_read (test.test_zipfile.test_core.TestsWithMultipleOpens.test_write_after_read) ...
ok
test_write_while_reading (test.test_zipfile.test_core.TestsWithMultipleOpens.test_write_while_reading) ...
ok
test_open_write (test.test_zipfile.test_core.UnseekableTests.test_open_write) ...
ok
test_write (test.test_zipfile.test_core.UnseekableTests.test_write) ...
ok
test_writestr (test.test_zipfile.test_core.UnseekableTests.test_writestr) ...
ok
test_compresslevel_property (test.test_zipfile.test_core.ZipInfoTests.test_compresslevel_property) ...
ok
test_from_dir (test.test_zipfile.test_core.ZipInfoTests.test_from_dir) ...
ok
test_from_file (test.test_zipfile.test_core.ZipInfoTests.test_from_file) ...
ok
test_from_file_bytes (test.test_zipfile.test_core.ZipInfoTests.test_from_file_bytes) ...
ok
test_from_file_fileno (test.test_zipfile.test_core.ZipInfoTests.test_from_file_fileno) ...
ok
test_from_file_pathlike (test.test_zipfile.test_core.ZipInfoTests.test_from_file_pathlike) ...
ok
test_read_with_bad_crc (test.test_zipfile.test_core.ZstdBadCrcTests.test_read_with_bad_crc)
Tests that files with bad CRCs raise a BadZipFile exception when read. ...
ok
test_testzip_with_bad_crc (test.test_zipfile.test_core.ZstdBadCrcTests.test_testzip_with_bad_crc)
Tests that files with bad CRCs return their name from testzip. ...
ok
test_basic (test.test_zipfile.test_core.ZstdTestZip64InSmallFiles.test_basic) ...
ok
test_too_many_files (test.test_zipfile.test_core.ZstdTestZip64InSmallFiles.test_too_many_files) ...
ok
test_too_many_files_append (test.test_zipfile.test_core.ZstdTestZip64InSmallFiles.test_too_many_files_append) ...
ok
test_open (test.test_zipfile.test_core.ZstdTestsWithRandomBinaryFiles.test_open) ...
ok
test_random_open (test.test_zipfile.test_core.ZstdTestsWithRandomBinaryFiles.test_random_open) ...
ok
test_read (test.test_zipfile.test_core.ZstdTestsWithRandomBinaryFiles.test_read) ...
ok
test_basic (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_basic) ...
ok
test_compresslevel_basic (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_compresslevel_basic) ...
ok
test_iterlines (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_iterlines) ...
ok
test_low_compression (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_low_compression)
Check for cases where compressed data is larger than original. ...
ok
test_open (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_open) ...
ok
test_open_with_pathlike (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_open_with_pathlike) ...
ok
test_per_file_compresslevel (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_per_file_compresslevel)
Check that files within a Zip archive can have different ...
ok
test_random_open (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_random_open) ...
ok
test_read1 (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_read1) ...
ok
test_read1_10 (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_read1_10) ...
ok
test_read_return_size (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_read_return_size) ...
ok
test_readline (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_readline) ...
ok
test_readline_read (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_readline_read) ...
ok
test_readlines (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_readlines) ...
ok
test_repr (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_repr) ...
ok
test_truncated_zipfile (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_truncated_zipfile) ...
ok
test_writestr_compression (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_writestr_compression) ...
ok
test_writestr_compresslevel (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_writestr_compresslevel) ...
ok
test_writing_errors (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_writing_errors) ...
ok
test_zipextfile_attrs (test.test_zipfile.test_core.ZstdTestsWithSourceFile.test_zipextfile_attrs) ...
ok
test_close_after_close (test.test_zipfile.test_core.ZstdWriterTests.test_close_after_close) ...
ok
test_issue44439 (test.test_zipfile.test_core.ZstdWriterTests.test_issue44439) ...
ok
test_write_after_close (test.test_zipfile.test_core.ZstdWriterTests.test_write_after_close) ...
ok
test_zipwritefile_attrs (test.test_zipfile.test_core.ZstdWriterTests.test_zipwritefile_attrs) ...
ok

----------------------------------------------------------------------
Ran 382 tests in 9.226s

OK (skipped=11)
0:00:10 [3/3] test_zipfile passed

== Tests result: SUCCESS ==

All 3 tests OK.

Total duration: 10.5 sec
Total tests: run=723 skipped=105
Total test files: run=3/3
Result: SUCCESS

@mhsmith mhsmith merged commit 73943ef into beeware:main Jul 9, 2025
@emmatyping emmatyping deleted the install-static-only branch July 9, 2025 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy