[rtems commit] psxtmonce01: New test written by Himanshu40 as part of GCI2018

Joel Sherrill joel at rtems.org
Wed Nov 7 17:03:41 UTC 2018


On Wed, Nov 7, 2018 at 12:36 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

> It would be nice if GCI2018 patches are sent to devel at 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 <himanshuwindows8.1 at 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 at .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
> > vc at 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.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20181107/479de52c/attachment-0001.html>


More information about the devel mailing list