Skip to content

TestStacksCyclesErrors fails because the file name is too long before a cycle is detected #4054

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

Closed
yhakbar opened this issue Mar 20, 2025 · 0 comments · Fixed by #4106
Closed
Assignees
Labels
bug Something isn't working stacks Issues related to Stacks

Comments

@yhakbar
Copy link
Collaborator

yhakbar commented Mar 20, 2025

Describe the bug

When running TestStacksCyclesErrors locally on my macbook, the test fails because we get the error that the filename is too long before we hit cycle detection.

Add a check that the full filepath doesn't exceed some limit. 1024 character might be a good floor based on some Googling, but there might be a better way to get OS specific limits so that we can use a higher limit on Linux than on MacOS, etc.

Steps To Reproduce

Run the test on a macOS device (I imagine Windows might show the same error).

Expected behavior

The test passes.

Nice to haves

--- FAIL: TestStacksCyclesErrors (0.50s)
    integration_stacks_test.go:871: Copying fixtures/stacks/errors/cycles to /var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001
    integration_stacks_test.go:876: [terragrunt stack generate --experiment stacks --terragrunt-working-dir /var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001/fixtures/stacks/errors/cycles/live --log-format=key-value]
    integration_stacks_test.go:876: [TestStacksCyclesErrors] Full contents of stdout:
    integration_stacks_test.go:876: [TestStacksCyclesErrors] 
    integration_stacks_test.go:876: [TestStacksCyclesErrors] Full contents of stderr:
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=warn msg=The `--terragrunt-working-dir` flag is deprecated and will be removed in a future version of Terragrunt. Use `--working-dir=/var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001/fixtures/stacks/errors/cycles/live` instead.
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Generating stack from ./terragrunt.stack.hcl
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack unit
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:36-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] time=2025-03-20EDT15:25:37-04:00 level=info msg=Processing stack stack
    integration_stacks_test.go:876: [TestStacksCyclesErrors] 
    integration_stacks_test.go:878: 
        	Error Trace:	/Users/yousif/repos/src/github.com/gruntwork-io/terragrunt/test/integration_stacks_test.go:878
        	Error:      	"error occurred:\n\n* Failed to copy /private/var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001/fixtures/stacks/errors/cycles/stack to /var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001/fixtures/stacks/errors/cycles/live/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack Failed to copy /private/var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001/fixtures/stacks/errors/cycles/stack to /var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001/fixtures/stacks/errors/cycles/live/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack open /var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/TestStacksCyclesErrors1108323104/001/fixtures/stacks/errors/cycles/live/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack/stack/.terragrunt-stack-manifest: file name too long\n" does not contain "Cycle detected"
        	Test:       	TestStacksCyclesErrors
FAIL

Versions

  • Terragrunt version: main
  • OpenTofu/Terraform version: N/A
  • Environment details (Ubuntu 20.04, Windows 10, etc.): macOS

Additional context

Add any other context about the problem here.

@yhakbar yhakbar added bug Something isn't working stacks Issues related to Stacks labels Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working stacks Issues related to Stacks
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants