summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2019-03-19 19:09:33 +0000
committerLouis Dionne <ldionne@apple.com>2019-03-19 19:09:33 +0000
commit72122d058b170eafc643ec659a9298b3b103cdfd (patch)
tree5375a5ed86a44a060638330aa825b1a5bc3c4b23 /libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct
parentc2e35a6f3258d102b731c77de9530714c4d02802 (diff)
downloadbcm5719-llvm-72122d058b170eafc643ec659a9298b3b103cdfd.tar.gz
bcm5719-llvm-72122d058b170eafc643ec659a9298b3b103cdfd.zip
[libc++] Build <filesystem> support as part of the dylib
Summary: This patch treats <filesystem> as a first-class citizen of the dylib, like all other sub-libraries (e.g. <chrono>). As such, it also removes all special handling for installing the filesystem library separately or disabling part of the test suite from the lit command line. Reviewers: mclow.lists, EricWF, serge-sans-paille Subscribers: mgorny, christof, jkorous, dexonsmith, jfb, jdoerfert, libcxx-commits Differential Revision: https://reviews.llvm.org/D59152 llvm-svn: 356500
Diffstat (limited to 'libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct')
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp35
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp31
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp41
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp130
4 files changed, 0 insertions, 237 deletions
diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
deleted file mode 100644
index 1490c0b9fed..00000000000
--- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-// <filesystem>
-
-// class path
-
-// path(path const&)
-
-#include "filesystem_include.hpp"
-#include <type_traits>
-#include <cassert>
-
-#include "test_macros.h"
-
-
-int main(int, char**) {
- using namespace fs;
- static_assert(std::is_copy_constructible<path>::value, "");
- static_assert(!std::is_nothrow_copy_constructible<path>::value, "should not be noexcept");
- const std::string s("foo");
- const path p(s);
- path p2(p);
- assert(p.native() == s);
- assert(p2.native() == s);
-
- return 0;
-}
diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
deleted file mode 100644
index b31728da1f9..00000000000
--- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-// <filesystem>
-
-// class path
-
-// path() noexcept
-
-#include "filesystem_include.hpp"
-#include <type_traits>
-#include <cassert>
-
-#include "test_macros.h"
-
-
-int main(int, char**) {
- using namespace fs;
- static_assert(std::is_nothrow_default_constructible<path>::value, "");
- const path p;
- assert(p.empty());
-
- return 0;
-}
diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
deleted file mode 100644
index 494a77c3c86..00000000000
--- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-// <filesystem>
-
-// class path
-
-// path(path&&) noexcept
-
-#include "filesystem_include.hpp"
-#include <type_traits>
-#include <cassert>
-
-#include "test_macros.h"
-#include "count_new.hpp"
-
-
-int main(int, char**) {
- using namespace fs;
- static_assert(std::is_nothrow_move_constructible<path>::value, "");
- assert(globalMemCounter.checkOutstandingNewEq(0));
- const std::string s("we really really really really really really really "
- "really really long string so that we allocate");
- assert(globalMemCounter.checkOutstandingNewEq(1));
- path p(s);
- {
- DisableAllocationGuard g;
- path p2(std::move(p));
- assert(p2.native() == s);
- assert(p.native() != s); // Testing moved from state
- }
-
- return 0;
-}
diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
deleted file mode 100644
index bcb9986cec9..00000000000
--- a/libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03
-
-// <filesystem>
-
-// class path
-
-// template <class Source>
-// path(const Source& source);
-// template <class InputIterator>
-// path(InputIterator first, InputIterator last);
-
-
-#include "filesystem_include.hpp"
-#include <type_traits>
-#include <cassert>
-
-#include "test_macros.h"
-#include "test_iterators.h"
-#include "min_allocator.h"
-#include "filesystem_test_helper.hpp"
-
-
-template <class CharT, class ...Args>
-void RunTestCaseImpl(MultiStringType const& MS, Args... args) {
- using namespace fs;
- const char* Expect = MS;
- const CharT* TestPath = MS;
- const CharT* TestPathEnd = StrEnd(TestPath);
- const std::size_t Size = TestPathEnd - TestPath;
- const std::size_t SSize = StrEnd(Expect) - Expect;
- assert(Size == SSize);
- // StringTypes
- {
- const std::basic_string<CharT> S(TestPath);
- path p(S, args...);
- assert(p.native() == Expect);
- assert(p.string<CharT>() == TestPath);
- assert(p.string<CharT>() == S);
- }
- {
- const std::basic_string_view<CharT> S(TestPath);
- path p(S, args...);
- assert(p.native() == Expect);
- assert(p.string<CharT>() == TestPath);
- assert(p.string<CharT>() == S);
- }
- // Char* pointers
- {
- path p(TestPath, args...);
- assert(p.native() == Expect);
- assert(p.string<CharT>() == TestPath);
- }
- {
- path p(TestPath, TestPathEnd, args...);
- assert(p.native() == Expect);
- assert(p.string<CharT>() == TestPath);
- }
- // Iterators
- {
- using It = input_iterator<const CharT*>;
- path p(It{TestPath}, args...);
- assert(p.native() == Expect);
- assert(p.string<CharT>() == TestPath);
- }
- {
- using It = input_iterator<const CharT*>;
- path p(It{TestPath}, It{TestPathEnd}, args...);
- assert(p.native() == Expect);
- assert(p.string<CharT>() == TestPath);
- }
-}
-
-template <class CharT, class ...Args>
-void RunTestCase(MultiStringType const& MS) {
- RunTestCaseImpl<CharT>(MS);
- RunTestCaseImpl<CharT>(MS, fs::path::format::auto_format);
- RunTestCaseImpl<CharT>(MS, fs::path::format::native_format);
- RunTestCaseImpl<CharT>(MS, fs::path::format::generic_format);
-}
-
-void test_sfinae() {
- using namespace fs;
- {
- using It = const char* const;
- static_assert(std::is_constructible<path, It>::value, "");
- }
- {
- using It = input_iterator<const char*>;
- static_assert(std::is_constructible<path, It>::value, "");
- }
- {
- struct Traits {
- using iterator_category = std::input_iterator_tag;
- using value_type = const char;
- using pointer = const char*;
- using reference = const char&;
- using difference_type = std::ptrdiff_t;
- };
- using It = input_iterator<const char*, Traits>;
- static_assert(std::is_constructible<path, It>::value, "");
- }
- {
- using It = output_iterator<const char*>;
- static_assert(!std::is_constructible<path, It>::value, "");
-
- }
- {
- static_assert(!std::is_constructible<path, int*>::value, "");
- }
-}
-
-int main(int, char**) {
- for (auto const& MS : PathList) {
- RunTestCase<char>(MS);
- RunTestCase<wchar_t>(MS);
- RunTestCase<char16_t>(MS);
- RunTestCase<char32_t>(MS);
- }
- test_sfinae();
-
- return 0;
-}
OpenPOWER on IntegriCloud