Browse Source

Add support for skipping broken tests, and make the bs, hr, and sr tests use the correct output.

master
Reece H. Dunn 7 years ago
parent
commit
28ed50c423
2 changed files with 27 additions and 98 deletions
  1. 12
    7
      tests/language-pronunciation.test
  2. 15
    91
      tests/language-replace.test

+ 12
- 7
tests/language-pronunciation.test View File

@@ -5,6 +5,7 @@ test_phonemes() {
MESSAGE=$2
EXPECTED=$3
TEST_TEXT=$4
TEST_BROKEN=${5:-false}

if [ "x$MESSAGE" = x- ] ; then
echo "testing ${TEST_LANG}"
@@ -14,7 +15,11 @@ test_phonemes() {
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng -xq -v ${TEST_LANG} "${TEST_TEXT}" > actual.txt
echo "${EXPECTED}" > expected.txt
diff expected.txt actual.txt || exit 1
if [ x$TEST_BROKEN = xbroken ] ; then
diff expected.txt actual.txt || (echo "... ignoring error (broken)" && true)
else
diff expected.txt actual.txt || exit 1
fi
}

test_phonemes bg "Latin characters spoken in English" \
@@ -23,8 +28,8 @@ test_phonemes bg "Latin characters spoken in English" \

# This uses a pangram for Cyrillic letter coverage.
test_phonemes bs "Cyrillic" \
" l^'ub&znI f'@ 'E slovo_|tS'EtIRI_|S'Est_|p'Et_: R'@ slovo_|tS'EtIRI_|S'Est_|d'EvEt_: I j'@2 & & tS'@_:_: & slovo_|tS'EtIRI_|S'Est_|j'ed&n_: v'@ tS'@ g'@ l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Љубазни фењерџија чађавог лица хоће да ми покаже штос."
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Љубазни фењерџија чађавог лица хоће да ми покаже штос." broken
test_phonemes bs "Latin" \
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos."
@@ -63,8 +68,8 @@ test_phonemes fa "Latin characters spoken in English" \

# This uses a pangram for Cyrillic letter coverage.
test_phonemes hr "Cyrillic" \
" l^'ub&znI f'@ 'E slovo_|tS'EtIRI_|S'Est_|p'Et_: R'@ slovo_|tS'EtIRI_|S'Est_|d'EvEt_: I j'@2 & & tS'@_:_: & slovo_|tS'EtIRI_|S'Est_|j'ed&n_: v'@ tS'@ g'@ l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Љубазни фењерџија чађавог лица хоће да ми покаже штос."
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Љубазни фењерџија чађавог лица хоће да ми покаже штос." broken
test_phonemes hr "Latin" \
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos."
@@ -92,8 +97,8 @@ test_phonemes sl - \

# This uses a pangram for Cyrillic letter coverage.
test_phonemes sr "Cyrillic" \
" l^'ub&znI f'@ 'E slovo_|tS'EtIRI_|S'Est_|p'Et_: R'@ slovo_|tS'EtIRI_|S'Est_|d'EvEt_: I j'@2 & & tS'@_:_: & slovo_|tS'EtIRI_|S'Est_|j'ed&n_: v'@ tS'@ g'@ l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Љубазни фењерџија чађавог лица хоће да ми покаже штос."
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Љубазни фењерџија чађавог лица хоће да ми покаже штос." broken
test_phonemes sr "Latin" \
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \
"Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos."

+ 15
- 91
tests/language-replace.test View File

@@ -3,11 +3,16 @@
test_replace() {
TEST_LANG=$1
TEST_TEXT=$2
TEST_BROKEN=${3:-false}

echo "testing ${TEST_LANG}"
ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
src/espeak-ng -Xq -v ${TEST_LANG} "${TEST_TEXT}" | grep -P "(Translate|Found:) " | sed -e 's/ \[.*][ ]*$//g' > actual.txt
diff expected.txt actual.txt || exit 1
if [ x$TEST_BROKEN = xbroken ] ; then
diff expected.txt actual.txt || (echo "... ignoring error (broken)" && true)
else
diff expected.txt actual.txt || exit 1
fi
}

##### bs: Bosnian
@@ -15,35 +20,8 @@ test_replace() {
# Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.
cat > expected.txt <<EOF
Translate 'ljubazni'
Translate 'feѥrѩijaa'
Found: 'f'
Translate 'e'
Translate 'ѥ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_5'
Found: 'r'
Translate 'ѩ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_9'
Translate 'i'
Found: 'j'
Translate 'a'
Translate 'a'
Translate 'čaѡvčg'
Found: 'č'
Translate 'a'
Translate 'ѡ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_1'
Found: 'v'
Found: 'č'
Found: 'g'
Translate 'fenjerdžija'
Translate 'čađavog'
Translate 'lica'
Translate 'hoće'
Translate 'da'
@@ -51,7 +29,7 @@ Translate 'mi'
Translate 'pokaže'
Translate 'štos'
EOF
#test_replace bs "Љубазни фењерџија чађавог лица хоће да ми покаже штос."
test_replace bs "Љубазни фењерџија чађавог лица хоће да ми покаже штос." broken

##### en: English

@@ -68,35 +46,8 @@ test_replace en "Æon mediæval. Œconomy phœnix."
# Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.
cat > expected.txt <<EOF
Translate 'ljubazni'
Translate 'feѥrѩijaa'
Found: 'f'
Translate 'e'
Translate 'ѥ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_5'
Found: 'r'
Translate 'ѩ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_9'
Translate 'i'
Found: 'j'
Translate 'a'
Translate 'a'
Translate 'čaѡvčg'
Found: 'č'
Translate 'a'
Translate 'ѡ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_1'
Found: 'v'
Found: 'č'
Found: 'g'
Translate 'fenjerdžija'
Translate 'čađavog'
Translate 'lica'
Translate 'hoće'
Translate 'da'
@@ -104,42 +55,15 @@ Translate 'mi'
Translate 'pokaže'
Translate 'štos'
EOF
#test_replace hr "Љубазни фењерџија чађавог лица хоће да ми покаже штос."
test_replace hr "Љубазни фењерџија чађавог лица хоће да ми покаже штос." broken

##### sr: Serbian

# Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.
cat > expected.txt <<EOF
Translate 'ljubazni'
Translate 'feѥrѩijaa'
Found: 'f'
Translate 'e'
Translate 'ѥ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_5'
Found: 'r'
Translate 'ѩ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_9'
Translate 'i'
Found: 'j'
Translate 'a'
Translate 'a'
Translate 'čaѡvčg'
Found: 'č'
Translate 'a'
Translate 'ѡ'
Found: '_?A'
Found: '_4'
Found: '_6'
Found: '_1'
Found: 'v'
Found: 'č'
Found: 'g'
Translate 'fenjerdžija'
Translate 'čađavog'
Translate 'lica'
Translate 'hoće'
Translate 'da'
@@ -147,5 +71,5 @@ Translate 'mi'
Translate 'pokaže'
Translate 'štos'
EOF
#test_replace sr "Љубазни фењерџија чађавог лица хоће да ми покаже штос."
test_replace sr "Љубазни фењерџија чађавог лица хоће да ми покаже штос." broken


Loading…
Cancel
Save