pulumi/sdk/python/lib/test
Julien 43a9bd7fe6
Catch BaseException in automation API server (#17909)
Automation API is useful for writing tests for Pulumi programs, and a
user could write a test as follows:

```python
def program():
    with pytest.raises(ValueError):
        _a = 1 + 2  # No error here, pytest.raises should fail

stack = create_stack("mystack", program=program, project_name="proj")

with pytest.raises(InlineSourceRuntimeError):
    stack.preview()
```

If the block in `pytest.raises` does not raise the expected error or any
error, `pytest.raises` fails the test by raising an `OutcomeException`.
This exception class inherits from `BaseException`, not `Exception`, so
we would previously not catch this, and fail to report an error from the
automation API server's `Run` method, causing the call to
`stack.preview`
to hang indefinitely.

Fixes https://github.com/pulumi/pulumi/issues/17133
2024-12-03 15:47:58 +00:00
..
automation Catch BaseException in automation API server (#17909) 2024-12-03 15:47:58 +00:00
data/lazy_import_test [sdk/python] Workaround lazy module regression (#16038) 2024-04-24 06:53:59 +00:00
dynamic Allow accessing configuration in Python dynamic providers (#17673) 2024-11-07 10:12:24 +00:00
langhost Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
provider Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
runtime Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
__init__.py Fix a couple of issues when projecting Protobuf and UNKNOWN in Python (#1468) 2018-06-06 16:09:07 -07:00
conftest.py Use black to format lib/test (#16028) 2024-04-23 08:29:58 +00:00
helpers.py Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
test_broken_dynamic_provider.py Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
test_config.py Use black to format lib/test (#16028) 2024-04-23 08:29:58 +00:00
test_deprecated.py Fixing a few pylint errors in the python test folder (#16962) 2024-08-14 08:26:34 +00:00
test_invoke.py [Python] Allow specifiying dependencies for output invokes (#17751) 2024-11-20 12:28:41 +00:00
test_monitor_termination.py Fixing a few pylint errors in the python test folder (#16962) 2024-08-14 08:26:34 +00:00
test_next_serialize.py Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
test_output.py Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
test_resource.py Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
test_runtime_to_json.py Use black to format lib/test (#16028) 2024-04-23 08:29:58 +00:00
test_stack_reference.py Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
test_stack_registers_outputs.py Switch to ruff for linting and formatting (#17882) 2024-12-02 12:41:19 +00:00
test_translate_output_properties.py Start mypy linting lib/test (#16040) 2024-04-30 12:54:13 +00:00
test_types_input_type.py Fixing a few pylint errors in the python test folder (#16962) 2024-08-14 08:26:34 +00:00
test_types_input_type_types.py Start mypy linting lib/test (#16040) 2024-04-30 12:54:13 +00:00
test_types_output_type.py Fixing a few pylint errors in the python test folder (#16962) 2024-08-14 08:26:34 +00:00
test_types_resource_types.py Start mypy linting lib/test (#16040) 2024-04-30 12:54:13 +00:00
test_urn.py Use black to format lib/test (#16028) 2024-04-23 08:29:58 +00:00
test_utils.py Start mypy linting lib/test (#16040) 2024-04-30 12:54:13 +00:00