devtools: export dictionary for commit title check

Moved title syntax to a separate file so that it improves code
readability and allows easy addition.

Also logic changed from checking for bad pattern to checking good
pattern which documents the expected syntax more clearly, and does not
have gaps in the checks.

Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Sean Morrissey 2020-02-24 15:30:01 +00:00 committed by Thomas Monjalon
parent d7decefc37
commit d448efa259
3 changed files with 64 additions and 53 deletions

View File

@ -103,6 +103,7 @@ F: devtools/git-log-fixes.sh
F: devtools/load-devel-config
F: devtools/test-build.sh
F: devtools/test-meson-builds.sh
F: devtools/words-case.txt
F: license/
F: .editorconfig

View File

@ -83,57 +83,22 @@ bad=$(echo "$headlines" | grep --color=always \
| sed 's,^,\t,')
[ -z "$bad" ] || printf "Wrong headline uppercase:\n$bad\n"
# check headline uppercase (Rx/Tx, VF, L2, MAC, Linux, ARM...)
bad=$(echo "$headlines" | grep -E --color=always \
-e ':.*\<(rx|tx|RX|TX)\>' \
-e ':.*\<[pv]f\>' \
-e ':.*\<[hsf]w\>' \
-e ':.*\<l[234]\>' \
-e ':.*\<api\>' \
-e ':.*\<ARM\>' \
-e ':.*\<(Aarch64|AArch64|AARCH64|Aarch32|AArch32|AARCH32)\>' \
-e ':.*\<(Armv7|ARMv7|ArmV7|armV7|ARMV7)\>' \
-e ':.*\<(Armv8|ARMv8|ArmV8|armV8|ARMV8)\>' \
-e ':.*\<crc\>' \
-e ':.*\<dcb\>' \
-e ':.*\<dma\>' \
-e ':.*\<eeprom\>' \
-e ':.*\<freebsd\>' \
-e ':.*\<iova\>' \
-e ':.*\<lacp\>' \
-e ':.*\<linux\>' \
-e ':.*\<lro\>' \
-e ':.*\<lsc\>' \
-e ':.*\<mac\>' \
-e ':.*\<mss\>' \
-e ':.*\<mtu\>' \
-e ':.*\<nic\>' \
-e ':.*\<nvm\>' \
-e ':.*\<numa\>' \
-e ':.*\<pci\>' \
-e ':.*\<phy\>' \
-e ':.*\<pmd\>' \
-e ':.*\<reta\>' \
-e ':.*\<rss\>' \
-e ':.*\<sctp\>' \
-e ':.*\<tos\>' \
-e ':.*\<tpid\>' \
-e ':.*\<tso\>' \
-e ':.*\<ttl\>' \
-e ':.*\<udp\>' \
-e ':.*\<[Vv]lan\>' \
-e ':.*\<vdpa\>' \
-e ':.*\<vsi\>' \
| grep \
-v ':.*\<OCTEON\ TX\>' \
| sed 's,^,\t,')
[ -z "$bad" ] || printf "Wrong headline lowercase:\n$bad\n"
# special case check for VMDq to give good error message
bad=$(echo "$headlines" | grep -E --color=always \
-e '\<(vmdq|VMDQ)\>' \
| sed 's,^,\t,')
[ -z "$bad" ] || printf "Wrong headline capitalization, use 'VMDq':\n$bad\n"
# check headline case (Rx/Tx, VF, L2, MAC, Linux ...)
IFS='
'
words="$selfdir/words-case.txt"
for word in $(cat $words); do
bad=$(echo "$headlines" | grep -iw $word | grep -v $word)
if [ "$word" = "Tx" ]; then
bad=$(echo $bad | grep -v 'OCTEON\ TX')
fi
for bad_line in $bad; do
bad_word=$(echo $bad_line | cut -d":" -f2 | grep -io $word)
if [ -n "$bad_word" ]; then
printf "Wrong headline case:\n\"$bad_line\": $bad_word --> $word\n"
fi
done
done
# check headline length (60 max)
bad=$(echo "$headlines" |
@ -187,8 +152,6 @@ done)
[ -z "$bad" ] || printf "Missing 'Fixes' tag:\n$bad\n"
# check Fixes: reference
IFS='
'
fixtags=$(echo "$tags" | grep '^Fixes: ')
bad=$(for fixtag in $fixtags ; do
hash=$(echo "$fixtag" | sed 's,^Fixes: \([0-9a-f]*\).*,\1,')

47
devtools/words-case.txt Normal file
View File

@ -0,0 +1,47 @@
aarch32
aarch64
API
Arm
armv7
armv8
CRC
DCB
DMA
EEPROM
FreeBSD
FW
HW
IOVA
L2
L3
L4
LACP
Linux
LRO
LSC
MAC
MSS
MTU
NIC
NUMA
NVM
PCI
PF
PHY
PMD
RETA
RSS
Rx
SCTP
SW
TOS
TPID
TSO
TTL
Tx
UDP
vDPA
VF
VLAN
VMDq
VSI