forked from Imagelibrary/rtems
sp77: new test to cover allocated message size overflowing
Author: Krzysztof Mięsowicz <krzysztof.miesowicz@gmail.com>
This commit is contained in:
committed by
Joel Sherrill
parent
7b865a44b3
commit
3913e3cf93
@@ -10,7 +10,7 @@ SUBDIRS = \
|
||||
sp40 sp41 sp42 sp43 sp44 sp45 sp46 sp47 sp48 sp49 \
|
||||
sp50 sp51 sp52 sp53 sp54 sp55 sp56 sp57 sp58 sp59 \
|
||||
sp60 sp62 sp63 sp64 sp65 sp66 sp67 sp68 sp69 \
|
||||
sp70 sp71 sp72 sp73 sp74 sp75 sp76 sp2038 \
|
||||
sp70 sp71 sp72 sp73 sp74 sp75 sp76 sp77 sp2038 \
|
||||
spassoc01 spchain spclockget spcoverage spobjgetnext \
|
||||
spnotepad01 spprintk spprivenv01 sprbtree01 spsize spstkalloc \
|
||||
spstkalloc02 spthreadq01 spwatchdog spwkspace \
|
||||
|
||||
@@ -103,6 +103,7 @@ sp73/Makefile
|
||||
sp74/Makefile
|
||||
sp75/Makefile
|
||||
sp76/Makefile
|
||||
sp77/Makefile
|
||||
sp2038/Makefile
|
||||
spassoc01/Makefile
|
||||
spcbssched01/Makefile
|
||||
|
||||
22
testsuites/sptests/sp77/Makefile.am
Normal file
22
testsuites/sptests/sp77/Makefile.am
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
|
||||
rtems_tests_PROGRAMS = sp77
|
||||
sp77_SOURCES = init.c
|
||||
|
||||
dist_rtems_tests_DATA = sp77.scn
|
||||
dist_rtems_tests_DATA += sp77.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(sp77_OBJECTS) $(sp77_LDADD)
|
||||
LINK_LIBS = $(sp77_LDLIBS)
|
||||
|
||||
sp77$(EXEEXT): $(sp77_OBJECTS) $(sp77_DEPENDENCIES)
|
||||
@rm -f sp77$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
55
testsuites/sptests/sp77/init.c
Normal file
55
testsuites/sptests/sp77/init.c
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* COPYRIGHT (c) 2012.
|
||||
* Krzysztof Miesowicz krzysztof.miesowicz@gmail.com
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include "test_support.h"
|
||||
|
||||
/* forward declarations to avoid warnings */
|
||||
rtems_task Init(rtems_task_argument argument);
|
||||
|
||||
rtems_task Init(
|
||||
rtems_task_argument argument
|
||||
)
|
||||
{
|
||||
puts( "\n\n*** TEST sp77 ***" );
|
||||
|
||||
rtems_status_code status;
|
||||
rtems_id id;
|
||||
|
||||
status = rtems_message_queue_create(
|
||||
rtems_build_name( 'M', 'Q' , 'T', '1'),
|
||||
2,
|
||||
SIZE_MAX-2,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
&id
|
||||
);
|
||||
|
||||
fatal_directive_check_status_only(status , RTEMS_UNSATISFIED ,
|
||||
"attempt to create message queue return: ");
|
||||
puts( "*** END OF TEST sp77 ***" );
|
||||
|
||||
rtems_test_exit(0);
|
||||
}
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 1
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
|
||||
#define CONFIGURE_MESSAGE_BUFFER_MEMORY (CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( \
|
||||
2,SIZE_MAX))
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
/* end of file */
|
||||
21
testsuites/sptests/sp77/sp77.doc
Normal file
21
testsuites/sptests/sp77/sp77.doc
Normal file
@@ -0,0 +1,21 @@
|
||||
# COPYRIGHT (c) 2012.
|
||||
# Krzysztof Miesowicz krzysztof.miesowicz@gmail.com
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
This file describes the directives and concepts tested by this test set.
|
||||
|
||||
test set name: sp77
|
||||
|
||||
directives:
|
||||
|
||||
rtems_message_queue_create
|
||||
|
||||
concepts:
|
||||
|
||||
+ test to check if rtems_message_queue_create work as supposed when
|
||||
maximum_message_size is too large and cause overflow in
|
||||
_core_message_queue_initialize symbol in coremsg.c file
|
||||
2
testsuites/sptests/sp77/sp77.scn
Normal file
2
testsuites/sptests/sp77/sp77.scn
Normal file
@@ -0,0 +1,2 @@
|
||||
*** TEST sp77 ***
|
||||
*** END OF TEST sp77 ***
|
||||
Reference in New Issue
Block a user