1 // Copyright (c) 1999-2018 David Muse
2 // See the file COPYING for more information
3 
4 #include <rudiments/snooze.h>
5 #include <rudiments/stdio.h>
6 #include "test.cpp"
7 
8 #ifndef _WIN32
9 #include <rudiments/signalclasses.h>
alarmHandler(int32_t signum)10 void alarmHandler(int32_t signum) {
11 }
12 #endif
13 
main(int argc,const char ** argv)14 int main(int argc, const char **argv) {
15 
16 	header("snooze");
17 
18 	uint32_t	timeleft;
19 	test("uninterrupted",snooze::macrosnooze(1,&timeleft));
20 	test("timeleft",timeleft<=1);
21 
22 #ifndef _WIN32
23 	signalhandler	alarmhandler;
24 	alarmhandler.setHandler(alarmHandler);
25 	alarmhandler.handleSignal(SIGALRM);
26 
27 	signalmanager::alarm(1);
28 
29 	test("interrupted",!snooze::macrosnooze(5,&timeleft));
30 	test("timeleft",timeleft<5);
31 #endif
32 }
33