1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright (c) International Business Machines Corp., 2001 4 * 07/2001 Ported by Wayne Boyer 5 * Copyright (C) 2015-2017 Cyril Hrubis <chrubis@suse.cz> 6 */ 7 8/* 9 * Test Description: 10 * nanosleep() should return with value 0 and the process should be 11 * suspended for time specified by timespec structure. 12 */ 13 14#include <errno.h> 15#include "tst_timer_test.h" 16 17int sample_fn(int clk_id, long long usec) 18{ 19 struct timespec t = tst_timespec_from_us(usec); 20 21 tst_timer_start(clk_id); 22 TEST(nanosleep(&t, NULL)); 23 tst_timer_stop(); 24 tst_timer_sample(); 25 26 if (TST_RET != 0) { 27 tst_res(TFAIL | TTERRNO, 28 "nanosleep() returned %li", TST_RET); 29 return 1; 30 } 31 32 return 0; 33} 34 35static struct tst_test test = { 36 .scall = "nanosleep()", 37 .sample = sample_fn, 38}; 39