Files
clang-p2996/libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp
Louis Dionne 1fc5010d6b [libc++] Consider everything inside %T to be a dependency of each test
Instead of passing file dependencies individually, assume that the
whole content of the unique test directory is a dependency. This
simplifies the test harness significantly, by making %T the directory
that contains everything required to run a test. This also removes the
need for the %{file_dependencies} substitution, which is removed by this
patch.

Furthermore, this patch also changes the harness to execute tests locally
inside %T, so as to avoid creating a separate directory for no purpose.
2020-06-10 22:38:05 -04:00

38 lines
844 B
C++

//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
// XFAIL: libcpp-has-no-stdin
// <iostream>
// istream cin;
// RUN: %{build}
// RUN: %{exec} echo "123" \| %t.exe > %t.out
// RUN: grep -e 'The number is 123!' %t.out
#include <iostream>
#include <cassert>
#include "test_macros.h"
int main(int, char**)
{
int i;
std::cin >> i;
std::cout << "The number is " << i << "!";
#ifdef _LIBCPP_HAS_NO_STDOUT
assert(std::cin.tie() == NULL);
#else
assert(std::cin.tie() == &std::cout);
#endif
return 0;
}