Page MenuHomePhabricator

[libc++] Allow detecting whether the executor supports Bash
Needs ReviewPublic

Authored by ldionne on Thu, Nov 25, 1:28 PM.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

A few tests in the test suite require support for Bash. For example,
tests that run a program and send data through stdin to it require some
way of piping the data in, and we use a Bash script for that.

However, some executors (e.g. an embedded systems simulator) do not
support Bash, so these tests will fail. This commit adds a Lit feature
that tries to detect whether Bash is available through conventional
means, and disables the tests that require it otherwise.

Diff Detail

Unit TestsFailed

TimeTest
120 mslibcxx CI 32 bit > llvm-libunwind-shared-cfg-in.llvm-libunwind-shared-cfg-in::forceunwind.pass.cpp
Script: -- : 'COMPILED WITH'; /usr/bin/c++ /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/test/forceunwind.pass.cpp --target=x86_64-unknown-linux-gnu -m32 -nostdinc++ -I /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/include -funwind-tables -std=c++2b -Werror -Wall -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wno-atomic-alignment -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_DISABLE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -L /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -Wl,-rpath,/home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -lunwind -ldl -Wl,--export-dynamic -o /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/Output/forceunwind.pass.cpp.dir/t.tmp.exe
110 mslibcxx CI 32 bit > llvm-libunwind-shared-cfg-in.llvm-libunwind-shared-cfg-in::frameheadercache_test.pass.cpp
Script: -- : 'COMPILED WITH'; /usr/bin/c++ /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/test/frameheadercache_test.pass.cpp --target=x86_64-unknown-linux-gnu -m32 -nostdinc++ -I /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/include -funwind-tables -std=c++2b -Werror -Wall -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wno-atomic-alignment -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_DISABLE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -L /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -Wl,-rpath,/home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -lunwind -ldl -Wl,--export-dynamic -o /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/Output/frameheadercache_test.pass.cpp.dir/t.tmp.exe
110 mslibcxx CI 32 bit > llvm-libunwind-shared-cfg-in.llvm-libunwind-shared-cfg-in::libunwind_01.pass.cpp
Script: -- : 'COMPILED WITH'; /usr/bin/c++ /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/test/libunwind_01.pass.cpp --target=x86_64-unknown-linux-gnu -m32 -nostdinc++ -I /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/include -funwind-tables -std=c++2b -Werror -Wall -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wno-atomic-alignment -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_DISABLE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -L /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -Wl,-rpath,/home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -lunwind -ldl -Wl,--export-dynamic -o /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/Output/libunwind_01.pass.cpp.dir/t.tmp.exe
110 mslibcxx CI 32 bit > llvm-libunwind-shared-cfg-in.llvm-libunwind-shared-cfg-in::libunwind_02.pass.cpp
Script: -- : 'COMPILED WITH'; /usr/bin/c++ /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/test/libunwind_02.pass.cpp --target=x86_64-unknown-linux-gnu -m32 -nostdinc++ -I /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/include -funwind-tables -std=c++2b -Werror -Wall -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wno-atomic-alignment -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_DISABLE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -L /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -Wl,-rpath,/home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -lunwind -ldl -Wl,--export-dynamic -o /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/Output/libunwind_02.pass.cpp.dir/t.tmp.exe
110 mslibcxx CI 32 bit > llvm-libunwind-shared-cfg-in.llvm-libunwind-shared-cfg-in::signal_frame.pass.cpp
Script: -- : 'COMPILED WITH'; /usr/bin/c++ /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/test/signal_frame.pass.cpp --target=x86_64-unknown-linux-gnu -m32 -nostdinc++ -I /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/libunwind/include -funwind-tables -std=c++2b -Werror -Wall -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-user-defined-literals -Wno-noexcept-type -Wno-atomic-alignment -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_DISABLE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -L /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -Wl,-rpath,/home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/lib -lunwind -ldl -Wl,--export-dynamic -o /home/libcxx-builder/.buildkite-agent/builds/3ee5c29e8c3b-1/llvm-project/libcxx-ci/build/generic-32bit/Output/signal_frame.pass.cpp.dir/t.tmp.exe
View Full Test Results (8 Failed)

Event Timeline

ldionne created this revision.Thu, Nov 25, 1:28 PM
ldionne requested review of this revision.Thu, Nov 25, 1:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptThu, Nov 25, 1:28 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript