HFST-PAIR-TEST(1)

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

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

DESCRIPTION
pair test for a twolc rule file.

  Common options:

-h, --help
    Print help message

-V, --version
    Print version info

-v, --verbose
    Print verbosely while processing

-q, --quiet
    Only print fatal erros and requested output

-s, --silent
    Alias of --quiet

  Input/Output options:

-i, --input=INFILE
    Read input rule file from INFILE

-o, --output=OUTFILE
    Write test output to OUTFILE

-N  --negative-test
    Test fails if any of the pair strings is accepted.

-X  --xerox-mode
    In xerox mode, test cases are harvested from a twolc source file.

  Pair test options:

-I, --input-strings=SFILE
    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.

REPORTING BUGS
Report bugs to <hfst-bugs@helsinki.fi> or directly to our bug tracker at: <https://github.com/hfst/hfst/issues>

hfst-pair-test home page: <https://kitwiki.csc.fi/twiki/bin/view/KitWiki//HfstPairTest>
General help using HFST software: <https://kitwiki.csc.fi/twiki/bin/view/KitWiki//HfstHome>

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