Hi list,
This is the second version of the first patch series for the roadmap item: https://www.ipfire.org/docs/roadmap/get-rid-of-configtype-in-network-config . This patch series introduces a bash testing library and a function readhash, which we will use in every bash script which needs to read our config files. As this patch set is already massive, I thought it might be better to discuss the function first before I introduce it in every script. Otherwise, we would talk about 50 patches and not 18. This amount would be somehow not reviewable.
I kept the [[ over the single [, as from my point of view these are far more intutive. No pathname expansion or word splitting takes place in [[ which is the saver option. See also https://google.github.io/styleguide/shellguide.html#test----and---
Patches in this series are:
# The first 9 patches introduce a bash testing library [PATCH v2 01/18] tests: Add bash lib [PATCH v2 02/18] tests/lib.sh: Add function test_value_in_array [PATCH v2 03/18] tests/lib.sh: Add check if variable exists to [PATCH v2 04/18] tests/lib.sh: Add logging functions [PATCH v2 05/18] tests/lib.sh: adjust to pytest logging style [PATCH v2 06/18] test_value_in_array: Check if the key is defined [PATCH v2 07/18] tests: Add function to test the ouput of a bash [PATCH v2 08/18] test: Add functions test_that_array_is_defined [PATCH v2 09/18] tests: Add functions test_that_array_doesnt_have_key # The next patch add the readhash function [PATCH v2 10/18] initscript functions: add readhash # The next 5 Patches are concerned with error handling [PATCH v2 11/18] initscript fkt: ignore blank lines in readhash [PATCH v2 12/18] initscripts fkt: Ignore comments in readhash [PATCH v2 13/18] initscripts fkt: ignore invalid keys in readhash [PATCH v2 14/18] initscripts fkt: Check for invalid values in readhash [PATCH v2 15/18] initscripts fkt: readhash should only parse lines with a = # The title says it all: [PATCH v2 16/18] initscripts fkt: keep readhash compatible with older # Keep my linter happy [PATCH v2 17/18] initscripts fkt: Fix shebang # Check that we fail on a missing file [PATCH v2 18/18] initscripts fkt: Check that readhash returns 1 on a