swift-nio/docker/docker-compose.2204.57.yaml

87 lines
3.6 KiB
YAML
Raw Normal View History

version: "3"
services:
runtime-setup:
image: swift-nio:22.04-5.7
build:
args:
ubuntu_version: "jammy"
swift_version: "5.7"
unit-tests:
image: swift-nio:22.04-5.7
integration-tests:
image: swift-nio:22.04-5.7
documentation-check:
image: swift-nio:22.04-5.7
test:
image: swift-nio:22.04-5.7
environment:
- MAX_ALLOCS_ALLOWED_10000000_asyncsequenceproducer=22
- MAX_ALLOCS_ALLOWED_1000000_asyncwriter=1000050
`Embedded`: `getOption(ChannelOptions.allowRemoteHalfClosure)` should not `fatalError` (#2429) * Embedded: getOption(.allowRemoteHalfClosure) -> OK Motivation: In `swift-nio-ssl`, I am currently working on allowing half-closures which relies on querying the underlying channel if `ChannelOptions.Types.AllowRemoteHalfClosureOption` is enabled. As a lot of `swift-nio-ssl`'s tests rely on `EmbeddedChannel` and it did not support this option, a lot of the tests failed. Modifications: * add a `public var allowRemoteHalfClosure` to `EmbeddedChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `EmbeddedChannel` (only modifies the `allowRemoteHalfClosure` variable * add test for new behaviour * AsyncTestingChannel: getOption(.allowRemoteHalfClosure) -> OK Motivation: `AsyncTestingChannel` interface should be in step with `EmbeddedChannel` interface. Therefore also add support for the `AllowRemoteHalfClosureOption` Modifications: * add a `public var allowRemoteHalfClosure` to `AsyncTestingChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `AsyncTestingChannel` (only modifies the `allowRemoteHalfClosure` variable * add tests for new behaviour * Synchronize access to allowRemoteHalfClosure Modifications: * add `ManagedAtomic` property `_allowRemoteHalfClosure` to `EmbeddedChannelCore` * make sure that access to `allowRemoteHalfClosure` from `AsyncTestingChannel` and `EmbeddedChannel` is synchronized by accessing underlying atomic value in `channelcore` * Update allocation limits
2023-05-20 00:47:47 +08:00
- MAX_ALLOCS_ALLOWED_1000_addHandlers=45050
- MAX_ALLOCS_ALLOWED_1000_addHandlers_sync=39050
- MAX_ALLOCS_ALLOWED_1000_addRemoveHandlers_handlercontext=8050
- MAX_ALLOCS_ALLOWED_1000_addRemoveHandlers_handlername=8050
- MAX_ALLOCS_ALLOWED_1000_addRemoveHandlers_handlertype=8050
- MAX_ALLOCS_ALLOWED_1000_autoReadGetAndSet=18050
- MAX_ALLOCS_ALLOWED_1000_autoReadGetAndSet_sync=0
- MAX_ALLOCS_ALLOWED_1000_copying_bytebufferview_to_array=1050
- MAX_ALLOCS_ALLOWED_1000_copying_circularbuffer_to_array=1050
- MAX_ALLOCS_ALLOWED_1000_getHandlers=8050
`Embedded`: `getOption(ChannelOptions.allowRemoteHalfClosure)` should not `fatalError` (#2429) * Embedded: getOption(.allowRemoteHalfClosure) -> OK Motivation: In `swift-nio-ssl`, I am currently working on allowing half-closures which relies on querying the underlying channel if `ChannelOptions.Types.AllowRemoteHalfClosureOption` is enabled. As a lot of `swift-nio-ssl`'s tests rely on `EmbeddedChannel` and it did not support this option, a lot of the tests failed. Modifications: * add a `public var allowRemoteHalfClosure` to `EmbeddedChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `EmbeddedChannel` (only modifies the `allowRemoteHalfClosure` variable * add test for new behaviour * AsyncTestingChannel: getOption(.allowRemoteHalfClosure) -> OK Motivation: `AsyncTestingChannel` interface should be in step with `EmbeddedChannel` interface. Therefore also add support for the `AllowRemoteHalfClosureOption` Modifications: * add a `public var allowRemoteHalfClosure` to `AsyncTestingChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `AsyncTestingChannel` (only modifies the `allowRemoteHalfClosure` variable * add tests for new behaviour * Synchronize access to allowRemoteHalfClosure Modifications: * add `ManagedAtomic` property `_allowRemoteHalfClosure` to `EmbeddedChannelCore` * make sure that access to `allowRemoteHalfClosure` from `AsyncTestingChannel` and `EmbeddedChannel` is synchronized by accessing underlying atomic value in `channelcore` * Update allocation limits
2023-05-20 00:47:47 +08:00
- MAX_ALLOCS_ALLOWED_1000_getHandlers_sync=36
- MAX_ALLOCS_ALLOWED_1000_reqs_1_conn=26400
`Embedded`: `getOption(ChannelOptions.allowRemoteHalfClosure)` should not `fatalError` (#2429) * Embedded: getOption(.allowRemoteHalfClosure) -> OK Motivation: In `swift-nio-ssl`, I am currently working on allowing half-closures which relies on querying the underlying channel if `ChannelOptions.Types.AllowRemoteHalfClosureOption` is enabled. As a lot of `swift-nio-ssl`'s tests rely on `EmbeddedChannel` and it did not support this option, a lot of the tests failed. Modifications: * add a `public var allowRemoteHalfClosure` to `EmbeddedChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `EmbeddedChannel` (only modifies the `allowRemoteHalfClosure` variable * add test for new behaviour * AsyncTestingChannel: getOption(.allowRemoteHalfClosure) -> OK Motivation: `AsyncTestingChannel` interface should be in step with `EmbeddedChannel` interface. Therefore also add support for the `AllowRemoteHalfClosureOption` Modifications: * add a `public var allowRemoteHalfClosure` to `AsyncTestingChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `AsyncTestingChannel` (only modifies the `allowRemoteHalfClosure` variable * add tests for new behaviour * Synchronize access to allowRemoteHalfClosure Modifications: * add `ManagedAtomic` property `_allowRemoteHalfClosure` to `EmbeddedChannelCore` * make sure that access to `allowRemoteHalfClosure` from `AsyncTestingChannel` and `EmbeddedChannel` is synchronized by accessing underlying atomic value in `channelcore` * Update allocation limits
2023-05-20 00:47:47 +08:00
- MAX_ALLOCS_ALLOWED_1000_rst_connections=147050
- MAX_ALLOCS_ALLOWED_1000_tcpbootstraps=4050
- MAX_ALLOCS_ALLOWED_1000_tcpconnections=154050
- MAX_ALLOCS_ALLOWED_1000_udp_reqs=6050
- MAX_ALLOCS_ALLOWED_1000_udpbootstraps=2050
- MAX_ALLOCS_ALLOWED_1000_udpconnections=77050
`Embedded`: `getOption(ChannelOptions.allowRemoteHalfClosure)` should not `fatalError` (#2429) * Embedded: getOption(.allowRemoteHalfClosure) -> OK Motivation: In `swift-nio-ssl`, I am currently working on allowing half-closures which relies on querying the underlying channel if `ChannelOptions.Types.AllowRemoteHalfClosureOption` is enabled. As a lot of `swift-nio-ssl`'s tests rely on `EmbeddedChannel` and it did not support this option, a lot of the tests failed. Modifications: * add a `public var allowRemoteHalfClosure` to `EmbeddedChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `EmbeddedChannel` (only modifies the `allowRemoteHalfClosure` variable * add test for new behaviour * AsyncTestingChannel: getOption(.allowRemoteHalfClosure) -> OK Motivation: `AsyncTestingChannel` interface should be in step with `EmbeddedChannel` interface. Therefore also add support for the `AllowRemoteHalfClosureOption` Modifications: * add a `public var allowRemoteHalfClosure` to `AsyncTestingChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `AsyncTestingChannel` (only modifies the `allowRemoteHalfClosure` variable * add tests for new behaviour * Synchronize access to allowRemoteHalfClosure Modifications: * add `ManagedAtomic` property `_allowRemoteHalfClosure` to `EmbeddedChannelCore` * make sure that access to `allowRemoteHalfClosure` from `AsyncTestingChannel` and `EmbeddedChannel` is synchronized by accessing underlying atomic value in `channelcore` * Update allocation limits
2023-05-20 00:47:47 +08:00
- MAX_ALLOCS_ALLOWED_1_reqs_1000_conn=400050
- MAX_ALLOCS_ALLOWED_bytebuffer_lots_of_rw=2050
- MAX_ALLOCS_ALLOWED_creating_10000_headers=0
- MAX_ALLOCS_ALLOWED_decode_1000_ws_frames=2050
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_holding_buffer=3
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_holding_buffer_with_mask=2050
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_holding_buffer_with_space=3
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_holding_buffer_with_space_with_mask=2050
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_new_buffer=3050
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_new_buffer_with_mask=5050
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_new_buffer_with_space=3050
- MAX_ALLOCS_ALLOWED_encode_1000_ws_frames_new_buffer_with_space_with_mask=5050
- MAX_ALLOCS_ALLOWED_execute_hop_10000_tasks=0
- MAX_ALLOCS_ALLOWED_future_erase_result=4050
- MAX_ALLOCS_ALLOWED_future_lots_of_callbacks=53050
- MAX_ALLOCS_ALLOWED_get_100000_headers_canonical_form=700050
- MAX_ALLOCS_ALLOWED_get_100000_headers_canonical_form_trimming_whitespace=700050
- MAX_ALLOCS_ALLOWED_get_100000_headers_canonical_form_trimming_whitespace_from_long_string=700050
- MAX_ALLOCS_ALLOWED_get_100000_headers_canonical_form_trimming_whitespace_from_short_string=700050
- MAX_ALLOCS_ALLOWED_modifying_1000_circular_buffer_elements=0
- MAX_ALLOCS_ALLOWED_modifying_byte_buffer_view=6050
- MAX_ALLOCS_ALLOWED_ping_pong_1000_reqs_1_conn=341
- MAX_ALLOCS_ALLOWED_read_10000_chunks_from_file=140050
- MAX_ALLOCS_ALLOWED_schedule_10000_tasks=50100
- MAX_ALLOCS_ALLOWED_schedule_and_run_10000_tasks=50050
`Embedded`: `getOption(ChannelOptions.allowRemoteHalfClosure)` should not `fatalError` (#2429) * Embedded: getOption(.allowRemoteHalfClosure) -> OK Motivation: In `swift-nio-ssl`, I am currently working on allowing half-closures which relies on querying the underlying channel if `ChannelOptions.Types.AllowRemoteHalfClosureOption` is enabled. As a lot of `swift-nio-ssl`'s tests rely on `EmbeddedChannel` and it did not support this option, a lot of the tests failed. Modifications: * add a `public var allowRemoteHalfClosure` to `EmbeddedChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `EmbeddedChannel` (only modifies the `allowRemoteHalfClosure` variable * add test for new behaviour * AsyncTestingChannel: getOption(.allowRemoteHalfClosure) -> OK Motivation: `AsyncTestingChannel` interface should be in step with `EmbeddedChannel` interface. Therefore also add support for the `AllowRemoteHalfClosureOption` Modifications: * add a `public var allowRemoteHalfClosure` to `AsyncTestingChannel` * enable setting/getting `ChannelOptions.Types.AllowRemoteHalfClosureOption` in `AsyncTestingChannel` (only modifies the `allowRemoteHalfClosure` variable * add tests for new behaviour * Synchronize access to allowRemoteHalfClosure Modifications: * add `ManagedAtomic` property `_allowRemoteHalfClosure` to `EmbeddedChannelCore` * make sure that access to `allowRemoteHalfClosure` from `AsyncTestingChannel` and `EmbeddedChannel` is synchronized by accessing underlying atomic value in `channelcore` * Update allocation limits
2023-05-20 00:47:47 +08:00
- MAX_ALLOCS_ALLOWED_scheduling_10000_executions=85
- MAX_ALLOCS_ALLOWED_udp_1000_reqs_1_conn=6200
- MAX_ALLOCS_ALLOWED_udp_1_reqs_1000_conn=167050
- FORCE_TEST_DISCOVERY=--enable-test-discovery
- WARN_AS_ERROR_ARG=-Xswiftc -warnings-as-errors
# - SANITIZER_ARG=--sanitize=thread # TSan broken still
performance-test:
image: swift-nio:22.04-5.7
shell:
image: swift-nio:22.04-5.7
echo:
image: swift-nio:22.04-5.7
http:
image: swift-nio:22.04-5.7