#!/usr/bin/env python from __future__ import print_function import sys import os from subprocess import check_call, Popen, PIPE from test_utils import PYTHON, BRO, TEST_ENV, diff_q INPUTS = """\ testdata/alice29.txt testdata/asyoulik.txt testdata/lcet10.txt testdata/plrabn12.txt ../enc/encode.c ../common/dictionary.h ../dec/decode.c %s """ % BRO os.chdir(os.path.abspath("../../tests")) for filename in INPUTS.splitlines(): for quality in (1, 6, 9, 11): for lgwin in (10, 15, 20, 24): filename = os.path.abspath(filename) print('Roundtrip testing file "%s" at quality %d with lg(win)=%d and auto-custom-dictionary' % (os.path.basename(filename), quality, lgwin)) compressed = os.path.splitext(filename)[0] + ".custom_bro" uncompressed = os.path.splitext(filename)[0] + ".custom_unbro" check_call([PYTHON, BRO, "-f", "-q", str(quality), "-i", filename, "-o", compressed, "--lgwin", str(lgwin), "--custom-dictionary", filename], env=TEST_ENV) check_call([PYTHON, BRO, "-f", "-d", "-i", compressed, "-o", uncompressed, "--custom-dictionary", filename], env=TEST_ENV) if diff_q(filename, uncompressed) != 0: sys.exit(1) try: os.unlink(compressed) os.unlink(uncompressed) except OSError: pass