rabbitmq-server/deps/rabbit/test
Jean-Sébastien Pédron ea2c8db2d1
rabbit_feature_flags: Add testcase after issue #12963
[Why]
Up-to RabbitMQ 3.13.x, there was a case where if:
1. you enabled a plugin
2. you enabled its feature flags
3. you disabled the plugin
4. you restarted a node (or upgraded it)

... the node could crash on startup because it had a feature flag marked
as enabled that it didn't know about:

    error:{badmatch,#{feature_flags => ...

        rabbit_ff_controller:-check_one_way_compatibility/2-fun-0-/3, line 514
        lists:all_1/2, line 1520
        rabbit_ff_controller:are_compatible/2, line 496
        rabbit_ff_controller:check_node_compatibility_task1/4, line 437
        rabbit_db_cluster:check_compatibility/1, line 376

This was "fixed" by the new way of keeping the registry in memory
(#10988) because it introduces a slight change of behavior. Indeed, the
old way walked through the `FeatureFlags` map and looked up the state in
the `FeatureStates` map to create the `is_enabled/1` function. The new
way just looks up the state in `FeatureStates`.

[How]
The new testcase succeeds on 4.0.x and `main`, but would fail on 3.13.x
with the aforementionne crash.
2024-12-19 16:33:43 +01:00
..
amqp_system_SUITE_data Delete test access_failure 2024-11-04 00:34:47 -05:00
config_schema_SUITE_data Support handle-max 2024-09-06 17:18:08 +02:00
definition_import_SUITE_data Another take at #10068 2023-12-08 01:39:47 -05:00
direct_exchange_routing_v2_SUITE_data Add more direct_exchange_routing_v2 tests 2022-07-28 14:06:59 +00:00
feature_flags_SUITE_data/my_plugin Cleanup .gitignore files for the monorepo 2024-06-28 12:00:52 +02:00
temp More missed license header updates #9969 2024-02-05 12:26:25 -05:00
unit_config_value_encryption_SUITE_data
amqp_address_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
amqp_auth_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
amqp_client_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
amqp_credit_api_v2_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
amqp_filtex_SUITE.erl Use correct AMQP filter expression string modifier prefix 2024-12-11 16:48:56 +01:00
amqp_proxy_protocol_SUITE.erl Support AMQP 1.0 natively 2024-02-28 14:15:20 +01:00
amqp_system_SUITE.erl Delete test access_failure 2024-11-04 00:34:47 -05:00
amqp_utils.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
amqpl_consumer_ack_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
amqpl_direct_reply_to_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
amqqueue_backward_compatibility_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
backing_queue_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
bindings_SUITE.erl rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected 2024-12-17 09:56:54 +01:00
channel_interceptor_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
channel_operation_timeout_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
channel_operation_timeout_test_queue.erl CQ: Remove rabbit_memory_monitor and RAM durations 2024-06-20 15:19:51 +02:00
classic_queue_SUITE.erl Restore credit_flow between channel/MQTT connection -> CQ processes 2024-12-09 22:33:47 -05:00
classic_queue_prop_SUITE.erl Put credit flow config into persistent term 2024-05-31 16:20:51 +02:00
cli_forget_cluster_node_SUITE.erl Test remove classic queues when node is removed 2024-09-13 15:01:24 +02:00
cluster_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
cluster_limit_SUITE.erl make: Initial work on using ct_master to run tests 2024-08-29 15:23:31 +02:00
cluster_minority_SUITE.erl cluster_minority_SUITE: use a timeout for vhost deletion 2024-09-12 08:34:44 +02:00
cluster_upgrade_SUITE.erl Make CI: Add mixed version testing 2024-11-04 00:34:47 -05:00
clustering_events_SUITE.erl rabbit_node_monitor: use a leader query for cluster members on node_added event 2024-07-16 12:48:29 +02:00
clustering_management_SUITE.erl rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected 2024-12-17 09:56:54 +01:00
clustering_recovery_SUITE.erl rabbitmq_ct_helpers: Change how Mnesia/Khepri is selected 2024-12-17 09:56:54 +01:00
clustering_utils.erl More (c) source header updates #9969 2024-01-19 19:53:28 -05:00
config_schema_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
confirms_rejects_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
consumer_timeout_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
crashing_queues_SUITE.erl crashing_queues_SUITE: squash a compiler warning 2024-11-17 17:23:00 -05:00
dead_lettering_SUITE.erl Merge pull request #12948 from rabbitmq/fix-flakes 2024-12-16 11:24:10 -05:00
definition_import_SUITE.erl Follow-up to #11457 2024-06-22 02:16:22 -04:00
deprecated_features_SUITE.erl rabbit tests: Redirect logs to ct always 2024-08-29 15:22:40 +02:00
direct_exchange_routing_v2_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
disconnect_detected_during_alarm_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
disk_monitor_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
dummy_event_receiver.erl (c) year bumps 2024-01-01 22:02:20 -05:00
dummy_interceptor.erl allow propagation of protocol exceptions in channel interceptors to parent/executing channels 2023-09-19 14:01:50 +01:00
dummy_runtime_parameters.erl (c) year bumps 2024-01-01 22:02:20 -05:00
dummy_supervisor2.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
dynamic_qq_SUITE.erl Quorum queues v4 (#10637) 2024-08-08 08:48:27 +01:00
event_recorder.erl Support AMQP 1.0 natively 2024-02-28 14:15:20 +01:00
exchanges_SUITE.erl Handle database failures when deleting exchanges 2024-07-22 15:59:55 -04:00
failing_dummy_interceptor.erl
feature_flags_SUITE.erl rabbit_feature_flags: Add testcase after issue #12963 2024-12-19 16:33:43 +01:00
feature_flags_v2_SUITE.erl Tests: feature_flags_v2_SUITE ignore peer:stop/1 return value 2024-11-27 15:45:58 +01:00
list_consumers_sanity_check_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
list_queues_online_and_offline_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
logging_SUITE.erl Support unicode messages by exchange logging 2024-08-28 17:33:17 +02:00
lqueue_SUITE.erl Yolo-replace format strings 2022-10-10 10:32:03 +04:00
maintenance_mode_SUITE.erl Maintenance mode: change revive to use quorum queue recovery function. 2024-08-16 10:05:53 +01:00
mc_unit_SUITE.erl Support publishing AMQP 1.0 to Event Exchange 2024-11-14 12:52:09 +01:00
message_containers_deaths_v2_SUITE.erl Fix test assertion 2024-05-13 18:21:40 +02:00
message_size_limit_SUITE.erl Reduce default maximum message size to 16MB 2024-06-14 11:55:03 +02:00
metadata_store_clustering_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
metadata_store_migration_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
metadata_store_phase1_SUITE.erl Ensure projections are registered in metadata_store_phase1_SUITE 2024-09-09 09:06:39 -04:00
metrics_SUITE.erl metrics_SUITE: wait for tables in proper test 2024-11-04 16:46:23 +01:00
mirrored_supervisor_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
mirrored_supervisor_SUITE_gs.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
msg_size_metrics_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
msg_store_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
peer_discovery_classic_config_SUITE.erl speed up product_info_SUITE 2024-06-26 07:38:29 +01:00
peer_discovery_dns_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
peer_discovery_tmp_hidden_node_SUITE.erl peer_discovery_tmp_hidden_node_SUITE: Use IP address to simulate a long node name 2024-06-13 15:04:07 +02:00
per_node_limit_SUITE.erl Tests: per_node_limit_SUITE cleanup 2024-11-14 15:02:47 +01:00
per_user_connection_channel_limit_SUITE.erl speed up limit and tracking* suites 2024-07-01 10:27:52 +01:00
per_user_connection_channel_limit_partitions_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
per_user_connection_channel_tracking_SUITE.erl speed up limit and tracking* suites 2024-07-01 10:27:52 +01:00
per_user_connection_tracking_SUITE.erl speed up limit and tracking* suites 2024-07-01 10:27:52 +01:00
per_vhost_connection_limit_SUITE.erl make: Initial work on using ct_master to run tests 2024-08-29 15:23:31 +02:00
per_vhost_connection_limit_partitions_SUITE.erl speed up limit and tracking* suites 2024-07-01 10:27:52 +01:00
per_vhost_msg_store_SUITE.erl speed up limit and tracking* suites 2024-07-01 10:27:52 +01:00
per_vhost_queue_limit_SUITE.erl speed up limit and tracking* suites 2024-07-01 10:27:52 +01:00
policy_SUITE.erl Use the new URLs of the `www.rabbitmq.com` website 2024-09-23 11:34:54 +02:00
priority_queue_SUITE.erl Fix rabbit_priority_queue:update_rates bug (#11814) 2024-07-24 16:34:56 +02:00
priority_queue_recovery_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
product_info_SUITE.erl speed up product_info_SUITE 2024-06-26 07:38:29 +01:00
proxy_protocol_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
publisher_confirms_parallel_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
queue_length_limits_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
queue_parallel_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
queue_type_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
queue_utils.erl further speed up quorum_queue_SUITE 2024-06-26 07:38:29 +01:00
quorum_queue_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
quorum_queue_member_reconciliation_SUITE.erl quorum_queue_member_reconciliation_SUITE: Improve `reset_nodes/2` 2024-11-25 12:55:26 +01:00
rabbit_access_control_SUITE.erl Add expiry_timestamp/1 callback to authz backend behavior 2024-01-19 14:46:47 +01:00
rabbit_auth_backend_context_propagation_mock.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
rabbit_confirms_SUITE.erl Support AMQP 1.0 natively 2024-02-28 14:15:20 +01:00
rabbit_core_metrics_gc_SUITE.erl Remove classic mirror queues 2024-06-04 13:00:31 +02:00
rabbit_ct_hook.erl rabbit tests: Redirect logs to ct always 2024-08-29 15:22:40 +02:00
rabbit_cuttlefish_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
rabbit_db_binding_SUITE.erl Represent `rabbit_binding:deletions()` with a map instead of dict 2024-10-01 14:36:34 -04:00
rabbit_db_exchange_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
rabbit_db_maintenance_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
rabbit_db_msup_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
rabbit_db_policy_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
rabbit_db_queue_SUITE.erl Represent `rabbit_binding:deletions()` with a map instead of dict 2024-10-01 14:36:34 -04:00
rabbit_db_topic_exchange_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
rabbit_direct_reply_to_prop_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
rabbit_dummy_protocol_connection_info.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
rabbit_fifo_SUITE.erl QQ: reduce memory use when dropping many messages at once. 2024-11-13 09:07:40 +00:00
rabbit_fifo_dlx_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
rabbit_fifo_dlx_integration_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
rabbit_fifo_int_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
rabbit_fifo_prop_SUITE.erl Quorum queues v4 (#10637) 2024-08-08 08:48:27 +01:00
rabbit_fifo_q_SUITE.erl Rename quorum queue priority from "low" to "normal" 2024-08-20 11:18:36 +02:00
rabbit_fifo_v0_SUITE.erl Remove most of the fd related FHC code 2024-06-24 12:07:51 +02:00
rabbit_foo_protocol_connection_info.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
rabbit_local_random_exchange_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
rabbit_message_interceptor_SUITE.erl Fix MQTT -> Stream 2024-05-02 07:56:00 +00:00
rabbit_stream_coordinator_SUITE.erl Restore the original -include_lib statements from before #6466 2023-04-20 12:40:45 +02:00
rabbit_stream_queue_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
rabbit_stream_sac_coordinator_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
rabbitmq-env.bats
rabbitmq_4_0_deprecations_SUITE.erl rabbit tests: Redirect logs to ct always 2024-08-29 15:22:40 +02:00
rabbitmq_queues_cli_integration_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
rabbitmqctl_integration_SUITE.erl Simplify a rabbitmqctl_integration_SUITE test 2024-06-06 21:21:26 -04:00
rabbitmqctl_shutdown_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
routing_SUITE.erl Handle database timeouts when declaring exchanges 2024-07-22 16:02:03 -04:00
runtime_parameters_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
signal_handling_SUITE.erl speed up signal_handling_SUITE 2024-06-26 07:38:29 +01:00
single_active_consumer_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
term_to_binary_compat_prop_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
test_rabbit_event_handler.erl rabbit_vhost:set_tags/2 avoids notifying if tags are unchanged 2023-02-13 20:38:25 +01:00
test_util.erl Stream Coordinator: primitive backoff 2021-03-12 15:03:47 +00:00
topic_permission_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
transactions_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
unicode_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
unit_access_control_SUITE.erl Add SASL mechanism ANONYMOUS 2024-08-15 10:58:48 +00:00
unit_access_control_authn_authz_context_propagation_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_access_control_credential_validation_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_amqp091_content_framing_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_amqp091_server_properties_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_app_management_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_cluster_formation_locking_mocks_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_cluster_formation_sort_nodes_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_collections_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_config_value_encryption_SUITE.erl rabbit tests: Don't fail if rabbit already loaded 2024-09-02 11:44:16 +02:00
unit_connection_tracking_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_credit_flow_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_disk_monitor_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_file_handle_cache_SUITE.erl Test: Increase receive timeout in all rabbit test suites 2024-12-16 11:58:05 +01:00
unit_gen_server2_SUITE.erl Remove most of the fd related FHC code 2024-06-24 12:07:51 +02:00
unit_log_management_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_msg_size_metrics_SUITE.erl Emit histogram metric for received message sizes per protocol (#12342) 2024-09-24 18:08:24 +02:00
unit_operator_policy_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_pg_local_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_plugin_directories_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
unit_plugin_versioning_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_policy_validators_SUITE.erl QQ: a delivery-limit of -1 disables the delivery limit. 2024-09-10 10:48:03 +01:00
unit_priority_queue_SUITE.erl More missed license header updates #9969 2024-02-05 11:53:50 -05:00
unit_queue_consumers_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_queue_location_SUITE.erl Deprecate queue-master-locator (#11565) 2024-07-12 13:22:55 +02:00
unit_quorum_queue_SUITE.erl Update unit_quorum_queue_SUITE to use temporary alive & registered 2024-11-15 12:49:55 -05:00
unit_stats_and_metrics_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_supervisor2_SUITE.erl Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
unit_vm_memory_monitor_SUITE.erl Set the default vm_memory_high_watermark to 0.6 (#12161) 2024-08-29 12:10:49 +02:00
upgrade_preparation_SUITE.erl Exclude this Khepri-specific test from mixed version cluster runs 2024-08-24 21:54:25 -04:00
vhost_SUITE.erl Do not overwrite `default_queue_type` with `undefined` 2024-06-21 11:25:18 -04:00