Index: languages/apertium-srd/apertium-srd.srd.dix
===================================================================
--- languages/apertium-srd/apertium-srd.srd.dix (revision 68299)
+++ languages/apertium-srd/apertium-srd.srd.dix (revision 68303)
@@ -167,16 +167,18 @@
·ddili
·lisli
·ddisli
+ ·bili
+ ·bili
+ ·bili
+
·lulu
·ddulu
- ·lala
+ ·lalu
·ddalu
·loslu
·ddoslu
·laslu
·ddaslu
- ·bili
- ·bili
·sisi
·sisi
@@ -1837,13 +1839,13 @@
aeare
aeare
iatare
- iatare
+ iatare
iamusare
- iamusare
+ iamusare
ageare
- ageare
+ ageare
iantare
- iantare
+ iantare
aduare
adaare
Index: languages/apertium-ita/apertium-ita.ita.dix
===================================================================
--- languages/apertium-ita/apertium-ita.ita.dix (revision 68299)
+++ languages/apertium-ita/apertium-ita.ita.dix (revision 68303)
@@ -129,50 +129,43 @@
- gligli
- lele
- lelo
+ lolo
lalo
lilo
- lolo
+ lelo
lolo
+ nene
+ cici
- mimi
- cici
- gligli
- lele
- lelo
+ lolo
lalo
lilo
- lolo
+ lelo
lolo
nene
+ cici
- mimi
- cici
- titi
- vivi
- gligli
- lele
- lelo
+ lolo
lalo
lilo
- lolo
+ lelo
lolo
nene
+ cici
- lelo
+ lolo
lalo
lilo
- lolo
+ lelo
lolo
nene
+ cici
mimi
memi
cici
@@ -213,17 +205,24 @@
ceci
titi
teti
+ vivi
+ vevi
+ gligli
+ gliegli
+ legli
+ legli
gligli
- lele
- gliegli
+ gliegli
- lelo
+ lolo
lalo
lilo
- lolo
+ lelo
lolo
+ nene
+ cici
@@ -235,18 +234,21 @@
teti
vivi
vevi
+ gligli
+ gliegli
+ legli
+ legli
gligli
- lele
- lelo
-
- gliegli
-
+ gliegli
+ sisi
+ sesi
+ lolo
lalo
lilo
- lolo
+ lelo
lolo
- sisi
- sesi
+ nene
+ cici
-
- mimi
- memi
cici
ceci
titi
@@ -282,63 +281,44 @@
teti
vivi
vevi
+ gligli
+ gliegli
+ legli
+ legli
gligli
- lele
- gliegli
- lelo
+ gliegli
+ lolo
lalo
lilo
- lolo
+ lelo
lolo
+ nene
+ cici
-
-
- mimi
- titi
- cici
+
+ mmimi
+ mmemi
+ ttiti
+ tteti
+ gligli
+ gliegli
+ llegli
+ llegli
gligli
- lele
- lelo
- lalo
- lilo
- lolo
- lolo
-
-
-
- vevi
-
-
-
- memi
- teti
- ceci
- gliegli
-
-
-
-
- mmimi
- mmemi
+ gliegli
ccici
- cceci
- ttiti
- tteti
- llele
- llelo
- gligli
- gliegli
+ cceci
+ vvivi
+ vvevi
+
llalo
- glilo
llolo
+ llilo
+ llelo
llolo
+ nnene
+ ccici
Index: incubator/apertium-srd-ita/apertium-srd-ita.srd-ita.dix
===================================================================
--- incubator/apertium-srd-ita/apertium-srd-ita.srd-ita.dix (revision 68299)
+++ incubator/apertium-srd-ita/apertium-srd-ita.srd-ita.dix (revision 68303)
@@ -216,13 +216,13 @@
bosvi
- lalo
+ lulo
lulo
- lulo
+ lulo
- lalo
+ lulo
lulo
- lulo
+ lulo
nuddanulla
nuddaniente
Index: incubator/apertium-srd-ita/t/README.org
===================================================================
--- incubator/apertium-srd-ita/t/README.org (nonexistent)
+++ incubator/apertium-srd-ita/t/README.org (revision 68303)
@@ -0,0 +1,47 @@
+#+STARTUP: showall
+
+
+* Setting up tests for a new language pair
+To add these test scripts to your language pair, go into your language
+pair directory and do:
+
+#+BEGIN_SRC sh
+git clone https://github.com/unhammer/apertium-wiki-tests t
+# edit t/config.sh.in and save as t/config.sh
+svn add --depth=files t
+#+END_SRC
+
+You should have your tests in a page named after your language pair, e.g.
+http://wiki.apertium.org/wiki/apertium-sme-smj/Regression_tests
+and
+http://wiki.apertium.org/wiki/apertium-sme-smj/Pending_tests
+
+
+* Running the tests
+
+To run the tests from your language pair, assuming it's been set up as
+shown above, do
+
+#+BEGIN_SRC sh
+ t/update-latest
+#+END_SRC
+
+This will overwrite the files named t/latest-pending.results and
+t/latest-regression.results. You can view the differences with
+
+#+BEGIN_SRC sh
+ svn diff
+#+END_SRC
+
+Test results are kept in SVN since that means we don't have to keep
+moving things back and forth between "Pending" and "Regression" in the
+wiki whenever we pass a new test (or fail an old one), and we get a
+nice log of our progression.
+
+To run just regression or just pending tests, use t/pending-tests or
+t/regression-tests. Pass the -f argument to those scripts to only see
+failed regression tests or passed pending tests, e.g.
+
+#+BEGIN_SRC sh
+t/regression-tests -f
+#+END_SRC
Index: incubator/apertium-srd-ita/t/config.sh
===================================================================
--- incubator/apertium-srd-ita/t/config.sh (nonexistent)
+++ incubator/apertium-srd-ita/t/config.sh (revision 68303)
@@ -0,0 +1,2 @@
+# Example configuration, just list what pairs/directions you want to test:
+PAIRS=( ita-srd srd-ita )
Index: incubator/apertium-srd-ita/t/config.sh.in
===================================================================
--- incubator/apertium-srd-ita/t/config.sh.in (nonexistent)
+++ incubator/apertium-srd-ita/t/config.sh.in (revision 68303)
@@ -0,0 +1,2 @@
+# Example configuration, just list what pairs/directions you want to test:
+PAIRS=( ita-srd srd-ita )
Index: incubator/apertium-srd-ita/t/pending-tests
===================================================================
--- incubator/apertium-srd-ita/t/pending-tests (nonexistent)
+++ incubator/apertium-srd-ita/t/pending-tests (revision 68303)
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Run with -p to show only passing tests
+
+set -e -u
+
+source "$(dirname $0)"/config.sh
+
+for pair in "${PAIRS[@]}"; do
+ bash "$(dirname $0)"/wiki-tests -u "$@" Pending "${pair}"
+done
Property changes on: incubator/apertium-srd-ita/t/pending-tests
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: incubator/apertium-srd-ita/t/regression-tests
===================================================================
--- incubator/apertium-srd-ita/t/regression-tests (nonexistent)
+++ incubator/apertium-srd-ita/t/regression-tests (revision 68303)
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Run with -f to show only failing tests
+
+set -e -u
+
+source "$(dirname $0)"/config.sh
+
+for pair in "${PAIRS[@]}"; do
+ bash "$(dirname $0)"/wiki-tests -u "$@" Regression "${pair}"
+done
Property changes on: incubator/apertium-srd-ita/t/regression-tests
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: incubator/apertium-srd-ita/t/update-latest
===================================================================
--- incubator/apertium-srd-ita/t/update-latest (nonexistent)
+++ incubator/apertium-srd-ita/t/update-latest (revision 68303)
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+cd "$(dirname $0)"/../
+t/regression-tests > t/latest-regression.results &
+t/pending-tests > t/latest-pending.results &
+wait
Property changes on: incubator/apertium-srd-ita/t/update-latest
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: incubator/apertium-srd-ita/t/wiki-tests
===================================================================
--- incubator/apertium-srd-ita/t/wiki-tests (nonexistent)
+++ incubator/apertium-srd-ita/t/wiki-tests (revision 68303)
@@ -0,0 +1,163 @@
+#!/bin/bash
+
+set -e -u
+
+######## Globals:
+
+# You shouldn't have to change this unless the wiki gets a new host:
+if [[ ! -f "$(dirname $0)/../config.log" ]]; then
+ echo "Can't find $(dirname $0)/../config.log, did you forget to run autogen.sh?" >&2
+ exit 1
+fi
+declare -r PACKAGE=$(grep ^PACKAGE= "$(dirname $0)/../config.log" |grep -o "apertium-[^']*") # e.g. apertium-sme-nob
+declare -r BASEURL="http://wiki.apertium.org/wiki/${PACKAGE}"
+
+# Workarounds for Mac's:
+SED=sed
+if [[ "$(uname -s)" = Darwin ]]; then
+ SED=gsed
+fi
+declare -r SED
+
+
+######## Functions:
+
+fetchtests () {
+ local -r update=$1
+ local -r testtype=$2
+ local -r html=$3
+
+ if ${update}; then
+ tmp=$(mktemp -t wiki-tests.html.XXXXXXXXXX)
+ if wget -O "${tmp}" -q "${BASEURL}/${testtype}" && [[ -s "${tmp}" ]]; then
+ mv "${tmp}" "${html}"
+ else
+ rm "${tmp}"
+ echo "Couldn't fetch ${BASEURL}/${testtype}" >&2
+ fi
+ fi
+
+ if [[ ! -s "${html}" ]]; then
+ echo "${html} does not exist or is empty (use '-u' option)" >&2
+ exit 1
+ fi
+}
+
+cleantst () {
+ # Would use these, but printf on Mac doesn't support unicode
+ # names, so the below sed's use *literal* byte-order-marks and
+ # zero-width-spaces:
+ local bom=$(env printf "\uFEFF")
+ local zws=$(env printf "\u200B")
+ $SED 's/^ *//; s/ *$//; s/\([^,.?!:;]\)$/\1./g; s/ */ /g' \
+ | $SED -e "s///g" \
+ | $SED -e "s///g"
+}
+cleansrc () {
+ local -r srclang=$1 trglang=$2
+ local -r tdir="\\((${srclang})\\|(${srclang}-${trglang})\\)"
+ grep -o " ${tdir}[^→]*" |$SED "s%*[^>]*>%%g; s% *${tdir} *%%" | cleantst
+}
+cleantrg () {
+ local -r srclang=$1 trglang=$2
+ local -r tdir="\\((${srclang})\\|(${srclang}-${trglang})\\)"
+ grep -o " ${tdir}.*" | $SED 's%[^→]*→ *%%; s%::.*%%' | cleantst
+}
+
+summary () {
+ local -r mode=$1 srclist=$2 trglist=$3 tstlist=$4 onlyfail=$5 onlypass=$6
+ # Output the MT vs ref translations:
+ local -i total=0
+ local -i correct=0
+ local -r sep=''
+ while IFS="${sep}" read -r src trg tst; do
+ if [[ "${trg}" = "${tst}" ]]; then
+ (( ++correct ))
+ $onlyfail || printf "%s\t %s\nWORKS\t %s\n\n\n" "${mode}" "${src}" "${tst}"
+ else
+ (( 1 ))
+ $onlypass || printf "%s\t %s\n\t- %s\n\t+ %s\n\n\n" "${mode}" "${src}" "${trg}" "${tst}"
+ fi
+ (( ++total ))
+ done < <(paste -d "${sep}" "${srclist}" "${trglist}" "${tstlist}")
+
+ # Output the sums:
+ pct=
+ if command -V calc &>/dev/null; then
+ pct=$(calc -p "round(${correct} / ${total}, 4) * 100")
+ pct=", ${pct}%"
+ fi
+ echo "${correct} / ${total}${pct}"
+}
+
+echo_revision () {
+ if rev=$(svn info 2>/dev/null); then
+ echo "${rev}" | grep -e ^Revisjon -e ^Revision
+ elif git config --get svn-remote.svn.fetch &>/dev/null; then
+ git svn info | grep -a -e ^Revisjon -e ^Revision
+ else
+ echo "(doesn't seem to be a repo)"
+ fi
+}
+showrevisions () {
+ echo_revision
+ grep ^AP_SRC "$(dirname $0)/../config.log" | while IFS='=' read -r var dir; do
+ printf "%s " "${var}"
+ ( cd "${dir//\'}"; echo_revision )
+ done
+}
+
+main () {
+ # Parse options:
+ update=false
+ onlypass=false
+ onlyfail=false
+ while getopts "upf" opt; do
+ case "$opt" in
+ u) update=true;;
+ f) onlyfail=true;;
+ p) onlypass=true;;
+ \?) echo "Invalid option" >&2; exit 2;;
+ :) echo "Option requires an argument." >&2; exit 2;;
+ esac
+ done
+ shift "$((OPTIND-1))"
+ if [[ $# -ne 2 ]] || ( ${onlypass} && ${onlyfail} ); then
+ echo "Usage: $0 [-u] [-p|-f] {Regression,Pending} srclang-trglang"
+ echo "-u Use updated tests"
+ echo "-p Show only passing tests"
+ echo "-f Show only failing tests"
+ exit 2
+ fi
+ declare -r testtype="$1_tests"
+ declare -r srclang="${2%%-*}"
+ declare -r trglang="${2##*-}"
+
+ # Derived options:
+ declare -r mode="${srclang}-${trglang}"
+ declare -r html="$(dirname $0)/${testtype}.html"
+
+ srclist=$(mktemp -t "${mode}-src.XXXXXXXXXX")
+ trglist=$(mktemp -t "${mode}-trg.XXXXXXXXXX")
+ tstlist=$(mktemp -t "${mode}-tst.XXXXXXXXXX")
+ rawlist=$(mktemp -t "${mode}-raw.XXXXXXXXXX")
+ trap "rm -f \"${srclist}\" \"${trglist}\" \"${tstlist}\" \"${rawlist}\"" EXIT
+
+ showrevisions
+ printf "Running $1-tests with mode \"${mode}\" "; ${update} && printf "with updated tests "; echo "..."
+ echo
+ fetchtests "${update}" "${testtype}" "${html}"
+ cleansrc "${srclang}" "${trglang}" < "${html}" > "${srclist}"
+ cleantrg "${srclang}" "${trglang}" < "${html}" > "${trglist}"
+ (
+ set -o pipefail
+ if ! apertium -d . "${mode}" < "${srclist}" > "${rawlist}"; then
+ cat "${rawlist}" >&2
+ return 1
+ fi
+ cleantst <"${rawlist}" > "${tstlist}"
+ )
+ summary "${mode}" "${srclist}" "${trglist}" "${tstlist}" "${onlyfail}" "${onlypass}"
+}
+
+main "$@"
Property changes on: incubator/apertium-srd-ita/t/wiki-tests
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property