From 680815fe2a26d8c48b6abf3b42b0c0aa5ec64fc7 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Tue, 27 Jun 2023 18:31:41 -0400 Subject: tests: Test helpers/mode --- (limited to 'tests/mode.c') diff --git a/tests/mode.c b/tests/mode.c new file mode 100644 index 0000000..3944263 --- /dev/null +++ b/tests/mode.c @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2023 Patrick McDermott + * + * This file is part of opkg-opk. + * + * opkg-opk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * opkg-opk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with opkg-opk. If not, see . + */ + +#include +#include +#include +#include "../helpers/defs.h" +#include "../helpers/mode.h" + +static unsigned int _test_num = 0U; + +static void +_test(mode_t cur_mode, const char *mode_str, int exp_ret, mode_t exp_mode) +{ + mode_t got_mode; + + if (opkg_opk_helper_mode_parse(cur_mode, mode_str, &got_mode) + != exp_ret + || got_mode != exp_mode) { + fputs("not ", stdout); + } + printf("ok %u - cur_mode=0%06o mode_str=\"%s\"\n", + ++_test_num, cur_mode, mode_str); + printf("\texp=0%06o got=0%06o\n", exp_mode, got_mode); +} + +int +main() +{ + puts("1..1"); + _test(0000644, "a+x", OPKG_OPK_OK, 0000755); + + return EXIT_SUCCESS; +} -- cgit v0.9.1