diff options
Diffstat (limited to 'src/third_party/boost/libs/filesystem/v3/test/convenience_test.cpp')
-rw-r--r-- | src/third_party/boost/libs/filesystem/v3/test/convenience_test.cpp | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/src/third_party/boost/libs/filesystem/v3/test/convenience_test.cpp b/src/third_party/boost/libs/filesystem/v3/test/convenience_test.cpp deleted file mode 100644 index 17675a6826c..00000000000 --- a/src/third_party/boost/libs/filesystem/v3/test/convenience_test.cpp +++ /dev/null @@ -1,180 +0,0 @@ -// libs/filesystem/test/convenience_test.cpp -----------------------------------------// - -// Copyright Beman Dawes, 2002 -// Copyright Vladimir Prus, 2002 -// Use, modification, and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// See library home page at http://www.boost.org/libs/filesystem - -#define BOOST_FILESYSTEM_VERSION 3 - -#include <boost/config.hpp> - -# if defined( BOOST_NO_STD_WSTRING ) -# error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support -# endif - -#include <boost/config/warning_disable.hpp> - -// See deprecated_test for tests of deprecated features -#ifndef BOOST_FILESYSTEM_NO_DEPRECATED -# define BOOST_FILESYSTEM_NO_DEPRECATED -#endif -#ifndef BOOST_SYSTEM_NO_DEPRECATED -# define BOOST_SYSTEM_NO_DEPRECATED -#endif - -#include <boost/filesystem/convenience.hpp> -namespace fs = boost::filesystem; -using fs::path; -namespace sys = boost::system; - -#include <boost/detail/lightweight_test.hpp> -#include <boost/detail/lightweight_main.hpp> -#include <boost/bind.hpp> -#include <fstream> -#include <iostream> - -namespace -{ - template< typename F > - bool throws_fs_error(F func) - { - try { func(); } - - catch (const fs::filesystem_error &) - { - return true; - } - return false; - } - - void create_recursive_iterator(const fs::path & ph) - { - fs::recursive_directory_iterator it(ph); - } -} - -// ------------------------------------------------------------------------------------// - -int cpp_main(int, char*[]) -{ - -// create_directories() tests --------------------------------------------------------// - - BOOST_TEST(!fs::create_directories("")); // should be harmless - BOOST_TEST(!fs::create_directories("/")); // ditto - - path unique_dir = fs::unique_path(); // unique name in case tests running in parallel - path unique_yy = unique_dir / "yy"; - path unique_yya = unique_dir / "yya"; - path unique_yy_zz = unique_dir / "yy" / "zz"; - - fs::remove_all(unique_dir); // make sure slate is blank - BOOST_TEST(!fs::exists(unique_dir)); // reality check - - BOOST_TEST(fs::create_directories(unique_dir)); - BOOST_TEST(fs::exists(unique_dir)); - BOOST_TEST(fs::is_directory(unique_dir)); - - BOOST_TEST(fs::create_directories(unique_yy_zz)); - BOOST_TEST(fs::exists(unique_dir)); - BOOST_TEST(fs::exists(unique_yy)); - BOOST_TEST(fs::exists(unique_yy_zz)); - BOOST_TEST(fs::is_directory(unique_dir)); - BOOST_TEST(fs::is_directory(unique_yy)); - BOOST_TEST(fs::is_directory(unique_yy_zz)); - - path is_a_file(unique_dir / "uu"); - { - std::ofstream f(is_a_file.string().c_str()); - BOOST_TEST(!!f); - } - BOOST_TEST(throws_fs_error( - boost::bind(fs::create_directories, is_a_file))); - BOOST_TEST(throws_fs_error( - boost::bind(fs::create_directories, is_a_file / "aa"))); - -// recursive_directory_iterator tests ----------------------------------------// - - sys::error_code ec; - fs::recursive_directory_iterator it("/no-such-path", ec); - BOOST_TEST(ec); - - BOOST_TEST(throws_fs_error( - boost::bind(create_recursive_iterator, "/no-such-path"))); - - fs::remove(unique_dir / "uu"); - -#ifdef BOOST_WINDOWS_API - // These tests depends on ordering of directory entries, and that's guaranteed - // on Windows but not necessarily on other operating systems - { - std::ofstream f(unique_yya.string().c_str()); - BOOST_TEST(!!f); - } - - for (it = fs::recursive_directory_iterator(unique_dir); - it != fs::recursive_directory_iterator(); ++it) - { std::cout << it->path() << '\n'; } - - it = fs::recursive_directory_iterator(unique_dir); - BOOST_TEST(it->path() == unique_yy); - BOOST_TEST(it.level() == 0); - ++it; - BOOST_TEST(it->path() == unique_yy_zz); - BOOST_TEST(it.level() == 1); - it.pop(); - BOOST_TEST(it->path() == unique_yya); - BOOST_TEST(it.level() == 0); - it++; - BOOST_TEST(it == fs::recursive_directory_iterator()); - - it = fs::recursive_directory_iterator(unique_dir); - BOOST_TEST(it->path() == unique_yy); - it.no_push(); - ++it; - BOOST_TEST(it->path() == unique_yya); - ++it; - BOOST_TEST(it == fs::recursive_directory_iterator()); - - fs::remove(unique_yya); -#endif - - it = fs::recursive_directory_iterator(unique_yy_zz); - BOOST_TEST(it == fs::recursive_directory_iterator()); - - it = fs::recursive_directory_iterator(unique_dir); - BOOST_TEST(it->path() == unique_yy); - BOOST_TEST(it.level() == 0); - ++it; - BOOST_TEST(it->path() == unique_yy_zz); - BOOST_TEST(it.level() == 1); - it++; - BOOST_TEST(it == fs::recursive_directory_iterator()); - - it = fs::recursive_directory_iterator(unique_dir); - BOOST_TEST(it->path() == unique_yy); - it.no_push(); - ++it; - BOOST_TEST(it == fs::recursive_directory_iterator()); - - it = fs::recursive_directory_iterator(unique_dir); - BOOST_TEST(it->path() == unique_yy); - ++it; - it.pop(); - BOOST_TEST(it == fs::recursive_directory_iterator()); - - ec.clear(); - BOOST_TEST(!ec); - // check that two argument failed constructor creates the end iterator - BOOST_TEST(fs::recursive_directory_iterator("nosuchdir", ec) - == fs::recursive_directory_iterator()); - BOOST_TEST(ec); - - fs::remove_all(unique_dir); // clean up behind ourselves - - return ::boost::report_errors(); -} |