# FIXME: ShellExpandArguments is unimplemented on the following targets.
# UNSUPPORTED: system-windows
# UNSUPPORTED: system-linux
# XFAIL: system-freebsd
# XFAIL: system-netbsd
# XFAIL: system-openbsd

# RUN: %clang_host %S/Inputs/simple.c -g -o %t.out
# RUN: env SHELL=bogus not %lldb %t.out -b -o 'process launch -X 1 --' 2>&1 | FileCheck %s --check-prefix ERROR
# RUN: env -i ASAN_OPTIONS='detect_container_overflow=0' %lldb %t.out -b -o 'process launch -X 1 --' 2>&1 | FileCheck %s

# ERROR: error: shell expansion failed
# CHECK-NOT: error: shell expansion failed
