pulumi/pkg/engine/lifecycletest
Thomas Gummerer 9063974f70 implement programmatic default providers in the engine and Go SDK
Implement default providers in the engine and the Go SDK first (Go SDK
for no other reason other than I'm most familiar with that language).

The SDK sends a RegisterDefaultProvider request to the engine, which
adds the provider to its default provider map, and explicitly
disallows creating an implicit default provider going forward.

The locking around this happens on the SDK side, since we need to
disallow RegisterResource requests happening at the same time as
DefaultProvider requests.  Here we can simply take a read lock before
creating the RegisterResource goroutine, and a write lock for the
duration of the RegisterDefaultProvider call.

This way we can have RegisterResource calls happen in parallel, but
the RegisterDefaultProvider call will not go ahead before the read
lock is released.  Similarly, the next RegisterResource call will be
locked until the RegisterDefaultProvider call has finished.
2024-05-02 19:04:59 +02:00
..
alias_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
analyzer_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
continue_on_error_test.go Implement up --continue-on-error (#15740) 2024-04-22 11:12:45 +00:00
default_providers_test.go implement programmatic default providers in the engine and Go SDK 2024-05-02 19:04:59 +02:00
delete_before_replace_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
golang_sdk_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
import_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
pending_delete_test.go Update golangci-lint (#14624) 2023-11-21 15:16:13 +00:00
provider_test.go Refactor: move plugin kind to apitype (#15946) 2024-04-25 17:30:30 +00:00
pulumi_test.go Implement up --continue-on-error (#15740) 2024-04-22 11:12:45 +00:00
refresh_test.go Revert "Run integration tests and dev builds with race detection" (#15998) 2024-04-19 16:57:16 +00:00
resource_reference_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
source_query_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
step_generator_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
target_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
test_plan.go upgrade to latest version of golangci-lint (#15977) 2024-04-19 06:20:33 +00:00
transformation_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00
update_plan_test.go deploytest/RegisterResource: return struct instead of values (#15988) 2024-04-19 11:08:56 +00:00