-
Notifications
You must be signed in to change notification settings - Fork 342
[lldb/swift] Add swift type-system progress reporting #4085
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[lldb/swift] Add swift type-system progress reporting #4085
Conversation
@swift-ci test |
@swift-ci test macOS platform |
...PI/functionalities/progress_reporting/swift_progress_reporting/TestSwiftProgressReporting.py
Outdated
Show resolved
Hide resolved
...PI/functionalities/progress_reporting/swift_progress_reporting/TestSwiftProgressReporting.py
Outdated
Show resolved
Hide resolved
...PI/functionalities/progress_reporting/swift_progress_reporting/TestSwiftProgressReporting.py
Outdated
Show resolved
Hide resolved
lldb/test/API/functionalities/progress_reporting/swift_progress_reporting/main.swift
Outdated
Show resolved
Hide resolved
lldb/source/Plugins/LanguageRuntime/Swift/SwiftLanguageRuntime.cpp
Outdated
Show resolved
Hide resolved
932ae2d
to
ccc444a
Compare
@swift-ci test |
5cd7e27
to
d1bfff8
Compare
@swift-ci test linux platform |
@swift-ci test macOS platform |
Signed-off-by: Med Ismail Bennani <[email protected]>
This patch introduces a generic helper class that will listen for event in a background thread and match it against a source broadcaster. If the event received matches the source broadcaster, the event is queued up in a list that the user can access later on. The motivation behind this is to easily test new kinds of events (i.e. Swift type-system progress events). However, this patch also updates `TestProgressReporting.py` and `TestDiagnosticReporting.py` to make use of this new helper class. Differential Revision: https://reviews.llvm.org/D121977 Signed-off-by: Med Ismail Bennani <[email protected]>
This patch reports progress events specific to the swift type-system. Currently, it covers 3 long-running operations: - Setting up the runtime reflection context - Loading implicit modules from the compile unit - Caching them in the expression persistent state It also includes a test a will listen for swift progress events and make sure it we receive them when fetching a swift variable. rdar://75803015 Signed-off-by: Med Ismail Bennani <[email protected]>
This patch simplifies the inferior for TestSwiftProgressReporting, by creating a variable using a type defined in an imported module. It also improve the test by making sure it receives each kind of expected swift progress events. Signed-off-by: Med Ismail Bennani <[email protected]>
d1bfff8
to
2cb812b
Compare
@swift-ci test |
There is a race happening only in the test which cause it to fail randomly. I'm working on a fix on llvm.org, will cherry-pick the fix afterwards. Since this only concerns the test, I don't think we should revert all the patches. |
This discussion is happening on Phab, should be landing the fix today or tomorrow https://reviews.llvm.org/D122193 |
Should be fix with #4109 |
This patch reports progress events specific to the swift type-system.
Currently, it covers 3 long-running operations:
It also includes a test a will listen for swift progress events and make
sure it we receive them when fetching a swift variable.
rdar://75803015
Signed-off-by: Med Ismail Bennani [email protected]