summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/input.output
Commit message (Collapse)AuthorAgeFilesLines
...
* Avoid narrowing conversions in quoted test. Patch from STL@microsoft.comEric Fiselier2016-06-261-6/+6
| | | | llvm-svn: 273818
* Move remaining _LIBCPP_VERSION tests into test/libcxxEric Fiselier2016-06-2211-220/+0
| | | | llvm-svn: 273367
* Fix warnings in tests.Eric Fiselier2016-06-144-6/+6
| | | | llvm-svn: 272629
* Remove trailing whitespace in test suite. Approved by Marshall Clow.Eric Fiselier2016-06-015-12/+12
| | | | llvm-svn: 271435
* [libcxx] Improve tests to use the UNSUPPORTED lit directiveAsiri Rathnayake2016-05-281-4/+1
| | | | | | | | | | | | | | | | | | | Quite a few libcxx tests seem to follow the format: #if _LIBCPP_STD_VER > X // Do test. #else // Empty test. #endif We should instead use the UNSUPPORTED lit directive to exclude the test on earlier C++ standards. This gives us a more accurate number of test passes for those standards and avoids unnecessary conflicts with other lit directives on the same tests. Reviewers: bcraig, ericwf, mclow.lists Differential revision: http://reviews.llvm.org/D20730 llvm-svn: 271108
* Void cast runtime-unused variables. Patch from STL@microsoft.comEric Fiselier2016-05-022-1/+6
| | | | llvm-svn: 268284
* Fix PR21428 for long. Buffer was one byte too small in octal formatting ↵Eric Fiselier2016-04-291-9/+31
| | | | | | case. Rename previously added test llvm-svn: 268009
* Fix or move various non-standard tests.Eric Fiselier2016-04-291-0/+1
| | | | | | | | | | | | This patch does the following: * Remove <__config> includes from some container tests. * Guards uses of std::launch::any in async tests because it's an extension. * Move "test/std/extensions" to "test/libcxx/extensions" * Moves various non-standard tests including those in "sequences/vector", "std/localization" and "utilities/meta". llvm-svn: 267981
* Remove more names of unreferenced parameters. Patch from STL@microsoft.comEric Fiselier2016-04-292-10/+10
| | | | llvm-svn: 267962
* Remove names of unreferenced parameters. Patch from STL@microsoft.comEric Fiselier2016-04-286-6/+6
| | | | llvm-svn: 267852
* Guard Clang and GCC specific pragmas. Patch from STL@microsoft.comEric Fiselier2016-04-281-0/+2
| | | | llvm-svn: 267836
* Rename a few tests that had typos in their names. No functional change. ↵Marshall Clow2016-04-231-0/+0
| | | | | | Thanks to STL for the catch llvm-svn: 267287
* Minor updates to failing tests. NFCMarshall Clow2016-02-092-2/+10
| | | | llvm-svn: 260202
* Clean up a test; get rid of hard-wired char/wchar_t code for template fns ↵Marshall Clow2016-02-081-95/+56
| | | | | | that take any char type. Prep work for PR#26503 llvm-svn: 260115
* [libcxx] Add appropriate 'REQUIRE' directives to tests that require en_US.UTF-8.Daniel Sanders2016-01-2111-0/+22
| | | | | | | | | | Reviewers: mclow.lists, hans Subscribers: bcraig, cfe-commits Differential Revision: http://reviews.llvm.org/D16406 llvm-svn: 258403
* [libcxx] Fixup a few fumbles in the initial no-exceptions XFAILs list.Asiri Rathnayake2015-11-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial buildbot run found a few missing bits in the initial XFAIL list for the no-exceptions libc++ variant. These discrepancies are as follows: [1] Following two tests need XFAILs on the no-exceptions library variant. My local runs had these two disabled for other reasons (unsupported): - localization/locales/locale/locale.cons/char_pointer.pass.cpp - numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp [2] These three does not need XFAILs, they were failing on my local runs for other reasons: - depr/depr.c.headers/uchar_h.pass.cpp - input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp - .../category.collate/locale.collate.byname/transform.pass.cpp (these are failing on my box for the default build as well) The current patch fixes both the cases above. Additionally, I've run the following scan to make sure I've covered all the cases: > grep ' catch \| try \| throw ' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \ uniq > 1.txt > grep 'libcpp-no-exceptions' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \ uniq > 2.txt > diff 1.txt 2.txt This showed up a few extra interesting cases: [3] These two tests do not use try/catch/throw statements, but they fail at runtime. Need to be investigated, I've left the XFAILs in. - std/thread/futures/futures.shared_future/dtor.pass.cpp - std/thread/futures/futures.unique_future/dtor.pass.cpp [4] These tests use a macro named TEST_HAS_NO_EXCEPTIONS to conditionally exclude try/catch/throw statements when running without exceptions. I'm not entirely sure why this was needed (AFAIK, we didn't have a no-exceptions library build before). The macro's defintion is quite similar to that of _LIBCPP_NO_EXCEPTIONS. I will investigate if this can be reused for my test fixes or if it should be replaced with _LIBCPP_NO_EXCEPTIONS. - std/experimental/any/* Change-Id: I9ad1e0edd78f305406eaa0ab148b1ab693f7e26a llvm-svn: 252870
* Make it possible to build a no-exceptions variant of libcxx.Asiri Rathnayake2015-11-105-0/+5
| | | | | | | | | | | | Fixes a small omission in libcxx that prevents libcxx being built when -DLIBCXX_ENABLE_EXCEPTIONS=0 is specified. This patch adds XFAILS to all those tests that are currently failing on the new -fno-exceptions library variant. Follow-up patches will update the tests (progressively) to cope with the new library variant. Change-Id: I4b801bd8d8e4fe7193df9e55f39f1f393a8ba81a llvm-svn: 252598
* Add a test for LWG#2462: std::ios_base::failure is overspecifiedMarshall Clow2015-10-251-0/+3
| | | | llvm-svn: 251250
* Fix LWG#2244: basic_istream::seekgMarshall Clow2015-10-251-0/+9
| | | | llvm-svn: 251246
* While researching LWG#2244, I noticed we weren't testing that eofbit was ↵Marshall Clow2015-10-071-0/+9
| | | | | | being cleared. Now we are llvm-svn: 249593
* Suppress some warnings in the tests that snuck in. That 'tmpnam' is ↵Marshall Clow2015-09-151-0/+1
| | | | | | deprecated doesn't change the fact that we have to test it. llvm-svn: 247704
* Fix up typos in a couple of tests; due to agressive short-circuiting, they ↵Marshall Clow2015-07-182-2/+10
| | | | | | never failed on clang or gcc, but MSVC whined. Patch by Andrew Parker. llvm-svn: 242618
* Make seeking on an ostream that has eofbit set work correctly. Fixes PR#21361Marshall Clow2015-06-222-0/+22
| | | | llvm-svn: 240286
* Make the presence of stdin and stdout optional.Ed Schouten2015-03-267-20/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea behind Nuxi CloudABI is that it is targeted at (but not limited to) running networked services in a sandboxed environment. The model behind stdin, stdout and stderr is strongly focused on interactive tools in a command shell. CloudABI does not support the notion of stdin and stdout, as 'standard input/output' does not apply to services. The concept of stderr does makes sense though, as services do need some mechanism to log error messages in a uniform way. This patch extends libc++ in such a way that std::cin and std::cout and the associated <cstdio>/<cwchar> functions can be disabled through the flags _LIBCPP_HAS_NO_STDIN and _LIBCPP_HAS_NO_STDOUT, respectively. At the same time it attempts to clean up src/iostream.cpp a bit. Instead of using a single array of mbstate_t objects and hardcoding the array indices, it creates separate objects that declared next to the iostream objects and their buffers. The code is also restructured by interleaving the construction and setup of c* and wc* objects. That way it is more obvious that this is done identically. The c* and wc* objects already have separate unit tests. Make use of this fact by adding XFAILs in case libcpp-has-no-std* is set. That way the tests work in both directions. If stdin or stdout is disabled, these tests will therefore test for the absence of c* and wc*. Differential Revision: http://reviews.llvm.org/D8340 llvm-svn: 233275
* Don't attempt to validate the output of %p.Ed Schouten2015-03-161-12/+21
| | | | | | | | | | | | | In one of the ostream tests we attempt to validate whether the output of %p is correct. This is actually outside the scope of libc++, for the %reason that the format of %p is implementation defined. Change the test %to validate that the output of %p is non-empty and is different when %given two unequal addresses. Differential Revision: http://reviews.llvm.org/D8354 Reviewed by: marshall llvm-svn: 232390
* Don't hardcode the locale name string.Ed Schouten2015-03-161-1/+2
| | | | | | | | The rest of the test uses the #defines for the locale names properly. In this single spot we do hardcode the string. This causes this test to fail on CloudABI, where this locale is called en_US.UTF-8@UTC. llvm-svn: 232365
* Add option to disable access to the global filesystem namespace.Ed Schouten2015-03-125-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Systems like FreeBSD's Capsicum and Nuxi CloudABI apply the concept of capability-based security on the way processes can interact with the filesystem API. It is no longer possible to interact with the VFS through calls like open(), unlink(), rename(), etc. Instead, processes are only allowed to interact with files and directories to which they have been granted access. The *at() functions can be used for this purpose. This change adds a new config switch called _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE. If set, all functionality that requires the global filesystem namespace will be disabled. More concretely: - fstream's open() function will be removed. - cstdio will no longer pull in fopen(), rename(), etc. - The test suite's get_temp_file_name() will be removed. This will cause all tests that use the global filesystem namespace to break, but will at least make all the other tests run (as get_temp_file_name will not build anyway). It is important to mention that this change will make fstream rather useless on those systems for now. Still, I'd rather not have fstream disabled entirely, as it is of course possible to come up with an extension for fstream that would allow access to local filesystem namespaces (e.g., by adding an openat() member function). Differential revision: http://reviews.llvm.org/D8194 Reviewed by: jroelofs (thanks!) llvm-svn: 232049
* Fix PR21428. Buffer was one byte too small in octal formatting case. Add testMarshall Clow2015-01-261-0/+84
| | | | llvm-svn: 227097
* Move test into test/std subdirectory.Eric Fiselier2014-12-20369-0/+19940
llvm-svn: 224658
OpenPOWER on IntegriCloud