CI: Test for unmigrated CONFIG symbols in board config.h files
Now that all symbols that exist in Kconfig no longer also have boards setting them in the board config.h file, add a CI test to catch new instances of this, and fail. Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
7e11f95b02
commit
c1a7de5702
@ -49,6 +49,33 @@ jobs:
|
|||||||
-j$(sysctl -n hw.logicalcpu)
|
-j$(sysctl -n hw.logicalcpu)
|
||||||
displayName: 'Perform tools-only build'
|
displayName: 'Perform tools-only build'
|
||||||
|
|
||||||
|
- job: check_for_migrated_symbols_in_board_header
|
||||||
|
displayName: 'Check for migrated symbols in board header'
|
||||||
|
pool:
|
||||||
|
vmImage: $(ubuntu_vm)
|
||||||
|
container:
|
||||||
|
image: $(ci_runner_image)
|
||||||
|
options: $(container_option)
|
||||||
|
steps:
|
||||||
|
- script: |
|
||||||
|
KSYMLST=`mktemp`
|
||||||
|
KUSEDLST=`mktemp`
|
||||||
|
cat `find . -name "Kconfig*"` | \
|
||||||
|
sed -n -e 's/^\s*config *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p' \
|
||||||
|
-e 's/^\s*menuconfig *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p' \
|
||||||
|
| sort -u > $KSYMLST
|
||||||
|
for CFG in `find include/configs -name "*.h"`; do
|
||||||
|
grep '#define[[:blank:]]CONFIG_' $CFG | \
|
||||||
|
sed -n 's/#define.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' | \
|
||||||
|
sort -u > ${KUSEDLST} || true
|
||||||
|
NUM=`comm -12 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} | \
|
||||||
|
cut -d , -f 3`
|
||||||
|
if [[ $NUM -ne 0 ]]; then
|
||||||
|
echo "Unmigrated symbols found in $CFG"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
- job: cppcheck
|
- job: cppcheck
|
||||||
displayName: 'Static code analysis with cppcheck'
|
displayName: 'Static code analysis with cppcheck'
|
||||||
pool:
|
pool:
|
||||||
|
@ -105,6 +105,27 @@ build all other platforms:
|
|||||||
exit $ret;
|
exit $ret;
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
|
check for migrated symbols in board header:
|
||||||
|
stage: testsuites
|
||||||
|
script:
|
||||||
|
- KSYMLST=`mktemp`;
|
||||||
|
KUSEDLST=`mktemp`;
|
||||||
|
cat `find . -name "Kconfig*"` |
|
||||||
|
sed -n -e 's/^\s*config *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p'
|
||||||
|
-e 's/^\s*menuconfig *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p'
|
||||||
|
| sort -u > $KSYMLST;
|
||||||
|
for CFG in `find include/configs -name "*.h"`; do
|
||||||
|
grep '#define[[:blank:]]CONFIG_' $CFG |
|
||||||
|
sed -n 's/#define.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' |
|
||||||
|
sort -u > ${KUSEDLST} || true;
|
||||||
|
NUM=`comm -12 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} |
|
||||||
|
cut -d , -f 3`;
|
||||||
|
if [[ $NUM -ne 0 ]]; then
|
||||||
|
echo "Unmigrated symbols found in $CFG";
|
||||||
|
exit 1;
|
||||||
|
fi;
|
||||||
|
done
|
||||||
|
|
||||||
# QA jobs for code analytics
|
# QA jobs for code analytics
|
||||||
# static code analysis with cppcheck (we can add --enable=all later)
|
# static code analysis with cppcheck (we can add --enable=all later)
|
||||||
cppcheck:
|
cppcheck:
|
||||||
|
Loading…
Reference in New Issue
Block a user