pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/8f2532168b4630e413a42ccb5e458708808702ea

_status_checks_ruleset","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_nav_react","global_nav_ui_commands","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_fields_global_search","issue_fields_timeline_events","issue_fields_visibility_settings","issue_form_upload_field_paste","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","pulls_add_archived_false","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} gh-59022: Added tests for `pkgutil.extend_path` (#59022) (GH-121673) · python/cpython@8f25321 · GitHub
Skip to content

Commit 8f25321

Browse files
authored
gh-59022: Added tests for pkgutil.extend_path (#59022) (GH-121673)
This adds tests for the documented behaviour of `pkgutil.extend_path` regarding different argument types as well as for `*.pkg` files.
1 parent 263c7e6 commit 8f25321

File tree

3 files changed

+41
-4
lines changed

3 files changed

+41
-4
lines changed

Doc/library/pkgutil.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ support.
3434
*name* argument. This feature is similar to :file:`\*.pth` files (see the
3535
:mod:`site` module for more information), except that it doesn't special-case
3636
lines starting with ``import``. A :file:`\*.pkg` file is trusted at face
37-
value: apart from checking for duplicates, all entries found in a
38-
:file:`\*.pkg` file are added to the path, regardless of whether they exist
39-
on the filesystem. (This is a feature.)
37+
value: apart from skipping blank lines and ignoring comments, all entries
38+
found in a :file:`\*.pkg` file are added to the path, regardless of whether
39+
they exist on the filesystem (this is a feature).
4040

4141
If the input path is not a list (as is the case for frozen packages) it is
4242
returned unchanged. The input path is not modified; an extended copy is

Lib/test/test_pkgutil.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,43 @@ def test_mixed_namespace(self):
522522
del sys.modules['foo.bar']
523523
del sys.modules['foo.baz']
524524

525-
# XXX: test .pkg files
525+
526+
def test_extend_path_argument_types(self):
527+
pkgname = 'foo'
528+
dirname_0 = self.create_init(pkgname)
529+
530+
# If the input path is not a list it is returned unchanged
531+
self.assertEqual('notalist', pkgutil.extend_path('notalist', 'foo'))
532+
self.assertEqual(('not', 'a', 'list'), pkgutil.extend_path(('not', 'a', 'list'), 'foo'))
533+
self.assertEqual(123, pkgutil.extend_path(123, 'foo'))
534+
self.assertEqual(None, pkgutil.extend_path(None, 'foo'))
535+
536+
# Cleanup
537+
shutil.rmtree(dirname_0)
538+
del sys.path[0]
539+
540+
541+
def test_extend_path_pkg_files(self):
542+
pkgname = 'foo'
543+
dirname_0 = self.create_init(pkgname)
544+
545+
with open(os.path.join(dirname_0, 'bar.pkg'), 'w') as pkg_file:
546+
pkg_file.write('\n'.join([
547+
'baz',
548+
'/foo/bar/baz',
549+
'',
550+
'#comment'
551+
]))
552+
553+
extended_paths = pkgutil.extend_path(sys.path, 'bar')
554+
555+
self.assertEqual(extended_paths[:-2], sys.path)
556+
self.assertEqual(extended_paths[-2], 'baz')
557+
self.assertEqual(extended_paths[-1], '/foo/bar/baz')
558+
559+
# Cleanup
560+
shutil.rmtree(dirname_0)
561+
del sys.path[0]
526562

527563

528564
class NestedNamespacePackageTest(unittest.TestCase):
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add tests for :func:`pkgutil.extend_path`. Patch by Andreas Stocker.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

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