pulumi/pkg/backend
Will Jones 8457a25ff2 Factor out the lifecycle testing framework
Lifecycle tests exist to test the Pulumi engine, allowing us to mock
providers and programs and resource registrations before executing
specific operations. We'd like to extend our lifecycle test suite to
support fuzzing the engine -- that is, generating test cases to exercise
edge cases that we might otherwise struggle to find manually. Presently,
the framework underpinning the lifecycle tests is defined in a single
`test_plan.go` module that sits alongside the `_test.go` files
themselves. This means that it's not really possible to factor out or
neatly extend the framework (e.g. by adding a `fuzzing` submodule)
without introducing circular imports (since tests in `lifecycletest`
will import `fuzzing`, which imports the framework from
`lifecycletest`).

This commit therefore pulls out `test_plan.go` into a dedicated
`framework` submodule, which is now explicitly imported and used by
existing tests. It also adapts the framework slightly to define the
subset of `testing.T` functionality it needs more precisely, so that
when the time comes for us to fuzz we can e.g. pass a `rapid.T` just as
easily. No behavioural changes are made to the tests themselves -- this
is purely a structural change to facilitate subsequent work on fuzzing.
2024-10-18 17:04:15 +01:00
..
display Enable some more linting rules (#17456) 2024-10-03 17:37:13 +00:00
diy Enable some more linting rules (#17456) 2024-10-03 17:37:13 +00:00
filestate Rename filestate to DIY (#15314) 2024-01-30 15:53:10 +00:00
httpstate Factor out the lifecycle testing framework 2024-10-18 17:04:15 +01:00
state [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
apply.go Fix rendering of output events in rendering update diffs (#17029) 2024-08-27 18:37:03 +00:00
apply_test.go Make `engine.NewEvent` type safe (#14590) 2023-11-16 16:54:03 +00:00
backend.go Respect existing stack configuration when initialising secret managers (#17465) 2024-10-03 15:40:39 +00:00
backend_test.go Allow anything in resource names (#14107) 2023-11-20 08:59:00 +00:00
cancellation_scope.go Allow cancelling operations with SIGTERM (#17467) 2024-10-07 13:49:04 +00:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
errors.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
inmemoryPersister.go Revert "Revert "Run integration tests and dev builds with race detection" (#15998)" (#16148) 2024-05-09 16:15:41 +00:00
login_manager.go Add LoginManager to backend package (#17199) 2024-09-10 09:04:49 +00:00
mock.go Respect existing stack configuration when initialising secret managers (#17465) 2024-10-03 15:40:39 +00:00
policypack.go Replace `result.Result` with native errors (#17044) 2024-08-22 14:39:59 +00:00
query.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
snapshot.go Introduce snapshot metadata (#17430) 2024-09-30 16:45:40 +00:00
snapshot_test.go Introduce snapshot metadata (#17430) 2024-09-30 16:45:40 +00:00
stack.go Allow `Backend`s to define `DefaultSecretManager`s (#17370) 2024-09-26 08:52:24 +00:00
updates.go [cli] Include config from ESC in `pulumi config` (#14560) 2023-11-21 10:44:45 +00:00
watch.go Enable some more linting rules (#17456) 2024-10-03 17:37:13 +00:00