Index: libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp =================================================================== --- libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp +++ libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp @@ -10,8 +10,6 @@ // istream cerr; -// XFAIL: LIBCXX-WINDOWS-FIXME - // UNSUPPORTED: executor-has-no-bash // FILE_DEPENDENCIES: ../check-stderr.sh // RUN: %{build} Index: libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp =================================================================== --- libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp +++ libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp @@ -10,8 +10,6 @@ // istream clog; -// XFAIL: LIBCXX-WINDOWS-FIXME - // UNSUPPORTED: executor-has-no-bash // FILE_DEPENDENCIES: ../check-stderr.sh // RUN: %{build} Index: libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp =================================================================== --- libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp +++ libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp @@ -10,8 +10,6 @@ // istream cout; -// XFAIL: LIBCXX-WINDOWS-FIXME - // UNSUPPORTED: executor-has-no-bash // FILE_DEPENDENCIES: ../check-stdout.sh // RUN: %{build} Index: libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.sh.cpp =================================================================== --- libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.sh.cpp +++ libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.sh.cpp @@ -11,7 +11,6 @@ // istream wcerr; // XFAIL: libcpp-has-no-wide-characters -// XFAIL: LIBCXX-WINDOWS-FIXME // UNSUPPORTED: executor-has-no-bash // FILE_DEPENDENCIES: ../check-stderr.sh Index: libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wclog.sh.cpp =================================================================== --- libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wclog.sh.cpp +++ libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wclog.sh.cpp @@ -11,7 +11,6 @@ // istream wclog; // XFAIL: libcpp-has-no-wide-characters -// XFAIL: LIBCXX-WINDOWS-FIXME // UNSUPPORTED: executor-has-no-bash // FILE_DEPENDENCIES: ../check-stderr.sh Index: libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcout.sh.cpp =================================================================== --- libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcout.sh.cpp +++ libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcout.sh.cpp @@ -11,7 +11,6 @@ // istream wcout; // XFAIL: libcpp-has-no-wide-characters -// XFAIL: LIBCXX-WINDOWS-FIXME // UNSUPPORTED: executor-has-no-bash // FILE_DEPENDENCIES: ../check-stdout.sh Index: libcxx/utils/libcxx/test/features.py =================================================================== --- libcxx/utils/libcxx/test/features.py +++ libcxx/utils/libcxx/test/features.py @@ -74,8 +74,14 @@ # Whether Bash can run on the executor. # This is not always the case, for example when running on embedded systems. + # + # For the corner case of bash existing, but it being missing in the path + # set in %{exec} as "--env PATH=one-single-dir", the executor does find + # and executes bash, but bash then can't find any other common shell + # utilities. Test executing "bash -c 'bash --version'" to see if bash + # manages to find binaries to execute. Feature(name='executor-has-no-bash', - when=lambda cfg: runScriptExitCode(cfg, ['%{exec} bash --version']) != 0), + when=lambda cfg: runScriptExitCode(cfg, ['%{exec} bash -c \'bash --version\'']) != 0), Feature(name='apple-clang', when=_isAppleClang), Feature(name=lambda cfg: 'apple-clang-{__clang_major__}'.format(**compilerMacros(cfg)), when=_isAppleClang),