Branch data Line data Source code
1 : : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : : 3 : : #include <string.h> 4 : : #include <unistd.h> 5 : : 6 : : #include "log.h" 7 : : #include "tests.h" 8 : : #include "watchdog.h" 9 : : 10 : 4 : int main(int argc, char *argv[]) { 11 : : usec_t t; 12 : : unsigned i, count; 13 : : int r; 14 : : bool slow; 15 : : 16 : 4 : test_setup_logging(LOG_DEBUG); 17 : : 18 : 4 : slow = slow_tests_enabled(); 19 : : 20 [ + - ]: 4 : t = slow ? 10 * USEC_PER_SEC : 1 * USEC_PER_SEC; 21 [ + - ]: 4 : count = slow ? 5 : 3; 22 : : 23 : 4 : r = watchdog_set_timeout(&t); 24 [ + - ]: 4 : if (r < 0) 25 [ + - ]: 4 : log_warning_errno(r, "Failed to open watchdog: %m"); 26 [ - + ]: 4 : if (r == -EPERM) 27 : 0 : t = 0; 28 : : 29 [ + + ]: 24 : for (i = 0; i < count; i++) { 30 [ + - ]: 20 : log_info("Pinging..."); 31 : 20 : r = watchdog_ping(); 32 [ + - ]: 20 : if (r < 0) 33 [ + - ]: 20 : log_warning_errno(r, "Failed to ping watchdog: %m"); 34 : : 35 : 20 : usleep(t/2); 36 : : } 37 : : 38 : 4 : watchdog_close(true); 39 : 4 : return 0; 40 : : }