Lines Matching refs:fs

31 namespace fs = boost::filesystem;
65 inline void setenv(const char* name, const fs::path::value_type* val, int) in setenv()
105 fs::directory_iterator end_itr;
106 fs::path dir;
107 fs::path d1;
108 fs::path d2;
109 fs::path f0;
110 fs::path f1;
111 fs::path d1f1;
115 fs::path ng(" no-way, Jose");
119 const fs::path temp_dir(fs::unique_path("op-test-%%%%-%%%%"));
121 void create_file(const fs::path & ph, const std::string & contents = std::string()) in create_file()
125 throw fs::filesystem_error("operations_test create_file", in create_file()
130 void verify_file(const fs::path & ph, const std::string & expected) in verify_file()
134 throw fs::filesystem_error("operations_test verify_file", in verify_file()
139 throw fs::filesystem_error("operations_test verify_file contents \"" in verify_file()
148 catch (const fs::filesystem_error & ex) in throws_fs_error()
178 fs::path p; in do_the_right_thing_tests()
181 fs::copy_file(p, p); in do_the_right_thing_tests()
182 fs::copy_file(s, p); in do_the_right_thing_tests()
183 fs::copy_file(a, p); in do_the_right_thing_tests()
184 fs::copy_file(p, s); in do_the_right_thing_tests()
185 fs::copy_file(p, a); in do_the_right_thing_tests()
186 fs::copy_file(s, s); in do_the_right_thing_tests()
187 fs::copy_file(a, s); in do_the_right_thing_tests()
188 fs::copy_file(s, a); in do_the_right_thing_tests()
189 fs::copy_file(a, a); in do_the_right_thing_tests()
195 fs::file_size(" No way, Jose"); in bad_file_size()
200 fs::file_size(fs::current_path()); in bad_directory_size()
203 fs::path bad_create_directory_path;
206 fs::create_directory(bad_create_directory_path); in bad_create_directory()
211 fs::equivalent("no-such-path", "another-not-present-path"); in bad_equivalent()
214 fs::path bad_remove_dir;
217 fs::remove(bad_remove_dir); in bad_remove()
223 renamer(const fs::path & p1, const fs::path & p2) in renamer()
227 fs::rename(from, to); in operator ()()
230 fs::path from;
231 fs::path to;
286 fs::create_directory("no-such-dir/foo/bar"); in exception_tests()
307 fs::create_directory("no-such-dir/foo/bar"); in exception_tests()
325 fs::create_directory("no-such-dir/foo/bar"); in exception_tests()
327 catch (fs::filesystem_error x) in exception_tests()
350 fs::create_directory("no-such-dir/foo/bar"); in exception_tests()
352 catch (const fs::filesystem_error & x) in exception_tests()
379 try { fs::file_size(ng); } // will throw in exception_tests()
381 catch (const fs::filesystem_error & ex) in exception_tests()
402 BOOST_TEST(!fs::create_directory(dir)); in create_tree()
403 BOOST_TEST(!fs::is_symlink(dir)); in create_tree()
404 BOOST_TEST(!fs::is_symlink("nosuchfileordirectory")); in create_tree()
406 BOOST_TEST(fs::create_directory(d1)); in create_tree()
407 BOOST_TEST(fs::exists(d1)); in create_tree()
408 BOOST_TEST(fs::is_directory(d1)); in create_tree()
409 BOOST_TEST(fs::is_empty(d1)); in create_tree()
414 BOOST_TEST(fs::exists(d1f1)); in create_tree()
415 BOOST_TEST(!fs::is_directory(d1f1)); in create_tree()
416 BOOST_TEST(fs::is_regular_file(d1f1)); in create_tree()
417 BOOST_TEST(fs::is_empty(d1f1)); in create_tree()
418 BOOST_TEST(fs::file_size(d1f1) == 0); in create_tree()
419 BOOST_TEST(fs::hard_link_count(d1f1) == 1); in create_tree()
424 BOOST_TEST(fs::exists(f0)); in create_tree()
425 BOOST_TEST(!fs::is_directory(f0)); in create_tree()
426 BOOST_TEST(fs::is_regular_file(f0)); in create_tree()
427 BOOST_TEST(fs::is_empty(f0)); in create_tree()
428 BOOST_TEST(fs::file_size(f0) == 0); in create_tree()
429 BOOST_TEST(fs::hard_link_count(f0) == 1); in create_tree()
434 BOOST_TEST(fs::exists(f1)); in create_tree()
435 BOOST_TEST(!fs::is_directory(f1)); in create_tree()
436 BOOST_TEST(fs::is_regular_file(f1)); in create_tree()
437 BOOST_TEST(fs::file_size(f1) == 7); in create_tree()
448 try { fs::directory_iterator it(""); } in directory_iterator_tests()
449 catch (const fs::filesystem_error &) { dir_itr_exception = true; } in directory_iterator_tests()
455 fs::directory_iterator it("", ec); in directory_iterator_tests()
459 try { fs::directory_iterator itx("nosuchdirectory"); } in directory_iterator_tests()
460 catch (const fs::filesystem_error &) { dir_itr_exception = true; } in directory_iterator_tests()
464 fs::directory_iterator it2x("nosuchdirectory", ec); in directory_iterator_tests()
471 fs::directory_iterator itx("nosuchdirectory", ecx); in directory_iterator_tests()
475 catch (const fs::filesystem_error &) { dir_itr_exception = true; } in directory_iterator_tests()
480 fs::create_directory(d2); in directory_iterator_tests()
481 BOOST_TEST(fs::exists(d2)); in directory_iterator_tests()
482 BOOST_TEST(fs::is_directory(d2)); in directory_iterator_tests()
487 typedef std::vector<fs::directory_entry> vec_type; in directory_iterator_tests()
490 fs::directory_iterator it1(dir); in directory_iterator_tests()
491 BOOST_TEST(it1 != fs::directory_iterator()); in directory_iterator_tests()
492 BOOST_TEST(fs::exists(it1->status())); in directory_iterator_tests()
496 fs::directory_iterator it2(dir); in directory_iterator_tests()
497 BOOST_TEST(it2 != fs::directory_iterator()); in directory_iterator_tests()
501 BOOST_TEST(it1 != fs::directory_iterator()); in directory_iterator_tests()
502 BOOST_TEST(fs::exists(it1->status())); in directory_iterator_tests()
509 BOOST_TEST(it1 != fs::directory_iterator()); in directory_iterator_tests()
510 BOOST_TEST(fs::exists(it1->status())); in directory_iterator_tests()
516 BOOST_TEST(it1 != fs::directory_iterator()); in directory_iterator_tests()
517 BOOST_TEST(fs::exists(it1->status())); in directory_iterator_tests()
523 BOOST_TEST(it1 == fs::directory_iterator()); in directory_iterator_tests()
529 BOOST_TEST(it2 != fs::directory_iterator()); in directory_iterator_tests()
530 BOOST_TEST(it1 == fs::directory_iterator()); in directory_iterator_tests()
534 BOOST_TEST(it1 == fs::directory_iterator()); in directory_iterator_tests()
538 BOOST_TEST(it1 == fs::directory_iterator()); in directory_iterator_tests()
539 BOOST_TEST(it2 == fs::directory_iterator()); in directory_iterator_tests()
551 fs::directory_iterator dir_itr(dir); in directory_iterator_tests()
552 BOOST_TEST(dir_itr != fs::directory_iterator()); in directory_iterator_tests()
553 fs::path p = dir_itr->path(); in directory_iterator_tests()
555 BOOST_TEST(dir_itr != fs::directory_iterator()); in directory_iterator_tests()
559 fs::directory_iterator itx(dir); in directory_iterator_tests()
560 const fs::path p1 = (*itx++).path(); in directory_iterator_tests()
561 BOOST_TEST(itx != fs::directory_iterator()); in directory_iterator_tests()
562 const fs::path p2 = (*itx++).path(); in directory_iterator_tests()
566 BOOST_TEST(itx == fs::directory_iterator()); in directory_iterator_tests()
574 fs::path root_name_path(fs::current_path().root_name()); in directory_iterator_tests()
575 fs::directory_iterator itx(root_name_path); in directory_iterator_tests()
576 BOOST_TEST(itx != fs::directory_iterator()); in directory_iterator_tests()
578 BOOST_TEST(fs::exists(itx->path())); in directory_iterator_tests()
585 } while (++itx != fs::directory_iterator()); in directory_iterator_tests()
592 fs::directory_iterator di; in directory_iterator_tests()
594 di = fs::directory_iterator(dir); in directory_iterator_tests()
596 BOOST_TEST(++di != fs::directory_iterator()); in directory_iterator_tests()
609 for (fs::recursive_directory_iterator it (dir, in walk_tree()
610 recursive ? fs::symlink_option::recurse : fs::symlink_option::no_recurse); in walk_tree()
611 it != fs::recursive_directory_iterator(); in walk_tree()
632 for (fs::recursive_directory_iterator it (dir, fs::symlink_option::no_recurse); in recursive_directory_iterator_tests()
633 it != fs::recursive_directory_iterator(); in recursive_directory_iterator_tests()
653 fs::create_symlink(dir/"f0", dir/"f0_symlink", ec); in iterator_status_tests()
654 fs::create_symlink(dir/"no such file", dir/"dangling_symlink", ec); in iterator_status_tests()
655 fs::create_directory_symlink(dir/"d1", dir/"d1_symlink", ec); in iterator_status_tests()
656 fs::create_directory_symlink(dir/"no such directory", in iterator_status_tests()
659 for (fs::directory_iterator it(dir); in iterator_status_tests()
660 it != fs::directory_iterator(); ++it) in iterator_status_tests()
662 BOOST_TEST(fs::status(it->path()).type() == it->status().type()); in iterator_status_tests()
663 BOOST_TEST(fs::symlink_status(it->path()).type() == it->symlink_status().type()); in iterator_status_tests()
666 BOOST_TEST(fs::is_directory(it->status())); in iterator_status_tests()
667 BOOST_TEST(fs::is_directory(it->symlink_status())); in iterator_status_tests()
671 BOOST_TEST(fs::is_directory(it->status())); in iterator_status_tests()
672 BOOST_TEST(fs::is_directory(it->symlink_status())); in iterator_status_tests()
676 BOOST_TEST(fs::is_regular_file(it->status())); in iterator_status_tests()
677 BOOST_TEST(fs::is_regular_file(it->symlink_status())); in iterator_status_tests()
681 BOOST_TEST(fs::is_regular_file(it->status())); in iterator_status_tests()
682 BOOST_TEST(fs::is_regular_file(it->symlink_status())); in iterator_status_tests()
686 BOOST_TEST(fs::is_regular_file(it->status())); in iterator_status_tests()
687 BOOST_TEST(fs::is_symlink(it->symlink_status())); in iterator_status_tests()
691 BOOST_TEST(it->status().type() == fs::file_not_found); in iterator_status_tests()
692 BOOST_TEST(fs::is_symlink(it->symlink_status())); in iterator_status_tests()
696 BOOST_TEST(fs::is_directory(it->status())); in iterator_status_tests()
697 BOOST_TEST(fs::is_symlink(it->symlink_status())); in iterator_status_tests()
701 BOOST_TEST(it->status().type() == fs::file_not_found); in iterator_status_tests()
702 BOOST_TEST(fs::is_symlink(it->symlink_status())); in iterator_status_tests()
714 for (fs::recursive_directory_iterator it (dir); in recursive_iterator_status_tests()
715 it != fs::recursive_directory_iterator(); in recursive_iterator_status_tests()
718 BOOST_TEST(fs::status(it->path()).type() == it->status().type()); in recursive_iterator_status_tests()
719 BOOST_TEST(fs::symlink_status(it->path()).type() == it->symlink_status().type()); in recursive_iterator_status_tests()
729 fs::path from_ph(dir / "f3"); in create_hard_link_tests()
730 fs::path f1x(dir / "f1"); in create_hard_link_tests()
732 BOOST_TEST(!fs::exists(from_ph)); in create_hard_link_tests()
733 BOOST_TEST(fs::exists(f1x)); in create_hard_link_tests()
735 try { fs::create_hard_link(f1x, from_ph); } in create_hard_link_tests()
736 catch (const fs::filesystem_error & ex) in create_hard_link_tests()
751 BOOST_TEST(fs::exists(from_ph)); in create_hard_link_tests()
752 BOOST_TEST(fs::exists(f1x)); in create_hard_link_tests()
753 BOOST_TEST(fs::equivalent(from_ph, f1x)); in create_hard_link_tests()
754 BOOST_TEST(fs::hard_link_count(from_ph) == 2); in create_hard_link_tests()
755 BOOST_TEST(fs::hard_link_count(f1x) == 2); in create_hard_link_tests()
764 fs::create_hard_link(fs::path("doesnotexist"), in create_hard_link_tests()
765 fs::path("shouldnotwork"), ec); in create_hard_link_tests()
775 fs::path from_ph(dir / "f4"); in create_symlink_tests()
776 fs::path f1x(dir / "f1"); in create_symlink_tests()
777 BOOST_TEST(!fs::exists(from_ph)); in create_symlink_tests()
778 BOOST_TEST(fs::exists(f1x)); in create_symlink_tests()
779 try { fs::create_symlink(f1x, from_ph); } in create_symlink_tests()
780 catch (const fs::filesystem_error & ex) in create_symlink_tests()
795 BOOST_TEST(fs::exists(from_ph)); in create_symlink_tests()
796 BOOST_TEST(fs::is_symlink(from_ph)); in create_symlink_tests()
797 BOOST_TEST(fs::exists(f1x)); in create_symlink_tests()
798 BOOST_TEST(fs::equivalent(from_ph, f1x)); in create_symlink_tests()
799 BOOST_TEST(fs::read_symlink(from_ph) == f1x); in create_symlink_tests()
801 fs::file_status stat = fs::symlink_status(from_ph); in create_symlink_tests()
802 BOOST_TEST(fs::exists(stat)); in create_symlink_tests()
803 BOOST_TEST(!fs::is_directory(stat)); in create_symlink_tests()
804 BOOST_TEST(!fs::is_regular_file(stat)); in create_symlink_tests()
805 BOOST_TEST(!fs::is_other(stat)); in create_symlink_tests()
806 BOOST_TEST(fs::is_symlink(stat)); in create_symlink_tests()
808 stat = fs::status(from_ph); in create_symlink_tests()
809 BOOST_TEST(fs::exists(stat)); in create_symlink_tests()
810 BOOST_TEST(!fs::is_directory(stat)); in create_symlink_tests()
811 BOOST_TEST(fs::is_regular_file(stat)); in create_symlink_tests()
812 BOOST_TEST(!fs::is_other(stat)); in create_symlink_tests()
813 BOOST_TEST(!fs::is_symlink(stat)); in create_symlink_tests()
816 fs::path symlink2_ph(dir / "symlink2"); in create_symlink_tests()
817 fs::copy_symlink(from_ph, symlink2_ph); in create_symlink_tests()
818 stat = fs::symlink_status(symlink2_ph); in create_symlink_tests()
819 BOOST_TEST(fs::is_symlink(stat)); in create_symlink_tests()
820 BOOST_TEST(fs::exists(stat)); in create_symlink_tests()
821 BOOST_TEST(!fs::is_directory(stat)); in create_symlink_tests()
822 BOOST_TEST(!fs::is_regular_file(stat)); in create_symlink_tests()
823 BOOST_TEST(!fs::is_other(stat)); in create_symlink_tests()
827 fs::create_symlink("doesnotexist", "", ec); in create_symlink_tests()
837 fs::path p(dir / "permissions.txt"); in permissions_tests()
842 cout << " fs::status(p).permissions() " << std::oct << fs::status(p).permissions() in permissions_tests()
844 BOOST_TEST((fs::status(p).permissions() & 0600) == 0600); // 0644, 0664 sometimes returned in permissions_tests()
846 fs::permissions(p, fs::owner_all); in permissions_tests()
847 BOOST_TEST(fs::status(p).permissions() == fs::owner_all); in permissions_tests()
849 fs::permissions(p, fs::add_perms | fs::group_all); in permissions_tests()
850 BOOST_TEST(fs::status(p).permissions() == (fs::owner_all | fs::group_all)); in permissions_tests()
852 fs::permissions(p, fs::remove_perms | fs::group_all); in permissions_tests()
853 BOOST_TEST(fs::status(p).permissions() == fs::owner_all); in permissions_tests()
857 for (fs::directory_iterator itr(dir); itr != fs::directory_iterator(); ++itr) in permissions_tests()
858 if (itr->path().filename() == fs::path("permissions.txt")) in permissions_tests()
859 BOOST_TEST(itr->status().permissions() == fs::owner_all); in permissions_tests()
863 BOOST_TEST(fs::status(p).permissions() == fs::owner_all); in permissions_tests()
864 fs::path p2(dir / "permissions-symlink.txt"); in permissions_tests()
865 fs::create_symlink(p, p2); in permissions_tests()
867 cout << " status(p).permissions() " << fs::status(p).permissions() << endl; in permissions_tests()
868 cout << " status(p2).permissions() " << fs::status(p).permissions() << endl; in permissions_tests()
869 fs::permissions(p2, fs::add_perms | fs::others_read); in permissions_tests()
870 cout << " status(p).permissions(): " << fs::status(p).permissions() << endl; in permissions_tests()
871 cout << " status(p2).permissions(): " << fs::status(p2).permissions() << endl; in permissions_tests()
878 BOOST_TEST(fs::status(p).permissions() == 0666); in permissions_tests()
879 fs::permissions(p, fs::remove_perms | fs::group_write); in permissions_tests()
880 BOOST_TEST(fs::status(p).permissions() == 0444); in permissions_tests()
881 fs::permissions(p, fs::add_perms | fs::group_write); in permissions_tests()
882 BOOST_TEST(fs::status(p).permissions() == 0666); in permissions_tests()
892 fs::path f1x(dir / "f1"); in rename_tests()
893 BOOST_TEST(fs::exists(f1x)); in rename_tests()
896 BOOST_TEST(!fs::exists(d1 / "f99")); in rename_tests()
897 BOOST_TEST(!fs::exists(d1 / "f98")); in rename_tests()
900 renamer n1b(fs::path(""), d1 / "f98"); in rename_tests()
910 fs::rename(dir / "ff2", dir / "ff1"); in rename_tests()
911 BOOST_TEST(fs::exists(dir / "ff1")); in rename_tests()
913 BOOST_TEST(!fs::exists(dir / "ff2")); in rename_tests()
916 BOOST_TEST(fs::exists(dir / "f1")); in rename_tests()
917 fs::rename(dir / "f1", dir / "f1"); in rename_tests()
918 BOOST_TEST(fs::exists(dir / "f1")); in rename_tests()
921 BOOST_TEST(fs::exists(dir / "f1")); in rename_tests()
922 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
929 BOOST_TEST(!fs::is_directory(dir / "f1")); in rename_tests()
930 BOOST_TEST(!fs::exists(dir / "d3/f3")); in rename_tests()
935 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
936 BOOST_TEST(!fs::exists(d1 / "f50")); in rename_tests()
937 fs::rename(d1 / "f2", d1 / "f50"); in rename_tests()
938 BOOST_TEST(!fs::exists(d1 / "f2")); in rename_tests()
939 BOOST_TEST(fs::exists(d1 / "f50")); in rename_tests()
940 fs::rename(d1 / "f50", d1 / "f2"); in rename_tests()
941 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
942 BOOST_TEST(!fs::exists(d1 / "f50")); in rename_tests()
945 fs::rename(d1 / "f2", d2 / "f3"); in rename_tests()
946 BOOST_TEST(!fs::exists(d1 / "f2")); in rename_tests()
947 BOOST_TEST(!fs::exists(d2 / "f2")); in rename_tests()
948 BOOST_TEST(fs::exists(d2 / "f3")); in rename_tests()
949 BOOST_TEST(!fs::is_directory(d2 / "f3")); in rename_tests()
951 fs::rename(d2 / "f3", d1 / "f2"); in rename_tests()
952 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
955 BOOST_TEST(fs::exists(d1)); in rename_tests()
956 BOOST_TEST(!fs::exists(dir / "d3/d5")); in rename_tests()
957 BOOST_TEST(!fs::exists(dir / "d3")); in rename_tests()
962 fs::path d3(dir / "d3"); in rename_tests()
963 BOOST_TEST(fs::exists(d1)); in rename_tests()
964 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
965 BOOST_TEST(!fs::exists(d3)); in rename_tests()
966 fs::rename(d1, d3); in rename_tests()
967 BOOST_TEST(!fs::exists(d1)); in rename_tests()
968 BOOST_TEST(fs::exists(d3)); in rename_tests()
969 BOOST_TEST(fs::is_directory(d3)); in rename_tests()
970 BOOST_TEST(!fs::exists(d1 / "f2")); in rename_tests()
971 BOOST_TEST(fs::exists(d3 / "f2")); in rename_tests()
972 fs::rename(d3, d1); in rename_tests()
973 BOOST_TEST(fs::exists(d1)); in rename_tests()
974 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
975 BOOST_TEST(!fs::exists(d3)); in rename_tests()
978 BOOST_TEST(fs::exists(d1)); in rename_tests()
979 BOOST_TEST(!fs::exists(d2 / "d20")); in rename_tests()
980 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
981 fs::rename(d1, d2 / "d20"); in rename_tests()
982 BOOST_TEST(!fs::exists(d1)); in rename_tests()
983 BOOST_TEST(fs::exists(d2 / "d20")); in rename_tests()
984 BOOST_TEST(fs::exists(d2 / "d20" / "f2")); in rename_tests()
985 fs::rename(d2 / "d20", d1); in rename_tests()
986 BOOST_TEST(fs::exists(d1)); in rename_tests()
987 BOOST_TEST(!fs::exists(d2 / "d20")); in rename_tests()
988 BOOST_TEST(fs::exists(d1 / "f2")); in rename_tests()
997 BOOST_TEST(!fs::exists(ng)); in predicate_and_status_tests()
998 BOOST_TEST(!fs::is_directory(ng)); in predicate_and_status_tests()
999 BOOST_TEST(!fs::is_regular_file(ng)); in predicate_and_status_tests()
1000 BOOST_TEST(!fs::is_symlink(ng)); in predicate_and_status_tests()
1001 fs::file_status stat(fs::status(ng)); in predicate_and_status_tests()
1002 BOOST_TEST(fs::type_present(stat)); in predicate_and_status_tests()
1003 BOOST_TEST(fs::permissions_present(stat)); in predicate_and_status_tests()
1004 BOOST_TEST(fs::status_known(stat)); in predicate_and_status_tests()
1005 BOOST_TEST(!fs::exists(stat)); in predicate_and_status_tests()
1006 BOOST_TEST(!fs::is_directory(stat)); in predicate_and_status_tests()
1007 BOOST_TEST(!fs::is_regular_file(stat)); in predicate_and_status_tests()
1008 BOOST_TEST(!fs::is_other(stat)); in predicate_and_status_tests()
1009 BOOST_TEST(!fs::is_symlink(stat)); in predicate_and_status_tests()
1010 stat = fs::status(""); in predicate_and_status_tests()
1011 BOOST_TEST(fs::type_present(stat)); in predicate_and_status_tests()
1012 BOOST_TEST(fs::permissions_present(stat)); in predicate_and_status_tests()
1013 BOOST_TEST(fs::status_known(stat)); in predicate_and_status_tests()
1014 BOOST_TEST(!fs::exists(stat)); in predicate_and_status_tests()
1015 BOOST_TEST(!fs::is_directory(stat)); in predicate_and_status_tests()
1016 BOOST_TEST(!fs::is_regular_file(stat)); in predicate_and_status_tests()
1017 BOOST_TEST(!fs::is_other(stat)); in predicate_and_status_tests()
1018 BOOST_TEST(!fs::is_symlink(stat)); in predicate_and_status_tests()
1032 fs::create_directory(dir); in create_directory_tests()
1035 catch (const fs::filesystem_error & x) in create_directory_tests()
1053 BOOST_TEST(fs::exists(dir)); in create_directory_tests()
1054 BOOST_TEST(fs::is_empty(dir)); in create_directory_tests()
1055 BOOST_TEST(fs::is_directory(dir)); in create_directory_tests()
1056 BOOST_TEST(!fs::is_regular_file(dir)); in create_directory_tests()
1057 BOOST_TEST(!fs::is_other(dir)); in create_directory_tests()
1058 BOOST_TEST(!fs::is_symlink(dir)); in create_directory_tests()
1059 fs::file_status stat = fs::status(dir); in create_directory_tests()
1060 BOOST_TEST(fs::exists(stat)); in create_directory_tests()
1061 BOOST_TEST(fs::is_directory(stat)); in create_directory_tests()
1062 BOOST_TEST(!fs::is_regular_file(stat)); in create_directory_tests()
1063 BOOST_TEST(!fs::is_other(stat)); in create_directory_tests()
1064 BOOST_TEST(!fs::is_symlink(stat)); in create_directory_tests()
1076 fs::path original_dir = fs::current_path(); in current_directory_tests()
1078 fs::current_path(dir); in current_directory_tests()
1079 BOOST_TEST(fs::current_path() == dir); in current_directory_tests()
1080 BOOST_TEST(fs::current_path() != original_dir); in current_directory_tests()
1081 fs::current_path(original_dir); in current_directory_tests()
1082 BOOST_TEST(fs::current_path() == original_dir); in current_directory_tests()
1083 BOOST_TEST(fs::current_path() != dir); in current_directory_tests()
1086 fs::current_path(dir.c_str()); in current_directory_tests()
1087 BOOST_TEST(fs::current_path() == dir); in current_directory_tests()
1088 BOOST_TEST(fs::current_path() != original_dir); in current_directory_tests()
1089 fs::current_path(original_dir.string()); in current_directory_tests()
1090 BOOST_TEST(fs::current_path() == original_dir); in current_directory_tests()
1091 BOOST_TEST(fs::current_path() != dir); in current_directory_tests()
1100 BOOST_TEST(!fs::create_directories("/")); in create_directories_tests()
1102 fs::path p = dir / "level1" / "level2" / "level3"; in create_directories_tests()
1104 BOOST_TEST(!fs::exists(p)); in create_directories_tests()
1105 BOOST_TEST(fs::create_directories(p)); in create_directories_tests()
1106 BOOST_TEST(fs::exists(p)); in create_directories_tests()
1107 BOOST_TEST(fs::is_directory(p)); in create_directories_tests()
1109 if (fs::exists("/permissions_test")) in create_directories_tests()
1112 BOOST_TEST(!fs::create_directories("/permissions_test", ec)); in create_directories_tests()
1113 BOOST_TEST(!fs::create_directories("/permissions_test/another_directory", ec)); in create_directories_tests()
1124 fs::path p(dir / "resize_file_test.txt"); in resize_file_tests()
1126 fs::remove(p); in resize_file_tests()
1129 BOOST_TEST(fs::exists(p)); in resize_file_tests()
1130 BOOST_TEST_EQ(fs::file_size(p), 10U); in resize_file_tests()
1131 fs::resize_file(p, 5); in resize_file_tests()
1132 BOOST_TEST(fs::exists(p)); in resize_file_tests()
1133 BOOST_TEST_EQ(fs::file_size(p), 5U); in resize_file_tests()
1134 fs::resize_file(p, 15); in resize_file_tests()
1135 BOOST_TEST(fs::exists(p)); in resize_file_tests()
1136 BOOST_TEST_EQ(fs::file_size(p), 15U); in resize_file_tests()
1139 fs::resize_file("no such file", 15, ec); in resize_file_tests()
1148 fs::path p ("nosuch"); in status_of_nonexistent_tests()
1149 BOOST_TEST(!fs::exists(p)); in status_of_nonexistent_tests()
1150 BOOST_TEST(!fs::is_regular_file(p)); in status_of_nonexistent_tests()
1151 BOOST_TEST(!fs::is_directory(p)); in status_of_nonexistent_tests()
1152 BOOST_TEST(!fs::is_symlink(p)); in status_of_nonexistent_tests()
1153 BOOST_TEST(!fs::is_other(p)); in status_of_nonexistent_tests()
1155 fs::file_status s = fs::status(p); in status_of_nonexistent_tests()
1156 BOOST_TEST(!fs::exists(s)); in status_of_nonexistent_tests()
1157 BOOST_TEST_EQ(s.type(), fs::file_not_found); in status_of_nonexistent_tests()
1158 BOOST_TEST(fs::type_present(s)); in status_of_nonexistent_tests()
1159 BOOST_TEST(!fs::is_regular_file(s)); in status_of_nonexistent_tests()
1160 BOOST_TEST(!fs::is_directory(s)); in status_of_nonexistent_tests()
1161 BOOST_TEST(!fs::is_symlink(s)); in status_of_nonexistent_tests()
1162 BOOST_TEST(!fs::is_other(s)); in status_of_nonexistent_tests()
1177 fs::file_status s = fs::status(".",ec); in status_error_reporting_tests()
1180 BOOST_TEST(fs::exists(s)); in status_error_reporting_tests()
1181 BOOST_TEST(fs::is_directory(s)); in status_error_reporting_tests()
1184 fs::path p ("nosuch"); in status_error_reporting_tests()
1186 s = fs::status(p,ec); in status_error_reporting_tests()
1190 BOOST_TEST(!fs::exists(s)); in status_error_reporting_tests()
1191 BOOST_TEST_EQ(s.type(), fs::file_not_found); in status_error_reporting_tests()
1192 BOOST_TEST(fs::type_present(s)); in status_error_reporting_tests()
1193 BOOST_TEST(!fs::is_regular_file(s)); in status_error_reporting_tests()
1194 BOOST_TEST(!fs::is_directory(s)); in status_error_reporting_tests()
1195 BOOST_TEST(!fs::is_symlink(s)); in status_error_reporting_tests()
1196 BOOST_TEST(!fs::is_other(s)); in status_error_reporting_tests()
1200 BOOST_TEST(fs::exists(".", ec)); in status_error_reporting_tests()
1204 BOOST_TEST(!fs::is_regular_file(".", ec)); in status_error_reporting_tests()
1208 BOOST_TEST(fs::is_directory(".", ec)); in status_error_reporting_tests()
1214 BOOST_TEST(!fs::exists(p, ec)); in status_error_reporting_tests()
1218 BOOST_TEST(!fs::is_regular_file(p, ec)); in status_error_reporting_tests()
1222 BOOST_TEST(!fs::is_directory(p, ec)); in status_error_reporting_tests()
1229 void remove_tests(const fs::path& dirx) in remove_tests()
1234 fs::path f1x = dirx / "shortlife"; in remove_tests()
1235 BOOST_TEST(!fs::exists(f1x)); in remove_tests()
1237 BOOST_TEST(fs::exists(f1x)); in remove_tests()
1238 BOOST_TEST(!fs::is_directory(f1x)); in remove_tests()
1239 BOOST_TEST(fs::remove(f1x)); in remove_tests()
1240 BOOST_TEST(!fs::exists(f1x)); in remove_tests()
1241 BOOST_TEST(!fs::remove("no-such-file")); in remove_tests()
1242 BOOST_TEST(!fs::remove("no-such-directory/no-such-file")); in remove_tests()
1245 fs::path d1x = dirx / "shortlife_dir"; in remove_tests()
1246 BOOST_TEST(!fs::exists(d1x)); in remove_tests()
1247 fs::create_directory(d1x); in remove_tests()
1248 BOOST_TEST(fs::exists(d1x)); in remove_tests()
1249 BOOST_TEST(fs::is_directory(d1x)); in remove_tests()
1250 BOOST_TEST(fs::is_empty(d1x)); in remove_tests()
1253 BOOST_TEST(fs::remove(d1x)); in remove_tests()
1254 BOOST_TEST(!fs::exists(d1x)); in remove_tests()
1264 fs::path link("dangling_link"); in remove_symlink_tests()
1265 fs::remove(link); // remove any residue from past tests in remove_symlink_tests()
1266 BOOST_TEST(!fs::is_symlink(link)); in remove_symlink_tests()
1267 BOOST_TEST(!fs::exists(link)); in remove_symlink_tests()
1268 fs::create_symlink("nowhere", link); in remove_symlink_tests()
1269 BOOST_TEST(!fs::exists(link)); in remove_symlink_tests()
1270 BOOST_TEST(fs::is_symlink(link)); in remove_symlink_tests()
1271 BOOST_TEST(fs::remove(link)); in remove_symlink_tests()
1272 BOOST_TEST(!fs::is_symlink(link)); in remove_symlink_tests()
1276 fs::remove(link); // remove any residue from past tests in remove_symlink_tests()
1277 BOOST_TEST(!fs::is_symlink(link)); in remove_symlink_tests()
1278 BOOST_TEST(!fs::exists(link)); in remove_symlink_tests()
1279 fs::create_symlink(link, link); in remove_symlink_tests()
1280 BOOST_TEST(fs::remove(link)); in remove_symlink_tests()
1281 BOOST_TEST(!fs::exists(link)); in remove_symlink_tests()
1282 BOOST_TEST(!fs::is_symlink(link)); in remove_symlink_tests()
1286 fs::path link2("link_to_b"); in remove_symlink_tests()
1287 fs::remove(link); // remove any residue from past tests in remove_symlink_tests()
1288 fs::remove(link2); // remove any residue from past tests in remove_symlink_tests()
1289 BOOST_TEST(!fs::is_symlink(link)); in remove_symlink_tests()
1290 BOOST_TEST(!fs::exists(link)); in remove_symlink_tests()
1291 fs::create_symlink(link, link2); in remove_symlink_tests()
1292 fs::create_symlink(link2, link); in remove_symlink_tests()
1293 BOOST_TEST(fs::remove(link)); in remove_symlink_tests()
1294 BOOST_TEST(fs::remove(link2)); in remove_symlink_tests()
1295 BOOST_TEST(!fs::exists(link)); in remove_symlink_tests()
1296 BOOST_TEST(!fs::exists(link2)); in remove_symlink_tests()
1297 BOOST_TEST(!fs::is_symlink(link)); in remove_symlink_tests()
1300 fs::path f1x = "link_target"; in remove_symlink_tests()
1301 fs::remove(f1x); // remove any residue from past tests in remove_symlink_tests()
1302 BOOST_TEST(!fs::exists(f1x)); in remove_symlink_tests()
1304 BOOST_TEST(fs::exists(f1x)); in remove_symlink_tests()
1305 BOOST_TEST(!fs::is_directory(f1x)); in remove_symlink_tests()
1306 BOOST_TEST(fs::is_regular_file(f1x)); in remove_symlink_tests()
1308 fs::create_symlink(f1x, link); in remove_symlink_tests()
1309 BOOST_TEST(fs::exists(link)); in remove_symlink_tests()
1310 BOOST_TEST(!fs::is_directory(link)); in remove_symlink_tests()
1311 BOOST_TEST(fs::is_regular_file(link)); in remove_symlink_tests()
1312 BOOST_TEST(fs::is_symlink(link)); in remove_symlink_tests()
1313 BOOST_TEST(fs::remove(link)); in remove_symlink_tests()
1314 BOOST_TEST(fs::exists(f1x)); in remove_symlink_tests()
1315 BOOST_TEST(!fs::exists(link)); in remove_symlink_tests()
1316 BOOST_TEST(!fs::is_symlink(link)); in remove_symlink_tests()
1317 BOOST_TEST(fs::remove(f1x)); in remove_symlink_tests()
1318 BOOST_TEST(!fs::exists(f1x)); in remove_symlink_tests()
1327 BOOST_TEST_EQ(fs::absolute(""), fs::current_path() ); in absolute_tests()
1328 BOOST_TEST_EQ(fs::absolute("", ""), fs::current_path() ); in absolute_tests()
1329 BOOST_TEST_EQ(fs::absolute(fs::current_path() / "foo/bar"), fs::current_path() / "foo/bar"); in absolute_tests()
1330 BOOST_TEST_EQ(fs::absolute("foo"), fs::current_path() / "foo"); in absolute_tests()
1331 BOOST_TEST_EQ(fs::absolute("foo", fs::current_path()), fs::current_path() / "foo"); in absolute_tests()
1332 BOOST_TEST_EQ(fs::absolute("bar", "foo"), fs::current_path() / "foo" / "bar"); in absolute_tests()
1333 BOOST_TEST_EQ(fs::absolute("/foo"), fs::current_path().root_path().string() + "foo"); in absolute_tests()
1336 BOOST_TEST_EQ(fs::absolute("a:foo", "b:/bar"), "a:/bar/foo"); in absolute_tests()
1342 BOOST_TEST_EQ(fs::absolute(fs::path(), "//foo/bar"), "//foo/bar"); in absolute_tests()
1345 BOOST_TEST_EQ(fs::absolute(fs::path(), "a:/bar"), "a:/bar"); in absolute_tests()
1350 BOOST_TEST_EQ(fs::absolute(fs::path("//foo/bar"), "//uvw/xyz"), "//foo/bar"); in absolute_tests()
1353 BOOST_TEST_EQ(fs::absolute(fs::path("a:/bar"), "b:/xyz"), "a:/bar"); in absolute_tests()
1356 BOOST_TEST_EQ(fs::absolute(fs::path("//net"), "//xyz/"), "//net/"); in absolute_tests()
1357 BOOST_TEST_EQ(fs::absolute(fs::path("//net"), "//xyz/abc"), "//net/abc"); in absolute_tests()
1358 BOOST_TEST_EQ(fs::absolute(fs::path("//net"), "//xyz/abc/def"), "//net/abc/def"); in absolute_tests()
1361 BOOST_TEST_EQ(fs::absolute(fs::path("a:"), "b:/"), "a:/"); in absolute_tests()
1362 BOOST_TEST_EQ(fs::absolute(fs::path("a:"),"b:/abc"), "a:/abc"); in absolute_tests()
1363 BOOST_TEST_EQ(fs::absolute(fs::path("a:"),"b:/abc/def"), "a:/abc/def"); in absolute_tests()
1364 BOOST_TEST_EQ(fs::absolute(fs::path("a:foo"), "b:/"), "a:/foo"); in absolute_tests()
1365 BOOST_TEST_EQ(fs::absolute(fs::path("a:foo"), "b:/abc"), "a:/abc/foo"); in absolute_tests()
1366 BOOST_TEST_EQ(fs::absolute(fs::path("a:foo"), "b:/abc/def"), "a:/abc/def/foo"); in absolute_tests()
1367 BOOST_TEST_EQ(fs::absolute(fs::path("a:foo/bar"), "b:/"), "a:/foo/bar"); in absolute_tests()
1368 BOOST_TEST_EQ(fs::absolute(fs::path("a:foo/bar"), "b:/abc"), "a:/abc/foo/bar"); in absolute_tests()
1369 BOOST_TEST_EQ(fs::absolute(fs::path("a:foo/bar"), "b:/abc/def"), "a:/abc/def/foo/bar"); in absolute_tests()
1373 BOOST_TEST_EQ(fs::absolute(fs::path("/"), "//xyz/"), "//xyz/"); in absolute_tests()
1374 BOOST_TEST_EQ(fs::absolute(fs::path("/"), "//xyz/abc"), "//xyz/"); in absolute_tests()
1375 BOOST_TEST_EQ(fs::absolute(fs::path("/foo"), "//xyz/"), "//xyz/foo"); in absolute_tests()
1376 BOOST_TEST_EQ(fs::absolute(fs::path("/foo"), "//xyz/abc"), "//xyz/foo"); in absolute_tests()
1378 BOOST_TEST_EQ(fs::absolute(fs::path("foo"), "//xyz/abc"), "//xyz/abc/foo"); in absolute_tests()
1379 BOOST_TEST_EQ(fs::absolute(fs::path("foo/bar"), "//xyz/abc"), "//xyz/abc/foo/bar"); in absolute_tests()
1380 BOOST_TEST_EQ(fs::absolute(fs::path("."), "//xyz/abc"), "//xyz/abc/."); in absolute_tests()
1381 BOOST_TEST_EQ(fs::absolute(fs::path(".."), "//xyz/abc"), "//xyz/abc/.."); in absolute_tests()
1382 BOOST_TEST_EQ(fs::absolute(fs::path("./foo"), "//xyz/abc"), "//xyz/abc/./foo"); in absolute_tests()
1383 BOOST_TEST_EQ(fs::absolute(fs::path("../foo"), "//xyz/abc"), "//xyz/abc/../foo"); in absolute_tests()
1386 BOOST_TEST_EQ(fs::absolute(fs::path("foo"), "/abc"), "/abc/foo"); in absolute_tests()
1387 BOOST_TEST_EQ(fs::absolute(fs::path("foo/bar"), "/abc"), "/abc/foo/bar"); in absolute_tests()
1388 BOOST_TEST_EQ(fs::absolute(fs::path("."), "/abc"), "/abc/."); in absolute_tests()
1389 BOOST_TEST_EQ(fs::absolute(fs::path(".."), "/abc"), "/abc/.."); in absolute_tests()
1390 BOOST_TEST_EQ(fs::absolute(fs::path("./foo"), "/abc"), "/abc/./foo"); in absolute_tests()
1391 BOOST_TEST_EQ(fs::absolute(fs::path("../foo"), "/abc"), "/abc/../foo"); in absolute_tests()
1405 fs::canonical("no-such-file", ec); in canonical_basic_tests()
1408 fs::canonical("no-such-file", "x", ec); in canonical_basic_tests()
1411 try { fs::canonical("no-such-file"); } in canonical_basic_tests()
1412 catch (const fs::filesystem_error&) { ok = true; } in canonical_basic_tests()
1416 BOOST_TEST_EQ(fs::canonical(""), fs::current_path()); in canonical_basic_tests()
1417 BOOST_TEST_EQ(fs::canonical("", fs::current_path()), fs::current_path()); in canonical_basic_tests()
1418 BOOST_TEST_EQ(fs::canonical("", ""), fs::current_path()); in canonical_basic_tests()
1419 BOOST_TEST_EQ(fs::canonical(fs::current_path()), fs::current_path()); in canonical_basic_tests()
1420 BOOST_TEST_EQ(fs::canonical(fs::current_path(), ""), fs::current_path()); in canonical_basic_tests()
1421 BOOST_TEST_EQ(fs::canonical(fs::current_path(), "no-such-file"), fs::current_path()); in canonical_basic_tests()
1423 BOOST_TEST_EQ(fs::canonical("."), fs::current_path()); in canonical_basic_tests()
1424 BOOST_TEST_EQ(fs::canonical(".."), fs::current_path().parent_path()); in canonical_basic_tests()
1425 BOOST_TEST_EQ(fs::canonical("/"), fs::current_path().root_path()); in canonical_basic_tests()
1427 fs::path relative_dir(dir.filename()); in canonical_basic_tests()
1428 BOOST_TEST_EQ(fs::canonical(dir), dir); in canonical_basic_tests()
1429 BOOST_TEST_EQ(fs::canonical(relative_dir), dir); in canonical_basic_tests()
1430 BOOST_TEST_EQ(fs::canonical(dir / "f0"), dir / "f0"); in canonical_basic_tests()
1431 BOOST_TEST_EQ(fs::canonical(relative_dir / "f0"), dir / "f0"); in canonical_basic_tests()
1432 BOOST_TEST_EQ(fs::canonical(relative_dir / "./f0"), dir / "f0"); in canonical_basic_tests()
1433 BOOST_TEST_EQ(fs::canonical(relative_dir / "d1/../f0"), dir / "f0"); in canonical_basic_tests()
1436 fs::path init(fs::initial_path()); in canonical_basic_tests()
1437 fs::path root(init.root_path()); in canonical_basic_tests()
1438 fs::path::const_iterator it(init.begin()); in canonical_basic_tests()
1439 fs::path first; // relative first non-root directory in canonical_basic_tests()
1446 fs::path expected(root/first); in canonical_basic_tests()
1454 BOOST_TEST_EQ(fs::canonical(root / "../.." / first), expected); in canonical_basic_tests()
1455 BOOST_TEST_EQ(fs::canonical(fs::path("../..") / first, root), expected); in canonical_basic_tests()
1456 …BOOST_TEST_EQ(fs::canonical(fs::path("/../..") / first, fs::current_path().root_name()), expected); in canonical_basic_tests()
1459 BOOST_TEST_EQ(fs::canonical(root / first / "../../../../.."), root); in canonical_basic_tests()
1468 fs::path relative_dir(dir.filename()); in canonical_symlink_tests()
1469 BOOST_TEST_EQ(fs::canonical(dir / "sym-d1/f2"), d1 / "f2"); in canonical_symlink_tests()
1470 BOOST_TEST_EQ(fs::canonical(relative_dir / "sym-d1/f2"), d1 / "f2"); in canonical_symlink_tests()
1475 void copy_file_tests(const fs::path& f1x, const fs::path& d1x) in copy_file_tests()
1479 BOOST_TEST(fs::exists(f1x)); in copy_file_tests()
1480 fs::remove(d1x / "f2"); // remove possible residue from prior testing in copy_file_tests()
1481 BOOST_TEST(fs::exists(d1x)); in copy_file_tests()
1482 BOOST_TEST(!fs::exists(d1x / "f2")); in copy_file_tests()
1484 fs::copy_file(f1x, d1x / "f2"); in copy_file_tests()
1486 BOOST_TEST(fs::exists(f1x)); in copy_file_tests()
1487 BOOST_TEST(fs::exists(d1x / "f2")); in copy_file_tests()
1488 BOOST_TEST(!fs::is_directory(d1x / "f2")); in copy_file_tests()
1492 try { fs::copy_file(f1x, d1x / "f2"); } in copy_file_tests()
1493 catch (const fs::filesystem_error &) { copy_ex_ok = true; } in copy_file_tests()
1497 try { fs::copy_file(f1x, d1x / "f2", fs::copy_option::fail_if_exists); } in copy_file_tests()
1498 catch (const fs::filesystem_error &) { copy_ex_ok = true; } in copy_file_tests()
1502 BOOST_TEST_EQ(fs::file_size(d1x / "f2"), 10U); in copy_file_tests()
1504 try { fs::copy_file(f1x, d1x / "f2", fs::copy_option::overwrite_if_exists); } in copy_file_tests()
1505 catch (const fs::filesystem_error &) { copy_ex_ok = false; } in copy_file_tests()
1507 BOOST_TEST_EQ(fs::file_size(d1x / "f2"), 7U); in copy_file_tests()
1519 fs::path dangling_sym(dir / "dangling-sym"); in symlink_status_tests()
1520 fs::path dangling_directory_sym(dir / "dangling-directory-sym"); in symlink_status_tests()
1521 fs::path sym_d1(dir / "sym-d1"); in symlink_status_tests()
1522 fs::path symsym_d1(dir / "symsym-d1"); in symlink_status_tests()
1523 fs::path sym_f1(dir / "sym-f1"); in symlink_status_tests()
1524 fs::path symsym_f1(dir / "symsym-f1"); in symlink_status_tests()
1525 fs::create_symlink("does not exist", dangling_sym); in symlink_status_tests()
1526 fs::create_directory_symlink("does not exist", dangling_directory_sym); in symlink_status_tests()
1527 fs::create_directory_symlink(d1, sym_d1); in symlink_status_tests()
1528 fs::create_directory_symlink(sym_d1, symsym_d1); in symlink_status_tests()
1529 fs::create_symlink(f1, sym_f1); in symlink_status_tests()
1530 fs::create_symlink(sym_f1, symsym_f1); in symlink_status_tests()
1533 BOOST_TEST_EQ(fs::symlink_status(dangling_sym, ec).type(), fs::symlink_file); in symlink_status_tests()
1534 BOOST_TEST_EQ(fs::symlink_status(dangling_directory_sym, ec).type(), fs::symlink_file); in symlink_status_tests()
1535 BOOST_TEST_EQ(fs::symlink_status(sym_d1, ec).type(), fs::symlink_file); in symlink_status_tests()
1536 BOOST_TEST_EQ(fs::symlink_status(symsym_d1, ec).type(), fs::symlink_file); in symlink_status_tests()
1537 BOOST_TEST_EQ(fs::symlink_status(sym_f1, ec).type(), fs::symlink_file); in symlink_status_tests()
1538 BOOST_TEST_EQ(fs::symlink_status(symsym_f1, ec).type(), fs::symlink_file); in symlink_status_tests()
1541 BOOST_TEST_EQ(fs::status(dangling_sym, ec).type(), fs::file_not_found); in symlink_status_tests()
1542 BOOST_TEST_EQ(fs::status(dangling_directory_sym, ec).type(), fs::file_not_found); in symlink_status_tests()
1544 BOOST_TEST_EQ(fs::status(sym_d1, ec).type(), fs::directory_file); in symlink_status_tests()
1545 BOOST_TEST_EQ(fs::status(sym_d1 / "d1f1", ec).type(), fs::regular_file); in symlink_status_tests()
1546 BOOST_TEST_EQ(fs::status(symsym_d1, ec).type(), fs::directory_file); in symlink_status_tests()
1547 BOOST_TEST_EQ(fs::status(symsym_d1 / "d1f1", ec).type(), fs::regular_file); in symlink_status_tests()
1548 BOOST_TEST_EQ(fs::status(sym_f1, ec).type(), fs::regular_file); in symlink_status_tests()
1549 BOOST_TEST_EQ(fs::status(symsym_f1, ec).type(), fs::regular_file); in symlink_status_tests()
1561 fs::path users(getenv("HOMEDRIVE")); in symlink_status_tests()
1564 BOOST_TEST(fs::exists(users)); in symlink_status_tests()
1565 BOOST_TEST(fs::exists(users/"All Users")); in symlink_status_tests()
1566 BOOST_TEST(fs::exists(users/"Default User")); in symlink_status_tests()
1567 BOOST_TEST(fs::is_symlink(users/"All Users")); // dir /A reports <SYMLINKD> in symlink_status_tests()
1568 BOOST_TEST(fs::is_symlink(users/"Default User")); // dir /A reports <JUNCTION> in symlink_status_tests()
1575 void copy_symlink_tests(const fs::path& f1x, const fs::path& d1x) in copy_symlink_tests()
1579 BOOST_TEST(fs::exists(f1x)); in copy_symlink_tests()
1580 BOOST_TEST(fs::exists(d1x)); in copy_symlink_tests()
1581 fs::path sym1(d1x / "symlink1"); in copy_symlink_tests()
1582 fs::remove(sym1); // remove possible residue from prior testing in copy_symlink_tests()
1583 fs::create_symlink(f1x, sym1); in copy_symlink_tests()
1584 BOOST_TEST(fs::exists(sym1)); in copy_symlink_tests()
1585 BOOST_TEST(fs::is_symlink(sym1)); in copy_symlink_tests()
1586 fs::path sym2(d1x / "symlink2"); in copy_symlink_tests()
1587 fs::copy_symlink(sym1, sym2); in copy_symlink_tests()
1588 BOOST_TEST(fs::exists(sym2)); in copy_symlink_tests()
1589 BOOST_TEST(fs::is_symlink(sym2)); in copy_symlink_tests()
1596 try { fs::copy_symlink("no-such-file", "new-symlink1"); } in copy_symlink_tests()
1597 catch (const fs::filesystem_error &) { copy_ex_ok = true; } in copy_symlink_tests()
1601 try { fs::copy_symlink(f1x, "new-symlink2"); } // should fail; f1x not symlink in copy_symlink_tests()
1602 catch (const fs::filesystem_error &) { copy_ex_ok = true; } in copy_symlink_tests()
1608 void write_time_tests(const fs::path& dirx) in write_time_tests()
1612 fs::path f1x = dirx / "foobar2"; in write_time_tests()
1614 BOOST_TEST(fs::exists(f1x)); in write_time_tests()
1615 BOOST_TEST(!fs::is_directory(f1x)); in write_time_tests()
1616 BOOST_TEST(fs::is_regular_file(f1x)); in write_time_tests()
1617 BOOST_TEST(fs::file_size(f1x) == 7); in write_time_tests()
1624 std::time_t ft = fs::last_write_time(f1x); in write_time_tests()
1632 fs::last_write_time(f1x, std::mktime(tmp)); in write_time_tests()
1633 std::time_t ft2 = fs::last_write_time(f1x); in write_time_tests()
1636 BOOST_TEST(ft != fs::last_write_time(f1x)); in write_time_tests()
1639 fs::last_write_time(f1x, ft); in write_time_tests()
1640 double time_diff = std::difftime(ft, fs::last_write_time(f1x)); in write_time_tests()
1659 BOOST_TEST(!fs::exists(fs::path("//share-not"))); in platform_specific_tests()
1660 BOOST_TEST(!fs::exists(fs::path("//share-not/"))); in platform_specific_tests()
1661 BOOST_TEST(!fs::exists(fs::path("//share-not/foo"))); in platform_specific_tests()
1665 BOOST_TEST(!fs::exists("tools/jam/src/:sys:stat.h")); // !exists() if ERROR_INVALID_NAME in platform_specific_tests()
1666 BOOST_TEST(!fs::exists(":sys:stat.h")); // !exists() if ERROR_INVALID_PARAMETER in platform_specific_tests()
1670 BOOST_TEST(fs::system_complete("").empty()); in platform_specific_tests()
1671 BOOST_TEST(fs::system_complete("/") == fs::initial_path().root_path()); in platform_specific_tests()
1672 BOOST_TEST(fs::system_complete("foo") in platform_specific_tests()
1673 == fs::initial_path() / "foo"); in platform_specific_tests()
1675 fs::path p1(fs::system_complete("/foo")); in platform_specific_tests()
1678 std::string s2(fs::initial_path().root_path().string()+"foo"); in platform_specific_tests()
1681 BOOST_TEST(fs::system_complete(fs::path(fs::initial_path().root_name())) in platform_specific_tests()
1682 == fs::initial_path()); in platform_specific_tests()
1683 BOOST_TEST(fs::system_complete(fs::path(fs::initial_path().root_name().string() in platform_specific_tests()
1684 + "foo")).string() == fs::initial_path() / "foo"); in platform_specific_tests()
1685 BOOST_TEST(fs::system_complete(fs::path("c:/")).generic_string() in platform_specific_tests()
1687 BOOST_TEST(fs::system_complete(fs::path("c:/foo")).generic_string() in platform_specific_tests()
1689 BOOST_TEST(fs::system_complete(fs::path("//share")).generic_string() in platform_specific_tests()
1703 BOOST_TEST(fs::exists(dir)); in platform_specific_tests()
1704 BOOST_TEST(fs::exists(dir / "d1/d1f1")); in platform_specific_tests()
1705 fs::path junc(dir / "junc"); in platform_specific_tests()
1706 if (fs::exists(junc)) in platform_specific_tests()
1707 fs::remove(junc); in platform_specific_tests()
1708 fs::path new_junc(dir / "new-junc"); in platform_specific_tests()
1709 if (fs::exists(new_junc)) in platform_specific_tests()
1710 fs::remove(new_junc); in platform_specific_tests()
1717 fs::path cur_path(fs::current_path()); in platform_specific_tests()
1718 fs::current_path(dir); in platform_specific_tests()
1722 fs::current_path(cur_path); in platform_specific_tests()
1725 BOOST_TEST(fs::exists(junc)); in platform_specific_tests()
1726 BOOST_TEST(fs::is_symlink(junc)); in platform_specific_tests()
1727 BOOST_TEST(fs::is_directory(junc)); in platform_specific_tests()
1728 BOOST_TEST(!fs::is_regular_file(junc)); in platform_specific_tests()
1729 BOOST_TEST(fs::exists(junc / "d1f1")); in platform_specific_tests()
1730 BOOST_TEST(fs::is_regular_file(junc / "d1f1")); in platform_specific_tests()
1733 for (fs::directory_iterator itr(junc); in platform_specific_tests()
1734 itr != fs::directory_iterator(); ++itr) in platform_specific_tests()
1742 fs::rename(junc, new_junc); in platform_specific_tests()
1743 BOOST_TEST(!fs::exists(junc)); in platform_specific_tests()
1744 BOOST_TEST(fs::exists(new_junc)); in platform_specific_tests()
1745 BOOST_TEST(fs::is_symlink(new_junc)); in platform_specific_tests()
1746 BOOST_TEST(fs::is_directory(new_junc)); in platform_specific_tests()
1747 BOOST_TEST(!fs::is_regular_file(new_junc)); in platform_specific_tests()
1748 BOOST_TEST(fs::exists(new_junc / "d1f1")); in platform_specific_tests()
1749 BOOST_TEST(fs::is_regular_file(new_junc / "d1f1")); in platform_specific_tests()
1751 fs::remove(new_junc); in platform_specific_tests()
1752 BOOST_TEST(!fs::exists(new_junc / "d1f1")); in platform_specific_tests()
1753 BOOST_TEST(!fs::exists(new_junc)); in platform_specific_tests()
1754 BOOST_TEST(fs::exists(dir)); in platform_specific_tests()
1755 BOOST_TEST(fs::exists(dir / "d1/d1f1")); in platform_specific_tests()
1763 BOOST_TEST(fs::system_complete("").empty()); in platform_specific_tests()
1764 BOOST_TEST(fs::initial_path().root_path().string() == "/"); in platform_specific_tests()
1765 BOOST_TEST(fs::system_complete("/").string() == "/"); in platform_specific_tests()
1766 BOOST_TEST(fs::system_complete("foo").string() in platform_specific_tests()
1767 == fs::initial_path().string()+"/foo"); in platform_specific_tests()
1768 BOOST_TEST(fs::system_complete("/foo").string() in platform_specific_tests()
1769 == fs::initial_path().root_path().string()+"foo"); in platform_specific_tests()
1780 << fs::initial_path().string() in initial_tests()
1782 BOOST_TEST(fs::initial_path() == fs::current_path()); in initial_tests()
1783 BOOST_TEST(fs::initial_path().is_absolute()); in initial_tests()
1784 BOOST_TEST(fs::current_path().is_absolute()); in initial_tests()
1785 BOOST_TEST(fs::initial_path().string() in initial_tests()
1786 == fs::current_path().string()); in initial_tests()
1796 fs::space_info spi(fs::space(dir)); in space_tests()
1812 void equivalent_tests(const fs::path& f1x) in equivalent_tests()
1817 BOOST_TEST(fs::equivalent(f1x, dir / "f1")); in equivalent_tests()
1818 BOOST_TEST(fs::equivalent(dir, d1 / "..")); in equivalent_tests()
1819 BOOST_TEST(!fs::equivalent(f1x, dir)); in equivalent_tests()
1820 BOOST_TEST(!fs::equivalent(dir, f1x)); in equivalent_tests()
1821 BOOST_TEST(!fs::equivalent(d1, d2)); in equivalent_tests()
1822 BOOST_TEST(!fs::equivalent(dir, ng)); in equivalent_tests()
1823 BOOST_TEST(!fs::equivalent(ng, dir)); in equivalent_tests()
1824 BOOST_TEST(!fs::equivalent(f1x, ng)); in equivalent_tests()
1825 BOOST_TEST(!fs::equivalent(ng, f1x)); in equivalent_tests()
1862 guarded_env_var(const char* name, const fs::path::value_type* value) in guarded_env_var()
1884 fs::path p (temp_dir); in temp_directory_path_tests()
1886 fs::create_directory(p); in temp_directory_path_tests()
1890 fs::path tmp_path = fs::temp_directory_path(ec); in temp_directory_path_tests()
1894 fs::remove(p); in temp_directory_path_tests()
1899 guarded_env_var tmp_guard("TMP", fs::initial_path().wstring().c_str()); in temp_directory_path_tests()
1902 fs::path tmp_path = fs::temp_directory_path(ec); in temp_directory_path_tests()
1904 BOOST_TEST(tmp_path == fs::initial_path()); in temp_directory_path_tests()
1908 BOOST_TEST(!fs::temp_directory_path().empty()); in temp_directory_path_tests()
1909 BOOST_TEST(exists(fs::temp_directory_path())); in temp_directory_path_tests()
1910 fs::path ph = fs::temp_directory_path()/"temp_directory_path_test.txt"; in temp_directory_path_tests()
1927 fs::path test_temp_dir = temp_dir; in temp_directory_path_tests()
1939 ( const fs::path::value_type* tmpdir in temp_directory_path_tests()
1940 , const fs::path::value_type* tmp in temp_directory_path_tests()
1941 , const fs::path::value_type* temp in temp_directory_path_tests()
1942 , const fs::path::value_type* tempdir in temp_directory_path_tests()
1953 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
1958 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
1963 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
1968 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
1984 ( const fs::path::value_type* tmp in temp_directory_path_tests()
1985 , const fs::path::value_type* temp in temp_directory_path_tests()
1986 , const fs::path::value_type* localappdata in temp_directory_path_tests()
1987 , const fs::path::value_type* userprofile in temp_directory_path_tests()
2000 fs::path ph = fs::temp_directory_path(ec); in temp_directory_path_tests()
2007 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
2012 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
2016 fs::create_directory(test_temp_dir / L"Temp"); in temp_directory_path_tests()
2019 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
2025 fs::path ph = fs::temp_directory_path(); in temp_directory_path_tests()
2083 cout << "initial_path() is " << fs::initial_path() << endl; in cpp_main()
2084 fs::path ip = fs::initial_path(); in cpp_main()
2087 for (fs::path::const_iterator it = ip.begin(); it != ip.end(); ++it) in cpp_main()
2095 dir = fs::initial_path() / temp_dir; in cpp_main()
2097 if (fs::exists(dir)) in cpp_main()
2100 fs::remove_all(dir); in cpp_main()
2102 BOOST_TEST(!fs::exists(dir)); in cpp_main()
2132 fs::file_status stat = fs::status(f1); in cpp_main()
2133 BOOST_TEST(fs::status_known(stat)); in cpp_main()
2134 BOOST_TEST(fs::exists(stat)); in cpp_main()
2135 BOOST_TEST(!fs::is_directory(stat)); in cpp_main()
2136 BOOST_TEST(fs::is_regular_file(stat)); in cpp_main()
2137 BOOST_TEST(!fs::is_other(stat)); in cpp_main()
2138 BOOST_TEST(!fs::is_symlink(stat)); in cpp_main()
2174 BOOST_TEST(fs::remove_all(dir) != 0); in cpp_main()