Revert "Add presubmit check to prevent anonymous namespace usage in headers"
This reverts commit ba1e976cd9
.
Reason for revert:
Causes failures on win-presubmit bot, starting here when it landed:
https://ci.chromium.org/ui/p/chromium/builders/ci/win-presubmit/11338/overview
It seems the existing problems in the repository were not cleaned up before landing this new check.
Full error message:
===
These files have an anonymous namespace which is not permitted in header files, for more information see (https://google.github.io/styleguide/cppguide.html#Internal_Linkage):
ash\accelerators\ash_accelerator_configuration.h
ash\accessibility\ui\accessibility_confirmation_dialog.h
ash\ambient\test\ambient_ash_test_base.h
ash\glanceables\classroom\fake_glanceables_classroom_client.h
ash\hud_display\hud_settings_view.h
ash\lobster\lobster_image_actuator.h
ash\login\ui\lock_contents_view_constants.h
ash\login\ui\lock_screen_media_view.h
ash\system\accessibility\dictation_bubble_view.h
ash\system\diagnostics\fake_diagnostics_browser_delegate.h
ash\system\focus_mode\focus_mode_chip_carousel.h
ash\system\focus_mode\focus_mode_detailed_view.h
ash\system\media\quick_settings_media_view.h
ash\system\network\fake_network_detailed_view_delegate.h
ash\system\network\network_detailed_network_view.h
ash\system\notification_center\notification_grouping_controller.h
ash\system\power\power_sounds_controller.h
ash\system\time\calendar_model.h
ash\system\time\calendar_unittest_utils.h
ash\webui\eche_app_ui\accessibility_tree_converter.h
ash\webui\help_app_ui\search\search_handler.h
ash\webui\shortcut_customization_ui\backend\accelerator_layout_table.h
base\allocator\miracle_parameter.h
base\allocator\partition_allocator\src\partition_alloc\shim\allocator_shim_override_apple_default_zone.h
base\allocator\partition_allocator\src\partition_alloc\shim\allocator_shim_override_glibc_weak_symbols.h
base\allocator\partition_allocator\src\partition_alloc\shim\allocator_shim_override_ucrt_symbols_win.h
base\allocator\partition_allocator\src\partition_alloc\shim\shim_alloc_functions.h
base\memory\safety_checks.h
base\task\lazy_thread_pool_task_runner.h
base\task\thread_pool\pooled_single_thread_task_runner_manager.h
base\test\fuzztest_support.h
base\time\time.h
chrome\browser\accessibility\live_caption\live_caption_speech_recognition_host_browsertest.h
chrome\browser\android\metrics\android_session_durations_service.h
chrome\browser\ash\app_list\search\arc\arc_app_shortcut_search_result.h
chrome\browser\ash\app_restore\app_restore_arc_task_handler.h
chrome\browser\ash\arc\instance_throttle\arc_active_window_throttle_observer.h
chrome\browser\ash\file_manager\trash_io_task.h
chrome\browser\ash\guest_os\vm_sk_forwarding_native_message_host.h
chrome\browser\ash\lobster\lobster_insertion.h
chrome\browser\ash\login\existing_user_controller_base_test.h
chrome\browser\ash\login\test\feature_parameter_interface.h
chrome\browser\ash\policy\skyvault\test\skyvault_test_utils.h
chrome\browser\ash\smb_client\smb_service_test_base.h
chrome\browser\ash\system_web_apps\apps\personalization_app\keyboard_backlight_color_metrics_provider.h
chrome\browser\chromeos\extensions\telemetry\api\events\event_router.h
chrome\browser\extensions\api\messaging\native_message_echo_host.h
chrome\browser\extensions\context_menu_helpers.h
chrome\browser\media\prefs\capture_device_ranking.h
chrome\browser\metrics\chrome_metrics_service_accessor.h
chrome\browser\metrics\structured\chrome_structured_metrics_delegate.h
chrome\browser\metrics\structured\metadata_processor_ash.h
chrome\browser\nearby_sharing\wifi_network_configuration\fake_wifi_network_configuration_handler.h
chrome\browser\page_load_metrics\observers\third_party_cookie_deprecation_page_load_metrics_observer.h
chrome\browser\password_manager\password_change_delegate_impl.h
chrome\browser\performance_manager\decorators\helpers\page_live_state_decorator_helper.h
chrome\browser\permissions\crowd_deny_preload_data.h
chrome\browser\persisted_state_db\session_proto_db_factory.h
chrome\browser\profile_resetter\profile_resetter.h
chrome\browser\push_messaging\push_messaging_service_impl.h
chrome\browser\screen_ai\public\optical_character_recognizer.h
chrome\browser\screen_ai\screen_ai_service_router.h
chrome\browser\ui\ash\wallpaper\wallpaper_controller_client_impl.h
chrome\browser\ui\cocoa\history_menu_bridge.h
chrome\browser\ui\global_media_controls\media_item_ui_metrics.h
chrome\browser\ui\passwords\manage_passwords_ui_controller.h
chrome\browser\ui\performance_controls\performance_intervention_button_controller.h
chrome\browser\ui\performance_controls\test_support\memory_saver_browser_test_mixin.h
chrome\browser\ui\safety_hub\abusive_notification_permissions_manager.h
chrome\browser\ui\safety_hub\menu_notification_service.h
chrome\browser\ui\signin\signin_view_controller.h
chrome\browser\ui\views\desktop_capture\desktop_media_tab_list.h
chrome\browser\ui\views\frame\picture_in_picture_browser_frame_view.h
chrome\browser\ui\views\global_media_controls\media_item_ui_cast_footer_view.h
chrome\browser\ui\views\global_media_controls\media_item_ui_device_selector_view.h
chrome\browser\ui\views\global_media_controls\media_item_ui_footer_view.h
chrome\browser\ui\views\site_data\page_specific_site_data_dialog.h
chrome\browser\ui\views\web_apps\frame_toolbar\web_app_frame_toolbar_view.h
chrome\browser\ui\web_applications\sub_apps_service_impl.h
chrome\browser\ui\web_applications\test\isolated_web_app_test_utils.h
chrome\browser\ui\webui\ash\diagnostics_dialog\diagnostics_dialog.h
chrome\browser\ui\webui\ash\login\consolidated_consent_screen_handler.h
chrome\browser\ui\webui\ash\sanitize_dialog\sanitize_dialog.h
chrome\browser\ui\webui\ash\settings\pages\apps\mojom\app_type_mojom_traits.h
chrome\browser\web_applications\isolated_web_apps\isolated_web_app_update_manager.h
chrome\browser\web_applications\preinstalled_web_app_manager.h
chrome\common\read_anything\read_anything_constants.h
chrome\test\base\ash\web_ui_browser_test.h
chrome\test\base\chromeos\crosier\chromeos_integration_login_mixin.h
chrome\updater\app\server\win\com_classes_legacy.h
chromecast\media\base\aligned_buffer.h
chromeos\ash\components\assistant\test_support\expect_utils.h
chromeos\ash\components\carrier_lock\psm_claim_verifier_unittest.h
chromeos\ash\components\game_mode\game_mode_controller.h
chromeos\ash\components\nearby\presence\nearby_presence_service_impl.h
chromeos\ash\components\phonehub\fake_multidevice_feature_access_manager.h
chromeos\ash\components\phonehub\phone_hub_structured_metrics_logger.h
chromeos\ash\components\string_matching\prefix_matcher.h
chromeos\ash\components\string_matching\sequence_matcher.h
chromeos\ash\experiences\arc\arc_browser_context_keyed_service_factory_base.h
chromeos\ash\experiences\arc\metrics\arc_daily_metrics.h
chromeos\ash\experiences\arc\window\arc_window_watcher.h
chromeos\ash\services\quick_pair\public\mojom\fast_pair_traits.h
components\autofill\ios\browser\form_suggestion_provider_query.h
components\background_sync\background_sync_metrics.h
components\commerce\core\product_specifications\product_specifications_set.h
components\commerce\core\test_utils.h
components\crash\core\common\crash_key.h
components\discardable_memory\service\discardable_shared_memory_manager.h
components\endpoint_fetcher\endpoint_fetcher.h
components\exo\wayland\clients\test\client_version_test.h
components\exo\wayland\compatibility_test\wayland_client_event_receiver_version_fixtures.h
components\exo\wayland\wayland_dmabuf_feedback_manager.h
components\feed\core\v2\public\ios\info_card_tracker.h
components\global_media_controls\public\views\media_item_ui_detailed_view.h
components\gwp_asan\client\thread_local_random_bit_generator.h
components\leveldb_proto\internal\proto_database_impl.h
components\leveldb_proto\testing\fake_db.h
components\live_caption\views\caption_bubble.h
components\metrics\structured\delegating_events_processor.h
components\metrics\structured\events_processor_interface.h
components\metrics\structured\recorder.h
components\optimization_guide\core\model_handler.h
components\optimization_guide\core\tflite_model_executor.h
components\session_proto_db\session_proto_db.h
components\unexportable_keys\unexportable_key_service_impl.h
components\update_client\background_downloader_mac.h
components\viz\service\debugger\viz_debugger.h
content\browser\accessibility\web_contents_accessibility_android.h
content\browser\back_forward_cache_test_util.h
content\browser\background_sync\background_sync_base_browsertest.h
content\browser\bluetooth\advertisement_client.h
content\browser\client_hints\critical_client_hints_throttle.h
content\browser\locks\lock_manager.h
content\browser\presentation\presentation_test_utils.h
content\browser\tracing\trace_report\trace_report_mojom_traits.h
content\public\browser\sms_fetcher.h
content\public\browser\storage_notification_service.h
device\bluetooth\floss\exported_callback_manager.h
extensions\browser\api\storage\settings_namespace.h
gpu\ipc\client\gpu_context_tests.h
media\base\eme_constants.h
media\base\mock_media_log.h
media\base\use_after_free_checker.h
media\capture\video\mac\video_capture_device_decklink_mac.h
media\cdm\cdm_wrapper.h
media\device_monitors\device_monitor_mac.h
media\formats\hls\types.h
media\gpu\chromeos\shaders\shaders.h
media\gpu\v4l2\mt21\mt21_util.h
media\gpu\v4l2\v4l2_jpeg_encode_accelerator.h
media\renderers\win\media_foundation_stream_wrapper.h
native_client_sdk\src\examples\api\video_decode\testdata.h
net\cert\internal\cert_issuer_source_sync_unittest.h
net\cert\root_cert_list_generated.h
net\cookies\cookie_store_change_unittest.h
net\dns\stale_host_resolver.h
net\nqe\socket_watcher.h
net\nqe\socket_watcher_factory.h
net\nqe\throughput_analyzer.h
net\quic\quic_proxy_client_socket_test_base.h
net\ssl\client_cert_store_unittest-inl.h
net\tools\huffman_trie\huffman\huffman_builder.h
net\traffic_annotation\network_traffic_annotation.h
ppapi\cpp\input_event_interface_name.h
ppapi\cpp\module_impl.h
ppapi\examples\video_decode\testdata.h
ppapi\tests\test_udp_socket.h
sandbox\win\src\crosscall_params.h
sandbox\win\src\process_thread_interception.h
services\device\generic_sensor\orientation_test_data.h
testing\multiprocess_func_list.h
third_party\blink\renderer\bindings\core\v8\iterable.h
third_party\blink\renderer\core\editing\finder\find_task_controller.h
third_party\blink\renderer\core\layout\grid\grid_data.h
third_party\blink\renderer\core\loader\document_loader.h
third_party\blink\renderer\modules\canvas\canvas2d\base_rendering_context_2d.h
third_party\blink\renderer\modules\compute_pressure\pressure_observer.h
third_party\blink\renderer\platform\geometry\math_functions.h
third_party\blink\renderer\platform\peerconnection\webrtc_connection_matchers.h
third_party\blink\renderer\platform\scheduler\public\frame_or_worker_scheduler.h
third_party\blink\renderer\platform\text\emoji_segmentation_category_inline_header.h
tools\win\chromeexts\chrome_exts_command.h
ui\accessibility\platform\fuchsia\semantic_provider_impl.h
ui\base\class_property.h
ui\base\clipboard\clipboard_test_template.h
ui\events\fuchsia\util\pointer_event_utility.h
ui\events\ozone\device\device_event.h
ui\events\velocity_tracker\velocity_tracker.h
ui\gfx\animation\keyframe\keyframed_animation_curve-inl.h
ui\gfx\mojom\rrect_f_mojom_traits.h
ui\gfx\mojom\selection_bound_mojom_traits.h
ui\gl\delegated_ink_point_renderer_gpu.h
ui\gl\gl_enums_implementation_autogen.h
ui\webui\resources\cr_components\app_management\app_management_mojom_traits.h
===
which I got by copying and pasting from
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket/8724556290967808561/+/u/presubmit/stdout
Original change's description:
> Add presubmit check to prevent anonymous namespace usage in headers
>
> Bug: 391905435
> Change-Id: I928d282bc3b626addc564889338cb7426e7cbe4c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6192789
> Commit-Queue: Aaron Selya <selya@google.com>
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1411842}
Bug: 391905435
Change-Id: I8753a2777b650bf5716c6364b3ba160c503a236e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6203269
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Mark Pearson <mpearson@chromium.org>
Auto-Submit: Mark Pearson <mpearson@chromium.org>
Owners-Override: Mark Pearson <mpearson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1411949}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
48fac4e753
commit
63204dad1a
30
PRESUBMIT.py
30
PRESUBMIT.py
@ -7819,33 +7819,3 @@ def CheckTodoBugReferences(input_api, output_api):
|
||||
]
|
||||
else:
|
||||
return []
|
||||
|
||||
def CheckForAnonymousNamespaceInHeader(input_api,
|
||||
output_api,
|
||||
allowlist=_HEADER_EXTENSIONS,
|
||||
denylist=None):
|
||||
denylist = tuple(denylist or input_api.DEFAULT_FILES_TO_SKIP)
|
||||
source_file_filter = lambda x: input_api.FilterSourceFile(
|
||||
x, allowlist, denylist)
|
||||
|
||||
def headers(f):
|
||||
return input_api.FilterSourceFile(
|
||||
f, files_to_check=(r'.+%s' % _HEADER_EXTENSIONS, ))
|
||||
|
||||
header_using_anon_namespace_files = []
|
||||
|
||||
for f in input_api.AffectedSourceFiles(headers):
|
||||
contents = input_api.ReadFile(f, 'rb')
|
||||
if input_api.re.search(r"namespace {", contents):
|
||||
header_using_anon_namespace_files.append(f.LocalPath())
|
||||
|
||||
result = []
|
||||
if header_using_anon_namespace_files:
|
||||
result.append(
|
||||
output_api.PresubmitError(
|
||||
'These files have an anonymous namespace which is not '
|
||||
'permitted in header files, for more information see ('
|
||||
'https://google.github.io/styleguide/cppguide.html#Internal_Linkage'
|
||||
'): ',
|
||||
items=header_using_anon_namespace_files))
|
||||
return result
|
||||
|
@ -5705,30 +5705,6 @@ class CheckDeprecatedSyncConsentFunctionsTest(unittest.TestCase):
|
||||
self.assertTrue('chrome/foo/file4.java' in results[0].message),
|
||||
self.assertTrue('chrome/foo/file5.java' in results[0].message),
|
||||
|
||||
class CheckAnonymousNamespacesInHeaderFilesTest(unittest.TestCase):
|
||||
"""Test the presubmit checking for anonymous namespaces in header files."""
|
||||
|
||||
def testAnonymousNamespaceInHeader(self):
|
||||
file_types = ['src/helpers.h', 'src/helpers.hpp', 'src/helpers.hxx']
|
||||
for header_file in file_types:
|
||||
input_api = MockInputApi()
|
||||
input_api.files = [
|
||||
MockAffectedFile(header_file,
|
||||
['namespace {}'])]
|
||||
error = PRESUBMIT.CheckForAnonymousNamespaceInHeader(
|
||||
input_api, MockOutputApi())
|
||||
self.assertEqual(1, len(error))
|
||||
|
||||
def testValidNamespaceInHeader(self):
|
||||
file_types = ['src/helpers.h', 'src/helpers.hpp', 'src/helpers.hxx']
|
||||
for header_file in file_types:
|
||||
input_api = MockInputApi()
|
||||
input_api.files = [
|
||||
MockAffectedFile(header_file,
|
||||
['namespace test {}'])]
|
||||
error = PRESUBMIT.CheckForAnonymousNamespaceInHeader(
|
||||
input_api, MockOutputApi())
|
||||
self.assertEqual(0, len(error))
|
||||
|
||||
class CheckAnonymousNamespaceTest(unittest.TestCase):
|
||||
"""Test the presubmit for anonymous namespaces."""
|
||||
|
Reference in New Issue
Block a user