Skip to content
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

tests: Remove numeric constants #39840

Merged
merged 713 commits into from
Oct 24, 2024
Merged

tests: Remove numeric constants #39840

merged 713 commits into from
Oct 24, 2024

Conversation

YakDriver
Copy link
Member

@YakDriver YakDriver commented Oct 22, 2024

Description

tl;dr

  • Removed numeric constants from test files (e.g., acctest.Ct1).
  • Added acctest.Ct12Digit = "123456789012" for test AWS account numbers.
  • Removed Semgrep rules enforcing numeric constant usage.
  • Added temporary Semgrep rules to autofix/revert numeric constants to literals for inflight PRs (included in make fix-constants).
  • Enhanced generators to automatically run gofmt and goimports on generated Go code.
  • Renamed generator functions like WriteTemplate() to BufferTemplate() to clarify memory vs. disk writing.

Key Changes:

  1. REMOVAL of String Constants for Numeric Values

Constants for numeric string literals in tests did not provide the benefits hoped and made the code more difficult to read. They are being removed, with a constant 12345678901 being added.

Example:

// Old usage (constant):
resource.TestCheckResourceAttr(name, "arg", acctest.Ct1),

// New usage (string literal):
resource.TestCheckResourceAttr(name, "arg", "1"),
  1. Enhanced Formatting Functionality for Go Generators

Previously, we relied on go/format.Source to format Go code we generate. However, go/format package includes this warning:

Note that formatting of Go source code changes over time, so tools relying on consistent formatting should execute a specific version of the gofmt binary instead of using this package. That way, the formatting will be stable, and the tools won't need to be recompiled each time gofmt changes.

For example, pre-submit checks that use this package directly would behave differently depending on what Go version each developer uses, causing the check to be inherently fragile.

The pull request also improves the functionality of Go generators by expanding the formatting steps applied after code generation. Now, after the full composition of the generated Go files, both gofmt and goimports are automatically executed. These tools ensure:

  • Correct Formatting: Ensuring the generated Go code adheres to Go formatting conventions.
  • Accurate Import Statements: With the use of goimports, unnecessary imports are automatically removed, and any missing imports required for the generated code are correctly added.

This provides several benefits:

  • Simplified Template Design: Template creators no longer need to be overly precise about which imports are needed for the generated code. They can include more imports than strictly necessary, trusting that goimports will clean up any that aren’t used.
  • Automation of Formatting: With gofmt and goimports running automatically, the need for manual formatting adjustments is eliminated, reducing potential formatting issues during code review.

Example:

// Template might include more imports than necessary
import (
    "fmt"
    "log"
    "os"
)

// goimports will automatically remove unused imports like 'os'
  1. Refactoring of Generator Functions: Clarification of Roles

    A key refactor has been made to clarify the distinction between buffering data during the generation process and writing data to the final destination (such as files). The following changes have been introduced:

    • WriteBytes(), WriteTemplate(), and WriteTemplateSet() have been renamed to:
      • BufferBytes()
      • BufferTemplate()
      • BufferTemplateSet()

    These new function names better reflect their actual purpose: they buffer the generated content rather than directly writing it to a file. This change enhances code clarity by reducing potential confusion between buffering and writing operations, which are distinctly different phases in the generation process.

    • No changes to Write(): The Write() function remains unchanged, as it correctly describes its role of finalizing the process by actually writing the buffered data to the intended output destination (typically a file).

    Example:

    d := g.NewGoFileDestination(filename)
    
    // Old usage:
    if err := d.WriteTemplate("aeon", tmpl, data); err != nil { /* error handling */ }
    
    // New usage:
    if err := d.BufferTemplate("aeon", tmpl, data); err != nil { /* error handling */ }
    
    // The Write() function is used to commit the buffered content to a file.
    if err := d.Write(); err != nil { /* error handling */ }

Benefits:

  • Simplified Code Generation: By automatically running gofmt and goimports after Go code generation, developers can now focus on generating logic rather than formatting and import accuracy. This removes the burden of manually managing imports in templates to a large degree and ensures that generated code is clean and compliant with Go standards.
  • Clarified Function Naming: The renaming of functions to better reflect their responsibilities increases code clarity and developer understanding of the distinction between buffering data and writing it to files. This should reduce confusion, especially for new contributors to the project.

Relations

Closes #0000

References

Output from Acceptance Testing

% make sane
make: Sane Check (48 tests of Top 30 resources)
make: Like 'sanity' except full output and stops soon after 1st error
make: NOTE: NOT an exhaustive set of tests! Finds big problems only.
2024/10/22 15:08:20 Initializing Terraform AWS Provider...
=== RUN   TestAccIAMInstanceProfile_tags
=== PAUSE TestAccIAMInstanceProfile_tags
=== RUN   TestAccIAMInstanceProfile_tags_null
=== PAUSE TestAccIAMInstanceProfile_tags_null
=== RUN   TestAccIAMInstanceProfile_tags_EmptyMap
=== PAUSE TestAccIAMInstanceProfile_tags_EmptyMap
=== RUN   TestAccIAMInstanceProfile_tags_AddOnUpdate
=== PAUSE TestAccIAMInstanceProfile_tags_AddOnUpdate
=== RUN   TestAccIAMInstanceProfile_tags_EmptyTag_OnCreate
=== PAUSE TestAccIAMInstanceProfile_tags_EmptyTag_OnCreate
=== RUN   TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Add
=== PAUSE TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Add
=== RUN   TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Replace
=== PAUSE TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Replace
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_providerOnly
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_providerOnly
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_nonOverlapping
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_overlapping
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_overlapping
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_updateToProviderOnly
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_updateToResourceOnly
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_emptyResourceTag
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_emptyProviderOnlyTag
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_emptyProviderOnlyTag
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_nullOverlappingResourceTag
=== RUN   TestAccIAMInstanceProfile_tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccIAMInstanceProfile_tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN   TestAccIAMInstanceProfile_tags_ComputedTag_OnCreate
=== PAUSE TestAccIAMInstanceProfile_tags_ComputedTag_OnCreate
=== RUN   TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Add
=== PAUSE TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Add
=== RUN   TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Replace
=== PAUSE TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Replace
=== RUN   TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_DefaultTag
=== PAUSE TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_DefaultTag
=== RUN   TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_ResourceTag
=== PAUSE TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_ResourceTag
=== RUN   TestAccIAMInstanceProfile_basic
=== PAUSE TestAccIAMInstanceProfile_basic
=== RUN   TestAccIAMPolicyDocumentDataSource_basic
=== PAUSE TestAccIAMPolicyDocumentDataSource_basic
=== RUN   TestAccIAMPolicyDocumentDataSource_sourceConflicting
=== PAUSE TestAccIAMPolicyDocumentDataSource_sourceConflicting
=== RUN   TestAccIAMPolicy_tags
=== PAUSE TestAccIAMPolicy_tags
=== RUN   TestAccIAMPolicy_tags_null
=== PAUSE TestAccIAMPolicy_tags_null
=== RUN   TestAccIAMPolicy_tags_EmptyMap
=== PAUSE TestAccIAMPolicy_tags_EmptyMap
=== RUN   TestAccIAMPolicy_tags_AddOnUpdate
=== PAUSE TestAccIAMPolicy_tags_AddOnUpdate
=== RUN   TestAccIAMPolicy_tags_EmptyTag_OnCreate
=== PAUSE TestAccIAMPolicy_tags_EmptyTag_OnCreate
=== RUN   TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add
=== PAUSE TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add
=== RUN   TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace
=== PAUSE TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace
=== RUN   TestAccIAMPolicy_tags_DefaultTags_providerOnly
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_providerOnly
=== RUN   TestAccIAMPolicy_tags_DefaultTags_nonOverlapping
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_nonOverlapping
=== RUN   TestAccIAMPolicy_tags_DefaultTags_overlapping
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_overlapping
=== RUN   TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly
=== RUN   TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly
=== RUN   TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag
=== RUN   TestAccIAMPolicy_tags_DefaultTags_emptyProviderOnlyTag
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_emptyProviderOnlyTag
=== RUN   TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag
=== RUN   TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag
=== PAUSE TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag
=== RUN   TestAccIAMPolicy_tags_ComputedTag_OnCreate
=== PAUSE TestAccIAMPolicy_tags_ComputedTag_OnCreate
=== RUN   TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Add
=== PAUSE TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Add
=== RUN   TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Replace
=== PAUSE TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Replace
=== RUN   TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag
=== PAUSE TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag
=== RUN   TestAccIAMPolicy_tags_IgnoreTags_Overlap_ResourceTag
=== PAUSE TestAccIAMPolicy_tags_IgnoreTags_Overlap_ResourceTag
=== RUN   TestAccIAMPolicy_basic
=== PAUSE TestAccIAMPolicy_basic
=== RUN   TestAccIAMPolicy_policy
=== PAUSE TestAccIAMPolicy_policy
=== RUN   TestAccIAMPolicy_policyDuplicateKeys
=== PAUSE TestAccIAMPolicy_policyDuplicateKeys
=== RUN   TestAccIAMRolePolicyAttachment_basic
=== PAUSE TestAccIAMRolePolicyAttachment_basic
=== RUN   TestAccIAMRolePolicyAttachment_disappears
=== PAUSE TestAccIAMRolePolicyAttachment_disappears
=== RUN   TestAccIAMRolePolicyAttachment_Disappears_role
=== PAUSE TestAccIAMRolePolicyAttachment_Disappears_role
=== RUN   TestAccIAMRolePolicy_basic
=== PAUSE TestAccIAMRolePolicy_basic
=== RUN   TestAccIAMRolePolicy_unknownsInPolicy
=== PAUSE TestAccIAMRolePolicy_unknownsInPolicy
=== RUN   TestAccIAMRole_basic
=== PAUSE TestAccIAMRole_basic
=== RUN   TestAccIAMRole_namePrefix
=== PAUSE TestAccIAMRole_namePrefix
=== RUN   TestAccIAMRole_disappears
=== PAUSE TestAccIAMRole_disappears
=== RUN   TestAccIAMRole_InlinePolicy_basic
=== PAUSE TestAccIAMRole_InlinePolicy_basic
=== CONT  TestAccIAMInstanceProfile_tags
=== CONT  TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add
=== CONT  TestAccIAMRolePolicyAttachment_Disappears_role
=== CONT  TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag
=== CONT  TestAccIAMRolePolicyAttachment_disappears
=== CONT  TestAccIAMRolePolicyAttachment_basic
=== CONT  TestAccIAMPolicy_policyDuplicateKeys
=== CONT  TestAccIAMPolicy_policy
=== CONT  TestAccIAMPolicy_basic
=== CONT  TestAccIAMPolicy_tags_IgnoreTags_Overlap_ResourceTag
=== CONT  TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag
=== CONT  TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Replace
=== CONT  TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Add
=== CONT  TestAccIAMPolicy_tags_ComputedTag_OnCreate
=== CONT  TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag
=== CONT  TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag
=== CONT  TestAccIAMPolicy_tags_DefaultTags_emptyProviderOnlyTag
=== CONT  TestAccIAMPolicy_tags_DefaultTags_overlapping
=== CONT  TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly
=== CONT  TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccIAMPolicy_policyDuplicateKeys (5.40s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_nullNonOverlappingResourceTag
--- PASS: TestAccIAMRolePolicyAttachment_Disappears_role (37.93s)
=== CONT  TestAccIAMPolicy_tags_EmptyTag_OnCreate
--- PASS: TestAccIAMRolePolicyAttachment_disappears (38.17s)
=== CONT  TestAccIAMPolicy_tags_AddOnUpdate
--- PASS: TestAccIAMPolicy_basic (41.24s)
=== CONT  TestAccIAMPolicy_tags_EmptyMap
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag (42.42s)
=== CONT  TestAccIAMPolicy_tags_null
=== CONT  TestAccIAMPolicy_tags
--- PASS: TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag (42.48s)
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag (42.50s)
=== CONT  TestAccIAMPolicyDocumentDataSource_sourceConflicting
--- PASS: TestAccIAMPolicy_tags_DefaultTags_emptyProviderOnlyTag (42.57s)
=== CONT  TestAccIAMPolicyDocumentDataSource_basic
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_nullNonOverlappingResourceTag (39.76s)
=== CONT  TestAccIAMInstanceProfile_basic
--- PASS: TestAccIAMPolicy_tags_ComputedTag_OnCreate (51.80s)
=== CONT  TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_ResourceTag
--- PASS: TestAccIAMPolicyDocumentDataSource_basic (20.54s)
=== CONT  TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_DefaultTag
--- PASS: TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly (63.25s)
=== CONT  TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Replace
--- PASS: TestAccIAMPolicy_policy (63.65s)
=== CONT  TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Add
--- PASS: TestAccIAMRolePolicyAttachment_basic (64.49s)
=== CONT  TestAccIAMInstanceProfile_tags_ComputedTag_OnCreate
--- PASS: TestAccIAMPolicyDocumentDataSource_sourceConflicting (22.70s)
=== CONT  TestAccIAMPolicy_tags_DefaultTags_providerOnly
--- PASS: TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly (66.19s)
=== CONT  TestAccIAMPolicy_tags_DefaultTags_nonOverlapping
--- PASS: TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Add (70.23s)
=== CONT  TestAccIAMRole_InlinePolicy_basic
--- PASS: TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Replace (70.35s)
=== CONT  TestAccIAMRolePolicy_unknownsInPolicy
--- PASS: TestAccIAMInstanceProfile_basic (35.01s)
=== CONT  TestAccIAMRole_basic
--- PASS: TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag (81.64s)
=== CONT  TestAccIAMRole_disappears
--- PASS: TestAccIAMPolicy_tags_EmptyMap (46.84s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_nonOverlapping
--- PASS: TestAccIAMPolicy_tags_IgnoreTags_Overlap_ResourceTag (88.78s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_nullOverlappingResourceTag
--- PASS: TestAccIAMPolicy_tags_null (48.77s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_emptyProviderOnlyTag
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add (94.65s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_emptyResourceTag
--- PASS: TestAccIAMPolicy_tags_AddOnUpdate (60.52s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_updateToResourceOnly
--- PASS: TestAccIAMPolicy_tags_DefaultTags_overlapping (102.19s)
=== CONT  TestAccIAMRole_namePrefix
--- PASS: TestAccIAMRolePolicy_unknownsInPolicy (34.97s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_overlapping
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnCreate (68.26s)
=== CONT  TestAccIAMInstanceProfile_tags_EmptyTag_OnCreate
--- PASS: TestAccIAMInstanceProfile_tags_ComputedTag_OnCreate (41.88s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_providerOnly
--- PASS: TestAccIAMRole_disappears (30.12s)
=== CONT  TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccIAMRole_basic (34.82s)
=== CONT  TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Add
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_nullOverlappingResourceTag (37.66s)
=== CONT  TestAccIAMInstanceProfile_tags_AddOnUpdate
--- PASS: TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Replace (66.43s)
=== CONT  TestAccIAMRolePolicy_basic
--- PASS: TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Add (66.19s)
=== CONT  TestAccIAMInstanceProfile_tags_null
--- PASS: TestAccIAMInstanceProfile_tags (129.99s)
=== CONT  TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_emptyProviderOnlyTag (38.96s)
=== CONT  TestAccIAMInstanceProfile_tags_EmptyMap
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_emptyResourceTag (39.70s)
=== CONT  TestAccIAMInstanceProfile_tags_DefaultTags_updateToProviderOnly
--- PASS: TestAccIAMRole_namePrefix (34.85s)
--- PASS: TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_ResourceTag (88.03s)
--- PASS: TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_DefaultTag (79.98s)
--- PASS: TestAccIAMRole_InlinePolicy_basic (76.03s)
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_updateToResourceOnly (58.00s)
--- PASS: TestAccIAMPolicy_tags_DefaultTags_nonOverlapping (90.98s)
--- PASS: TestAccIAMRolePolicy_basic (30.89s)
--- PASS: TestAccIAMPolicy_tags (118.96s)
--- PASS: TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Replace (53.76s)
--- PASS: TestAccIAMInstanceProfile_tags_EmptyTag_OnCreate (59.53s)
--- PASS: TestAccIAMInstanceProfile_tags_null (38.51s)
--- PASS: TestAccIAMInstanceProfile_tags_EmptyMap (38.19s)
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_nonOverlapping (86.42s)
--- PASS: TestAccIAMInstanceProfile_tags_AddOnUpdate (48.47s)
--- PASS: TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace (44.98s)
--- PASS: TestAccIAMPolicy_tags_DefaultTags_providerOnly (114.48s)
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_updateToProviderOnly (46.66s)
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_overlapping (80.09s)
--- PASS: TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Add (71.53s)
--- PASS: TestAccIAMInstanceProfile_tags_DefaultTags_providerOnly (104.38s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/iam	214.718s
2024/10/22 15:12:08 Initializing Terraform AWS Provider...
=== RUN   TestAccLogsGroup_basic
=== PAUSE TestAccLogsGroup_basic
=== RUN   TestAccLogsGroup_multiple
=== PAUSE TestAccLogsGroup_multiple
=== CONT  TestAccLogsGroup_basic
=== CONT  TestAccLogsGroup_multiple
--- PASS: TestAccLogsGroup_multiple (21.06s)
--- PASS: TestAccLogsGroup_basic (23.94s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/logs	27.821s
2024/10/22 15:12:19 Initializing Terraform AWS Provider...
=== RUN   TestAccVPCDataSource_basic
=== PAUSE TestAccVPCDataSource_basic
=== RUN   TestAccVPCRouteTableAssociation_Subnet_basic
=== PAUSE TestAccVPCRouteTableAssociation_Subnet_basic
=== RUN   TestAccVPCRouteTable_basic
=== PAUSE TestAccVPCRouteTable_basic
=== RUN   TestAccVPCSecurityGroupRule_race
=== PAUSE TestAccVPCSecurityGroupRule_race
=== RUN   TestAccVPCSecurityGroupRule_protocolChange
=== PAUSE TestAccVPCSecurityGroupRule_protocolChange
=== RUN   TestAccVPCSecurityGroup_basic
=== PAUSE TestAccVPCSecurityGroup_basic
=== RUN   TestAccVPCSecurityGroup_egressMode
=== PAUSE TestAccVPCSecurityGroup_egressMode
=== RUN   TestAccVPCSecurityGroup_vpcAllEgress
=== PAUSE TestAccVPCSecurityGroup_vpcAllEgress
=== RUN   TestAccVPCSubnet_basic
=== PAUSE TestAccVPCSubnet_basic
=== RUN   TestAccVPC_tenancy
=== PAUSE TestAccVPC_tenancy
=== CONT  TestAccVPCDataSource_basic
=== CONT  TestAccVPCSecurityGroup_basic
=== CONT  TestAccVPCSubnet_basic
=== CONT  TestAccVPCSecurityGroup_vpcAllEgress
=== CONT  TestAccVPCSecurityGroupRule_race
=== CONT  TestAccVPC_tenancy
=== CONT  TestAccVPCSecurityGroupRule_protocolChange
=== CONT  TestAccVPCSecurityGroup_egressMode
=== CONT  TestAccVPCRouteTable_basic
=== CONT  TestAccVPCRouteTableAssociation_Subnet_basic
--- PASS: TestAccVPCSubnet_basic (29.05s)
--- PASS: TestAccVPCRouteTable_basic (29.87s)
--- PASS: TestAccVPCSecurityGroup_basic (32.41s)
--- PASS: TestAccVPCSecurityGroup_vpcAllEgress (32.44s)
--- PASS: TestAccVPCRouteTableAssociation_Subnet_basic (34.28s)
--- PASS: TestAccVPCDataSource_basic (38.57s)
--- PASS: TestAccVPCSecurityGroup_egressMode (64.21s)
--- PASS: TestAccVPC_tenancy (66.49s)
--- PASS: TestAccVPCSecurityGroupRule_protocolChange (78.68s)
--- PASS: TestAccVPCSecurityGroupRule_race (271.80s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ec2	286.843s
2024/10/22 15:12:15 Initializing Terraform AWS Provider...
=== RUN   TestAccECSService_basic
=== PAUSE TestAccECSService_basic
=== RUN   TestAccECSService_basicImport
=== PAUSE TestAccECSService_basicImport
=== RUN   TestAccECSTaskDefinition_basic
=== PAUSE TestAccECSTaskDefinition_basic
=== CONT  TestAccECSService_basic
=== CONT  TestAccECSTaskDefinition_basic
=== CONT  TestAccECSService_basicImport
--- PASS: TestAccECSTaskDefinition_basic (34.64s)
--- PASS: TestAccECSService_basic (84.67s)
--- PASS: TestAccECSService_basicImport (199.03s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ecs	209.977s
2024/10/22 15:12:23 Initializing Terraform AWS Provider...
=== RUN   TestAccELBV2TargetGroup_basic
=== PAUSE TestAccELBV2TargetGroup_basic
=== CONT  TestAccELBV2TargetGroup_basic
--- PASS: TestAccELBV2TargetGroup_basic (29.37s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/elbv2	48.349s
2024/10/22 15:12:12 Initializing Terraform AWS Provider...
=== RUN   TestAccKMSKey_basic
=== PAUSE TestAccKMSKey_basic
=== CONT  TestAccKMSKey_basic
--- PASS: TestAccKMSKey_basic (38.25s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/kms	45.382s
2024/10/22 15:17:07 Initializing Terraform AWS Provider...
=== RUN   TestAccLambdaFunction_basic
=== PAUSE TestAccLambdaFunction_basic
=== RUN   TestAccLambdaPermission_basic
=== PAUSE TestAccLambdaPermission_basic
=== CONT  TestAccLambdaFunction_basic
=== CONT  TestAccLambdaPermission_basic
--- PASS: TestAccLambdaPermission_basic (50.17s)
--- PASS: TestAccLambdaFunction_basic (56.17s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/lambda	60.168s
2024/10/22 15:17:11 Initializing Terraform AWS Provider...
=== RUN   TestAccMetaPartitionDataSource_basic
=== PAUSE TestAccMetaPartitionDataSource_basic
=== RUN   TestAccMetaRegionDataSource_basic
=== PAUSE TestAccMetaRegionDataSource_basic
=== RUN   TestAccMetaRegionDataSource_endpoint
=== PAUSE TestAccMetaRegionDataSource_endpoint
=== RUN   TestAccMetaRegionDataSource_endpointAndName
=== PAUSE TestAccMetaRegionDataSource_endpointAndName
=== CONT  TestAccMetaPartitionDataSource_basic
=== CONT  TestAccMetaRegionDataSource_endpoint
=== CONT  TestAccMetaRegionDataSource_basic
=== CONT  TestAccMetaRegionDataSource_endpointAndName
--- PASS: TestAccMetaRegionDataSource_basic (13.97s)
--- PASS: TestAccMetaPartitionDataSource_basic (14.18s)
--- PASS: TestAccMetaRegionDataSource_endpointAndName (15.36s)
--- PASS: TestAccMetaRegionDataSource_endpoint (15.52s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/meta	23.255s
2024/10/22 15:17:15 Initializing Terraform AWS Provider...
=== RUN   TestAccRoute53Record_basic
=== PAUSE TestAccRoute53Record_basic
=== RUN   TestAccRoute53Record_Latency_basic
=== PAUSE TestAccRoute53Record_Latency_basic
=== RUN   TestAccRoute53ZoneDataSource_name
=== PAUSE TestAccRoute53ZoneDataSource_name
=== RUN   TestAccRoute53ZoneDataSource_name_idEmptyString
=== PAUSE TestAccRoute53ZoneDataSource_name_idEmptyString
=== CONT  TestAccRoute53Record_basic
=== CONT  TestAccRoute53ZoneDataSource_name_idEmptyString
=== CONT  TestAccRoute53ZoneDataSource_name
=== CONT  TestAccRoute53Record_Latency_basic
--- PASS: TestAccRoute53ZoneDataSource_name (97.27s)
--- PASS: TestAccRoute53ZoneDataSource_name_idEmptyString (102.07s)
--- PASS: TestAccRoute53Record_basic (190.61s)
--- PASS: TestAccRoute53Record_Latency_basic (191.88s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/route53	203.482s
2024/10/22 15:17:18 Initializing Terraform AWS Provider...
=== RUN   TestAccS3BucketACL_updateACL
=== PAUSE TestAccS3BucketACL_updateACL
=== RUN   TestAccS3BucketPolicy_basic
=== PAUSE TestAccS3BucketPolicy_basic
=== RUN   TestAccS3BucketPublicAccessBlock_basic
=== PAUSE TestAccS3BucketPublicAccessBlock_basic
=== RUN   TestAccS3Bucket_Basic_basic
=== PAUSE TestAccS3Bucket_Basic_basic
=== RUN   TestAccS3Bucket_Security_corsUpdate
=== PAUSE TestAccS3Bucket_Security_corsUpdate
=== CONT  TestAccS3BucketACL_updateACL
=== CONT  TestAccS3Bucket_Basic_basic
=== CONT  TestAccS3Bucket_Security_corsUpdate
=== CONT  TestAccS3BucketPublicAccessBlock_basic
=== CONT  TestAccS3BucketPolicy_basic
--- PASS: TestAccS3BucketPublicAccessBlock_basic (28.35s)
--- PASS: TestAccS3BucketPolicy_basic (28.74s)
--- PASS: TestAccS3Bucket_Basic_basic (29.31s)
--- PASS: TestAccS3BucketACL_updateACL (48.42s)
--- PASS: TestAccS3Bucket_Security_corsUpdate (51.71s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/s3	66.824s
2024/10/22 15:17:22 Initializing Terraform AWS Provider...
=== RUN   TestAccSecretsManagerSecret_basic
=== PAUSE TestAccSecretsManagerSecret_basic
=== RUN   TestAccSecretsManagerSecret_basicReplica
=== PAUSE TestAccSecretsManagerSecret_basicReplica
=== CONT  TestAccSecretsManagerSecret_basic
=== CONT  TestAccSecretsManagerSecret_basicReplica
--- PASS: TestAccSecretsManagerSecret_basic (20.57s)
--- PASS: TestAccSecretsManagerSecret_basicReplica (25.29s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/secretsmanager	44.344s
2024/10/22 15:17:26 Initializing Terraform AWS Provider...
=== RUN   TestAccSTSCallerIdentityDataSource_basic
=== PAUSE TestAccSTSCallerIdentityDataSource_basic
=== CONT  TestAccSTSCallerIdentityDataSource_basic
--- PASS: TestAccSTSCallerIdentityDataSource_basic (11.09s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/sts	34.043s

@YakDriver YakDriver requested a review from a team as a code owner October 22, 2024 18:17
Copy link

Community Note

Voting for Prioritization

  • Please vote on this pull request by adding a 👍 reaction to the original post to help the community and maintainers prioritize this pull request.
  • Please see our prioritization guide for information on how we prioritize.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

For Submitters

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • For new resources and data sources, use skaff to generate scaffolding with comments detailing common expectations.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions github-actions bot added documentation Introduces or discusses updates to documentation. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. service/lambda Issues and PRs that pertain to the lambda service. service/iam Issues and PRs that pertain to the iam service. service/ec2 Issues and PRs that pertain to the ec2 service. service/ecs Issues and PRs that pertain to the ecs service. service/emr Issues and PRs that pertain to the emr service. service/configservice Issues and PRs that pertain to the configservice service. service/elbv2 Issues and PRs that pertain to the elbv2 service. service/apigateway Issues and PRs that pertain to the apigateway service. service/codebuild Issues and PRs that pertain to the codebuild service. service/gamelift Issues and PRs that pertain to the gamelift service. service/cloudtrail Issues and PRs that pertain to the cloudtrail service. service/lightsail Issues and PRs that pertain to the lightsail service. service/elb Issues and PRs that pertain to the elb service. service/cloudfront Issues and PRs that pertain to the cloudfront service. service/inspector Issues and PRs that pertain to the inspector service. service/elasticbeanstalk Issues and PRs that pertain to the elasticbeanstalk service. service/athena Issues and PRs that pertain to the athena service. service/firehose Issues and PRs that pertain to the firehose service. service/autoscaling Issues and PRs that pertain to the autoscaling service. service/dynamodb Issues and PRs that pertain to the dynamodb service. service/cloudwatch Issues and PRs that pertain to the cloudwatch service. service/cloudsearch Issues and PRs that pertain to the cloudsearch service. service/efs Issues and PRs that pertain to the efs service. service/budgets Issues and PRs that pertain to the budgets service. service/appsync Issues and PRs that pertain to the appsync service. service/elasticache Issues and PRs that pertain to the elasticache service. labels Oct 22, 2024
Copy link
Contributor

@ewbankkit ewbankkit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀.
yolo-default

@YakDriver
Copy link
Member Author

Bless you! 🙏 @ewbankkit

@YakDriver YakDriver merged commit ed86924 into main Oct 24, 2024
47 checks passed
@YakDriver YakDriver deleted the td-numeric-constants-fixes branch October 24, 2024 21:09
@github-actions github-actions bot added this to the v5.74.0 milestone Oct 24, 2024
@YakDriver
Copy link
Member Author

See #39881 for fixes for open PRs related to this change.

Copy link

This functionality has been released in v5.74.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Introduces or discusses updates to documentation. generators Relates to code generators. linter Pertains to changes to or issues with the various linters. service/accessanalyzer Issues and PRs that pertain to the accessanalyzer service. service/acmpca Issues and PRs that pertain to the acmpca service. service/amplify Issues and PRs that pertain to the amplify service. service/apigateway Issues and PRs that pertain to the apigateway service. service/apigatewayv2 Issues and PRs that pertain to the apigatewayv2 service. service/appautoscaling Issues and PRs that pertain to the appautoscaling service. service/appconfig Issues and PRs that pertain to the appconfig service. service/appmesh Issues and PRs that pertain to the appmesh service. service/apprunner Issues and PRs that pertain to the apprunner service. service/appstream Issues and PRs that pertain to the appstream service. service/appsync Issues and PRs that pertain to the appsync service. service/athena Issues and PRs that pertain to the athena service. service/auditmanager Issues and PRs that pertain to the auditmanager service. service/autoscaling Issues and PRs that pertain to the autoscaling service. service/autoscalingplans Issues and PRs that pertain to the autoscalingplans service. service/backup Issues and PRs that pertain to the backup service. service/batch Issues and PRs that pertain to the batch service. service/bedrockagent Issues and PRs that pertain to the bedrockagent service. service/budgets Issues and PRs that pertain to the budgets service. service/chatbot Issues and PRs that pertain to the chatbot service. service/chime Issues and PRs that pertain to the chime service. service/chimesdkmediapipelines Issues and PRs that pertain to the chimesdkmediapipelines service. service/cleanrooms Issues and PRs that pertain to the cleanrooms service. service/cloud9 Issues and PRs that pertain to the cloud9 service. service/cloudformation Issues and PRs that pertain to the cloudformation service. service/cloudfront Issues and PRs that pertain to the cloudfront service. service/cloudsearch Issues and PRs that pertain to the cloudsearch service. service/cloudtrail Issues and PRs that pertain to the cloudtrail service. service/cloudwatch Issues and PRs that pertain to the cloudwatch service. service/codebuild Issues and PRs that pertain to the codebuild service. service/codecatalyst Issues and PRs that pertain to the codecatalyst service. service/codepipeline Issues and PRs that pertain to the codepipeline service. service/cognitoidentity Issues and PRs that pertain to the cognitoidentity service. service/cognitoidp Issues and PRs that pertain to the cognitoidp service. service/configservice Issues and PRs that pertain to the configservice service. service/connect Issues and PRs that pertain to the connect service. service/controltower Issues and PRs that pertain to the controltower service. service/customerprofiles Issues and PRs that pertain to the customerprofiles service. service/datasync Issues and PRs that pertain to the datasync service. service/datazone Issues and PRs that pertain to the datazone service. service/deploy Issues and PRs that pertain to the deploy service. service/devicefarm Issues and PRs that pertain to the devicefarm service. service/dlm Issues and PRs that pertain to the dlm service. service/dms Issues and PRs that pertain to the dms service. service/docdb Issues and PRs that pertain to the docdb service. service/drs Issues and PRs that pertain to the drs service. service/ds Issues and PRs that pertain to the ds service. service/dynamodb Issues and PRs that pertain to the dynamodb service. service/ec2ebs Issues and PRs that pertain to the ec2ebs service. service/ec2 Issues and PRs that pertain to the ec2 service. service/ecr Issues and PRs that pertain to the ecr service. service/ecs Issues and PRs that pertain to the ecs service. service/efs Issues and PRs that pertain to the efs service. service/eks Issues and PRs that pertain to the eks service. service/elasticache Issues and PRs that pertain to the elasticache service. service/elasticbeanstalk Issues and PRs that pertain to the elasticbeanstalk service. service/elasticsearch Issues and PRs that pertain to the elasticsearch service. service/elastictranscoder Issues and PRs that pertain to the elastictranscoder service. service/elb Issues and PRs that pertain to the elb service. service/elbv2 Issues and PRs that pertain to the elbv2 service. service/emr Issues and PRs that pertain to the emr service. service/emrserverless Issues and PRs that pertain to the emrserverless service. service/events Issues and PRs that pertain to the events service. service/evidently Issues and PRs that pertain to the evidently service. service/finspace Issues and PRs that pertain to the finspace service. service/firehose Issues and PRs that pertain to the firehose service. service/fis Issues and PRs that pertain to the fis service. service/fsx Issues and PRs that pertain to the fsx service. service/gamelift Issues and PRs that pertain to the gamelift service. service/globalaccelerator Issues and PRs that pertain to the globalaccelerator service. service/glue Issues and PRs that pertain to the glue service. service/grafana Issues and PRs that pertain to the grafana service. service/iam Issues and PRs that pertain to the iam service. service/imagebuilder Issues and PRs that pertain to the imagebuilder service. service/inspector Issues and PRs that pertain to the inspector service. service/inspector2 Issues and PRs that pertain to the inspector2 service. service/internetmonitor Issues and PRs that pertain to the internetmonitor service. service/iot Issues and PRs that pertain to the iot service. service/ipam Issues and PRs that pertain to the ipam service. service/ivs Issues and PRs that pertain to the ivs service. service/ivschat Issues and PRs that pertain to the ivschat service. service/kafka Issues and PRs that pertain to the kafka service. service/kafkaconnect Issues and PRs that pertain to the kafkaconnect service. service/kendra Issues and PRs that pertain to the kendra service. service/keyspaces Issues and PRs that pertain to the keyspaces service. service/kinesis Issues and PRs that pertain to the kinesis service. service/kinesisanalytics Issues and PRs that pertain to the kinesisanalytics service. service/kinesisanalyticsv2 Issues and PRs that pertain to the kinesisanalyticsv2 service. service/kms Issues and PRs that pertain to the kms service. service/lakeformation Issues and PRs that pertain to the lakeformation service. service/lambda Issues and PRs that pertain to the lambda service. service/lexmodels Issues and PRs that pertain to the lexmodels service. service/lexv2models Issues and PRs that pertain to the lexv2models service. service/licensemanager Issues and PRs that pertain to the licensemanager service. service/lightsail Issues and PRs that pertain to the lightsail service. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. verify Pertains to the verify package (i.e., provider-level validating, diff suppression, etc.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants