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 4 : CATCH_TEST_CASE("is_rotational", "[utils]")
31 : {
32 4 : 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 : CATCH_END_SECTION()
49 :
50 4 : 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 : CATCH_END_SECTION()
57 8 : }
58 :
59 :
60 :
61 : // vim: ts=4 sw=4 et
|