Having CONFIG_ASSERT=y and CONFIG_DEBUG=y was causing these tests to
overflow their stacks and crash.
Change-Id: Ibcd57abe044a2203d1a954a4c5755218af48f302
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Tag all legacy kernel tests and samples as such.
Change-Id: I43b24acb71c282ed14ff6e6ef06c9542bad86f6a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The divide-by-zero test was using an uninitialized variable that
Coverity was unhappy about. Simple fix to just initialize to any non
zero value.
Change-Id: I9e5865a99e7a8eb3ee52421cc3dcb6717dca1ad1
Coverity-ID: 152053
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Coverity complained about the use of strncpy() to fill up a buffer of
size N with a string of the same size didn't leave room for the final
\0.
This is a valid concern; however, the usage is valid too, as the
writer intended to create a pattern that later can be tested--addind a
\0 would break the pattern.
So instead, use memcpy() for the same function.
Change-Id: If52d02ce41731348f4a2d750c79f9e1c51f3afcf
Coverity-ID: 151947
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Coverity complains about using an uninitialized variable; there is no
reason to do so; thus fixed to avoid maintaining a whitelist.
Change-Id: I657f9e7d46b1b9b091e36638c1951b93903fbec3
Coverity-ID: 152048
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
This is not a strictly necessary initialization, as the data is not
used, but will keep Coverity happy. It being a testcase, there are no
size or speed penalties to the overall kernel and avoids having to
manage a whitelist for an issue in scanning tools.
Change-Id: I0ddcf43ca1114356d58f93de57232864246ffe07
Coverity-ID: 152052
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Coverity complained about the code using an uninitialized chunk of
memory; harmless, but fixed to avoid having to whitelist.
Change-Id: I5c890ff78fab2799b882b8e4a25c15476702d132
Coverity-ID: 152049
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
This fixes a string overflow past the end of a buffer
which was reported by coverity.
Coverity-CID: 152044
Change-Id: I5b331135e338fa43b5589a9488b06367e8cad5a7
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
A popular issue "format is not a string literally" was
caught by LLVM. Let's make it a string literally.
Jira: ZEP-1179
Change-Id: I2b4a5aef750b772504bf0e6f005dab2ff9ac3e7c
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
By default, when a 'fatal fault' message is seen in the output of any
testcase, it is consider an inmediate fatal condition and the test case
is aborted.
However, in all such cases, the testcase is provoking the situation to
verify the condition is caught. In this case it shall NOT be considered
a fatal fault and the default overriden to allow it to proceed.
Change-Id: Id4e9138e5f0fcb8cd77efbb1831897fb0946ba20
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
There was a lot of duplication between architectures for the definition
of threads and the "nanokernel" guts. These have been consolidated.
Now, a common file kernel/unified/include/kernel_structs.h holds the
common definitions. Architectures provide two files to complement it:
kernel_arch_data.h and kernel_arch_func.h. The first one contains at
least the struct _thread_arch and struct _kernel_arch data structures,
as well as the struct _callee_saved and struct _caller_saved register
layouts. The second file contains anything that needs what is provided
by the common stuff in kernel_structs.h. Those two files are only meant
to be included in kernel_structs.h in very specific locations.
The thread data structure has been separated into three major parts:
common struct _thread_base and struct k_thread, and arch-specific struct
_thread_arch. The first and third ones are included in the second.
The struct s_NANO data structure has been split into two: common struct
_kernel and arch-specific struct _kernel_arch. The latter is included in
the former.
Offsets files have also changed: nano_offsets.h has been renamed
kernel_offsets.h and is still included by the arch-specific offsets.c.
Also, since the thread and kernel data structures are now made of
sub-structures, offsets have to be added to make up the full offset.
Some of these additions have been consolidated in shorter symbols,
available from kernel/unified/include/offsets_short.h, which includes an
arch-specific offsets_arch_short.h. Most of the code include
offsets_short.h now instead of offsets.h.
Change-Id: I084645cb7e6db8db69aeaaf162963fe157045d5a
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
The unified kernel is now the only supported kernel, so this
option is unnessary. Eliminating this option also enables
the removal of some legacy code that is no longer required.
Change-Id: Ibfc339d643c8de16a2ed2009c9b468848b8b4972
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This test is not a kernel object test and does not use any legacy kernel APIs,
so declare it non-legacy.
Change-Id: I430ac296334dbb8ff2b2d6576f7007a5dcc6f546
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Debug setting is using another mdef file that was no changed by
commit 5b1b2d6123
Change-Id: I406b45e37a112352c88629cf7d494c70784930aa
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
The main task uses stack-hungry() printf(), and the switch to the unified
kernel pushed the necessary space over the edge.
Change-Id: I7b64e7f09d91c5050ffe7fb18506ff24289169fc
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
For systems that have both high base (CPU, bus, etc.) frequency and
small divider of the base frequency for system clock and this way,
do not allow 1 second period for the system clock, set the system
clock period to 0.1.
Change-Id: Iafb4604112d4adb8430f8bf57a5a31de3f6cf91d
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
Since the mutex can not be unlocked if it is not locked, fix the test
and make sure that it unlocks the timer exactly same times as it locked
it before.
Change-Id: Ie29d308b789ed00f4fd3cf2faef3aa1f4bc89e3e
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
Test was not completing on CONFIG_DEBUG=y setting, current filter
sets custom stack size for such setting
Jira: ZEP-1203
Change-Id: I3a6ada88bc2e8a1fee757773c4b19b72551926a7
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
We the unified kernel now sizes have gone up and we have some more
testcases that are RAM limited on small memory systems.
Change-Id: I4716a779fac86a420607ba716edd012976d14254
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Commit 4187822d08 removed some filters
at sanitycheck script that were previously preventing foot print test
to run on board quark_d2000_crb.
Added filter excludes such board from min and reg footprint tests.
Change-Id: I2a32e34b1af6d16b3da418cd3113c52b2369eb97
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
Making a reference to the common work queue code should not necessarily
drag in the system workqueue, since it is possible to use a workqueue
that is not the system workqueue. This is done by moving the system
workqueue into its own code module.
Moving the system workqueue to its own code module allows removing the
NANO_WORKQUEUE and SYSTEM_WORKQUEUE kconfig options, and compiling the
common workqueue code and system workqueue all the time. They are only
linked in the final image if a reference to them exist, same as the
other kernel modules.
Change-Id: I6f48d2542bda24f4702e7c2e317818dd082b3c11
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Remove those from Makefiles and testcase.ini, we now support unified kernel
only and sanitycheck script now knows how to deal with this.
Change-Id: I853ebcadfa7b56a4de5737d95f2ba096babb2e13
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The test relies on the workq thread being in the system. It is possible
for the workq to not be in the system even if CONFIG_SYSTEM_WORKQUEUE is
enabled, if nothing makes references to the symbols in the object file,
so we cannot rely on the kconfig option to know if the system workq
thread is in the system or not. So, force it in.
Change-Id: I1ae2613fbd32928b673fc4c74a9dc56502255763
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
These testcases can't build on common platforms with 16K or less of
memory.
Change-Id: Iade2aa423f42a1f174a5ebb5d183b362917f503e
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
QD2000, for example, can't run this.
Change-Id: I86c7ca22e4724844ffc5e64329063baf762470c9
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Microkernel and nanokernel versions of the test now use distinct
sets of source files. This eliminates the dependency on the
MICROKERNEL and NANOKERNEL configuration options, which the
unified kernel doesn't set correctly in all cases.
Change-Id: I59e1d4a73265a433f526d030d2fd04d4b8de1973
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
As we transition to the unified kernel, we need to check on there
being enough memory in said case (nano kernel always had it based on
higher granularity filtering with 'kernel = nano').
Change-Id: Ie21aea2773feb9337d8d34dcf45858e4df879469
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Not completely ported to V2 APIs yet, but enough that we pull in
all the kernel.h APIs for the microkernel test, bypassing the legacy
layer.
We pull in a lot more than the legacy test did, so results are not
directly comparable.
Change-Id: I35e74bfd1aa15ee59951f68fb7dd8d811619c3f8
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Nanokernel part of the latency_measure test is a subset of the
microkekernel tests. For unified kernel there is no reason to
have nanokernel test - for unified kernel we have to run whole
the set of tests.
Change-Id: Ief176fd9d25e7355e3d3697c3bbc1e953b16655c
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
The unified kernel doesn't use the KERNEL_ENTRY() mechanism,
it doesn't do kernel calls in a special context. So there's
no reason to test this on the unified kernel and we can omit it.
Change-Id: I2b8aa2495385a39130e9b87c0d0324f2f205a2c8
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
These are using old kernel APIs and need to be converted.
Change-Id: I7457270fb5e93e290023756316e82a384712e82b
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
As we transition to the unified kernel, we need to check on there
being enough memory in said case (nano kernel always had it based on
higher granularity filtering with 'kernel = nano').
Change-Id: Ic36c352f06be09407cd3aac74a1dfe73bb2fc61d
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Move all kernel tests using legacy APIs into tests/legacy to continue testing
old APIs and compatibility. We keep in tests/kernel those tests that do not use
any kernel APIs and generic in nature, those should not be affected by the
unified kernel API change.
In tests/kernel we will start adding tests that are unified kernel only. Later
and when deprecation period is over the legacy tests would be dropped.
Change-Id: Icc7d8c7e5f2af65af350b75da3117f72396925f4
Signed-off-by: Anas Nashif <anas.nashif@intel.com>