aboutsummaryrefslogtreecommitdiff
path: root/gdb/unittests/basic_string_view/capacity
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2018-04-09 13:31:06 -0400
committerSimon Marchi <simon.marchi@ericsson.com>2018-04-09 14:20:47 -0400
commitc9638d2669ced9348eac869dadc7be24df85a9a8 (patch)
tree2020518c320679400ad58e2e03d5585c0ffe1dcd /gdb/unittests/basic_string_view/capacity
parentfdc116781b03f5d30e93f5013159f39c4c0f3471 (diff)
downloadgdb-c9638d2669ced9348eac869dadc7be24df85a9a8.zip
gdb-c9638d2669ced9348eac869dadc7be24df85a9a8.tar.gz
gdb-c9638d2669ced9348eac869dadc7be24df85a9a8.tar.bz2
Adapt and integrate string_view tests
The previous patch copied the string_view tests from libstdc++. This patch adjusts them in a similar way that the libstdc++ optional tests are integrated in our unit test suite. Not all tests are used, some of them require language features not present in c++11. For example, we can't use a string_view constructor where the length is not explicit in a constexpr, because std::char_traits::length is not a constexpr itself (it is in c++17 though). Nevertheless, a good number of tests are integrated, which covers pretty well the string_view features. gdb/ChangeLog: * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add string_view-selftests.c. * unittests/basic_string_view/capacity/1.cc: Adapt to GDB testsuite. * unittests/basic_string_view/cons/char/1.cc: Likewise. * unittests/basic_string_view/cons/char/2.cc: Likewise. * unittests/basic_string_view/cons/char/3.cc: Likewise. * unittests/basic_string_view/element_access/char/1.cc: Likewise. * unittests/basic_string_view/element_access/char/empty.cc: Likewise. * unittests/basic_string_view/element_access/char/front_back.cc: Likewise. * unittests/basic_string_view/inserters/char/2.cc: Likewise. * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: Likewise. * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: Likewise. * unittests/basic_string_view/modifiers/swap/char/1.cc: Likewise. * unittests/basic_string_view/operations/compare/char/1.cc: Likewise. * unittests/basic_string_view/operations/compare/char/13650.cc: Likewise. * unittests/basic_string_view/operations/copy/char/1.cc: Likewise. * unittests/basic_string_view/operations/data/char/1.cc: Likewise. * unittests/basic_string_view/operations/find/char/1.cc: Likewise. * unittests/basic_string_view/operations/find/char/2.cc: Likewise. * unittests/basic_string_view/operations/find/char/3.cc: Likewise. * unittests/basic_string_view/operations/find/char/4.cc: Likewise. * unittests/basic_string_view/operations/rfind/char/1.cc: Likewise. * unittests/basic_string_view/operations/rfind/char/2.cc: Likewise. * unittests/basic_string_view/operations/rfind/char/3.cc: Likewise. * unittests/basic_string_view/operations/substr/char/1.cc: Likewise. * unittests/basic_string_view/operators/char/2.cc: Likewise. * unittests/string_view-selftests.c: New file.
Diffstat (limited to 'gdb/unittests/basic_string_view/capacity')
-rw-r--r--gdb/unittests/basic_string_view/capacity/1.cc24
1 files changed, 17 insertions, 7 deletions
diff --git a/gdb/unittests/basic_string_view/capacity/1.cc b/gdb/unittests/basic_string_view/capacity/1.cc
index d49ecbd..f297853 100644
--- a/gdb/unittests/basic_string_view/capacity/1.cc
+++ b/gdb/unittests/basic_string_view/capacity/1.cc
@@ -19,9 +19,7 @@
// string_view size, length
-#include <string_view>
-#include <cstring>
-#include <testsuite_hooks.h>
+namespace capacity_1 {
template<typename T>
struct A { };
@@ -36,13 +34,19 @@ template<typename T>
struct B { };
+} // namespace capacity_1
+} // namespace string_view
+} // namespace selftests
+
// char_traits specialization
namespace std
{
template<>
- struct char_traits<A<B> >
+ struct char_traits<selftests::string_view::capacity_1::A<
+ selftests::string_view::capacity_1::B> >
{
- typedef A<B> char_type;
+ typedef selftests::string_view::capacity_1::A<
+ selftests::string_view::capacity_1::B> char_type;
// Unsigned as wint_t in unsigned.
typedef unsigned long int_type;
typedef streampos pos_type;
@@ -123,11 +127,15 @@ namespace std
};
} // namespace std
+namespace selftests {
+namespace string_view {
+namespace capacity_1 {
+
void
test01()
{
- std::basic_string_view<A<B>> str02;
- typedef std::basic_string_view< A<B> >::size_type size_type_o;
+ gdb::basic_string_view<A<B>> str02;
+ typedef gdb::basic_string_view< A<B> >::size_type size_type_o;
size_type_o sz03;
size_type_o sz04;
@@ -160,3 +168,5 @@ main()
return 0;
}
+
+} // namespace capacity_1