mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-15 16:15:08 -05:00
List proofs and signoff (#194)
This commit is contained in:
parent
6d35a38bdd
commit
669084ee8f
16 changed files with 1737 additions and 59 deletions
|
|
@ -1,3 +1,3 @@
|
|||
#!/bin/bash -eu
|
||||
|
||||
NO_COVERAGE=1 EXTRA_VERIFAST_ARGS=-stats make queue | grep overhead: | sort | uniq
|
||||
NO_COVERAGE=1 EXTRA_VERIFAST_ARGS=-stats make queue list | grep overhead: | sort | uniq
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ implementation and the proof directory.
|
|||
```
|
||||
cd scripts
|
||||
./generate_diff_files.sh
|
||||
# will extract to ./FreeRTOS-Kernel/generated and ./queue/generated
|
||||
# will extract to ./FreeRTOS-Kernel/generated and ./queue/generated and ./list/generated
|
||||
```
|
||||
|
||||
Then use `diff` for a side-by-side comparison. Note that the `--color=always`
|
||||
|
|
@ -24,12 +24,14 @@ flag needs v3.4+:
|
|||
|
||||
```
|
||||
diff --color=always --width=$COLUMNS --suppress-common-lines --side-by-side FreeRTOS-Kernel/generated queue/generated | less -r
|
||||
diff --color=always --width=$COLUMNS --suppress-common-lines --side-by-side FreeRTOS-Kernel/generated list/generated | less -r
|
||||
```
|
||||
|
||||
Or generate a html report using `diff2html`:
|
||||
|
||||
```
|
||||
diff -u FreeRTOS-Kernel/generated queue/generated | diff2html -i stdin
|
||||
diff -u FreeRTOS-Kernel/generated list/generated | diff2html -i stdin
|
||||
```
|
||||
|
||||
The expectation is that the proofs make minimal changes to the original source
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash -eu
|
||||
|
||||
FUNCS=(
|
||||
QUEUE_FUNCS=(
|
||||
prvCopyDataFromQueue
|
||||
prvCopyDataToQueue
|
||||
prvInitialiseNewQueue
|
||||
|
|
@ -22,6 +22,14 @@ FUNCS=(
|
|||
xQueueReceiveFromISR
|
||||
)
|
||||
|
||||
LIST_FUNCS=(
|
||||
uxListRemove
|
||||
vListInitialise
|
||||
vListInitialiseItem
|
||||
vListInsertEnd
|
||||
vListInsert
|
||||
)
|
||||
|
||||
if [ ! -d "FreeRTOS-Kernel" ]; then
|
||||
git clone https://github.com/FreeRTOS/FreeRTOS-Kernel.git
|
||||
fi
|
||||
|
|
@ -29,7 +37,11 @@ pushd FreeRTOS-Kernel > /dev/null
|
|||
rm -rf tags generated
|
||||
ctags --excmd=number queue.c
|
||||
mkdir generated
|
||||
for f in ${FUNCS[@]}; do
|
||||
for f in ${QUEUE_FUNCS[@]}; do
|
||||
../extract.py tags $f > generated/$f.c
|
||||
done
|
||||
ctags --excmd=number list.c
|
||||
for f in ${LIST_FUNCS[@]}; do
|
||||
../extract.py tags $f > generated/$f.c
|
||||
done
|
||||
popd > /dev/null
|
||||
|
|
@ -40,8 +52,19 @@ pushd queue > /dev/null
|
|||
rm -rf tags generated
|
||||
ctags --excmd=number *.c
|
||||
mkdir generated
|
||||
for f in ${FUNCS[@]}; do
|
||||
for f in ${QUEUE_FUNCS[@]}; do
|
||||
../scripts/extract.py tags $f > generated/$f.c
|
||||
done
|
||||
popd > /dev/null
|
||||
echo "created: queue/generated"
|
||||
|
||||
ln -fs ../list .
|
||||
pushd list > /dev/null
|
||||
rm -rf tags generated
|
||||
ctags --excmd=number *.c
|
||||
mkdir generated
|
||||
for f in ${LIST_FUNCS[@]}; do
|
||||
../scripts/extract.py tags $f > generated/$f.c
|
||||
done
|
||||
popd > /dev/null
|
||||
echo "created: list/generated"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue