include(AwsLibFuzzer) include(AwsTestHarness) enable_testing() file(GLOB TEST_SRC "*.c") file(GLOB TEST_HDRS "*.h") file(GLOB TESTS ${TEST_HDRS} ${TEST_SRC}) add_test_case(credentials_create_destroy_test) add_test_case(anonymous_credentials_create_destroy_test) add_test_case(static_credentials_provider_basic_test) add_test_case(anonymous_credentials_provider_basic_test) add_test_case(environment_credentials_provider_basic_test) add_test_case(environment_credentials_provider_empty_env_test) add_test_case(environment_credentials_provider_negative_test) add_test_case(cached_credentials_provider_elapsed_test) add_test_case(cached_credentials_provider_expired_test) add_test_case(cached_credentials_provider_queued_async_test) add_test_case(profile_credentials_provider_new_destroy_defaults_test) add_test_case(profile_credentials_provider_cached_test) add_test_case(profile_credentials_provider_default_test) add_test_case(profile_credentials_provider_nondefault_test) add_test_case(profile_credentials_provider_environment_test) add_test_case(credentials_provider_first_in_chain_test) add_test_case(credentials_provider_second_in_chain_test) add_test_case(credentials_provider_null_chain_test) add_net_test_case(credentials_provider_default_basic_test) add_net_test_case(credentials_provider_default_manual_tls_test) add_net_test_case(credentials_provider_default_chain_disable_environment_test) add_test_case(credentials_provider_imds_new_destroy) add_test_case(credentials_provider_imds_connect_failure) add_test_case(credentials_provider_imds_token_request_failure) add_test_case(credentials_provider_imds_role_name_request_failure) add_test_case(credentials_provider_imds_role_request_failure) add_test_case(credentials_provider_imds_bad_document_failure) add_test_case(credentials_provider_imds_secure_success) add_test_case(credentials_provider_imds_connection_closed_success) add_test_case(credentials_provider_imds_insecure_success) add_test_case(credentials_provider_imds_insecure_then_secure_success) add_test_case(credentials_provider_imds_success_multi_part_role_name) add_test_case(credentials_provider_imds_success_multi_part_doc) add_test_case(credentials_provider_imds_real_new_destroy) if(AWS_BUILDING_ON_EC2) add_test_case(credentials_provider_imds_real_success) endif() add_test_case(credentials_provider_ecs_new_destroy) add_test_case(credentials_provider_ecs_connect_failure) add_test_case(credentials_provider_ecs_request_failure) add_test_case(credentials_provider_ecs_bad_document_failure) add_test_case(credentials_provider_ecs_basic_success) add_test_case(credentials_provider_ecs_no_auth_token_success) add_test_case(credentials_provider_ecs_success_multi_part_doc) add_test_case(credentials_provider_ecs_real_new_destroy) if(AWS_BUILDING_ON_ECS) add_test_case(credentials_provider_ecs_real_success) endif() add_test_case(credentials_provider_x509_new_destroy) add_test_case(credentials_provider_x509_connect_failure) add_test_case(credentials_provider_x509_request_failure) add_test_case(credentials_provider_x509_bad_document_failure) add_test_case(credentials_provider_x509_basic_success) add_test_case(credentials_provider_x509_success_multi_part_doc) add_test_case(credentials_provider_x509_real_new_destroy) add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_parameters) add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_env) add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_config) add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_cached_config) add_net_test_case(credentials_provider_sts_web_identity_new_failed_without_env_and_config) add_net_test_case(credentials_provider_sts_web_identity_connect_failure) add_net_test_case(credentials_provider_sts_web_identity_request_failure) add_net_test_case(credentials_provider_sts_web_identity_bad_document_failure) add_net_test_case(credentials_provider_sts_web_identity_test_retry_error1) add_net_test_case(credentials_provider_sts_web_identity_test_retry_error2) add_net_test_case(credentials_provider_sts_web_identity_basic_success_env) add_net_test_case(credentials_provider_sts_web_identity_basic_success_config) add_net_test_case(credentials_provider_sts_web_identity_success_multi_part_doc) add_net_test_case(credentials_provider_sts_web_identity_real_new_destroy) add_net_test_case(credentials_provider_sts_direct_config_succeeds) add_net_test_case(credentials_provider_sts_direct_config_succeeds_after_retry) add_net_test_case(credentials_provider_sts_direct_config_invalid_doc) add_net_test_case(credentials_provider_sts_direct_config_connection_failed) add_net_test_case(credentials_provider_sts_direct_config_service_fails) add_net_test_case(credentials_provider_sts_from_profile_config_succeeds) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain_and_profile_creds) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain_and_partial_profile_creds) add_net_test_case(credentials_provider_sts_from_self_referencing_profile) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain_cycle) add_net_test_case(credentials_provider_sts_from_profile_config_with_chain_cycle_and_profile_creds) add_net_test_case(credentials_provider_sts_from_profile_config_manual_tls_succeeds) add_net_test_case(credentials_provider_sts_from_profile_config_environment_succeeds) add_net_test_case(credentials_provider_sts_cache_expiration_conflict) add_test_case(credentials_provider_process_new_destroy_from_config) add_test_case(credentials_provider_process_new_destroy_from_config_without_token) add_test_case(credentials_provider_process_new_failed) add_test_case(credentials_provider_process_bad_command) add_test_case(credentials_provider_process_incorrect_command_output) add_test_case(credentials_provider_process_basic_success) add_test_case(credentials_provider_process_basic_success_cached) add_net_test_case(credentials_provider_cognito_new_destroy) add_net_test_case(credentials_provider_cognito_failure_connect) add_net_test_case(credentials_provider_cognito_failure_request) add_net_test_case(credentials_provider_cognito_failure_bad_document) add_net_test_case(credentials_provider_cognito_success) add_net_test_case(credentials_provider_cognito_success_after_retry) if(AWS_HAS_CI_ENVIRONMENT) add_net_test_case(credentials_provider_cognito_success_unauthenticated) endif() add_test_case(sso_token_provider_profile_invalid_profile_test) add_test_case(sso_token_provider_profile_valid_profile_test) add_net_test_case(sso_token_provider_sso_session_invalid_config_test) add_net_test_case(sso_token_provider_sso_session_valid_config_test) add_net_test_case(sso_token_provider_sso_session_basic_success) add_net_test_case(sso_token_provider_sso_session_config_file_cached) add_net_test_case(sso_token_provider_sso_session_expired_token) add_test_case(sso_token_provider_profile_basic_success) add_test_case(sso_token_provider_profile_cached_config_file) add_test_case(sso_token_provider_profile_expired_token) add_test_case(parse_token_location_url_test) add_test_case(parse_token_location_session_test) add_test_case(parse_sso_token_valid) add_test_case(parse_sso_token_invalid) add_test_case(parse_sso_token_invalid_missing_access_token) add_test_case(parse_sso_token_missing_expires_at) add_test_case(parse_sso_token_invalid_expires_at) add_net_test_case(credentials_provider_sso_failed_invalid_config) add_net_test_case(credentials_provider_sso_create_destroy_valid_config) add_net_test_case(credentials_provider_sso_connect_failure) add_net_test_case(credentials_provider_sso_failure_token_missing) add_net_test_case(credentials_provider_sso_failure_token_expired) add_net_test_case(credentials_provider_sso_failure_token_empty) add_net_test_case(credentials_provider_sso_request_failure) add_net_test_case(credentials_provider_sso_bad_response) add_net_test_case(credentials_provider_sso_retryable_error) add_net_test_case(credentials_provider_sso_basic_success) add_net_test_case(credentials_provider_sso_basic_success_cached_config_file) add_net_test_case(credentials_provider_sso_basic_success_profile) add_net_test_case(credentials_provider_sso_basic_success_profile_cached_config_file) add_net_test_case(credentials_provider_sso_basic_success_after_failure) add_test_case(imds_client_new_release) add_test_case(imds_client_connect_failure) add_test_case(imds_client_token_request_failure) add_test_case(imds_client_insecure_fallback_request_failure) add_test_case(imds_client_v1_fallback_disabled_failure) add_test_case(imds_client_resource_request_failure) add_test_case(imds_client_resource_request_success) add_test_case(imds_client_insecure_resource_request_success) add_test_case(imds_client_insecure_then_secure_resource_request_success) add_test_case(imds_client_multiple_resource_requests_random_responses_finally_all_success) add_test_case(imds_client_get_ami_id_success) add_test_case(imds_client_get_ancestor_ami_ids_success) add_test_case(imds_client_get_iam_profile_success) add_test_case(imds_client_get_instance_info_success) add_test_case(imds_client_get_credentials_success) add_test_case(imds_client_cache_token_refresh) if(AWS_BUILDING_ON_EC2) add_test_case(imds_client_real_success) endif() add_test_case(config_file_path_override_test) add_test_case(config_file_path_environment_test) add_test_case(credentials_file_path_override_test) add_test_case(credentials_file_path_environment_test) add_test_case(profile_override_test) add_test_case(profile_environment_test) add_test_case(sigv4_skip_xray_header_test) add_test_case(sigv4_skip_user_agent_header_test) add_test_case(sigv4_skip_custom_header_test) add_test_case(sigv4_fail_date_header_test) add_test_case(sigv4_fail_content_header_test) add_test_case(sigv4_fail_authorization_header_test) add_test_case(sigv4_fail_signature_param_test) add_test_case(sigv4_fail_date_param_test) add_test_case(sigv4_fail_credential_param_test) add_test_case(sigv4_fail_algorithm_param_test) add_test_case(sigv4_fail_signed_headers_param_test) add_test_case(signer_null_credentials_test) add_test_case(signer_anonymous_credentials_test) add_test_case(signer_anonymous_credentials_provider_test) add_test_case(sigv4_chunked_signing_test) add_test_case(sigv4_event_signing_test) add_test_case(sigv4a_chunked_signing_test) add_test_case(sigv4_trailing_headers_signing_test) add_test_case(sigv4a_trailing_headers_signing_test) add_test_case(credentials_derive_ecc_key_fixed) add_test_case(credentials_new_ecc_fixed) add_test_case(credentials_derive_ecc_key_long_access_key) add_test_case(be_sequence_add_one) add_test_case(be_sequence_compare) add_test_case(sigv4a_get_header_key_duplicate_test) add_test_case(sigv4a_get_header_value_multiline_test) add_test_case(sigv4a_get_header_value_order_test) add_test_case(sigv4a_get_header_value_trim_test) add_test_case(sigv4a_get_unreserved_test) add_test_case(sigv4a_get_utf8_test) add_test_case(sigv4a_get_vanilla_test) add_test_case(sigv4a_get_vanilla_with_session_token_test) add_test_case(sigv4a_get_vanilla_empty_query_key_test) add_test_case(sigv4a_get_vanilla_query_test) add_test_case(sigv4a_get_vanilla_query_order_key_case_test) add_test_case(sigv4a_get_vanilla_query_order_encoded_test) add_test_case(sigv4a_get_vanilla_unreserved_test) add_test_case(sigv4a_get_vanilla_utf8_query_test) add_test_case(sigv4a_post_header_key_case_test) add_test_case(sigv4a_post_header_key_sort_test) add_test_case(sigv4a_post_header_value_case_test) add_test_case(sigv4a_post_vanilla_test) add_test_case(sigv4a_post_vanilla_empty_query_value_test) add_test_case(sigv4a_post_vanilla_query_test) add_test_case(sigv4a_post_x_www_form_urlencoded_test) add_test_case(sigv4a_post_x_www_form_urlencoded_parameters_test) add_test_case(sigv4a_post_sts_header_after_test) add_test_case(sigv4a_post_sts_header_before_test) add_test_case(sigv4a_get_relative_normalized_test) add_test_case(sigv4a_get_relative_unnormalized_test) add_test_case(sigv4a_get_relative_relative_normalized_test) add_test_case(sigv4a_get_relative_relative_unnormalized_test) add_test_case(sigv4a_get_slash_normalized_test) add_test_case(sigv4a_get_slash_unnormalized_test) add_test_case(sigv4a_get_slash_dot_slash_normalized_test) add_test_case(sigv4a_get_slash_dot_slash_unnormalized_test) add_test_case(sigv4a_get_slash_pointless_dot_normalized_test) add_test_case(sigv4a_get_slash_pointless_dot_unnormalized_test) add_test_case(sigv4a_get_slashes_normalized_test) add_test_case(sigv4a_get_slashes_unnormalized_test) add_test_case(sigv4a_get_space_normalized_test) add_test_case(sigv4a_get_space_unnormalized_test) add_test_case(sigv4_get_header_key_duplicate_test) add_test_case(sigv4_get_header_value_multiline_test) add_test_case(sigv4_get_header_value_order_test) add_test_case(sigv4_get_header_value_trim_test) add_test_case(sigv4_get_unreserved_test) add_test_case(sigv4_get_utf8_test) add_test_case(sigv4_get_vanilla_test) add_test_case(sigv4_get_vanilla_with_session_token_test) add_test_case(sigv4_get_vanilla_empty_query_key_test) add_test_case(sigv4_get_vanilla_query_test) add_test_case(sigv4_get_vanilla_query_order_key_case_test) add_test_case(sigv4_get_vanilla_query_order_encoded_test) add_test_case(sigv4_get_vanilla_unreserved_test) add_test_case(sigv4_get_vanilla_utf8_query_test) add_test_case(sigv4_post_header_key_case_test) add_test_case(sigv4_post_header_key_sort_test) add_test_case(sigv4_post_header_value_case_test) add_test_case(sigv4_post_vanilla_test) add_test_case(sigv4_post_vanilla_empty_query_value_test) add_test_case(sigv4_post_vanilla_query_test) add_test_case(sigv4_post_x_www_form_urlencoded_test) add_test_case(sigv4_post_x_www_form_urlencoded_parameters_test) add_test_case(sigv4_post_sts_header_after_test) add_test_case(sigv4_post_sts_header_before_test) add_test_case(sigv4_get_relative_normalized_test) add_test_case(sigv4_get_relative_unnormalized_test) add_test_case(sigv4_get_relative_relative_normalized_test) add_test_case(sigv4_get_relative_relative_unnormalized_test) add_test_case(sigv4_get_slash_normalized_test) add_test_case(sigv4_get_slash_unnormalized_test) add_test_case(sigv4_get_slash_dot_slash_normalized_test) add_test_case(sigv4_get_slash_dot_slash_unnormalized_test) add_test_case(sigv4_get_slash_pointless_dot_normalized_test) add_test_case(sigv4_get_slash_pointless_dot_unnormalized_test) add_test_case(sigv4_get_slashes_normalized_test) add_test_case(sigv4_get_slashes_unnormalized_test) add_test_case(sigv4_get_space_normalized_test) add_test_case(sigv4_get_space_unnormalized_test) set(TEST_BINARY_NAME ${PROJECT_NAME}-tests) generate_test_driver(${TEST_BINARY_NAME}) # sigv4 test suite files add_custom_command(TARGET ${TEST_BINARY_NAME} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/aws-signing-test-suite $) file(GLOB FUZZ_TESTS "fuzz/*.c") aws_add_fuzz_tests("${FUZZ_TESTS}" "" "${CMAKE_CURRENT_SOURCE_DIR}/fuzz/corpus")