pulumi/pkg/resource/deploy
Fraser Waters 035a502d86
Verify partial journals in engine tests (#15018)
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->

This updates test_plan.go to verify that every partial snapshot is also
a valid snapshot. This tests that the journal always writes out _valid_
snapshots even for scenarios where an update only partially ran.

While doing this it flagged up that the validation code was wrong for
delete-before-create resources.

When we do a delete-before-create replacement we need to leave the
"being replaced" resource in the snapshot. This is because while that
resource is being replaced it might have dependents that are not being
replaced, and so there is a period of time where _it_ is deleted but
dependents are still referring to it. If we removed it from the snapshot
at this point those dependent resources would not validate.

But in the case of two resources both being delete-before-create
replaced you can have a scenario where both get deleted (but are still
in the snapshot file) and the first then gets created thus removing it's
old entry from the snapshot file and adding it's new state. If the first
resource was a provider that will change it's ID, thus making the
provider reference in the second resource now look invalid.
2024-01-05 23:16:40 +00:00
..
deploytest [ci] `pkg/resource/deploy/deploytest/provider.go` coverage (#14970) 2023-12-22 19:13:20 +00:00
providers Clean up uses of .Error() (#14965) 2023-12-20 15:54:06 +00:00
builtins.go Enable perfsprint linter (#14813) 2023-12-12 12:19:42 +00:00
builtins_test.go [ci] `pkg/resource/deploy` coverage (#14831) 2023-12-19 16:14:40 +00:00
deployment.go Check qualified type for root stackness (#14714) 2023-12-04 10:36:51 +00:00
deployment_executor.go Fix handling of delete failures for targeted destroys (#14735) 2023-12-05 17:19:10 +00:00
deployment_executor_test.go Fix handling of delete failures for targeted destroys (#14735) 2023-12-05 17:19:10 +00:00
deployment_test.go Allow anything in resource names (#14107) 2023-11-20 08:59:00 +00:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
import.go Enable perfsprint linter (#14813) 2023-12-12 12:19:42 +00:00
import_test.go [ci] `pkg/resource/deploy/(step(_generator|_executor)?|import).go` coverage (#14997) 2023-12-22 21:14:04 +00:00
manifest.go Split Manifest type to it's own file (#8712) 2022-01-10 12:25:24 +00:00
manifest_test.go [ci] `pkg/resource/deploy` coverage (#14831) 2023-12-19 16:14:40 +00:00
plan.go Enable perfsprint linter (#14813) 2023-12-12 12:19:42 +00:00
plan_test.go [ci] `pkg/resource/deploy` coverage (#14831) 2023-12-19 16:14:40 +00:00
snapshot.go Verify partial journals in engine tests (#15018) 2024-01-05 23:16:40 +00:00
snapshot_test.go all: Fix revive issues 2023-03-21 08:55:11 -07:00
source.go Allow anything in resource names (#14107) 2023-11-20 08:59:00 +00:00
source_error.go Change Source.Iterate to return an error (#13996) 2023-09-20 14:34:24 +00:00
source_error_test.go [ci] `pkg/resource/deploy/source_error.go` coverage (#14982) 2023-12-22 20:57:52 +00:00
source_eval.go Clean up uses of .Error() (#14965) 2023-12-20 15:54:06 +00:00
source_eval_test.go [ci] `pkg/resource/deploy/source_eval.go` coverage (#14979) 2023-12-22 21:14:04 +00:00
source_null.go Change Source.Iterate to return an error (#13996) 2023-09-20 14:34:24 +00:00
source_query.go Enable perfsprint linter (#14813) 2023-12-12 12:19:42 +00:00
source_query_test.go [ci] `pkg/resource/deploy/source_query.go` coverage (#14955) 2023-12-22 19:07:09 +00:00
state_builder.go Fix duplicate resource error from failed delete operations (#14042) 2023-09-26 15:18:35 +00:00
state_builder_test.go When changing parents also fix URNs (#13935) 2023-09-14 19:52:27 +00:00
step.go [ci] `pkg/resource/deploy/(step(_generator|_executor)?|import).go` coverage (#14997) 2023-12-22 21:14:04 +00:00
step_executor.go Clean up uses of .Error() (#14965) 2023-12-20 15:54:06 +00:00
step_executor_test.go [ci] `pkg/resource/deploy/(step(_generator|_executor)?|import).go` coverage (#14997) 2023-12-22 21:14:04 +00:00
step_generator.go Enable perfsprint linter (#14813) 2023-12-12 12:19:42 +00:00
step_generator_test.go [ci] `pkg/resource/deploy/(step(_generator|_executor)?|import).go` coverage (#14997) 2023-12-22 21:14:04 +00:00
step_test.go [ci] `pkg/resource/deploy/(step(_generator|_executor)?|import).go` coverage (#14997) 2023-12-22 21:14:04 +00:00
target.go Add tokens.StackName (#14487) 2023-11-15 07:44:54 +00:00
target_test.go [ci] `pkg/resource/deploy/target.go` coverage (#14981) 2023-12-22 20:57:21 +00:00