diff --git a/.fmf/version b/.fmf/version
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/.fmf/version
@@ -0,0 +1 @@
+1
diff --git a/plans/basic.fmf b/plans/basic.fmf
new file mode 100644
index 0000000..c1627f9
--- /dev/null
+++ b/plans/basic.fmf
@@ -0,0 +1,5 @@
+summary: Basic smoke test
+discover:
+ how: fmf
+execute:
+ how: tmt
diff --git a/tests/smoke/main.fmf b/tests/smoke/main.fmf
new file mode 100644
index 0000000..dbe46a0
--- /dev/null
+++ b/tests/smoke/main.fmf
@@ -0,0 +1,18 @@
+test: ./runtest.sh
+framework: beakerlib
+require:
+ - gcc
+ - make
+ - gnome-common
+ - autoconf
+ - automake
+ - gettext-devel
+ - ibus
+ - ibus-devel
+ - gtk3-devel
+ - pkgconfig
+ - libtool
+ - m17n-lib-devel
+ - m17n-db
+ - ibus-m17n
+ - rpm-build
diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh
old mode 100644
new mode 100755
index 48a3400..aa22874
--- a/tests/smoke/runtest.sh
+++ b/tests/smoke/runtest.sh
@@ -1,207 +1,186 @@
#!/bin/bash
+. /usr/share/beakerlib/beakerlib.sh || exit 1
-FAIL_COUNTER=0
+rlJournalStart
+ rlPhaseStartSetup
+ rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
+ rlRun "pushd $tmp"
+ rlFetchSrcForInstalled "ibus-m17n"
+ rlRun "rpm --define '_topdir $tmp' -i *src.rpm"
+ rlRun "mkdir BUILD" 0 "Creating BUILD directory"
+ rlRun "rpmbuild --nodeps --define '_topdir $tmp' -bp $tmp/SPECS/*spec"
+ rlRun "pushd BUILD/ibus-m17n*"
+ rlRun "set -o pipefail"
+ rlRun "NOCONFIGURE=1 ./autogen.sh"
+ rlRun "./configure --disable-static --with-gtk=3.0"
+ rlRun "make check"
+ rlAssertRpm "ibus"
+ rlAssertRpm "m17n-db"
+ rlPhaseEnd
-check_pkg() {
- local pkg=$1
- if rpm -q $pkg
- then
- echo "PASS"
- else
- echo "FAIL"
- let "FAIL_COUNTER=FAIL_COUNTER+1"
- fi
-}
-
-check_return_value () {
- if [ $1 == 0 ]
- then
- echo "PASS"
- else
- echo "FAIL"
- let "FAIL_COUNTER=FAIL_COUNTER+1"
- fi
-}
-
-pushd ../source
-
- echo "---Start autogen.sh---"
- NOCONFIGURE=1 ./autogen.sh
- echo "---End autogen.sh---"
- echo "--------------------"
-
- ./configure --disable-static --with-gtk=3.0
- make check
- check_return_value $?
-popd
-
-check_pkg "ibus"
-check_pkg "m17n-db"
-
-ibus-daemon -v -r -d
-check_return_value $?
-
-echo "give ibus-daemon some time to start properly."
-sleep 5
-
-for name in \
- am:sera \
- ar:kbd \
- ar:translit \
- as:inscript \
- as:inscript2 \
- as:itrans \
- as:phonetic \
- ath:phonetic \
- bla:phonetic \
- bn:disha \
- bn:inscript \
- bn:inscript2 \
- bn:itrans \
- bn:probhat \
- bo:ewts \
- bo:tcrc \
- bo:wylie \
- brx:inscript2 \
- cr:western \
- da:post \
- doi:inscript2 \
- dv:phonetic \
- eo:h-fundamente \
- eo:h-sistemo \
- eo:plena \
- eo:q-sistemo \
- eo:vi-sistemo \
- eo:x-sistemo \
- fa:isiri \
- fr:azerty \
- grc:mizuochi \
- gu:inscript \
- gu:inscript2 \
- gu:itrans \
- gu:phonetic \
- hi:inscript \
- hi:inscript2 \
- hi:itrans \
- hi:optitransv2 \
- hi:phonetic \
- hi:remington \
- hi:typewriter \
- hi:vedmata \
- hu:rovas-post \
- ii:phonetic \
- iu:phonetic \
- kk:arabic \
- km:yannis \
- kn:inscript \
- kn:inscript2 \
- kn:itrans \
- kn:kgp \
- kn:optitransv2 \
- kn:typewriter \
- kok:inscript2 \
- ks:inscript \
- ks:kbd \
- lo:lrt \
- mai:inscript \
- mai:inscript2 \
- ml:enhanced-inscript \
- ml:inscript \
- ml:inscript2 \
- ml:itrans \
- ml:mozhi \
- ml:remington \
- ml:swanalekha \
- mni:inscript2-beng \
- mni:inscript2-mtei \
- mr:inscript \
- mr:inscript2 \
- mr:itrans \
- mr:phonetic \
- mr:remington \
- mr:typewriter \
- ne:inscript2 \
- ne:rom \
- ne:rom-translit \
- ne:trad \
- ne:trad-ttf \
- nsk:phonetic \
- oj:phonetic \
- or:inscript \
- or:inscript2 \
- or:itrans \
- or:phonetic \
- pa:anmollipi \
- pa:inscript \
- pa:inscript2 \
- pa:itrans \
- pa:jhelum \
- pa:phonetic \
- ps:phonetic \
- ru:phonetic \
- ru:translit \
- ru:yawerty \
- sa:IAST \
- sa:harvard-kyoto \
- sa:inscript2 \
- sa:itrans \
- sat:inscript2-deva \
- sat:inscript2-olck \
- sd:inscript \
- sd:inscript2 \
- si:phonetic-dynamic \
- si:samanala \
- si:sayura \
- si:singlish \
- si:sumihiri \
- si:transliteration \
- si:wijesekera \
- sv:post \
- t:latn-post \
- t:latn-pre \
- t:latn1-pre \
- t:lsymbol \
- t:math-latex \
- t:rfc1345 \
- t:ssymbol \
- t:syrc-phonetic \
- t:unicode \
- ta:inscript \
- ta:inscript2 \
- ta:itrans \
- ta:lk-renganathan \
- ta:phonetic \
- ta:tamil99 \
- ta:typewriter \
- ta:vutam \
- tai:sonla-kbd \
- te:apple \
- te:inscript \
- te:inscript2 \
- te:itrans \
- te:pothana \
- te:rts \
- te:sarala \
- th:kesmanee \
- th:pattachote \
- th:tis820 \
- ur:phonetic \
- vi:han \
- vi:nomtelex \
- vi:nomvni \
- vi:tcvn \
- vi:telex \
- vi:viqr \
- vi:vni \
- yi:yivo
-do
- echo "checking whether 'ibus-engine-m17n --xml' can list m17n:${name}:"
- /usr/libexec/ibus-engine-m17n --xml 2>/dev/null | grep "m17n:${name}"
- check_return_value $?
- echo "checking whether ibus can list m17n:${name}:"
- ibus list-engine --name-only | grep "m17n:${name}$"
- check_return_value $?
-done
-
-exit ${FAIL_COUNTER}
+ rlPhaseStartTest
+ rlRun "ibus-daemon -v -r -d"
+ rlRun "sleep 5" 0 "Give ibus-daemon some time to start properly."
+ for name in \
+ am:sera \
+ ar:kbd \
+ ar:translit \
+ as:inscript \
+ as:inscript2 \
+ as:itrans \
+ as:phonetic \
+ ath:phonetic \
+ bla:phonetic \
+ bn:disha \
+ bn:inscript \
+ bn:inscript2 \
+ bn:itrans \
+ bn:probhat \
+ bo:ewts \
+ bo:tcrc \
+ bo:wylie \
+ brx:inscript2 \
+ cr:western \
+ da:post \
+ doi:inscript2 \
+ dv:phonetic \
+ eo:h-fundamente \
+ eo:h-sistemo \
+ eo:plena \
+ eo:q-sistemo \
+ eo:vi-sistemo \
+ eo:x-sistemo \
+ fa:isiri \
+ fr:azerty \
+ grc:mizuochi \
+ gu:inscript \
+ gu:inscript2 \
+ gu:itrans \
+ gu:phonetic \
+ hi:inscript \
+ hi:inscript2 \
+ hi:itrans \
+ hi:optitransv2 \
+ hi:phonetic \
+ hi:remington \
+ hi:typewriter \
+ hi:vedmata \
+ hu:rovas-post \
+ ii:phonetic \
+ iu:phonetic \
+ kk:arabic \
+ km:yannis \
+ kn:inscript \
+ kn:inscript2 \
+ kn:itrans \
+ kn:kgp \
+ kn:optitransv2 \
+ kn:typewriter \
+ kok:inscript2 \
+ ks:inscript \
+ ks:kbd \
+ lo:lrt \
+ mai:inscript \
+ mai:inscript2 \
+ ml:enhanced-inscript \
+ ml:inscript \
+ ml:inscript2 \
+ ml:itrans \
+ ml:mozhi \
+ ml:remington \
+ ml:swanalekha \
+ mni:inscript2-beng \
+ mni:inscript2-mtei \
+ mr:inscript \
+ mr:inscript2 \
+ mr:itrans \
+ mr:phonetic \
+ mr:remington \
+ mr:typewriter \
+ ne:inscript2 \
+ ne:rom \
+ ne:rom-translit \
+ ne:trad \
+ ne:trad-ttf \
+ nsk:phonetic \
+ oj:phonetic \
+ or:inscript \
+ or:inscript2 \
+ or:itrans \
+ or:phonetic \
+ pa:anmollipi \
+ pa:inscript \
+ pa:inscript2 \
+ pa:itrans \
+ pa:jhelum \
+ pa:phonetic \
+ ps:phonetic \
+ ru:phonetic \
+ ru:translit \
+ ru:yawerty \
+ sa:IAST \
+ sa:harvard-kyoto \
+ sa:inscript2 \
+ sa:itrans \
+ sat:inscript2-deva \
+ sat:inscript2-olck \
+ sd:inscript \
+ sd:inscript2 \
+ si:phonetic-dynamic \
+ si:samanala \
+ si:sayura \
+ si:singlish \
+ si:sumihiri \
+ si:transliteration \
+ si:wijesekera \
+ sv:post \
+ t:latn-post \
+ t:latn-pre \
+ t:latn1-pre \
+ t:lsymbol \
+ t:math-latex \
+ t:rfc1345 \
+ t:ssymbol \
+ t:syrc-phonetic \
+ t:unicode \
+ ta:inscript \
+ ta:inscript2 \
+ ta:itrans \
+ ta:lk-renganathan \
+ ta:phonetic \
+ ta:tamil99 \
+ ta:typewriter \
+ ta:vutam \
+ tai:sonla-kbd \
+ te:apple \
+ te:inscript \
+ te:inscript2 \
+ te:itrans \
+ te:pothana \
+ te:rts \
+ te:sarala \
+ th:kesmanee \
+ th:pattachote \
+ th:tis820 \
+ ur:phonetic \
+ vi:han \
+ vi:nomtelex \
+ vi:nomvni \
+ vi:tcvn \
+ vi:telex \
+ vi:viqr \
+ vi:vni \
+ yi:yivo
+ do
+ rlRun "/usr/libexec/ibus-engine-m17n --xml 2>/dev/null | grep 'm17n:${name}'" \
+ 0 "checking whether 'ibus-engine-m17n --xml' can list m17n:${name}:"
+ rlRun "ibus list-engine --name-only | grep 'm17n:${name}$'" \
+ 0 "checking whether ibus can list m17n:${name}:"
+ done
+ rlPhaseEnd
+ rlPhaseStartCleanup
+ rlRun "popd; popd"
+ rlRun "rm -r $tmp" 0 "Remove tmp directory"
+ rlPhaseEnd
+rlJournalEnd
diff --git a/tests/tests.yml b/tests/tests.yml
deleted file mode 100644
index 65a5bc9..0000000
--- a/tests/tests.yml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-- hosts: localhost
- tags:
- - classic
- roles:
- - role: standard-test-source
-
-- hosts: localhost
- tags:
- - classic
- roles:
- - role: standard-test-basic
- tests:
- - smoke
- required_packages:
- - gcc
- - make
- - gnome-common
- - autoconf
- - automake
- - gettext-devel
- - ibus
- - ibus-devel
- - gtk3-devel
- - pkgconfig
- - libtool
- - m17n-lib-devel
- - m17n-db