Line data Source code
1 : // Copyright (c) 2006-2023 Made to Order Software Corp. All Rights Reserved 2 : // 3 : // https://snapwebsites.org/project/snaplogger 4 : // contact@m2osw.com 5 : // 6 : // This program is free software: you can redistribute it and/or modify 7 : // it under the terms of the GNU General Public License as published by 8 : // the Free Software Foundation, either version 3 of the License, or 9 : // (at your option) any later version. 10 : // 11 : // This program is distributed in the hope that it will be useful, 12 : // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 : // GNU General Public License for more details. 15 : // 16 : // You should have received a copy of the GNU General Public License 17 : // along with this program. If not, see <https://www.gnu.org/licenses/>. 18 : 19 : // self 20 : // 21 : #include "catch_main.h" 22 : 23 : 24 : // snaplogger 25 : // 26 : #include <snaplogger/utils.h> 27 : 28 : 29 : 30 2 : CATCH_TEST_CASE("is_rotational", "[utils]") 31 : { 32 2 : CATCH_START_SECTION("is_rotational: verify cache returns proper result") 33 : { 34 : // this really just verifies that the cache works 35 : // 36 1 : bool const here1(snaplogger::is_rotational(".")); 37 1 : CATCH_REQUIRE(errno == 0); 38 1 : bool const here2(snaplogger::is_rotational(".")); 39 1 : CATCH_REQUIRE(errno == 0); 40 1 : CATCH_REQUIRE(here1 == here2); 41 : 42 1 : bool const root1(snaplogger::is_rotational("/")); 43 1 : CATCH_REQUIRE(errno == 0); 44 1 : bool const root2(snaplogger::is_rotational("/")); 45 1 : CATCH_REQUIRE(errno == 0); 46 1 : CATCH_REQUIRE(root1 == root2); 47 : } 48 2 : CATCH_END_SECTION() 49 : 50 2 : CATCH_START_SECTION("is_rotational: verify non-existant file") 51 : { 52 1 : bool const bad(snaplogger::is_rotational("this-file-does-not-exist")); 53 1 : CATCH_REQUIRE(errno == ENOENT); 54 1 : CATCH_REQUIRE_FALSE(bad); 55 : } 56 2 : CATCH_END_SECTION() 57 2 : } 58 : 59 : 60 : 61 : // vim: ts=4 sw=4 et