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