Revision: 636 Author: mwhapples@xxxxxxxxx Date: Mon May 21 04:16:36 2012 Log: Added a change to using JSON to store test harness data http://code.google.com/p/liblouis/source/detail?r=636 Added: /trunk/tests/harness/en-GB-g2_harness.txt /trunk/tests/harness/hu1_harness.txt /trunk/tests/harness/letterDefTest_harness.txt Modified: /trunk/tests/runHarness.py ======================================= --- /dev/null +++ /trunk/tests/harness/en-GB-g2_harness.txt Mon May 21 04:16:36 2012 @@ -0,0 +1,20 @@ +{ + "table": "en-GB-g2.ctb", + "tests": [ + { + "brl": "! cat sat on ! mat", + "txt": "the cat sat on the mat" + }, + { + "brl": "6! moon", + "txt": "to the moon" + }, + { + "BRLCursorPos": 2, + "brl": "y went to", + "cursorPos": 4, + "mode": "compbrlAtCursor", + "txt": "you went to" + } + ] +} ======================================= --- /dev/null +++ /trunk/tests/harness/hu1_harness.txt Mon May 21 04:16:36 2012 @@ -0,0 +1,3153 @@ +{ + "table": "hu1.ctb", + "tests": [ + { + "brl": "ad\"s5er}", + "txt": "adásszerű" + }, + { + "brl": "ad\"s5{net", + "txt": "adásszünet" + }, + { + "brl": "ad9s5\"mla", + "txt": "adósszámla" + }, + { + "BRLCursorPos": 1, + "brl": "$a4agos5erg16", + "txt": "Agyagosszergény" + }, + { + "brl": "a4ag4}r}iken", + "txt": "agyaggyűrűiken" + }, + { + "brl": "a4on6om", + "txt": "agyonnyom" + }, + { + "brl": "a4on602ott", + "txt": "agyonnyúzott" + }, + { + "brl": "a4on6}tt ", + "txt": "agyonnyűtt " + }, + { + "brl": "\"40s5ekerek", + "txt": "ágyússzekerek" + }, + { + "brl": "\"jul\"s5er}", + "txt": "ájulásszerű" + }, + { + "brl": "ak\"csqv16", + "txt": "akácsövény" + }, + { + "brl": "\"k\"csqv16", + "txt": "ákácsövény" + }, + { + "brl": "al\"s5olg\"ja", + "txt": "alásszolgája" + }, + { + "brl": "al\"s5olg\"juk ", + "txt": "alásszolgájuk " + }, + { + "brl": "alkalma2\"s5erver", + "txt": "alkalmazásszerver" + }, + { + "brl": "\"ll\"s5qg", + "txt": "állásszög" + }, + { + "brl": "alm\"s5{rke", + "txt": "almásszürke" + }, + { + "brl": "alv\"s5eg16", + "txt": "alvásszegény" + }, + { + "brl": "alv\"s5{ks1glete", + "txt": "alvásszükséglete" + }, + { + "brl": "alv\"s2avar", + "txt": "alvászavar" + }, + { + "brl": "a6ag4727", + "txt": "anyaggyőző" + }, + { + "brl": "a6ag4}jt1s", + "txt": "anyaggyűjtés" + }, + { + "brl": "ara6os57ke", + "txt": "aranyosszőke" + }, + { + "brl": "\"rboc303", + "txt": "árboccsúcs" + }, + { + "brl": "\"rb9c303", + "txt": "árbóccsúcs" + }, + { + "brl": "\"rbocsudarat", + "txt": "árbocsudarat" + }, + { + "brl": "arc{reg4ullad\"s", + "txt": "arcüreggyulladás" + }, + { + "brl": "arc3ont", + "txt": "arccsont" + }, + { + "brl": "arcseb", + "txt": "arcseb" + }, + { + "brl": "arcsebe ", + "txt": "arcsebe " + }, + { + "brl": "arcs1r{l1s", + "txt": "arcsérülés" + }, + { + "brl": "\"rgus5em}", + "txt": "árgusszemű" + }, + { + "brl": "\"rv|2s0jtotta", + "txt": "árvízsújtotta" + }, + { + "brl": "aut9s5em{veg", + "txt": "autósszemüveg" + }, + { + "brl": "a2on6omban", + "txt": "azonnyomban" + }, + { + "brl": "b\"dog4}jtem16", + "txt": "bádoggyűjtemény" + }, + { + "brl": "barn\"s57ke", + "txt": "barnásszőke" + }, + { + "brl": "barn\"s57k1t", + "txt": "barnásszőkét" + }, + { + "brl": "barn\"s5{rke", + "txt": "barnásszürke" + }, + { + "brl": "barne55al", + "txt": "barnesszal" + }, + { + "brl": "be3l1s5er}en", + "txt": "becslésszerűen" + }, + { + "BRLCursorPos": 1, + "brl": "$b1k1s5entandr\"s", + "txt": "Békésszentandrás" + }, + { + "brl": "b1l1s5qvet", + "txt": "bélésszövet" + }, + { + "brl": "b1eg4}jtem16", + "txt": "bélyeggyűjtemény" + }, + { + "brl": "b1rcs{veg", + "txt": "bércsüveg" + }, + { + "brl": "berende21s5er} ", + "txt": "berendezésszerű " + }, + { + "brl": "berende21s5ett", + "txt": "berendezésszett" + }, + { + "brl": "beteg494\"5", + "txt": "beteggyógyász" + }, + { + "brl": "bilin32qrg1s", + "txt": "bilincszörgés" + }, + { + "brl": "binsen44qk1r", + "txt": "binsenggyökér" + }, + { + "brl": "boh9csapk\"ja", + "txt": "bohócsapkája" + }, + { + "brl": "bonbonme44", + "txt": "bonbonmeggy" + }, + { + "brl": "bors5em", + "txt": "borsszem" + }, + { + "brl": "bors59r9", + "txt": "borsszóró" + }, + { + "brl": "bor2as57r}", + "txt": "borzasszőrű" + }, + { + "brl": "bor2`|r", + "txt": "borzzsír" + }, + { + "brl": "b7g1s5er}", + "txt": "bőgésszerű" + }, + { + "brl": "bqrtqn6elve", + "txt": "börtönnyelve" + }, + { + "brl": "brekeg1s5er}", + "txt": "brekegésszerű" + }, + { + "brl": "bron2s\"ska", + "txt": "bronzsáska" + }, + { + "brl": "bron2s\"sk\"k", + "txt": "bronzsáskák" + }, + { + "brl": "bron2sasokkal ", + "txt": "bronzsasokkal " + }, + { + "brl": "bron2sisak", + "txt": "bronzsisak" + }, + { + "brl": "b030j\"r\"s5er}", + "txt": "búcsújárásszerű" + }, + { + "brl": "b}n6omok", + "txt": "bűnnyomok" + }, + { + "brl": "chipses2a3k9", + "txt": "chipseszacskó" + }, + { + "brl": "3ap\"s5\"m", + "txt": "csapásszám" + }, + { + "brl": "3\"rd\"s59l9", + "txt": "csárdásszóló" + }, + { + "brl": "3attan\"s5er}", + "txt": "csattanásszerű" + }, + { + "brl": "3avar\"s5er}", + "txt": "csavarásszerű" + }, + { + "brl": "3ik9s5\"mad9", + "txt": "csikósszámadó" + }, + { + "brl": "3ipk1s51l}", + "txt": "csipkésszélű" + }, + { + "brl": "3obban\"s5er}", + "txt": "csobbanásszerű" + }, + { + "brl": "3ukl\"s5er}", + "txt": "csuklásszerű" + }, + { + "brl": "di55ert\"ci9", + "txt": "disszertáció" + }, + { + "brl": "dobperg1s5er}en", + "txt": "dobpergésszerűen" + }, + { + "brl": "dqg4apj0", + "txt": "döggyapjú" + }, + { + "brl": "d7l1s5qg", + "txt": "dőlésszög" + }, + { + "brl": "dqrg1s5er}", + "txt": "dörgésszerű" + }, + { + "brl": "dqrg1s5er} ", + "txt": "dörgésszerű " + }, + { + "brl": "drago6os5\"2ad ", + "txt": "dragonyosszázad " + }, + { + "brl": "drago6os2\"5l9alj", + "txt": "dragonyoszászlóalj" + }, + { + "brl": "drog4an0s", + "txt": "droggyanús" + }, + { + "brl": "d0s5ak\"ll0", + "txt": "dússzakállú" + }, + { + "brl": "1des5\"j0", + "txt": "édesszájú" + }, + { + "brl": "1des5e5testv1r", + "txt": "édesszesztestvér" + }, + { + "brl": "1g1s5ab\"", + "txt": "égésszabály" + }, + { + "brl": "1g1s5ag", + "txt": "égésszag" + }, + { + "brl": "1g1s5\"m", + "txt": "égésszám" + }, + { + "brl": "1g1s5igetel1s", + "txt": "égésszigetelés" + }, + { + "brl": "e4enes5\"l0", + "txt": "egyenesszálú" + }, + { + "brl": "e4enes5\"r60ak", + "txt": "egyenesszárnyúak" + }, + { + "brl": "e4enes5qg", + "txt": "egyenesszög" + }, + { + "brl": "e4e2s1g", + "txt": "egyezség" + }, + { + "brl": "1hes5\"jat ", + "txt": "éhesszájat " + }, + { + "brl": "ejt7er67s5\"r6ak", + "txt": "ejtőernyősszárnyak" + }, + { + "brl": "ejt7er67s5\"2ad", + "txt": "ejtőernyősszázad" + }, + { + "brl": "ejt7er67s2\"5l9alj ", + "txt": "ejtőernyőszászlóalj " + }, + { + "brl": "1kes59l\"s", + "txt": "ékesszólás" + }, + { + "brl": "1kes59l9 ", + "txt": "ékesszóló " + }, + { + "brl": "ekh9s5ek1r", + "txt": "ekhósszekér" + }, + { + "brl": "ekh9s5ekerek", + "txt": "ekhósszekerek" + }, + { + "brl": "eles1g4}jt1s ", + "txt": "eleséggyűjtés " + }, + { + "brl": "1les5em}", + "txt": "élesszemű" + }, + { + "brl": "ell\"t\"s5er}", + "txt": "ellátásszerű" + }, + { + "brl": "ellen\"ll\"s5ekr16", + "txt": "ellenállásszekrény" + }, + { + "brl": "ellen6ilatko2at", + "txt": "ellennyilatkozat" + }, + { + "brl": "ellen6om\"s", + "txt": "ellennyomás" + }, + { + "brl": "elm1ncs1g", + "txt": "elméncség" + }, + { + "brl": "el7|r\"s5er} ", + "txt": "előírásszerű " + }, + { + "brl": "elr1mi551k ", + "txt": "elrémisszék " + }, + { + "brl": "emberh0s5agot ", + "txt": "emberhússzagot " + }, + { + "brl": "emel1s5er}", + "txt": "emelésszerű" + }, + { + "brl": "1rc3apad1k, 1rc3eng1s, 1rc3atorna ", + "txt": "érccsapadék, érccsengés, érccsatorna " + }, + { + "brl": "1rcsalak", + "txt": "ércsalak" + }, + { + "brl": "1rcsas", + "txt": "ércsas" + }, + { + "brl": "1rcseem", + "txt": "ércselyem" + }, + { + "brl": "1rcs|p, 1rcs|pj\"ba, 1rcs|pl\"da ", + "txt": "ércsíp, ércsípjába, ércsípláda " + }, + { + "brl": "1r3|ptet7", + "txt": "ércsíptető" + }, + { + "brl": "1rcsisak", + "txt": "ércsisak" + }, + { + "brl": "1rcsodro6", + "txt": "ércsodrony" + }, + { + "brl": "er7forr\"s2ab\"l9", + "txt": "erőforrászabáló" + }, + { + "brl": "1r21kel1s5int", + "txt": "érzékelésszint" + }, + { + "brl": "155er}", + "txt": "ésszerű" + }, + { + "brl": "e5kq2sor, e5kq2sor\"n", + "txt": "eszközsor, eszközsorán" + }, + { + "brl": "ev1s2avar", + "txt": "evészavar" + }, + { + "brl": "fa4os5entek", + "txt": "fagyosszentek" + }, + { + "brl": "f\"k\"s2ene", + "txt": "fáklyászene" + }, + { + "brl": "farkas5\"j ", + "txt": "farkasszáj " + }, + { + "brl": "farkas5em", + "txt": "farkasszem" + }, + { + "brl": "farkas5emet ", + "txt": "farkasszemet " + }, + { + "BRLCursorPos": 1, + "brl": "$farkas5iget,", + "txt": "Farkassziget," + }, + { + "brl": "f\"s5\"r0", + "txt": "fásszárú" + }, + { + "brl": "fe4enc3oport", + "txt": "fegyenccsoport" + }, + { + "brl": "fe4encsapk\"t ", + "txt": "fegyencsapkát " + }, + { + "brl": "feh1res57ke, feh1res5{rke ", + "txt": "fehéresszőke, fehéresszürke " + }, + { + "brl": "feket1s5{rke", + "txt": "feketésszürke" + }, + { + "brl": "feles1g4ilkos", + "txt": "feleséggyilkos" + }, + { + "brl": "felfede21s5\"mba", + "txt": "felfedezésszámba" + }, + { + "brl": "fels1g4ilkol\"s", + "txt": "felséggyilkolás" + }, + { + "brl": "fel5erel1s5ettet", + "txt": "felszerelésszettet" + }, + { + "brl": "fert721s5er}", + "txt": "fertőzésszerű" + }, + { + "brl": "filc3i2ma", + "txt": "filccsizma" + }, + { + "brl": "filigr\"n6el}", + "txt": "filigránnyelű" + }, + { + "brl": "fogas5eg", + "txt": "fogasszeg" + }, + { + "brl": "fogf\"j\"s5er}", + "txt": "fogfájásszerű" + }, + { + "brl": "foglalko2\"s5er}", + "txt": "foglalkozásszerű" + }, + { + "brl": "fog4alu", + "txt": "foggyalu" + }, + { + "brl": "fog4qk1r", + "txt": "foggyökér" + }, + { + "brl": "fog4ullad\"s", + "txt": "foggyulladás" + }, + { + "brl": "fog4}r}", + "txt": "foggyűrű" + }, + { + "brl": "forg\"s5ab\"", + "txt": "forgásszabály" + }, + { + "brl": "forr\"s5qveg", + "txt": "forrásszöveg" + }, + { + "brl": "fos5|n}", + "txt": "fosszínű" + }, + { + "brl": "fqld3u5aml\"s5er}en", + "txt": "földcsuszamlásszerűen" + }, + { + "brl": "fql1le55em", + "txt": "fölélesszem" + }, + { + "brl": "f727kal\"n6elet", + "txt": "főzőkalánnyelet" + }, + { + "brl": "fuvaros5ek1r", + "txt": "fuvarosszekér" + }, + { + "brl": "f0v9s5er5\"m", + "txt": "fúvósszerszám" + }, + { + "brl": "f0v9s5imf9nia", + "txt": "fúvósszimfónia" + }, + { + "brl": "f0v9s2enekar", + "txt": "fúvószenekar" + }, + { + "brl": "f}t1s5ag", + "txt": "fűtésszag" + }, + { + "brl": "garaboncsereg", + "txt": "garaboncsereg" + }, + { + "brl": "g\"2spray", + "txt": "gázspray" + }, + { + "brl": "g\"2sug\"r", + "txt": "gázsugár" + }, + { + "brl": "gerincs1r{lt", + "txt": "gerincsérült" + }, + { + "brl": "gerincs1rv ", + "txt": "gerincsérv " + }, + { + "brl": "gin5eng4qk1r", + "txt": "ginszenggyökér" + }, + { + "brl": "gin2eng4qk1r", + "txt": "ginzenggyökér" + }, + { + "BRLCursorPos": 1, + "brl": "$gombos5eg", + "txt": "Gombosszeg" + }, + { + "brl": "gondvisel1s5er}", + "txt": "gondviselésszerű" + }, + { + "brl": "g72s|p", + "txt": "gőzsíp" + }, + { + "brl": "g72sug\"r", + "txt": "gőzsugár" + }, + { + "brl": "g725iva880", + "txt": "gőzszivattyú" + }, + { + "brl": "gr\"n\"tos2\"5l9alj", + "txt": "gránátoszászlóalj" + }, + { + "brl": "g06vers5er27", + "txt": "gúnyversszerző" + }, + { + "brl": "4alogos5\"2ad", + "txt": "gyalogosszázad" + }, + { + "brl": "4alogos2\"5l9alj,", + "txt": "gyalogoszászlóalj," + }, + { + "brl": "4ors5\"r60", + "txt": "gyorsszárnyú" + }, + { + "brl": "4ors5ek1r ", + "txt": "gyorsszekér " + }, + { + "brl": "4ors5}r7", + "txt": "gyorsszűrő" + }, + { + "brl": "40jt\"s5ab\"", + "txt": "gyújtásszabály" + }, + { + "brl": "40jt\"s`in9r", + "txt": "gyújtászsinór" + }, + { + "brl": "4}l1s5|ne", + "txt": "gyűlésszíne" + }, + { + "brl": "habar33al", + "txt": "habarccsal" + }, + { + "brl": "habitus5er}en", + "txt": "habitusszerűen" + }, + { + "brl": "hadia6ag4\"r", + "txt": "hadianyaggyár" + }, + { + "brl": "hadsereg4}jt1s ", + "txt": "hadsereggyűjtés " + }, + { + "brl": "hajl\"s5qg", + "txt": "hajlásszög" + }, + { + "brl": "haj9s5ekerce ", + "txt": "hajósszekerce " + }, + { + "brl": "haj9s5em12et", + "txt": "hajósszemélyzet" + }, + { + "brl": "hall\"s2avar", + "txt": "hallászavar" + }, + { + "brl": "halottas5ek1r ", + "txt": "halottasszekér " + }, + { + "brl": "halottas5oba", + "txt": "halottasszoba" + }, + { + "brl": "halottas5ob\"ba", + "txt": "halottasszobába" + }, + { + "brl": "hamvas57ke", + "txt": "hamvasszőke" + }, + { + "brl": "hamvas5{rke", + "txt": "hamvasszürke" + }, + { + "brl": "hang4akorlat", + "txt": "hanggyakorlat" + }, + { + "brl": "h\"6\"s5ag", + "txt": "hányásszag" + }, + { + "brl": "haragos2qld", + "txt": "haragoszöld" + }, + { + "brl": "harcos5ellem", + "txt": "harcosszellem" + }, + { + "brl": "harc3elekm16 ", + "txt": "harccselekmény " + }, + { + "brl": "harc3oport", + "txt": "harccsoport" + }, + { + "brl": "harcsor", + "txt": "harcsor" + }, + { + "brl": "h\"rmas5\"m0", + "txt": "hármasszámú" + }, + { + "brl": "h\"rs51n", + "txt": "hársszén" + }, + { + "brl": "h\"rs5enet", + "txt": "hársszenet" + }, + { + "brl": "h\"r8\"s5\"r60", + "txt": "hártyásszárnyú" + }, + { + "brl": "hasis5agot", + "txt": "hasisszagot" + }, + { + "brl": "hat\"s5{net", + "txt": "hatásszünet" + }, + { + "brl": "h\"`\"rkod\"s\"t", + "txt": "házsárkodását" + }, + { + "brl": "he4es5qg", + "txt": "hegyesszög" + }, + { + "brl": "he45oros5er}", + "txt": "hegyszorosszerű" + }, + { + "brl": "hekus5agot", + "txt": "hekusszagot" + }, + { + "brl": "hentes5aktanfoam\"t", + "txt": "hentesszaktanfolyamát" + }, + { + "brl": "hirdet1s5qveg", + "txt": "hirdetésszöveg" + }, + { + "brl": "hivat\"s5er}en", + "txt": "hivatásszerűen" + }, + { + "brl": "h|2elked1s5\"mba", + "txt": "hízelkedésszámba" + }, + { + "brl": "h9ag4ullad\"s", + "txt": "hólyaggyulladás" + }, + { + "brl": "hqrg1s5er}", + "txt": "hörgésszerű" + }, + { + "brl": "h7s5|n15", + "txt": "hősszínész" + }, + { + "brl": "h7s5qvets1g ", + "txt": "hősszövetség " + }, + { + "brl": "h0s5aft", + "txt": "hússzaft" + }, + { + "brl": "h0s5ag", + "txt": "hússzag" + }, + { + "brl": "h0s5ag0", + "txt": "hússzagú" + }, + { + "brl": "h0s5\"ll|tm\"6 ", + "txt": "hússzállítmány " + }, + { + "brl": "h0s5\"ll|t9", + "txt": "hússzállító" + }, + { + "brl": "h0s5alonna", + "txt": "hússzalonna" + }, + { + "brl": "h0s5ekr16", + "txt": "hússzekrény" + }, + { + "brl": "h0s5elet", + "txt": "hússzelet" + }, + { + "BRLCursorPos": 1, + "brl": "$h0s5iget", + "txt": "Hússziget" + }, + { + "brl": "h0s5|n}", + "txt": "hússzínű" + }, + { + "brl": "h}vqs5em}", + "txt": "hűvösszemű" + }, + { + "brl": "ideg4enges1g", + "txt": "ideggyengeség" + }, + { + "brl": "ideg494\"5at", + "txt": "ideggyógyászat" + }, + { + "brl": "ideg494int12et", + "txt": "ideggyógyintézet" + }, + { + "brl": "ideg4qnge", + "txt": "ideggyönge" + }, + { + "brl": "ideg4qtr7", + "txt": "ideggyötrő" + }, + { + "brl": "ideg4ullad\"s", + "txt": "ideggyulladás" + }, + { + "brl": "identit\"s2avar", + "txt": "identitászavar" + }, + { + "brl": "id7j\"r\"s5olg\"lat", + "txt": "időjárásszolgálat" + }, + { + "brl": "im\"ds\"g4}jtem16", + "txt": "imádsággyűjtemény" + }, + { + "brl": "inas5erep", + "txt": "inasszerep" + }, + { + "brl": "inas5erepet ", + "txt": "inasszerepet " + }, + { + "brl": "inas5eretetet", + "txt": "inasszeretetet" + }, + { + "brl": "indi\"n6elv", + "txt": "indiánnyelv" + }, + { + "brl": "|n60jt9,", + "txt": "ínnyújtó," + }, + { + "brl": "|n60jt9t ", ***The diff for this file has been truncated for email.*** ======================================= --- /dev/null +++ /trunk/tests/harness/letterDefTest_harness.txt Mon May 21 04:16:36 2012 @@ -0,0 +1,9 @@ +{ + "table": "letterDefTest.ctb", + "tests": [ + { + "brl": "⠎⠍", + "txt": "⠍⠎" + } + ] +} ======================================= --- /trunk/tests/runHarness.py Tue May 15 07:21:34 2012 +++ /trunk/tests/runHarness.py Mon May 21 04:16:36 2012 @@ -28,6 +28,7 @@ import sys import os +import json from louis import translate from glob import iglob @@ -90,30 +91,28 @@ # make sure the harness modules are found in the harness # directory, i.e. insert the harness directory into the module # search path - sys.path.insert(1, harness_dir) + # sys.path.insert(1, harness_dir) # make sure local test braille tables are found os.environ['LOUIS_TABLEPATH'] = 'tables' # Process all *_harness.py files in the harness directory. -harness_modules = None -if sys.version_info[0] == 2: - harness_modules = iglob(os.path.join(harness_dir, '*_harness.py')) -else: - harness_modules = iglob(os.path.join(harness_dir, '*_harness_py3.py')) - -for harness in harness_modules: + +for harness in iglob(os.path.join(harness_dir, '*_harness.txt')): try: - harnessModule = __import__(basename(harness)[:-3]) + f = open(harness, 'r') + harnessModule = json.load(f, encoding="UTF-8") except Exception as e: # Doesn't look like the harness is a valid python file. - print("Warning: could not import %s" % harness) + print("Warning: could not load %s" % harness) print(e) total_failed += 1 continue + finally: + f.close() print("Processing %s" %harness) failed = 0 - tableList = [harnessModule.table] - for test in harnessModule.tests: + tableList = [harnessModule['table']] + for test in harnessModule['tests']: text = test['txt'] mode = test.get('mode', 0) cursorPos = test.get('cursorPos', 0) @@ -125,6 +124,6 @@ failed += 1reportFailure(text, actualBRL, expectedBRL, cursorPos, actualBRLCursorPos, expectedBRLCursorPos)
total_failed += failed - print("%d of %d tests failed." %(failed, len(harnessModule.tests))) + print("%d of %d tests failed." %(failed, len(harnessModule['tests']))) sys.exit(0 if total_failed == 0 else 1)