On Wed, Nov 7, 2018 at 12:36 AM Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote:
> It would be nice if GCI2018 patches are sent to devel@rtems.org for > review before they are committed. > We will do this in the future and I will fix these but it also would have been nice to have gotten this feedback when it was on the templates that I posted patches to update at least a week ago and no one said a word. > > On 07/11/2018 01:36, Joel Sherrill wrote: > > Module: rtems > > Branch: master > > Commit: 9bb395167a1cc7d8551d217825313bffcd0d8e1b > > Changeset: > http://git.rtems.org/rtems/commit/?id=9bb395167a1cc7d8551d217825313bffcd0d8e1b > > > > Author: Himanshu40 <himanshuwindows...@gmail.com> > > Date: Wed Nov 7 00:17:10 2018 +0530 > > > > psxtmonce01: New test written by Himanshu40 as part of GCI2018 > > > > --- > > > > testsuites/psxtmtests/Makefile.am | 11 +++ > > testsuites/psxtmtests/configure.ac | 1 + > > testsuites/psxtmtests/psxtmonce01/Makefile.am | 27 ++++++++ > > testsuites/psxtmtests/psxtmonce01/init.c | 82 > +++++++++++++++++++++++ > > testsuites/psxtmtests/psxtmonce01/psxtmonce01.doc | 18 +++++ > > 5 files changed, 139 insertions(+) > > > > diff --git a/testsuites/psxtmtests/Makefile.am > b/testsuites/psxtmtests/Makefile.am > > index 2669107..1607ac6 100644 > > --- a/testsuites/psxtmtests/Makefile.am > > +++ b/testsuites/psxtmtests/Makefile.am > > @@ -338,6 +338,17 @@ psxtmnanosleep02_CPPFLAGS = $(AM_CPPFLAGS) \ > > -DOPERATION_COUNT=$(OPERATION_COUNT) > > endif > > > > +if TEST_psxtmonce01 > > +psxtm_tests += psxtmonce01 > > +psxtm_docs += psxtmonce01/psxtmonce01.doc > > +psxtmonce01_SOURCES = psxtmonce01/init.c \ > > + ../tmtests/include/timesys.h > ../support/src/tmtests_empty_function.c \ > > + ../support/src/tmtests_support.c > > +psxtmonce01_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_psxtmonce01) \ > > + $(support_includes) -I$(top_srcdir)/../tmtests/include \ > > + -DOPERATION_COUNT=$(OPERATION_COUNT) > > +endif > > + > > if TEST_psxtmrwlock01 > > psxtm_tests += psxtmrwlock01 > > psxtm_docs += psxtmrwlock01/psxtmrwlock01.doc > > diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/ > configure.ac > > index 59192d0..0c3b143 100644 > > --- a/testsuites/psxtmtests/configure.ac > > +++ b/testsuites/psxtmtests/configure.ac > > @@ -59,6 +59,7 @@ RTEMS_TEST_CHECK([psxtmmutex06]) > > RTEMS_TEST_CHECK([psxtmmutex07]) > > RTEMS_TEST_CHECK([psxtmnanosleep01]) > > RTEMS_TEST_CHECK([psxtmnanosleep02]) > > +RTEMS_TEST_CHECK([psxtmonce01]) > > RTEMS_TEST_CHECK([psxtmrwlock01]) > > RTEMS_TEST_CHECK([psxtmrwlock02]) > > RTEMS_TEST_CHECK([psxtmrwlock03]) > > diff --git a/testsuites/psxtmtests/psxtmonce01/Makefile.am > b/testsuites/psxtmtests/psxtmonce01/Makefile.am > > new file mode 100644 > > index 0000000..242e393 > > --- /dev/null > > +++ b/testsuites/psxtmtests/psxtmonce01/Makefile.am > > @@ -0,0 +1,27 @@ > > +MANAGERS = all > > + > > +rtems_tests_PROGRAMS = psxtmonce01 > > +psxtmonce01_SOURCES = init.c > > +psxtmonce01_SOURCES += ../../tmtests/include/timesys.h > > +psxtmonce01_SOURCES += ../../support/src/tmtests_empty_function.c > > +psxtmonce01_SOURCES += ../../support/src/tmtests_support.c > > + > > +dist_rtems_tests_DATA = psxtmonce01.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 = $(psxtmonce01_OBJECTS) $(psxtmonce01_LDADD) > > +LINK_LIBS = $(psxtmonce01_LDLIBS) > > + > > +psxtmonce01$(EXEEXT): $(psxtmonce01_OBJECTS) $(psxtmonce01_DEPENDENCIES) > > + @rm -f psxtmonce01$(EXEEXT) > > + $(make-exe) > > + > > +include $(top_srcdir)/../automake/local.am > > This testsuites/psxtmtests/psxtmonce01/Makefile.am is superfluous. > > > diff --git a/testsuites/psxtmtests/psxtmonce01/init.c > b/testsuites/psxtmtests/psxtmonce01/init.c > > new file mode 100644 > > index 0000000..5f8391a > > --- /dev/null > > +++ b/testsuites/psxtmtests/psxtmonce01/init.c > > @@ -0,0 +1,82 @@ > > +/* > > + * COPYRIGHT (c) 2018. > > + * Himanshu Sekhar Nayak GCI 2018 > > + * > > + * Permission to use, copy, modify, and/or distribute this software > > + * for any purpose with or without fee is hereby granted. > > + * > > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > > + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL > DAMAGES > > + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR > PROFITS, > > + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS > ACTION, > > + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > > + */ > > + > > +#ifdef HAVE_CONFIG_H > > +#include "config.h" > > +#endif > > + > > +#include <pthread.h> > > +#include <tmacros.h> > > +#include <timesys.h> > > +#include <rtems/btimer.h> > > +#include "test_support.h" > > + > > +const char rtems_test_name[] = "PSXTMONCE01"; > > + > > +/* forward declarations to avoid warnings */ > > +void *POSIX_Init(void *argument); > > +void benchmark_first_time(void); > > +void initRoutine(void); > > Why not use static functions? > > > + > > +pthread_once_t once_control = PTHREAD_ONCE_INIT; > > + > > +void initRoutine(void) > > +{ > > +} > > + > > +void benchmark_first_time(void) > > +{ > > + long end_time; > > + int status; > > + > > + benchmark_timer_initialize(); > > + status = pthread_once( &once_control, initRoutine ); > > + end_time = benchmark_timer_read(); > > + rtems_test_assert( status == 0 ); > > + > > + put_time( > > + "pthread_once: first time", > > + end_time, > > + 1, /* Only executed once */ > > + 0, > > + 0 > > + ); > > +} > > + > > +void *POSIX_Init( > > + void *argument > > +) > > +{ > > + > > + TEST_BEGIN(); > > + benchmark_first_time(); > > + TEST_END(); > > + > > + rtems_test_exit(0); > > +} > > + > > +/* configuration information */ > > + > > +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER > > Tests should use this console driver: > > #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER > > This is particularly important for timing tests. > > > +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER > > Could we please use the <rtems/counter.h> for new timing tests. > > > + > > +#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/psxtmonce01/psxtmonce01.doc > b/testsuites/psxtmtests/psxtmonce01/psxtmonce01.doc > > new file mode 100644 > > index 0000000..cd7b2ea > > --- /dev/null > > +++ b/testsuites/psxtmtests/psxtmonce01/psxtmonce01.doc > > @@ -0,0 +1,18 @@ > > +# COPYRIGHT (c) 2018. > > +# Himanshu Sekhar Nayak GCI 2018 > > +# > > +# Permission to use, copy, modify, and/or distribute this software > > +# for any purpose with or without fee is hereby granted. > > +# > > +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > > +# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > > +# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > > +# BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES > > +# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR > PROFITS, > > +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS > ACTION, > > +# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > > +# > > + > > +This test benchmarks the following operations: > > + > > ++ pthread_once - first time, empty initialization method > > > > _______________________________________________ > > vc mailing list > > v...@rtems.org > > http://lists.rtems.org/mailman/listinfo/vc > > -- > Sebastian Huber, embedded brains GmbH > > Address : Dornierstr. 4, D-82178 Puchheim, Germany > Phone : +49 89 189 47 41-16 > Fax : +49 89 189 47 41-09 > E-Mail : sebastian.hu...@embedded-brains.de > PGP : Public key available on request. > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel