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)10void alarmHandler(int32_t signum) { 11 } 12 #endif 13 main(int argc,const char ** argv)14int 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