Commit Graph

18 Commits

Author SHA1 Message Date
Bryce Wilson
5f83c54f8c [Concurrency] Set thread base priority when running escalated Tasks 2025-11-20 11:15:22 +09:00
Bryce Wilson
b30f63530a [Concurrency] Set thread base priority when running escalated Tasks (#84895) 2025-11-20 09:58:08 +09:00
Konrad 'ktoso' Malawski
7e7b4566db [Concurrency] Unbreak priority tests so they actually run & fix them
if #available + -disable-availability-checking seems to have been broken
since... TBD since when exactly. This means that these tests were not
executing at all (!), and when available became fixed, they actually
started executing and seems they hanged.

This fixes the tests however we should look into any other tests which
may have suffered from this and also since when these tests started
hanging -- it likely is a change in how isolation was inferred.

resolves rdar://154765383
2025-07-02 22:13:15 +09:00
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