Scroll to navigation



hfst-pair-test - =pair test for a twolc rule file.


hfst-pair-test [OPTIONS...] [INFILE]


pair test for a twolc rule file.

Common options:

Print help message
Print version info
Print verbosely while processing
Only print fatal erros and requested output
Alias of --quiet

Input/Output options:

Read input rule file from INFILE
Write test output to OUTFILE
Test fails if any of the pair strings is accepted.
In xerox mode, test cases are harvested from a twolc source file.

Pair test options:

Read pair test strings from SFILE

If SFILE is missing, the test pair strings are read from STDIN. If OUTFILE is missing, test output is written to STDOUT.

The rule file is tested using correspondences given as pair strings, e.g. "e a r l y:i e r". Every pair string is tested using every rule and the program prints information about correspondences that are incorrectly allowed or disallowed.

The test pair string files contain one pair string/line. Lines where the first non-white-space character is "!" are considered comment lines and skipped.

There are three test modes positive, negative and Xerox mode. In positive mode, all of the pair strings should be allowed and in negative mode they should be disallowed. In Xerox mode the cases are read from a twolc source file and both positive and negative cases can occur.

Ordinarily, positive test mode is in use. Option -N switches to negative test mode. The exit code for a successful test is 0. The exit code is 1 otherwise. A successful test will print "Test passed". A failing test prints "Test failed" and information about pair strings that are handled incorrectly.

In positive test mode (i.e. without option -N), if a pair string is not accepted, the names of the rules that reject it are printed as well as the positions in the string where the rules run out of possible transitions. In negative mode, only the strings that are allowed are printed.

In Xerox mode, the input should be a twolc file. Tests consist of two lines: an input form and an output form. The test cases are specialized comments prefixed with either '!!???' or '!!$' depeding on whether the pair should succeed or fail. An example of a positive test:

!!??? earlYer !!??? earlier

An example of a negative test:

!!$ earlYer !!$ earlyer

In silent mode (-s), the program won't print anything. Only the exit code tells whether the test was successful or not.


Report bugs to <> or directly to our bug tracker at: <>

hfst-pair-test home page: <>
General help using HFST software: <>


Copyright © 2017 University of Helsinki, License GPLv3: GNU GPL version 3 <>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

August 2018 HFST