Hi Could the top line of the commit please say what the test is for or even the area? I have to read the patch to figure this out. For example:
spconfig02: check object create calls fail with expected status codes This is a new test. This is another from GCI pushed today ... https://lists.rtems.org/pipermail/vc/2018-November/015093.html The top line is suitable for the body of the commit message. :) Spelling correction below. Chris On 06/11/2018 23:37, Sebastian Huber wrote: > --- > testsuites/sptests/Makefile.am | 9 ++ > testsuites/sptests/configure.ac | 1 + > testsuites/sptests/spconfig02/init.c | 227 > +++++++++++++++++++++++++++ > testsuites/sptests/spconfig02/spconfig02.doc | 23 +++ > testsuites/sptests/spconfig02/spconfig02.scn | 7 + > 5 files changed, 267 insertions(+) > create mode 100644 testsuites/sptests/spconfig02/init.c > create mode 100644 testsuites/sptests/spconfig02/spconfig02.doc > create mode 100644 testsuites/sptests/spconfig02/spconfig02.scn > > diff --git a/testsuites/sptests/Makefile.am b/testsuites/sptests/Makefile.am > index 7a182430b0..80680dfe83 100644 > --- a/testsuites/sptests/Makefile.am > +++ b/testsuites/sptests/Makefile.am > @@ -717,6 +717,15 @@ spconfig01_CPPFLAGS = $(AM_CPPFLAGS) > $(TEST_FLAGS_spconfig01) \ > $(support_includes) > endif > > +if TEST_spconfig02 > +sp_tests += spconfig02 > +sp_screens += spconfig02/spconfig02.scn > +sp_docs += spconfig02/spconfig02.doc > +spconfig02_SOURCES = spconfig02/init.c > +spconfig02_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_spconfig02) \ > + $(support_includes) > +endif > + > if TEST_spconsole01 > sp_tests += spconsole01 > sp_screens += spconsole01/spconsole01.scn > diff --git a/testsuites/sptests/configure.ac b/testsuites/sptests/configure.ac > index 36b3a17ecd..e725b39067 100644 > --- a/testsuites/sptests/configure.ac > +++ b/testsuites/sptests/configure.ac > @@ -118,6 +118,7 @@ RTEMS_TEST_CHECK([spchain]) > RTEMS_TEST_CHECK([spclock_err01]) > RTEMS_TEST_CHECK([spclock_err02]) > RTEMS_TEST_CHECK([spconfig01]) > +RTEMS_TEST_CHECK([spconfig02]) > RTEMS_TEST_CHECK([spconsole01]) > RTEMS_TEST_CHECK([spcontext01]) > RTEMS_TEST_CHECK([spcoverage]) > diff --git a/testsuites/sptests/spconfig02/init.c > b/testsuites/sptests/spconfig02/init.c > new file mode 100644 > index 0000000000..1bde941c74 > --- /dev/null > +++ b/testsuites/sptests/spconfig02/init.c > @@ -0,0 +1,227 @@ > +/* > + * Copyright (c) 2018 embedded brains GmbH. All rights reserved. > + * > + * embedded brains GmbH > + * Dornierstr. 4 > + * 82178 Puchheim > + * Germany > + * <rt...@embedded-brains.de> > + * > + * The license and distribution terms for this file may be > + * found in the file LICENSE in this distribution or at > + * http://www.rtems.com/license/LICENSE. > + */ > + > +#define _GNU_SOURCE > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <rtems.h> > + > +#include <tmacros.h> > + > +const char rtems_test_name[] = "SPCONFIG 2"; > + > +static const rtems_name name = rtems_build_name('N', 'A', 'M', 'E'); > + > +static void test_barrier(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + > + sc = rtems_barrier_create(name, RTEMS_DEFAULT_ATTRIBUTES, 1, &id); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_message_queue(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + > + sc = rtems_message_queue_create( > + name, > + 1, > + 1, > + RTEMS_DEFAULT_ATTRIBUTES, > + &id > + ); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_partition(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + long buf[32]; > + > + sc = rtems_partition_create( > + name, > + buf, > + sizeof(buf), > + sizeof(buf), > + RTEMS_DEFAULT_ATTRIBUTES, > + &id > + ); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_rate_monotonic(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + > + sc = rtems_rate_monotonic_create(name, &id); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_region(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + long buf[32]; > + > + sc = rtems_region_create( > + name, > + buf, > + sizeof(buf), > + 1, > + RTEMS_DEFAULT_ATTRIBUTES, > + &id > + ); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_semaphore(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + > + sc = rtems_semaphore_create( > + name, > + 0, > + RTEMS_DEFAULT_ATTRIBUTES, > + 0, > + &id > + ); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_task(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + > + sc = rtems_task_create( > + name, > + 1, > + RTEMS_MINIMUM_STACK_SIZE, > + RTEMS_DEFAULT_MODES, > + RTEMS_DEFAULT_ATTRIBUTES, > + &id > + ); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_timer(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + > + sc = rtems_timer_create(name, &id); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_user_extensions(void) > +{ > + rtems_status_code sc; > + rtems_id id; > + rtems_extensions_table table; > + > + memset(&table, 0, sizeof(table)); > + sc = rtems_extension_create(name, &table, &id); > + rtems_test_assert(sc == RTEMS_TOO_MANY); > +} > + > +static void test_id_to_name(rtems_id api, rtems_id cls, rtems_id idx, bool > *found) > +{ > + rtems_status_code sc; > + rtems_id id; > + rtems_name name_of_id; > + > + id = rtems_build_id(api, cls, 1, idx); > + sc = rtems_object_get_classic_name(id, &name_of_id); > + > + if (sc == RTEMS_SUCCESSFUL) { > + if (name_of_id == rtems_build_name('U', 'I', '1', ' ')) { > + rtems_test_assert(id == rtems_task_self()); > + rtems_test_assert(!found[0]); > + found[0] = true; > + } else { > + rtems_test_assert(name_of_id == rtems_build_name('I', 'D', 'L', 'E')); > + rtems_test_assert(!found[1]); > + found[1] = true; > + } > + } else { > + rtems_test_assert(sc == RTEMS_INVALID_ID); > + } > +} > + > +static void test_some_id_to_name(void) > +{ > + rtems_id api; > + bool found[2]; > + > + found[0] = false; > + found[1] = false; > + > + for (api = 0; api < 8; ++api) { > + rtems_id cls; > + > + for (cls = 0; cls < 32; ++cls) { > + test_id_to_name(api, cls, 0, found); > + test_id_to_name(api, cls, 1, found); > + test_id_to_name(api, cls, 2, found); > + test_id_to_name(api, cls, 65535, found); > + test_id_to_name(api, cls, 65536, found); > + } > + } > + > + rtems_test_assert(found[0]); > + rtems_test_assert(found[1]); > +} > + > +static void Init(rtems_task_argument arg) > +{ > + rtems_print_printer_printk(&rtems_test_printer); > + TEST_BEGIN(); > + test_barrier(); > + test_message_queue(); > + test_partition(); > + test_rate_monotonic(); > + test_region(); > + test_semaphore(); > + test_task(); > + test_timer(); > + test_user_extensions(); > + test_some_id_to_name(); > + TEST_END(); > + rtems_test_exit(0); > +} > + > +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER > + > +#define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM > + > +#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY > + > +#define CONFIGURE_MAXIMUM_TASKS 1 > + > +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION > + > +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE > + > +#define CONFIGURE_INIT > + > +#include <rtems/confdefs.h> > diff --git a/testsuites/sptests/spconfig02/spconfig02.doc > b/testsuites/sptests/spconfig02/spconfig02.doc > new file mode 100644 > index 0000000000..0bad04f758 > --- /dev/null > +++ b/testsuites/sptests/spconfig02/spconfig02.doc > @@ -0,0 +1,23 @@ > +This file describes the directives and concepts tested by this test set. > + > +test set name: spconfig02 > + > +directives: > + > + - rtems_barrier_create() > + - rtems_extension_create() > + - rtems_message_queue_create() > + - rtems_object_get_classic_name() > + - rtems_partition_create() > + - rtems_rate_monotonic_create() > + - rtems_region_create() > + - rtems_semaphore_create() > + - rtems_task_create() > + - rtems_timer_create() > + > +concepts: > + > + - Ensure that the creation of Classic API objects failes with the expected fails not failes > + status code in the default configuration. > + - Ensure that only the expected objects are present in the default > + configuration via rtems_object_get_classic_name(). > diff --git a/testsuites/sptests/spconfig02/spconfig02.scn > b/testsuites/sptests/spconfig02/spconfig02.scn > new file mode 100644 > index 0000000000..39628a8de2 > --- /dev/null > +++ b/testsuites/sptests/spconfig02/spconfig02.scn > @@ -0,0 +1,7 @@ > +*** BEGIN OF TEST SPCONFIG 2 *** > +*** TEST VERSION: 5.0.0.5f0d0d2d272bebb13f63efe70cb186bbf7715a89 > +*** TEST STATE: EXPECTED-PASS > +*** TEST BUILD: > +*** TEST TOOLS: 7.3.0 20180125 (RTEMS 5, RSB > 279e47eab88299b0123be5a1e4446fe4a9329a54, Newlib > 08eab6396f678cf5e5968acaed0bae9fd129983b) > + > +*** END OF TEST SPCONFIG 2 *** > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel