This directory contains unit tests for Yume. uniq_test.sh - conformance test Check Yume's conformance with uniq. The test data covers most of uniq's operations, but not all of it -- parts of Yume were intentionally written to be incompatible, those are noted in the documentation. regression_test.sh - full regression test Check output correctness and speed between two different versions of Yume. regression_test3.sh - three-way regression test Check output correctness and speed between three different versions of Yume. This was so that Yume compiled by GCC and MSVC can be tested simultaneously against a single reference program, using the same test data. regression_test_short.sh - short regression test Simplified version of regression_test.sh. The functionalities are reduced to test with Perl version of Yume. test_manual*.txt - static test data 1 - empty file. 2 - small file with some duplicate lines. 3 - small file with non-uniform end of lines. 4 - /usr/dict/words: medium sized file with all unique lines. 5 - MMR thread: Shift-JIS encoded file with random duplicate lines. test_{generic,longline,i,c,f3,s8,w4}.pl - dynamic test data (pipe based) These tests generate text data that can be fed through pipes. generic - generic test. longline - test with long lines. i - ignore case (-i). c - count (-c). f3 - skip fields (-f 3). s8 - skip characters (-s 3). w4 - significant characters (-w 4). test_{marker,random,space,crc}.pl - dynamic test data (file based) These tests generate binary data that must be feed through files. marker - marker expression test. The lines generated should be filtered using the generated expressions, resulting in all duplicate lines. random - random data test. Generates random input and marker expressions for stability test. space - whitespace test. Generates random whitespaces and null characters. crc - CRC test. Generate lines with colliding CRCs to defeat Yume's CRC-based line hashing algorithm.