Line data Source code
1 : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : 3 : #include "tests.h" 4 : #include "umask-util.h" 5 : 6 1 : int main(int argc, char *argv[]) { 7 : size_t n; 8 : mode_t u; 9 : 10 1 : test_setup_logging(LOG_DEBUG); 11 : 12 1 : u = umask(0111); 13 : 14 1 : n = 0; 15 2 : RUN_WITH_UMASK(0123) { 16 1 : assert_se(umask(000) == 0123); 17 1 : n++; 18 : } 19 : 20 1 : assert_se(n == 1); 21 1 : assert_se(umask(u) == 0111); 22 : 23 2 : RUN_WITH_UMASK(0135) { 24 1 : assert_se(umask(000) == 0135); 25 1 : n++; 26 : } 27 : 28 1 : assert_se(n == 2); 29 1 : assert_se(umask(0111) == u); 30 : 31 2 : RUN_WITH_UMASK(0315) { 32 1 : assert_se(umask(000) == 0315); 33 1 : n++; 34 1 : break; 35 : } 36 : 37 1 : assert_se(n == 3); 38 1 : assert_se(umask(u) == 0111); 39 : 40 1 : return EXIT_SUCCESS; 41 : }