Ram back-end was unnecessary included in non qemu test which
increased RAM footprint much.
Patch includes ram backend into build only for qemu_x86 build.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
The reftime variable used for performance numbers is not initialized
prior to being used. Initialize it to the current uptime so delta
can be calculated correctly.
Fixes#13877
Fixes CID-190936
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Inside test_file_truncate(), the results of fs_seek() are not
checked. So adds some checks there.
Fixes#13874
Fixes CID-190939
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Checking the return of fs_stat to ensure that there is not hidden error.
Problem spotted by coverity.
CID 190949
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
This was never a long-term solution, more of a gross hack
to get test cases working until we could figure out a good
end-to-end solution for memory domains that generated
appropriate linker sections. Now that we have this with
the app shared memory feature, and have converted all tests
to remove it, delete this feature.
To date all userspace APIs have been tagged as 'experimental'
which sidesteps deprecation policies.
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Move to latest cmake version with many bug fixes and enhancements.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
These tests were creating objects from header file in the bss.
Fixed it by moving the objects to appropriate object files.
Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
When using an IDE (e.g. Eclipse, Qt Creator), the project name gets
displayed. This greatly simplifies the navigation between projects when
having many of them open at the same time. Naming every project "NONE"
defeats this functionality.
This patch tries to use sensible project names while not duplicating
too much of what is already represented in the path. This is done by
using the name of the directory the relevant CMakeLists.txt file is
stored in. To ensure unique project names in the samples (and again, in
the tests folder) folder, small manual adjustments have been done.
Signed-off-by: Reto Schneider <code@reto-schneider.ch>
Remove redundant 'sample' tag and add something that matches the
functionality and features being tested, demonstrated.
Avoid short abbriviations and using full names for fs.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit removes all MPU-related (ARM_CORE_MPU and NXP_MPU)
options exept ARM_MPU, which becomes master switch controlling
MPU support on ARM.
Signed-off-by: Piotr Zięcik <piotr.ziecik@nordicsemi.no>
The ARM_MPU_NRF52X option is just selecting ARM_MPU option,
which could be also controlled through menuconfig.
This commit removes the ARM_MPU_NRF52X option and replaces
its usage by ARM_MPU option.
Signed-off-by: Piotr Zięcik <piotr.ziecik@nordicsemi.no>
The return of memset is never checked. This patch explicitly ignore
the return to avoid MISRA-C violations.
The only directory excluded directory was ext/* since it contains
only imported code.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Prepend the text 'cmake_minimum_required(VERSION 3.8.2)' into the
application and test build scripts.
Modern versions of CMake will spam users with a deprecation warning
when the toplevel CMakeLists.txt does not specify a CMake
version. This is documented in bug #8355.
To resolve this we include a cmake_minimum_required() line into the
toplevel build scripts. Additionally, cmake_minimum_required is
invoked from within boilerplate.cmake. The highest version will be
enforced.
This patch allows us to afterwards change CMake policy CMP000 from OLD
to NEW which in turn finally rids us of the verbose warning.
The extra boilerplate is considered more acceptable than the verbosity
of the CMP0000 policy.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
It is not necessary to link 'app' with ELMFAT or NFFS because their
usage requirements are covered by the 'APP_LINK_WITH_MBEDTLS'
mechanism that automatically links 'app' with the interface library
FS.
This patch removes the redundant target_link_libraries invocations.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Remove the CMakeLists.txt file that is in the 'common' directory of
nffs_fs_api. It has likely been added by mistake as it does not make
any sense as it is written.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
The introduction of `sanitycheck --list-tests` fails to properly parse
the subcases in tests/subsys/fs/nffs_api/ beacause four of them are
all packed with #ifdefs in a single src/main.c.
So this breaks that testcase in four:
- creating a common folder with the code itself
- moving the common code in */src/main.c to common/test_nffs.h and
adding ../common/*.c to the sources
- thinning each testcase.yaml to have only the needed testcase
definition
- adding zephyr_include_directories(../common) to the cmakefiles
so we now produce with --list-tests
- filesystem.nffs.basic.append
- filesystem.nffs.basic.corrupt_block
- filesystem.nffs.basic.corrupt_scratch
- filesystem.nffs.basic.fs_mount
- filesystem.nffs.basic.gc
- filesystem.nffs.basic.gc_on_oom
- filesystem.nffs.basic.incomplete_block
- filesystem.nffs.basic.large_write
- filesystem.nffs.basic.long_filename
- filesystem.nffs.basic.lost_found
- filesystem.nffs.basic.many_children
- filesystem.nffs.basic.mkdir
- filesystem.nffs.basic.open
- filesystem.nffs.basic.overwrite_many
- filesystem.nffs.basic.overwrite_one
- filesystem.nffs.basic.overwrite_three
- filesystem.nffs.basic.overwrite_two
- filesystem.nffs.basic.read
- filesystem.nffs.basic.readdir
- filesystem.nffs.basic.rename
- filesystem.nffs.basic.split_file
- filesystem.nffs.basic.unlink
- filesystem.nffs.basic.wear_level
- filesystem.nffs.cache.cache_large_file
- filesystem.nffs.cache.fs_mount
- filesystem.nffs.large.fs_mount
- filesystem.nffs.large.large_system
- filesystem.nffs.large.large_unlink
- filesystem.nffs.performance.fs_mount
- filesystem.nffs.performance.performance
30 total.
vs before, that we did:
- filesystem.nffs.basic.append
- filesystem.nffs.basic.corrupt_block
- filesystem.nffs.basic.corrupt_scratch
- filesystem.nffs.basic.fs_mount
- filesystem.nffs.basic.gc
- filesystem.nffs.basic.gc_on_oom
- filesystem.nffs.basic.incomplete_block
- filesystem.nffs.basic.large_write
- filesystem.nffs.basic.long_filename
- filesystem.nffs.basic.lost_found
- filesystem.nffs.basic.many_children
- filesystem.nffs.basic.mkdir
- filesystem.nffs.basic.open
- filesystem.nffs.basic.overwrite_many
- filesystem.nffs.basic.overwrite_one
- filesystem.nffs.basic.overwrite_three
- filesystem.nffs.basic.overwrite_two
- filesystem.nffs.basic.read
- filesystem.nffs.basic.readdir
- filesystem.nffs.basic.rename
- filesystem.nffs.basic.split_file
- filesystem.nffs.basic.unlink
- filesystem.nffs.basic.wear_level
- filesystem.nffs.cache.append
- filesystem.nffs.cache.corrupt_block
- filesystem.nffs.cache.corrupt_scratch
- filesystem.nffs.cache.fs_mount
...
- filesystem.nffs.cache.split_file
- filesystem.nffs.cache.unlink
- filesystem.nffs.cache.wear_level
- filesystem.nffs.large.append
- filesystem.nffs.large.corrupt_block
- filesystem.nffs.large.corrupt_scratch
...
- filesystem.nffs.large.split_file
- filesystem.nffs.large.unlink
- filesystem.nffs.large.wear_level
- filesystem.nffs.performance.append
- filesystem.nffs.performance.corrupt_block
...
- filesystem.nffs.performance.unlink
- filesystem.nffs.performance.wear_level
92 total.
(so it was repeating ALL the subcases for eatch main testcase)
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Set FAT FS mount point name as per ELM FAT Library drive
name format.
Add file system specific headers wherever necessary.
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
The NFFS partition at the end of flash is also useful for any other
file system or even the Flash Circular Buffer (FCB). Rename the
partition from 'nffs_partition' to 'storage_partition' and make it
depend on a new hidden Kconfig entry which the relevant users will
select (such as NFFS and FCB).
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
With upcoming ICs that are not in the nRF5x family, rename the flash
driver and all its dependencies from nrf5 to nrf.
Should also fix the issue introduced by f49150cab6 which broke the
assignment of the flash device due to a partial rename.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Add a new test for testing multiple file systems mounted
simultaneously on Zephyr. The test enables FATFS and NFFS
togeather and uses RAM as backend storage device.
The intention of this test is to demonstrate multiple file systems
support and perform basic file and directory operations. This test
heavily reused the existing fat_fs_api and nffs_fs_api test sources.
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
Adapt nffs_fs_api test as per the VFS layer changes.
Add new test for NFFS file system mount.
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
Adapt fat_fs_api test as per the VFS layer changes.
Add new test for FatFs file system mount.
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
platform_whitelist does not deal with comma separated strings. Also
remove build_only option, this should also run on those devices.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
It is faster to operate directly on flash_area pointer instead
of fetch it all the time using the fcb flash area id.
Also as f_area_id was needed only for get appropriate flash_area
pointer, so it is better to pass it only while initialization
the fcb and not store it in fcb instance data at all.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
fcb sectors description switch from using array of flash_area
structures to array of flash_sector structures.
This patch aligns tests to this change.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Removed CONFIG_FLASH_PAGE_LAYOUT because it is already selected
by NFFS kconfig itself. Some other keywords were duplicated.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
CONF_FILE was overwritten by boilerplate.cmake so not proper
settings were took for tests. NRF5 flash driver had changed
its name to one defined by DT (see #5773) - which causes
incompatibility witch previous settings.
This patch solves this problems.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
We want to move to use a common FLASH_DEV_NAME across the various flash
drivers. So samples, tests, or other code can be a bit more generic. So
replace CONFIG_SOC_FLASH_NRF5_DEV_NAME with FLASH_DEV_NAME.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>