summaryrefslogtreecommitdiffstats
path: root/libcxx/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor configure_compile_flags. NFCJonathan Roelofs2015-01-141-22/+36
| | | | llvm-svn: 226040
* Support picking the unwinder used for testing on linux (just as libc++abi ↵Jonathan Roelofs2015-01-141-2/+12
| | | | | | testing allows) llvm-svn: 226024
* Fix a lit configuration diagnostic. NFCJonathan Roelofs2015-01-141-1/+1
| | | | llvm-svn: 225985
* Refactor the lit config's linker flag discovery code. NFCJonathan Roelofs2015-01-141-4/+14
| | | | llvm-svn: 225920
* Make regex::assign not clobber the regex in case of failure. Fixes PR#22213Marshall Clow2015-01-131-0/+9
| | | | llvm-svn: 225799
* Fix vexing parse in test.Eric Fiselier2015-01-121-1/+1
| | | | llvm-svn: 225633
* One more #include request in the test suite from Walter BrownMarshall Clow2015-01-111-0/+1
| | | | llvm-svn: 225609
* Walter Brown sent a list of tests which needed 'additional includes' to ↵Marshall Clow2015-01-0969-0/+70
| | | | | | match what was in the standard. Added these includes to the tests. No changes to the library or test results. llvm-svn: 225541
* [libc++] Refactor test components into modules.Dan Albert2015-01-095-631/+656
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: I've moved the bulk of `lit.cfg` into `test/libcxx/testconfig.py` and `test/libcxx/testformat.py`. All that remains in `lit.cfg` is the logic to discover lit.site.cfg if lit.cfg was run directly, and the logic for loading configuration variants. The configuration variant flow has changed with this patch. Rather than instantiating an object of type `<VARIANT>Configuration`, we now instatiate an object of type `Configuration` that was loaded from the module `<VARIANT>.testconfig.py`. This has to be done on a per-project basis rather than in LIT itself because LIT doesn't actually know where the real test directory is, only where the site configuration is (which is usually in the output directory). It's simple enough to do though, so it's fine to require each project to do it themselves. I also cleaned up all the pylint issues while I was here, which was mostly just a matter of fixing long lines. Reviewers: mclow.lists, jroelofs, EricWF Reviewed By: EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6881 llvm-svn: 225532
* In early C++11 standard drafts, std::function derived from ↵Marshall Clow2015-01-081-29/+88
| | | | | | std::unary_function or std::binary_function if there was only one (or two) parameters. Before C++11 shipped, this restiction was lifted, but libc++ still does this (which is fine). However, the tests still check for this outdated requiremnt. Change then to check for the nested typedefs instead (which are still required by the standard). No change to the library. llvm-svn: 225430
* Add checks to make sure the hash functor has the right typedefsMarshall Clow2015-01-081-0/+4
| | | | llvm-svn: 225429
* Missed a typenameMarshall Clow2015-01-071-2/+2
| | | | llvm-svn: 225408
* libc++ implements its' hash objects as deriving from std::unary_function, ↵Marshall Clow2015-01-0711-24/+35
| | | | | | and the tests test for that. STL @ MS pointed out that the standard doesn't requie these objects to derive from unary_function, and so the tests should not require that either. Change the tests to check for the embedded typedefs - which ARE required. No change to the library. llvm-svn: 225403
* In C++03, a bunch of the arithmetic/logical/comparison functors (such as ↵Marshall Clow2015-01-074-4/+8
| | | | | | negate/bit_not.pass/logical_not) were defined as deriving from unary_funtion. That restriction was removed in C++11, but the tests still check for this. Change the test to look for the embedded types first_argument/second_argument/result_type. No change to the library, just more standards-compliant tests. Thanks to STL @ Microsoft for the suggestion. llvm-svn: 225402
* Add tests to check the typedefs from the result of std::owner_lessMarshall Clow2015-01-071-0/+8
| | | | llvm-svn: 225381
* Missed one comparison test in r225375Marshall Clow2015-01-071-1/+3
| | | | llvm-svn: 225376
* In C++03, a bunch of the arithmetic/logical/comparison functors (such as ↵Marshall Clow2015-01-0716-16/+48
| | | | | | add/equal_to/logical_or) were defined as deriving from binary_funtion. That restriction was removed in C++11, but the tests still check for this. Change the test to look for the embedded types first_argument/second_argument/result_type. No change to the library, just more standards-compliant tests. Thanks to STL @ Microsoft for the suggestion. llvm-svn: 225375
* Move a test to the new tests directory.Dan Albert2015-01-061-0/+0
| | | | | | | I had written the patch that added this test before the tests were moved into tests/std, so the test ended up in the wrong directory. llvm-svn: 225300
* Make a test UNSUPPORTED if libcpp-has-no-threads.Dan Albert2015-01-061-0/+2
| | | | llvm-svn: 225287
* Appease MSAN buildbots.Dan Albert2015-01-061-1/+1
| | | | | | | This is just a compile time test, but we have MSAN buildbots that will fail since `exp` was uninitialized. llvm-svn: 225286
* Fix PR 22106; make std::swap work for multi-dimensional arrays. Thanks to ↵Marshall Clow2015-01-061-0/+49
| | | | | | Peter Griess for the report and suggested fix llvm-svn: 225285
* Obey [atomics.types.operations.req]/21 for GCC.Dan Albert2015-01-061-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Excerpt from [atomics.types.operations.req]/21: > When only one memory_order argument is supplied, the value of > success is order, and the value of failure is order except that a > value of memory_order_acq_rel shall be replaced by the value > memory_order_acquire and a value of memory_order_release shall be > replaced by the value memory_order_relaxed. Clean up some copy pasta while I'm here (someone added a return statement to a void function). Reviewers: EricWF, jroelofs, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6632 llvm-svn: 225280
* Prevent ill-formed instantiation of __invoke_of<...> during the evaluation ↵Eric Fiselier2014-12-231-0/+49
| | | | | | | | | | | | | | | | of a bind expression. Fixes PR22003. The SFINAE on the function __mu(Fn, Args...) that evaluates nested bind expressions always tries to deduce the return type for Fn(Args...) even when Fn is not a nested bind expression. This can cause hard compile errors when the instantation of Fn(Args...) is ill-formed. This patch prevents the instantation of __invoke_of<Fn, Args...> unless Fn is actually a bind expression. Bug reportand patch from Michel Morin. http://llvm.org/bugs/show_bug.cgi?id=22003 llvm-svn: 224753
* Remove non-const test to get test passing. Will come back later and ↵Marshall Clow2014-12-231-4/+0
| | | | | | (correctly) add non-const tests llvm-svn: 224748
* [libcxx] Consolidate new/delete replacement in tests and disable it when ↵Eric Fiselier2014-12-2219-449/+372
| | | | | | | | | | | | | | | | | | | | using sanitizers. Summary: MSAN and ASAN also replace new/delete which leads to a link error in these tests. Currently they are unsupported but I think it would be useful if these tests could run with sanitizers. This patch creates a support header that consolidates the new/delete replacement functionality and checking. When we are using sanitizers new and delete are no longer replaced and the checks always return true. Reviewers: mclow.lists, danalbert, jroelofs, EricWF Reviewed By: EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6562 llvm-svn: 224741
* [libcxx] Add numerous options to libc++ LIT test suite configuration. Eric Fiselier2014-12-222-51/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In order to fully replace the testit script we need to update LIT so it provides the same functionality. This patch adds a number of different configuration options to LIT to do that. It also adds documentation for all of the command line parameters that LIT supports. Generic options added: - `libcxx_headers` - `libcxx_library` - `compile_flags` Generic options modified: - `link_flags`: Changed from overriding the default args to adding extra args instead (to match compile flags) - `use_sanitizer`: Renamed from `llvm_use_sanitizer` Please see the added documentation for more information about the switches. As for the actual documentation I'm not sure if it should be kept in libc++ forever since it adds an undue maintenance burden, but I think it should be added for the time being while the changes are new. I'm verify unskilled with HTML so if the documentation needs any changes please let me know. Hopefully this will kill testit. Reviewers: jroelofs, mclow.lists, danalbert Reviewed By: danalbert Subscribers: alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D5877 llvm-svn: 224728
* Move unconditional test compile and link flags into their configuration ↵Eric Fiselier2014-12-201-2/+4
| | | | | | functions. llvm-svn: 224674
* [libcxx] Teach libcxx's lit configuration new ways to find lit.site.cfgEric Fiselier2014-12-203-8/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently to run tests in tree you need to symlink the lit.site.cfg file generated by the cmake build into the source tree, and teach your VCS to ignore it. This allows the user to specify where to find the lit.site.cfg file two different ways: * lit_site_config lit parameter * LIT_SITE_CONFIG enviroment variable. example usage: ``` lit -sv --param=libcxx_site_config=path/to/libcxx-build/test/lit.site.cfg path/to/tests ``` Or ``` export LIBCXX_SITE_CONFIG=path/to/libcxx-build/test/lit.site.cfg lit -sv path/to/tests ``` The command line parameter will override the environment variable. If neither options are present a warning is issued and the `lit.cfg` file is loaded directly. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Subscribers: ddunbar, cfe-commits Differential Revision: http://reviews.llvm.org/D6255 llvm-svn: 224671
* Move test into test/std subdirectory.Eric Fiselier2014-12-204817-0/+13
| | | | llvm-svn: 224658
* [libcxx] Add <experimental/type_traits> for LFTSEric Fiselier2014-12-197-0/+945
| | | | | | | | | | | | | | | | Summary: This adds the <experimental/type_traits> (minus invocation traits). Mostly just the `_v` traits. Reviewers: K-ballo, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5742 llvm-svn: 224626
* Remove unneeded configuration code.Eric Fiselier2014-12-191-12/+4
| | | | llvm-svn: 224618
* [libcxx] Allow the use of ccache when running the test suite.Eric Fiselier2014-12-191-12/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In order to get the bots running quicker I would like to be able to use ccache with the test suite. This patch adds support for running the test suite using ccache. To use ccache pass `--param=use_ccache=true` when running the test suite. ccache will not cache any command that invokes ld, so the build step needs to be split into two separate compile commands. The cost of splitting the build step into two parts when not using ccache seems to be minimal. On my machine I saw a difference of ~5 seconds on a 5 minute test suite run. A full test suite run with ccache generates about 250MB of cached data. I recorded the following times for running the test suite in the following configurations: - no ccache: 340s - initial ccache run: 380s - rerun with ccache (no changes): 53s. - rerun with ccache (<string> changed): 80s - rerun with ccache (<cmath> changed): 169s - rerun with ccache (<valarray> changed): 69s Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: jroelofs Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6647 llvm-svn: 224603
* Re-commit the test for regex that I busted last night - now passes under ASANMarshall Clow2014-12-161-2/+2
| | | | llvm-svn: 224342
* Appease the c++14 buildbotsJonathan Roelofs2014-12-161-0/+4
| | | | llvm-svn: 224304
* Comment out the breaking tests until I figure out what's going on here.Marshall Clow2014-12-161-2/+2
| | | | llvm-svn: 224301
* Once more w/o the typo.Marshall Clow2014-12-161-5/+4
| | | | llvm-svn: 224298
* Fix the literal string that I said would be six elements long to actually be ↵Marshall Clow2014-12-161-2/+2
| | | | | | six elements long. Octal. Sheesh. llvm-svn: 224297
* Add test to ensure that iterator_traits<NotAnIterator> doesn't have a value typeMarshall Clow2014-12-161-0/+12
| | | | llvm-svn: 224295
* Implement LWG 2217 - operator==(sub_match, string) slices on embedded '\0'sMarshall Clow2014-12-151-13/+17
| | | | llvm-svn: 224292
* Add support for building libc++ as a 32 bit libraryEric Fiselier2014-12-123-0/+5
| | | | llvm-svn: 224096
* Fix building and running tests when LIBCXX_ENABLE_EXCEPTIONS or ↵Eric Fiselier2014-12-123-0/+15
| | | | | | LIBCXX_ENABLE_RTTI are turned off. llvm-svn: 224095
* Add 'REQUIRES: long_tests' to one more long testJonathan Roelofs2014-12-111-0/+2
| | | | llvm-svn: 224069
* Add 'REQUIERS: long_tests' to a few more long testsJonathan Roelofs2014-12-114-0/+8
| | | | llvm-svn: 224064
* Fix platform_support.h's get_temp_file_name() on Newlib under __STRICT_ANSI__Jonathan Roelofs2014-12-111-0/+7
| | | | llvm-svn: 224057
* Add an XFAIL for Newlib's missing uchar.hJonathan Roelofs2014-12-111-0/+1
| | | | llvm-svn: 224037
* Mark a bunch of long running tests as 'REQUIRES: long_tests'Jonathan Roelofs2014-12-1138-0/+86
| | | | | | This lets us skip them as UNSUPPORTED on slow systems like QEMU llvm-svn: 224032
* Mark some more fenv tests as UNSUPPORTED by newlibJonathan Roelofs2014-12-112-0/+4
| | | | llvm-svn: 224024
* Add an XFAIL for Newlib's missing fenv.hJonathan Roelofs2014-12-111-0/+2
| | | | llvm-svn: 224021
* Move the optional tests into test/experimental. They were put into ↵Marshall Clow2014-12-0968-0/+6
| | | | | | test/utilities because optional was going to be part of C++14, and then was pulled and put into the Library Fundamentals TS instead. No funcitonality change here; just moving files around. llvm-svn: 223778
* Add all the relational operators to std::experimental::optional. Also update ↵Marshall Clow2014-12-0922-159/+742
| | | | | | bad_optional_access to match the Library Fundamentals draft standard. This is not all of the upcoming changes to optional, though. llvm-svn: 223775
OpenPOWER on IntegriCloud