efl/legacy/elementary/tests/test_decl.sh

45 lines
1.0 KiB
Bash
Raw Normal View History

#!/bin/bash
ret=0
check(){
i=$1
shift
sed -n "/^$i(/{g;1!p;};h" $@ >eapi.decl
lines=$(wc -l eapi.decl|cut -f1 -d' ')
if [ $lines == 0 ]; then
echo -e "\e[31;1mNOT IMPLEMENTED\e[m\t $i"
ret=1
elif [ $lines != 1 ]; then
echo -e "\e[31;1mMULTI IMPLEMENTED\e[m\t $i"
ret=1
else
cat eapi.decl | grep -qe '^EAPI'
if [ $? != 0 ];then
echo -e "\e[31;1mMISSING EAPI\e[m\t $i"
ret=1
fi
fi
rm eapi.decl
}
grep -e "^ *EAPI.*(.*)" src/lib/Elementary.h.in | grep -oe 'elm_\w\+' >eapi.list
for i in $(cat eapi.list); do
check $i $(ls -1 src/lib/*.c | grep -v elm_widget | grep -v els_cursor)
done
grep -e "^ *EAPI.*(.*)" src/lib/Elementary_Cursor.h | grep -oe 'elm_\w\+' >eapi.list
for i in $(cat eapi.list); do
check $i src/lib/els_cursor.c src/lib/elm_main.c
done
grep -e "^ *EAPI.*(.*)" src/lib/elm_widget.h | grep -oe '_\?elm_\w\+' >eapi.list
for i in $(cat eapi.list); do
check $i src/lib/elm_widget.c
done
rm eapi.list
exit $ret