Commit Graph

15 Commits

Author SHA1 Message Date
Michael Gottesman
b53af9419c [send-non-sendable] Add REQUIRES: asserts to concurrency tests that use SendNonSendable. 2023-08-31 19:25:23 -07:00
Michael Gottesman
026f1735b5 [send-non-sendable] Update concurrency tests so that we run them in all concurrency modes as appropriate.
This means that:

1. In test cases where minimal is the default (swift 5 without
-warn-concurrency), I added RUN lines for targeted, complete, and complete +
sns.

2. In test cases where complete is the default (swift 6, -warn-concurrency,
specified complete with -strict-concurrency), I added a send non-sendable run
line.

In each of these cases, I added additional expected-* lines as appropriate so
the tests can compile in each mode successfully.
2023-08-30 13:40:17 -07:00
Hamish Knight
e3452e0158 [test] Disable async_task_priority.swift for arm64e 2023-05-31 14:04:08 +01:00
Rokhini Prabhu
9b6c873239 Escalate an actor if a job in the queue of the actor has been escalated.
Radar-Id: rdar://problem/101864092
2023-02-28 13:52:26 -08:00
Rokhini Prabhu
9800c0365e Reenable async_task_priority test
Radar-Id: rdar://problem/105396748
2023-02-25 15:23:35 -08:00
Nate Cook
27c1d4971a [test] Disable two hanging tests on tvOS simulator (#63886) 2023-02-24 10:23:27 -06:00
Nate Cook
11c32fa943 [test] Disable two hanging tests on iOS simulator (#63867) 2023-02-23 12:20:28 -06:00
Konrad `ktoso` Malawski
5431c6dad3 [Concurrency] Base priority should be present on UnsafeTask too (#63563) 2023-02-22 15:56:50 +09:00
Mike Ash
915452e6f8 [Test] Disable failing async_task_priority test. 2023-02-14 11:43:07 -05:00
Rokhini Prabhu
e052ccef31 Create the notion of a TaskDependencyStatusRecord which tracks what a
task is blocked on. We can use this information to then perform live
priority escalation to a task future.

Radar-Id: rdar://problem/88093007
2023-02-08 17:29:55 -08:00
Hamish Knight
95c4ccfd64 [test] Disable a couple of tests on watchOS simulator 2022-10-21 11:30:34 +01:00
Doug Gregor
7589520f7c Make back-deployed concurrency library testable on OS's that have the library.
Change the order of paths provided for `DYLD_LIBRARY_PATH` when running
tests for the back-deployed concurrency library, so they supersede the
ones in `/usr/lib/swift`. This way, we can test the back-deployed
concurrency library even on OS's that have the concurrency library in
them. It's not a complete test, because the standard library and
runtime will still vary, but can reproduce many failures more easily.

When using the back-deployed concurrency library, set the lit feature
`back_deploy_concurrency`. Update some tests that are unsupported with
back-deployment to check this.

Finally, add some logging when the concurrency runtime cannot be
tested at all, to help with debugging CI in the future.
2022-06-06 14:37:17 -07:00
Evan Wilde
7952010c03 s/_predatesConcurrency/preconcurrency async_task_priority
Replace use of `_predatesConcurrency` with `preconcurrency`.
2022-04-11 18:51:39 -07:00
Evan Wilde
82e34fa2dc Fix async_task_priority
This test imports Darwin directly so it fails on Linux with
```
error: no such module 'Darwin'
```
2022-04-11 18:51:39 -07:00
Rokhini Prabhu
66d4af0b01 Task priority escalation on Apple platforms
A task can be in one of 4 states over its lifetime:

    (a) suspended
    (b) enqueued
    (c) running
    (d) completed

This change provides priority inversion avoidance support if a task gets
escalated when it is in state (a), (c), (d).

Radar-Id: rdar://problem/76127624
2022-02-07 16:34:46 -08:00