Skip to content

[Build] Make sure lldb API tests run against newly built libcxx #66018

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

Merged

Conversation

Michael137
Copy link
Contributor

@Michael137 Michael137 commented May 19, 2023

Currently any buildbot that runs LLDB API tests does so against the system SDK. However, we explicitly need users to run the tests against a newly built libcxx. We recently added a new LLDB_TEST_LIBCXX_ROOT_DIR CMake variable to LLDB to allow standalone builds to point their tests to a custom libcxx directory.

This patch makes sure the relevant LLDB presets build libcxx and then sets above CMake variable.

The remaining changes to the build-script are needed to actually build libcxx (which requires libcxxabi).

Currently any buildbot that runs LLDB API tests does so
against the system SDK. However, we explicitly need users
to run the tests against a newly built libcxx. We recently
added a new `LLDB_TEST_LIBCXX_ROOT_DIR` CMake variable to
LLDB to allow standalone builds to point their tests to
a custom libcxx directory.

This patch makes sure the relevant LLDB presets build
libcxx and then sets above CMake variable.
@Michael137
Copy link
Contributor Author

@swift-ci test

@Michael137 Michael137 changed the title WIP: [Build] Make sure lldb API tests run against newly built libcxx [Build] Make sure lldb API tests run against newly built libcxx May 19, 2023
@adrian-prantl
Copy link
Contributor

adrian-prantl commented May 19, 2023

Can you open an empty PR in the llvm-project and do a

test with https://github.com/apple/swift/pull/66018
@swift-ci test

to test this preset on a PR that's affected by it?

Michael137 added a commit to Michael137/llvm-project that referenced this pull request May 22, 2023
With swiftlang/swift#66018 we started to
run standalone tests (e.g., the ones on swift-ci) against newly
built libcxx. This caused the test to fail on the 5.9 branch.
The first step-in into a pointer to a data member didn't behave
as expected.

Thus skip it for now.
Michael137 added a commit to Michael137/llvm-project that referenced this pull request May 22, 2023
With swiftlang/swift#66018 we started to
run standalone tests (e.g., the ones on swift-ci) against newly
built libcxx. This caused the test to fail on the 5.9 branch.
The first step-in into a pointer to a data member didn't behave
as expected.

Thus skip it for now.

(cherry picked from commit 61157af)
Michael137 added a commit to swiftlang/llvm-project that referenced this pull request May 22, 2023
With swiftlang/swift#66018 we started to run standalone tests
(e.g., the ones on swift-ci) against newly built libcxx.
This caused the test to fail on the 5.9 branch. The first
step-in into a pointer to a data member didn't behave as expected.

Thus skip it for now.
Michael137 added a commit to Michael137/llvm-project that referenced this pull request May 22, 2023
With swiftlang/swift#66018 we started to run standalone tests
(e.g., the ones on swift-ci) against newly built libcxx.
This caused the test to fail on the 5.9 branch. The first
step-in into a pointer to a data member didn't behave as expected.

Thus skip it for now.

(cherry picked from commit dbd0474)
@adrian-prantl adrian-prantl merged commit e5f749b into swiftlang:main May 22, 2023
Michael137 added a commit to Michael137/swift that referenced this pull request May 23, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018
Michael137 added a commit to Michael137/swift that referenced this pull request May 23, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018

(cherry picked from commit 7893c8e)
Michael137 added a commit to Michael137/swift that referenced this pull request May 23, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018
Michael137 added a commit that referenced this pull request May 26, 2023
…skipped

Currently the `--skip-test-lldb` flag will only skip *running* the
tests. But we still pass `LLDB_INCLUDE_TESTS` to CMake when configuring
LLDB.

Since #66018 configuring LLDB tests will
now always require libcxx to be built. For some presets (e.g.,
`buildbot_osx_package`) we don't need to build libcxx and we explicitly
pass `--skip-test-lldb`; this means if we were to try configure LLDB
tests we would hard error.

The proposed solution is to check whether the user wants to skip LLDB
tests, and if so, set `LLDB_INCLUDE_TESTS=FALSE`.
Michael137 added a commit that referenced this pull request May 26, 2023
…skipped

Currently the `--skip-test-lldb` flag will only skip *running* the
tests. But we still pass `LLDB_INCLUDE_TESTS` to CMake when configuring
LLDB.

Since #66018 configuring LLDB tests will
now always require libcxx to be built. For some presets (e.g.,
`buildbot_osx_package`) we don't need to build libcxx and we explicitly
pass `--skip-test-lldb`; this means if we were to try configure LLDB
tests we would hard error.

The proposed solution is to check whether the user wants to skip LLDB
tests, and if so, set `LLDB_INCLUDE_TESTS=FALSE`.

rdar://109774179
Michael137 added a commit to Michael137/swift that referenced this pull request May 26, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018

(cherry picked from commit 7893c8e)
Michael137 added a commit to Michael137/swift that referenced this pull request May 26, 2023
…skipped

Currently the `--skip-test-lldb` flag will only skip *running* the
tests. But we still pass `LLDB_INCLUDE_TESTS` to CMake when configuring
LLDB.

Since swiftlang#66018 configuring LLDB tests will
now always require libcxx to be built. For some presets (e.g.,
`buildbot_osx_package`) we don't need to build libcxx and we explicitly
pass `--skip-test-lldb`; this means if we were to try configure LLDB
tests we would hard error.

The proposed solution is to check whether the user wants to skip LLDB
tests, and if so, set `LLDB_INCLUDE_TESTS=FALSE`.

rdar://109774179
(cherry picked from commit 2d41efe)
Michael137 added a commit to Michael137/swift that referenced this pull request May 27, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018
Michael137 added a commit to Michael137/swift that referenced this pull request May 27, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018
Michael137 added a commit to Michael137/swift that referenced this pull request May 27, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018

(cherry picked from commit 7893c8e)
meg-gupta pushed a commit to meg-gupta/swift that referenced this pull request Jun 2, 2023
…skipped

Currently the `--skip-test-lldb` flag will only skip *running* the
tests. But we still pass `LLDB_INCLUDE_TESTS` to CMake when configuring
LLDB.

Since swiftlang#66018 configuring LLDB tests will
now always require libcxx to be built. For some presets (e.g.,
`buildbot_osx_package`) we don't need to build libcxx and we explicitly
pass `--skip-test-lldb`; this means if we were to try configure LLDB
tests we would hard error.

The proposed solution is to check whether the user wants to skip LLDB
tests, and if so, set `LLDB_INCLUDE_TESTS=FALSE`.

rdar://109774179
meg-gupta pushed a commit to meg-gupta/swift that referenced this pull request Jun 2, 2023
The preset for ubsan/asan buildbots include the
`buildbot_incremental_base` preset, which builds/runs
tests. But the tests now require libcxx to be built
since swiftlang#66018
adrian-prantl pushed a commit to adrian-prantl/llvm-project that referenced this pull request Oct 2, 2023
With swiftlang/swift#66018 we started to run standalone tests
(e.g., the ones on swift-ci) against newly built libcxx.
This caused the test to fail on the 5.9 branch. The first
step-in into a pointer to a data member didn't behave as expected.

Thus skip it for now.

(cherry picked from commit dbd0474)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants