Make filesystem tests generic between experimental and std versions.
authorEric Fiselier <eric@efcs.ca>
Mon, 26 Mar 2018 05:46:57 +0000 (05:46 +0000)
committerEric Fiselier <eric@efcs.ca>
Mon, 26 Mar 2018 05:46:57 +0000 (05:46 +0000)
commit19aae8fe2f2a5dfaaa7b6f2631f3f86801fc832d
treea27358ca3b9ff71131d520763aa4cf86cb934efb
parent6f28d3c954e31c48d6c67950acc24380d92ea843
Make filesystem tests generic between experimental and std versions.

As I move towards implementing std::filesystem, there is a need to
make the existing tests run against both the std and experimental versions.
Additionally, it's helpful to allow running the tests against other
implementations of filesystem.

This patch converts the test to easily target either. First, it
adds a filesystem_include.hpp header which is soley responsible
for selecting and including the correct implementation. Second,
it converts existing tests to use this header instead of including
filesystem directly.

llvm-svn: 328475
109 files changed:
libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.mods.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/path.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/status.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/copy.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/increment.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/move.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
libcxx/test/std/experimental/filesystem/class.directory_iterator/types.pass.cpp
libcxx/test/std/experimental/filesystem/class.file_status/file_status.cons.pass.cpp
libcxx/test/std/experimental/filesystem/class.file_status/file_status.mods.pass.cpp
libcxx/test/std/experimental/filesystem/class.file_status/file_status.obs.pass.cpp
libcxx/test/std/experimental/filesystem/class.filesystem_error/filesystem_error.members.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.itr/iterator.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.append.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.assign/braced_init.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.assign/copy.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.assign/move.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.assign/source.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.compare.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.concat.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.construct/copy.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.construct/default.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.construct/move.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.construct/source.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.decompose/empty.fail.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.decompose/path.decompose.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.modifiers/clear.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.modifiers/make_preferred.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.modifiers/remove_filename.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.modifiers/replace_extension.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.modifiers/replace_filename.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.modifiers/swap.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.native.obs/c_str.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.native.obs/named_overloads.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.native.obs/native.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.native.obs/operator_string.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.member/path.native.obs/string_alloc.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.nonmember/append_op.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.factory.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/path.nonmember/swap.pass.cpp
libcxx/test/std/experimental/filesystem/class.path/synop.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
libcxx/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
libcxx/test/std/experimental/filesystem/fs.enum/enum.copy_options.pass.cpp
libcxx/test/std/experimental/filesystem/fs.enum/enum.directory_options.pass.cpp
libcxx/test/std/experimental/filesystem/fs.enum/enum.file_type.pass.cpp
libcxx/test/std/experimental/filesystem/fs.enum/enum.perms.pass.cpp
libcxx/test/std/experimental/filesystem/fs.filesystem.synopsis/file_time_type.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy/copy.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.exists/exists.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.remove/remove.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.rename/rename.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.space/space.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.status/status.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.system_complete/system_complete.pass.cpp
libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
libcxx/test/std/experimental/filesystem/fs.req.macros/feature_macro.pass.cpp
libcxx/test/support/filesystem_include.hpp [new file with mode: 0644]
libcxx/test/support/filesystem_test_helper.hpp