Certain source control systems like to set the read-only bit on their files, which interferes with opening "test.dat" for both input and output. Fortunately, we can work around this without losing test coverage. Now, the ifstream.cons tests have comments referring to the ofstream.cons tests. There, we're creating writable files (not checked into source control), where the ifstream constructor tests will succeed. Fixes D26814. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289463 91177308-0d34-0410-b5e6-96231b3b80d8
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is dual licensed under the MIT and the University of Illinois Open
|
|
// Source Licenses. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// <fstream>
|
|
|
|
// template <class charT, class traits = char_traits<charT> >
|
|
// class basic_ifstream
|
|
|
|
// explicit basic_ifstream(const char* s, ios_base::openmode mode = ios_base::in);
|
|
|
|
#include <fstream>
|
|
#include <cassert>
|
|
|
|
int main()
|
|
{
|
|
{
|
|
std::ifstream fs("test.dat");
|
|
double x = 0;
|
|
fs >> x;
|
|
assert(x == 3.25);
|
|
}
|
|
// std::ifstream(const char*, std::ios_base::openmode) is tested in
|
|
// test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
|
|
// which creates writable files.
|
|
{
|
|
std::wifstream fs("test.dat");
|
|
double x = 0;
|
|
fs >> x;
|
|
assert(x == 3.25);
|
|
}
|
|
// std::wifstream(const char*, std::ios_base::openmode) is tested in
|
|
// test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
|
|
// which creates writable files.
|
|
}
|