<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/lldb/packages/Python/lldbsuite/test/decorators.py, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[NFC][LLDB] Make it possible to detect if the compiler used in tests supports -fbounds-safety (#169112)</title>
<updated>2025-11-22T03:01:31+00:00</updated>
<author>
<name>Dan Liew</name>
<email>dan@su-root.co.uk</email>
</author>
<published>2025-11-22T03:01:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8bdbc57b8975d77da88562392299ee5d9c2b6cbb'/>
<id>8bdbc57b8975d77da88562392299ee5d9c2b6cbb</id>
<content type='text'>
This patch makes it possible to detect in LLDB shell and API tests if
`-fbounds-safety` is supported by the compiler used for testing. The
motivation behind this is to allow upstreaming
https://github.com/swiftlang/llvm-project/pull/11835 but with the tests
disabled in upstream because the full implementation of -fbounds-safety
isn't available in Clang yet.

For shell tests when -fbounds-safety is available the
`clang-bounds-safety` feature is available which means tests can be
annotated with `# REQUIRES: clang-bounds-safety`.

API tests that need -fbounds-safety support in the compiler can use the
new `@skipUnlessBoundsSafety` decorator.

rdar://165225507</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch makes it possible to detect in LLDB shell and API tests if
`-fbounds-safety` is supported by the compiler used for testing. The
motivation behind this is to allow upstreaming
https://github.com/swiftlang/llvm-project/pull/11835 but with the tests
disabled in upstream because the full implementation of -fbounds-safety
isn't available in Clang yet.

For shell tests when -fbounds-safety is available the
`clang-bounds-safety` feature is available which means tests can be
annotated with `# REQUIRES: clang-bounds-safety`.

API tests that need -fbounds-safety support in the compiler can use the
new `@skipUnlessBoundsSafety` decorator.

rdar://165225507</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Fix execution flow imbalance when using C++ Exceptions (#165066)</title>
<updated>2025-11-12T02:31:57+00:00</updated>
<author>
<name>Med Ismail Bennani</name>
<email>ismail@bennani.ma</email>
</author>
<published>2025-11-12T02:31:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cf35502dd569d842a860696650a783f896db0648'/>
<id>cf35502dd569d842a860696650a783f896db0648</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb][test] Unify test infrastructure for checking CPU features (#153914)</title>
<updated>2025-09-24T20:31:02+00:00</updated>
<author>
<name>Julian Lettner</name>
<email>yln@users.noreply.github.com</email>
</author>
<published>2025-09-24T20:31:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5d511b6736d0c70a99ea38bd800be0ffe65991e7'/>
<id>5d511b6736d0c70a99ea38bd800be0ffe65991e7</id>
<content type='text'>
This addresses limitations in our testing infrastructure for checking
CPU features. Before this
* `getCPUInfo()` was Linux-only, and the
* `@skipUnlessFeature` decorator was Darwin-only and did not consider
the remote (on device) testing use case.

Introduce `CPUFeature` class as an abstraction to hide the
platform-specific implementations to check for CPU features. Unify local
(on host) and remote (on device) test execution by always going through
`test.run_platform_command()` which uses LLDB's `platform shell &lt;cmd&gt;`
command.

Potential future cleanups: I think `@skipUnlessFeature` decorator could
be used in place of code like this:
```
if not self.isAArch64SME():
    self.skipTest("SME must be present.")
if not self.isAArch64SME2():
    self.skipTest("SME2 must be present.")
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This addresses limitations in our testing infrastructure for checking
CPU features. Before this
* `getCPUInfo()` was Linux-only, and the
* `@skipUnlessFeature` decorator was Darwin-only and did not consider
the remote (on device) testing use case.

Introduce `CPUFeature` class as an abstraction to hide the
platform-specific implementations to check for CPU features. Unify local
(on host) and remote (on device) test execution by always going through
`test.run_platform_command()` which uses LLDB's `platform shell &lt;cmd&gt;`
command.

Potential future cleanups: I think `@skipUnlessFeature` decorator could
be used in place of code like this:
```
if not self.isAArch64SME():
    self.skipTest("SME must be present.")
if not self.isAArch64SME2():
    self.skipTest("SME2 must be present.")
```</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] fix Python 3.9+ specific typing annotations (#156868)</title>
<updated>2025-09-05T16:25:38+00:00</updated>
<author>
<name>Charles Zablit</name>
<email>c_zablit@apple.com</email>
</author>
<published>2025-09-05T16:25:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=25ebdfe0ab202a6cb30232d84bc5838439fd67d5'/>
<id>25ebdfe0ab202a6cb30232d84bc5838439fd67d5</id>
<content type='text'>
This patch replaces `list` with its `typing` implementation, i.e
`list[str]` becomes `List[str]`.

[Type hinting generic in the standard collection were introduced in
Python 3.9](https://peps.python.org/pep-0585/), however the minimum
supported Python version for lldb is 3.8. This patch will unblock the
[bots for Ubuntu
20.04](https://ci.swift.org/view/Swift%20rebranch/job/oss-swift-rebranch-package-ubuntu-20_04/2847/consoleText),
which run on Python 3.8.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch replaces `list` with its `typing` implementation, i.e
`list[str]` becomes `List[str]`.

[Type hinting generic in the standard collection were introduced in
Python 3.9](https://peps.python.org/pep-0585/), however the minimum
supported Python version for lldb is 3.8. This patch will unblock the
[bots for Ubuntu
20.04](https://ci.swift.org/view/Swift%20rebranch/job/oss-swift-rebranch-package-ubuntu-20_04/2847/consoleText),
which run on Python 3.8.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Don't use NamedTemporaryFile to test compiler support (#151387)</title>
<updated>2025-07-31T20:21:14+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2025-07-31T20:21:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bf7afe1dc9c36011457c57b87cbe48e89f105ce4'/>
<id>bf7afe1dc9c36011457c57b87cbe48e89f105ce4</id>
<content type='text'>
You cannot use a NamedTempFile with an external process because it may
not be flushed to disk. The safest and most portable approach is to
close the file, call the other process and then unlink the file
manually.

Presumably this works fine on Linux, but it fails on Darwin when
targeting remote-linux.

See https://bugs.python.org/issue29573</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
You cannot use a NamedTempFile with an external process because it may
not be flushed to disk. The safest and most portable approach is to
close the file, call the other process and then unlink the file
manually.

Presumably this works fine on Linux, but it fails on Darwin when
targeting remote-linux.

See https://bugs.python.org/issue29573</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Add support for NoneType to decorator skipIfBuildType (#145342)</title>
<updated>2025-06-23T16:23:19+00:00</updated>
<author>
<name>Ivan Tadeu Ferreira Antunes Filho</name>
<email>antunesi@google.com</email>
</author>
<published>2025-06-23T16:23:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=698e9f56558e20ceb80c08c4a880bed15970b777'/>
<id>698e9f56558e20ceb80c08c4a880bed15970b777</id>
<content type='text'>
Currently if cmake_build_type is None we error with `AttributeError:
'NoneType' object has no attribute 'lower'` if the decorator
skipIfBuildType is used. This fixes the issue by first checking that
cmake_build_type is not None.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently if cmake_build_type is None we error with `AttributeError:
'NoneType' object has no attribute 'lower'` if the decorator
skipIfBuildType is used. This fixes the issue by first checking that
cmake_build_type is not None.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Revive TestSimulatorPlatform.py (#142244)</title>
<updated>2025-06-10T20:30:31+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2025-06-10T20:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a7f495f170864e6bddc4bb29ae7fae293a7136aa'/>
<id>a7f495f170864e6bddc4bb29ae7fae293a7136aa</id>
<content type='text'>
This test was incorrectly disabled and bitrotted since then. This PR
fixes up the test and re-enables it.

 - Build against the system libc++ (which can target the simulator)
 - Bump the deployment target for iOS and tvOS on Apple Silicon
 - Skip backdeploying to pre-Apple Silicon OS on Apple Silicon.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This test was incorrectly disabled and bitrotted since then. This PR
fixes up the test and re-enables it.

 - Build against the system libc++ (which can target the simulator)
 - Bump the deployment target for iOS and tvOS on Apple Silicon
 - Skip backdeploying to pre-Apple Silicon OS on Apple Silicon.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Adding a new decorator for CMAKE_BUILD_TYPE. (#141159)</title>
<updated>2025-05-23T15:46:23+00:00</updated>
<author>
<name>John Harrison</name>
<email>harjohn@google.com</email>
</author>
<published>2025-05-23T15:46:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7dc7c155251c0008d5d59b84f0c9056365740f11'/>
<id>7dc7c155251c0008d5d59b84f0c9056365740f11</id>
<content type='text'>
In lldb-dap, we have existing tests that are known to be unstable when
lldb and lldb-dap are built in the Debug configuration.

This decorator lets us skip those tests in CI jobs that are to slow with
those configurations.

This was split out from #140777 to make the patches smaller.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In lldb-dap, we have existing tests that are known to be unstable when
lldb and lldb-dap are built in the Debug configuration.

This decorator lets us skip those tests in CI jobs that are to slow with
those configurations.

This was split out from #140777 to make the patches smaller.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Provide an unconditional @skip annotation for API tests (#137712)</title>
<updated>2025-04-29T15:28:43+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2025-04-29T15:28:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3081ec12491aa2514e03fe27abf9ff44e9e332ae'/>
<id>3081ec12491aa2514e03fe27abf9ff44e9e332ae</id>
<content type='text'>
The correct way of doing this today is to use `@skipIf` with no
arguments, which reads like it expects a condition.

Fixes #137710</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The correct way of doing this today is to use `@skipIf` with no
arguments, which reads like it expects a condition.

Fixes #137710</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Fixed the @skipUnlessAArch64MTELinuxCompiler decorator (#115480)</title>
<updated>2024-11-08T13:44:51+00:00</updated>
<author>
<name>Dmitry Vasilyev</name>
<email>dvassiliev@accesssoftek.com</email>
</author>
<published>2024-11-08T13:44:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=32c744ae339dc356060636bcdf75a5e2a67fca00'/>
<id>32c744ae339dc356060636bcdf75a5e2a67fca00</id>
<content type='text'>
It is broken after #115337

https://lab.llvm.org/buildbot/#/builders/195/builds/794</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is broken after #115337

https://lab.llvm.org/buildbot/#/builders/195/builds/794</pre>
</div>
</content>
</entry>
</feed>
