diff options
author | Gedare Bloom <gedare@rtems.org> | 2016-06-09 11:40:35 -0400 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2016-07-25 12:44:47 -0400 |
commit | 6e98ea91571f2945f5c2fee9dc35f755739bd2eb (patch) | |
tree | fae1fcf1465d8bcfd0ba818887c3bd7cfaff770e /testsuites/psxtmtests/psxtmclocknanosleep01 | |
parent | cpukit: Add and use Watchdog_Discipline. (diff) | |
download | rtems-6e98ea91571f2945f5c2fee9dc35f755739bd2eb.tar.bz2 |
posix: add clock_nanosleep and tests
updates #2732
Diffstat (limited to 'testsuites/psxtmtests/psxtmclocknanosleep01')
3 files changed, 96 insertions, 0 deletions
diff --git a/testsuites/psxtmtests/psxtmclocknanosleep01/Makefile.am b/testsuites/psxtmtests/psxtmclocknanosleep01/Makefile.am new file mode 100644 index 0000000000..2476b6b960 --- /dev/null +++ b/testsuites/psxtmtests/psxtmclocknanosleep01/Makefile.am @@ -0,0 +1,25 @@ + +rtems_tests_PROGRAMS = psxtmclocknanosleep01 +psxtmclocknanosleep01_SOURCES = init.c ../../tmtests/include/timesys.h \ + ../../support/src/tmtests_empty_function.c \ + ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmclocknanosleep01.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxtmclocknanosleep01_OBJECTS) +LINK_LIBS = $(psxtmclocknanosleep01_LDLIBS) + +psxtmclocknanosleep01$(EXEEXT): $(psxtmclocknanosleep01_OBJECTS) $(psxtmclocknanosleep01_DEPENDENCIES) + @rm -f psxtmclocknanosleep01$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmclocknanosleep01/init.c b/testsuites/psxtmtests/psxtmclocknanosleep01/init.c new file mode 100644 index 0000000000..86c1f5f8b6 --- /dev/null +++ b/testsuites/psxtmtests/psxtmclocknanosleep01/init.c @@ -0,0 +1,59 @@ +/* + * COPYRIGHT (c) 1989-2013. + * On-Line Applications Research Corporation (OAR). + * + * Copyright (c) 2016. Gedare Bloom. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <timesys.h> +#include <rtems/btimer.h> +#include "test_support.h" + +const char rtems_test_name[] = "PSXTMCLOCKNANOSLEEP 01"; + +/* forward declarations to avoid warnings */ +void *POSIX_Init(void *argument); + +void *POSIX_Init( + void *argument +) +{ + benchmark_timer_t end_time; + struct timespec sleepTime; + + sleepTime.tv_sec = 0; + sleepTime.tv_nsec = 0; + + TEST_BEGIN(); + + benchmark_timer_initialize(); + clock_nanosleep( CLOCK_REALTIME, 0, &sleepTime, (struct timespec *) NULL ); + end_time = benchmark_timer_read(); + + put_time( "nanosleep: yield", end_time, 1, 0, 0 ); + + TEST_END(); + + rtems_test_exit(0); +} + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 1 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#define CONFIGURE_INIT + +#include <rtems/confdefs.h> +/* end of file */ diff --git a/testsuites/psxtmtests/psxtmclocknanosleep01/psxtmclocknanosleep01.doc b/testsuites/psxtmtests/psxtmclocknanosleep01/psxtmclocknanosleep01.doc new file mode 100644 index 0000000000..67370cfa36 --- /dev/null +++ b/testsuites/psxtmtests/psxtmclocknanosleep01/psxtmclocknanosleep01.doc @@ -0,0 +1,12 @@ +# Copyright 2016. Gedare Bloom. +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.org/license/LICENSE. +# + +This test benchmarks the following operations: + ++ Benchmark a call to clock_nanosleep() which yields + + |