MCPcopy Create free account
hub / github.com/boostorg/filesystem / iterator_status_tests

Function iterator_status_tests

test/operations_test.cpp:643–703  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

641 // iterator_status_tests -----------------------------------------------------------//
642
643 void iterator_status_tests()
644 {
645 cout << "iterator_status_tests..." << endl;
646
647 error_code ec;
648 // harmless if these fail:
649 fs::create_symlink(dir/"f0", dir/"f0_symlink", ec);
650 fs::create_symlink(dir/"no such file", dir/"dangling_symlink", ec);
651 fs::create_directory_symlink(dir/"d1", dir/"d1_symlink", ec);
652 fs::create_directory_symlink(dir/"no such directory",
653 dir/"dangling_directory_symlink", ec);
654
655 for (fs::directory_iterator it(dir);
656 it != fs::directory_iterator(); ++it)
657 {
658 BOOST_TEST(fs::status(it->path()).type() == it->status().type());
659 BOOST_TEST(fs::symlink_status(it->path()).type() == it->symlink_status().type());
660 if (it->path().filename() == "d1")
661 {
662 BOOST_TEST(fs::is_directory(it->status()));
663 BOOST_TEST(fs::is_directory(it->symlink_status()));
664 }
665 else if (it->path().filename() == "d2")
666 {
667 BOOST_TEST(fs::is_directory(it->status()));
668 BOOST_TEST(fs::is_directory(it->symlink_status()));
669 }
670 else if (it->path().filename() == "f0")
671 {
672 BOOST_TEST(fs::is_regular_file(it->status()));
673 BOOST_TEST(fs::is_regular_file(it->symlink_status()));
674 }
675 else if (it->path().filename() == "f1")
676 {
677 BOOST_TEST(fs::is_regular_file(it->status()));
678 BOOST_TEST(fs::is_regular_file(it->symlink_status()));
679 }
680 else if (it->path().filename() == "f0_symlink")
681 {
682 BOOST_TEST(fs::is_regular_file(it->status()));
683 BOOST_TEST(fs::is_symlink(it->symlink_status()));
684 }
685 else if (it->path().filename() == "dangling_symlink")
686 {
687 BOOST_TEST(it->status().type() == fs::file_not_found);
688 BOOST_TEST(fs::is_symlink(it->symlink_status()));
689 }
690 else if (it->path().filename() == "d1_symlink")
691 {
692 BOOST_TEST(fs::is_directory(it->status()));
693 BOOST_TEST(fs::is_symlink(it->symlink_status()));
694 }
695 else if (it->path().filename() == "dangling_directory_symlink")
696 {
697 BOOST_TEST(it->status().type() == fs::file_not_found);
698 BOOST_TEST(fs::is_symlink(it->symlink_status()));
699 }
700 //else

Callers 1

cpp_mainFunction · 0.85

Calls 11

directory_iteratorClass · 0.85
statusFunction · 0.85
symlink_statusFunction · 0.85
is_directoryFunction · 0.85
is_regular_fileFunction · 0.85
is_symlinkFunction · 0.85
statusMethod · 0.80
symlink_statusMethod · 0.80
filenameMethod · 0.80
create_symlinkFunction · 0.50
create_directory_symlinkFunction · 0.50

Tested by

no test coverage detected