Commit Graph

8 Commits

Author SHA1 Message Date
Krzysztof Chruscinski
5d80cbae59 lib: os: cbprintf: Add support for conversion to fsc package
Added support for conversion from a standard package which contains
pointers to read only strings to fully self-contained (fsc) package.
Fsc package contains all strings associated with the package thus
access to read only strings is not needed to format a string.

In order to allow conversion to fsc package, standard package must
contain locations of all string pointers within the package. Appending
that information is optional and is controlled by flags parameter
which was added to packaging API. If option flag is set then
package contains header, arguments, locations of read only strings and
transient strings (each prefixed with string argument location).
Package header has been extended with field which contains number of
read only string locations.

A function for conversion to fsc package has been added
(cbprintf_fsc_package()).

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-07-27 14:50:45 +02:00
Kumar Gala
37f3336121 tests: cleanup cbprintf tag usage
Add cbprintf tag were missing and change prf to cbprintf to be
consistent.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-24 12:38:57 -05:00
Krzysztof Chruscinski
4cbded9cc2 tests: unit: cbprintf: Update test after adding alignment parameter
Extended test to validate case when package buffer is not aligned to
CBPRINTF_PACKAGE_ALIGNMENT.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-03-29 14:08:41 +02:00
Krzysztof Chruscinski
a02e11b118 unit: cbprintf: Extended to test without _Generic use
Updated test and extended the configuration to valided packaging when
_Generic is not being used.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-03-12 09:25:15 -05:00
Krzysztof Chruscinski
f94689204c tests: unit: cbprintf: Extend to test static packaging
Extended test suite to test static packaging, too.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-03-11 09:54:39 +01:00
Nicolas Pitre
0d46d34364 lib: cbprintf: add unit tests for deferred formatting
Tests to exercise the new `cbprintf_package()`, `cbvprintf_package()`
and `cbpprintf()`.

[ Heavily based on a prior proposal from Peter Bigot. ]

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-03-05 09:29:35 +01:00
Peter Bigot
928183b8ca tests: cbprintf: sanitize language
Replace SANITYCHECK flag with TWISTER.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-07 14:02:06 +01:00
Peter Bigot
f80c7bed5c tests: unit: coverage testing for cbprintf
Tests for most paths through the conversion infrastructure.  Expected
output can be validated with the host libc by setting USE_LIBC within
the source.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-11-13 06:38:01 -05:00