[dpdk-dev] [PATCH v3 0/6] librte_cfgfile enhancements
Allain Legacy
allain.legacy at windriver.com
Tue Mar 28 18:44:25 CEST 2017
This patchset includes some minor enhancements that we have developped for
our DPDK application. We would like to contribute them upstream to help
ease adoption of the DPDK by anyone looking for this type of
functionality. The commit logs on each patch should be self-sufficient in
explaining the intent and purpose.
v2:
* Added unit tests for the cfgfile library in the initial patch of the
series and then added additional tests in subsequent patches where
appropriate. These will not run unless the following config parameter is
set and additional packages are installed (e.g., libarchive-dev):
CONFIG_RTE_APP_TEST_RESOURCE_TAR=y
* Reworked the configurable comment character patch to allow specifying a
different character at runtime rather than build time. Used a separate
API to avoid affecting existing users or users that choose not to
leverage the extended API. Used a "parameters" structure to pass
additional arguments rather than adding more arguments to the function to
allow expansion in the future with minimal impact on existing users.
* Dropped the patch to initialize the cfg structure because the segfault
that this was trying to address was already fixed by 2 earlier commits
which we did not have in our development environment. I realized this
while trying to add unit tests to catch the segfault case.
* Fixed the doxygen comments related to the RTE_CFG_GLOBAL_SECTION patch
* Added an additional patch to allow parsing a key with an empty value
(i.e., "key="). I realized that I had forgotten to include this in my
first patchset.
v3:
* Incorporated review feedback to validate comment chars
* Incorporated review feedback to keep flags as standalone argument instead
of grouping it within the new params argument for comment characters
* Incorporated review feedback to remove the params initialization function
and instead require users to initialize all fields to defaults on their
own.
* Incorported review feedback to require a flag to allow empty value
strings
* Adjusted unit tests to accommodate above changes.
* Reworded commit title to fix typo
Allain Legacy (5):
test: basic unit tests for cfgfile
cfgfile: add support for global properties section
cfgfile: add support for configurable comment character
cfgfile: use strnlen to constrain memchr search
cfgfile: add support for empty value string
Joseph Richard (1):
cfgfile: increase local buffer size for max name and value
MAINTAINERS | 1 +
lib/librte_cfgfile/rte_cfgfile.c | 102 +++++++-
lib/librte_cfgfile/rte_cfgfile.h | 45 +++-
test/test/Makefile | 2 +
test/test/test_cfgfile.c | 327 ++++++++++++++++++++++++
test/test/test_cfgfiles/etc/empty.ini | 0
test/test/test_cfgfiles/etc/empty_key_value.ini | 3 +
test/test/test_cfgfiles/etc/invalid_comment.ini | 3 +
test/test/test_cfgfiles/etc/invalid_section.ini | 3 +
test/test/test_cfgfiles/etc/line_too_long.ini | 3 +
test/test/test_cfgfiles/etc/missing_section.ini | 2 +
test/test/test_cfgfiles/etc/sample1.ini | 12 +
test/test/test_cfgfiles/etc/sample2.ini | 12 +
13 files changed, 505 insertions(+), 10 deletions(-)
create mode 100644 test/test/test_cfgfile.c
create mode 100644 test/test/test_cfgfiles/etc/empty.ini
create mode 100644 test/test/test_cfgfiles/etc/empty_key_value.ini
create mode 100644 test/test/test_cfgfiles/etc/invalid_comment.ini
create mode 100644 test/test/test_cfgfiles/etc/invalid_section.ini
create mode 100644 test/test/test_cfgfiles/etc/line_too_long.ini
create mode 100644 test/test/test_cfgfiles/etc/missing_section.ini
create mode 100644 test/test/test_cfgfiles/etc/sample1.ini
create mode 100644 test/test/test_cfgfiles/etc/sample2.ini
--
2.12.1
More information about the dev
mailing list