xref: /llvm-project/libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp (revision 98418c27bc17946990e5980d56ef98ae82da8770)
150cd964eSLouis Dionne //===----------------------------------------------------------------------===//
250cd964eSLouis Dionne //
350cd964eSLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
450cd964eSLouis Dionne // See https://llvm.org/LICENSE.txt for license information.
550cd964eSLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
650cd964eSLouis Dionne //
750cd964eSLouis Dionne //===----------------------------------------------------------------------===//
850cd964eSLouis Dionne 
9ed61123fSDominik Wójt // QEMU does not detect EOF, when reading from stdin
10ed61123fSDominik Wójt // "echo -n" suppresses any characters after the output and so the test hangs.
11ed61123fSDominik Wójt // https://gitlab.com/qemu-project/qemu/-/issues/1963
12ed61123fSDominik Wójt // UNSUPPORTED: LIBCXX-PICOLIBC-FIXME
13257eb745SLouis Dionne 
14bce3b505SRyan Prichard // This test hangs on Android devices that lack shell_v2, which was added in
15bce3b505SRyan Prichard // Android N (API 24).
16bce3b505SRyan Prichard // UNSUPPORTED: LIBCXX-ANDROID-FIXME && android-device-api={{2[1-3]}}
17bce3b505SRyan Prichard 
1850cd964eSLouis Dionne // <iostream>
1950cd964eSLouis Dionne 
2050cd964eSLouis Dionne // istream cin;
2150cd964eSLouis Dionne 
2250cd964eSLouis Dionne // RUN: %{build}
23*98418c27SJake Egan // RUN: echo -n 1234 > %t.input
24*98418c27SJake Egan // RUN: %{exec} %t.exe < %t.input
2550cd964eSLouis Dionne 
2650cd964eSLouis Dionne #include <iostream>
2750cd964eSLouis Dionne #include <cassert>
2850cd964eSLouis Dionne 
main(int,char **)298e5156f6SLouis Dionne int main(int, char**) {
3050cd964eSLouis Dionne     int i;
3150cd964eSLouis Dionne     std::cin >> i;
328e5156f6SLouis Dionne     assert(i == 1234);
3350cd964eSLouis Dionne     return 0;
3450cd964eSLouis Dionne }
35