| 1353 | // status_error_reporting_tests ----------------------------------------------------// |
| 1354 | |
| 1355 | void status_error_reporting_tests() |
| 1356 | { |
| 1357 | cout << "status_error_reporting_tests..." << endl; |
| 1358 | |
| 1359 | error_code ec; |
| 1360 | |
| 1361 | // test status, ec, for existing file |
| 1362 | ec.assign(-1, poison_category()); |
| 1363 | BOOST_TEST(ec.value() == -1); |
| 1364 | BOOST_TEST(&ec.category() == &poison_category()); |
| 1365 | fs::file_status s = fs::status(".", ec); |
| 1366 | BOOST_TEST(ec.value() == 0); |
| 1367 | BOOST_TEST(ec.category() == system_category()); |
| 1368 | BOOST_TEST(fs::exists(s)); |
| 1369 | BOOST_TEST(fs::is_directory(s)); |
| 1370 | |
| 1371 | // test status, ec, for non-existing file |
| 1372 | fs::path p("nosuch"); |
| 1373 | ec.assign(-1, poison_category()); |
| 1374 | s = fs::status(p, ec); |
| 1375 | BOOST_TEST(ec.value() != 0); |
| 1376 | BOOST_TEST(ec.category() == system_category()); |
| 1377 | |
| 1378 | BOOST_TEST(!fs::exists(s)); |
| 1379 | BOOST_TEST_EQ(s.type(), fs::file_not_found); |
| 1380 | BOOST_TEST(fs::type_present(s)); |
| 1381 | BOOST_TEST(!fs::is_regular_file(s)); |
| 1382 | BOOST_TEST(!fs::is_directory(s)); |
| 1383 | BOOST_TEST(!fs::is_symlink(s)); |
| 1384 | BOOST_TEST(!fs::is_other(s)); |
| 1385 | |
| 1386 | // test queries, ec, for existing file |
| 1387 | ec.assign(-1, poison_category()); |
| 1388 | BOOST_TEST(fs::exists(".", ec)); |
| 1389 | BOOST_TEST(ec.value() == 0); |
| 1390 | BOOST_TEST(ec.category() == system_category()); |
| 1391 | ec.assign(-1, poison_category()); |
| 1392 | BOOST_TEST(!fs::is_regular_file(".", ec)); |
| 1393 | BOOST_TEST(ec.value() == 0); |
| 1394 | BOOST_TEST(ec.category() == system_category()); |
| 1395 | ec.assign(-1, poison_category()); |
| 1396 | BOOST_TEST(fs::is_directory(".", ec)); |
| 1397 | BOOST_TEST(ec.value() == 0); |
| 1398 | BOOST_TEST(ec.category() == system_category()); |
| 1399 | |
| 1400 | // test queries, ec, for non-existing file |
| 1401 | ec.assign(-1, poison_category()); |
| 1402 | BOOST_TEST(!fs::exists(p, ec)); |
| 1403 | BOOST_TEST(ec.value() != 0); |
| 1404 | BOOST_TEST(ec.category() == system_category()); |
| 1405 | ec.assign(-1, poison_category()); |
| 1406 | BOOST_TEST(!fs::is_regular_file(p, ec)); |
| 1407 | BOOST_TEST(ec.value() != 0); |
| 1408 | BOOST_TEST(ec.category() == system_category()); |
| 1409 | ec.assign(-1, poison_category()); |
| 1410 | BOOST_TEST(!fs::is_directory(p, ec)); |
| 1411 | BOOST_TEST(ec.value() != 0); |
| 1412 | BOOST_TEST(ec.category() == system_category()); |
no test coverage detected