Skip to content

Commit cb52220

Browse files
committed
[Template merge] paradigm test setup
1 parent 23f9343 commit cb52220

File tree

6 files changed

+179
-6
lines changed

6 files changed

+179
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
/src/fst/morphology/test/*.txt
8282
/src/fst/morphology/test/filtered*
8383
/src/fst/morphology/test/generate-*-lemmas.sh
84+
/src/fst/morphology/test/generate-*-paradigm.sh
8485
/src/fst/morphology/test/missing-multichars.sh
8586
/src/fst/morphology/test/phonology/hfst-twolc-error-messages.txt
8687
/src/fst/morphology/test/phonology/negative-*.txt

m4/giella-config-files.m4

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,13 @@ AC_CONFIG_FILES([src/fst/morphology/test/generate-propernoun-lemmas.sh], \
8585
[chmod a+x src/fst/morphology/test/generate-propernoun-lemmas.sh])
8686
AC_CONFIG_FILES([src/fst/morphology/test/generate-verb-lemmas.sh], \
8787
[chmod a+x src/fst/morphology/test/generate-verb-lemmas.sh])
88+
# Lemma generation tests, all languages:
89+
AC_CONFIG_FILES([src/fst/morphology/test/generate-adjective-paradigm.sh], \
90+
[chmod a+x src/fst/morphology/test/generate-adjective-paradigm.sh])
91+
AC_CONFIG_FILES([src/fst/morphology/test/generate-noun-paradigm.sh], \
92+
[chmod a+x src/fst/morphology/test/generate-noun-paradigm.sh])
93+
AC_CONFIG_FILES([src/fst/morphology/test/generate-verb-paradigm.sh], \
94+
[chmod a+x src/fst/morphology/test/generate-verb-paradigm.sh])
8895
# Multichar symbol consistency
8996
AC_CONFIG_FILES([src/fst/morphology/test/missing-multichars.sh], \
9097
[chmod a+x src/fst/morphology/test/missing-multichars.sh])

src/fst/morphology/test/Makefile.am

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,8 @@ SUBDIRS=phonology
1010
# unconditionally:
1111
TESTS=
1212

13-
# Add your shell scripts for running tests requiring only a generator:
14-
GENERATION_TESTS_IN=
1513
GENERATION_TESTS=
1614

17-
if WANT_GENERATION
18-
TESTS+=$(GENERATION_TESTS)
19-
endif # WANT_GENERATION
20-
2115
# List tests that are presently (expected) failures here, ie things that should
2216
# be fixed *later*, but is not critical at the moment:
2317
XFAIL_TESTS=generate-adjective-lemmas.sh \
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#!/bin/bash
2+
# Test script for noun paradigm generation coverage
3+
#
4+
# change settings here:
5+
6+
PARADIGM=testadjparadigm.txt
7+
LEXC=$srcdir/../stems/adjectives.lexc
8+
THRESHOLD=99
9+
#EXCLUDETAGS=-X Ord
10+
#EXCLUDEFORMS=-Z adjectives-whitelist.txt
11+
12+
# avoid changing the common script stuffs here:
13+
14+
. "$GIELLA_CORE/scripts/termcolors.bash"
15+
PYTHON=@PYTHON@
16+
TESTSCRIPT=$GIELLA_CORE/scripts/generate-paradigms.py
17+
GENERATOR=@builddir@/../../generator-gt-desc.hfstol
18+
19+
if ! test -d $srcdir ; then
20+
printf "%sfail%s use make check to run %s or set srcdir=.\n" \
21+
"$red" "$reset" "$0"
22+
exit 1
23+
fi
24+
if ! test -f "$PARADIGM" ; then
25+
printf "%sskip%s missing paradigm file %s\n" "$light_blue" "$reset"\
26+
"$PARADIGM"
27+
exit 77
28+
fi
29+
if ! test -f "$TESTSCRIPT" ; then
30+
printf "%sskip%s missing script file %s\n" "$light_blue" "$reset"\
31+
"$TESTSCRIPT"
32+
exit 77
33+
fi
34+
if ! test -f "$GENERATOR" ; then
35+
printf "%sskip%s missing generator FSA %s\n" "$light_blue" "$reset"\
36+
"$GENERATOR"
37+
exit 77
38+
fi
39+
if ! test -f "$LEXC" ; then
40+
printf "%sskip%s missing lexc file %s\n" "$light_blue" "$reset"\
41+
"$LEXC"
42+
exit 77
43+
fi
44+
45+
$PYTHON -- "$TESTSCRIPT" -p "$PARADIGM" -l "$LEXC" -T "$THRESHOLD" \
46+
-g "$GENERATOR" $EXCLUDETAGS $EXCLUDEFORMS
47+
rv=$?
48+
if test $rv = 77 ; then
49+
printf "%sskip%s\n" "$lightblue" "$reset"
50+
exit 77
51+
elif test $rv -gt 0 ; then
52+
printf "%sfail%s\n" "$red" "$reset"
53+
exit $rv
54+
else
55+
printf "%spass%s\n" "$green" "$reset"
56+
exit 0
57+
fi
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#!/bin/bash
2+
# Test script for noun paradigm generation coverage
3+
#
4+
# change settings here:
5+
6+
PARADIGM=testnounparadigm.txt
7+
LEXC=$srcdir/../stems/nouns.lexc
8+
THRESHOLD=99
9+
#EXCLUDETAGS=-X f -X m -X nt -ut
10+
#EXCLUDEFORMS=-Z nouns-whitelist.txt
11+
12+
# avoid changing the common script stuffs here:
13+
14+
. "$GIELLA_CORE/scripts/termcolors.bash"
15+
PYTHON=@PYTHON@
16+
TESTSCRIPT=$GIELLA_CORE/scripts/generate-paradigms.py
17+
GENERATOR=@builddir@/../../generator-gt-desc.hfstol
18+
19+
if ! test -d $srcdir ; then
20+
printf "%sfail%s use make check to run %s or set srcdir=.\n" \
21+
"$red" "$reset" "$0"
22+
exit 1
23+
fi
24+
if ! test -f "$PARADIGM" ; then
25+
printf "%sskip%s missing paradigm file %s\n" "$light_blue" "$reset"\
26+
"$PARADIGM"
27+
exit 77
28+
fi
29+
if ! test -f "$TESTSCRIPT" ; then
30+
printf "%sskip%s missing script file %s\n" "$light_blue" "$reset"\
31+
"$TESTSCRIPT"
32+
exit 77
33+
fi
34+
if ! test -f "$GENERATOR" ; then
35+
printf "%sskip%s missing generator FSA %s\n" "$light_blue" "$reset"\
36+
"$GENERATOR"
37+
exit 77
38+
fi
39+
if ! test -f "$LEXC" ; then
40+
printf "%sskip%s missing lexc file %s\n" "$light_blue" "$reset"\
41+
"$LEXC"
42+
exit 77
43+
fi
44+
45+
$PYTHON -- "$TESTSCRIPT" -p "$PARADIGM" -l "$LEXC" -T "$THRESHOLD" \
46+
-g "$GENERATOR" $EXCLUDETAGS $EXCLUDEFORMS
47+
rv=$?
48+
if test $rv = 77 ; then
49+
printf "%sskip%s\n" "$lightblue" "$reset"
50+
exit 77
51+
elif test $rv -gt 0 ; then
52+
printf "%sfail%s\n" "$red" "$reset"
53+
exit $rv
54+
else
55+
printf "%spass%s\n" "$green" "$reset"
56+
exit 0
57+
fi
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#!/bin/bash
2+
# Test script for noun paradigm generation coverage
3+
#
4+
# change settings here:
5+
6+
PARADIGM=testverbparadigm.txt
7+
LEXC=$srcdir/../stems/verbs.lexc
8+
THRESHOLD=99
9+
#EXCLUDETAGS=-X TV -X IV
10+
#EXCLUDEFORMS=-Z verbs-whitelist.txt
11+
12+
# avoid changing the common script stuffs here:
13+
14+
. "$GIELLA_CORE/scripts/termcolors.bash"
15+
PYTHON=@PYTHON@
16+
TESTSCRIPT=$GIELLA_CORE/scripts/generate-paradigms.py
17+
GENERATOR=@builddir@/../../generator-gt-desc.hfstol
18+
19+
if ! test -d $srcdir ; then
20+
printf "%sfail%s use make check to run %s or set srcdir=.\n" \
21+
"$red" "$reset" "$0"
22+
exit 1
23+
fi
24+
if ! test -f "$PARADIGM" ; then
25+
printf "%sskip%s missing paradigm file %s\n" "$light_blue" "$reset"\
26+
"$PARADIGM"
27+
exit 77
28+
fi
29+
if ! test -f "$TESTSCRIPT" ; then
30+
printf "%sskip%s missing script file %s\n" "$light_blue" "$reset"\
31+
"$TESTSCRIPT"
32+
exit 77
33+
fi
34+
if ! test -f "$GENERATOR" ; then
35+
printf "%sskip%s missing generator FSA %s\n" "$light_blue" "$reset"\
36+
"$GENERATOR"
37+
exit 77
38+
fi
39+
if ! test -f "$LEXC" ; then
40+
printf "%sskip%s missing lexc file %s\n" "$light_blue" "$reset"\
41+
"$LEXC"
42+
exit 77
43+
fi
44+
45+
$PYTHON -- "$TESTSCRIPT" -p "$PARADIGM" -l "$LEXC" -T "$THRESHOLD" \
46+
-g "$GENERATOR" $EXCLUDETAGS $EXCLUDEFORMS
47+
rv=$?
48+
if test $rv = 77 ; then
49+
printf "%sskip%s\n" "$lightblue" "$reset"
50+
exit 77
51+
elif test $rv -gt 0 ; then
52+
printf "%sfail%s\n" "$red" "$reset"
53+
exit $rv
54+
else
55+
printf "%spass%s\n" "$green" "$reset"
56+
exit 0
57+
fi

0 commit comments

Comments
 (0)