mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
feat(tools): check and test qml if it's necessary!
This commit is contained in:
parent
03010465b3
commit
986bbddd83
3 changed files with 44 additions and 44 deletions
|
|
@ -18,34 +18,30 @@ cd $SCRIPT_DIR/..
|
|||
# ==============================================================================
|
||||
|
||||
if ! [ -x "$( command -v "$LINTER" )" ]; then
|
||||
printf "${RED}Unable to found `$LINTER`. No tests can be executed.${NC}\n"
|
||||
exit 0
|
||||
printf "${RED}Unable to found `$LINTER`.${NC}\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"${LINTER}" -v
|
||||
"${LINTER}" -v 2> /dev/null 1>&2
|
||||
if [[ $? != 0 ]] ; then
|
||||
printf "${RED}Unable to check qml syntax.${NC}\n"
|
||||
exit 0
|
||||
printf "${RED}Unable to check qml syntax.${NC}\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf "${BLUE}Checking qml files...${NC}\n"
|
||||
|
||||
so_far_so_good=0
|
||||
while read line
|
||||
do
|
||||
result=$(
|
||||
printf "$line" |
|
||||
sed -n 's/^\s*<\s*file\s*>\s*\(.*\.\(qml\|js\)\)\s*<\s*\/\s*file\s*>\s*$/\1/p'
|
||||
)
|
||||
if [[ ! -z $result ]] && ! $LINTER "$result"; then
|
||||
so_far_so_good=1
|
||||
fi
|
||||
done < $RESOURCES_FILE
|
||||
while read file; do
|
||||
$LINTER "$file"
|
||||
if [[ $? != 0 ]] ; then
|
||||
so_far_so_good=1
|
||||
fi
|
||||
done < <(git diff --name-only --cached | grep -E '\.qml|js|js\.spec$')
|
||||
|
||||
if [[ $so_far_so_good == 0 ]]; then
|
||||
printf "${GREEN}Done. No qml error found.\n"
|
||||
printf "${GREEN}Done. No qml error found.\n"
|
||||
else
|
||||
printf "${RED}One or more errors were found. Please to fix them.\n"
|
||||
printf "${RED}One or more errors were found. Please to fix them.\n"
|
||||
fi
|
||||
printf "${NC}"
|
||||
|
||||
|
|
|
|||
|
|
@ -28,38 +28,42 @@ if ! [ -x "$( command -v "$TEST_RUNNER" )" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
so_far_so_good=0
|
||||
git diff --name-only --cached | grep -Eq '\.qml|js|js\.spec$'
|
||||
if [[ $? != 0 ]] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Check all `*.spec.qml` files.
|
||||
so_far_so_good=0
|
||||
while read line
|
||||
do
|
||||
source_file=$(
|
||||
printf "$line" |
|
||||
sed -n 's/^\s*<\s*file\s*>\s*\(.*\.\(qml\|js\)\)\s*<\s*\/\s*file\s*>\s*$/\1/p'
|
||||
source_file=$(
|
||||
printf "$line" |
|
||||
sed -n 's/^\s*<\s*file\s*>\s*\(.*\.\(qml\|js\)\)\s*<\s*\/\s*file\s*>\s*$/\1/p'
|
||||
)
|
||||
if [[ ! -z $source_file ]]; then
|
||||
spec_file="${source_file%.*}.${TEST_FILE_EXTENSION}"
|
||||
if [[ ! -z $source_file ]]; then
|
||||
spec_file="${source_file%.*}.${TEST_FILE_EXTENSION}"
|
||||
|
||||
if [ -f $spec_file ]; then
|
||||
printf "${BLUE}Running unit qml tests of '${source_file}'...${NC}\n"
|
||||
$TEST_RUNNER -import $DEV_MODULES_PATH -import $MODULES_PATH -import $SCRIPTS_PATH -input "$spec_file"
|
||||
if [ -f $spec_file ]; then
|
||||
printf "${BLUE}Running unit qml tests of '${source_file}'...${NC}\n"
|
||||
$TEST_RUNNER -import $DEV_MODULES_PATH -import $MODULES_PATH -import $SCRIPTS_PATH -input "$spec_file"
|
||||
|
||||
if [[ $? == 0 ]]; then
|
||||
printf "${GREEN}All unit tests have succeeded for '${spec_file}'.\n"
|
||||
else
|
||||
printf "${RED}Unit tests have failed for '${spec_file}'.\n"
|
||||
so_far_so_good=1
|
||||
fi
|
||||
printf "${NC}\n"
|
||||
fi
|
||||
if [[ $? == 0 ]]; then
|
||||
printf "${GREEN}All unit tests have succeeded for '${spec_file}'.\n"
|
||||
else
|
||||
printf "${RED}Unit tests have failed for '${spec_file}'.\n"
|
||||
so_far_so_good=1
|
||||
fi
|
||||
printf "${NC}\n"
|
||||
fi
|
||||
fi
|
||||
done < $RESOURCES_FILE
|
||||
|
||||
if [[ $so_far_so_good == 0 ]]; then
|
||||
printf "${GREEN}Done. All tests have succeeded.\n"
|
||||
printf "${GREEN}Done. All tests have succeeded.\n"
|
||||
else
|
||||
printf "${RED}Fail. One or many tests have failed.\n"
|
||||
so_far_so_good=1
|
||||
printf "${RED}Fail. One or many tests have failed.\n"
|
||||
so_far_so_good=1
|
||||
fi
|
||||
printf "${NC}\n"
|
||||
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@ echo '<!DOCTYPE RCC><RCC version="1.0">
|
|||
|
||||
for filename in $(find ui/modules/ ui/scripts/ ui/views/ assets/ -type f | sort)
|
||||
do
|
||||
basename="${filename##*/}"
|
||||
extension="${filename##*.}"
|
||||
basename="${filename##*/}"
|
||||
extension="${filename##*.}"
|
||||
|
||||
if [[ $extension == @(svg|png|jpg|js|ttf) ||
|
||||
$basename == qmldir ||
|
||||
($extension == qml && $basename != *\.spec\.qml) ]]; then
|
||||
echo " <file>$filename</file>" >> $RESOURCES_FILE
|
||||
fi
|
||||
if [[ $extension == @(svg|png|jpg|js|ttf) ||
|
||||
$basename == qmldir ||
|
||||
($extension == qml && $basename != *\.spec\.qml) ]]; then
|
||||
echo " <file>$filename</file>" >> $RESOURCES_FILE
|
||||
fi
|
||||
done
|
||||
|
||||
echo ' </qresource>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue