| 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 |
no test coverage detected