test: Move test_data_file() to test.h
[dpkg.git] / lib / dpkg / t / t-meminfo.c
blob0c3e635516f895f0a071c9e925cac11b331d91e7
1 /*
2 * libdpkg - Debian packaging suite library routines
3 * t-meminfo.c - test memory information handling code
5 * Copyright © 2022 Guillem Jover <guillem@debian.org>
7 * This is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 #include <config.h>
22 #include <compat.h>
24 #include <dpkg/test.h>
25 #include <dpkg/meminfo.h>
27 static void
28 test_meminfo(void)
30 char *pathname;
31 uint64_t mem;
32 int rc;
34 mem = 0;
35 pathname = test_data_file("meminfo-no-file");
36 rc = meminfo_get_available_from_file(pathname, &mem);
37 test_pass(rc == MEMINFO_NO_FILE);
38 test_pass(mem == 0);
39 free(pathname);
41 mem = 0;
42 pathname = test_data_file("meminfo-no-data");
43 rc = meminfo_get_available_from_file(pathname, &mem);
44 test_pass(rc == MEMINFO_NO_DATA);
45 test_pass(mem == 0);
46 free(pathname);
48 mem = 0;
49 pathname = test_data_file("meminfo-no-unit");
50 rc = meminfo_get_available_from_file(pathname, &mem);
51 test_pass(rc == MEMINFO_NO_UNIT);
52 test_pass(mem == 0);
53 free(pathname);
55 mem = 0;
56 pathname = test_data_file("meminfo-no-info");
57 rc = meminfo_get_available_from_file(pathname, &mem);
58 test_pass(rc == MEMINFO_NO_INFO);
59 test_pass(mem == 0);
60 free(pathname);
62 mem = 0;
63 pathname = test_data_file("meminfo-ok");
64 rc = meminfo_get_available_from_file(pathname, &mem);
65 test_pass(rc == MEMINFO_OK);
66 test_pass(mem == 3919974400UL);
67 free(pathname);
70 TEST_ENTRY(test)
72 test_plan(10);
74 test_meminfo();