blob: 04e059a782f540ae00c7f44f9100c572427e3262 [file] [log] [blame]
Christian Eglifcffc982011-03-14 09:44:55 +00001#!/usr/bin/perl
2use warnings;
3use strict;
4use Cwd 'abs_path';
5$|++;
6
7# Test a specific table with lou_checktable which causes an endless loop.
8#
9# Copyright (C) 2011 by Swiss Library for the Blind, Visually Impaired and Print Disabled
10#
11# Copying and distribution of this file, with or without modification,
12# are permitted in any medium without royalty provided the copyright
13# notice and this notice are preserved.
14
15my @tables = (
16 # a global table
17 "en-us-g2.ctb",
18 # a local table
19 "loop.ctb",
20 # a table with a relative path
Christian Egli4fc1ad62011-03-30 09:37:02 +000021 "$ENV{srcdir}/tables/loop.ctb",
Christian Eglifcffc982011-03-14 09:44:55 +000022 # a list of tables with a relative path
Christian Egli4fc1ad62011-03-30 09:37:02 +000023 "$ENV{srcdir}/../tables/en-us-g2.ctb,en-us-g1.ctb",
Christian Eglifcffc982011-03-14 09:44:55 +000024 # a table with an absolute path
Christian Egli4fc1ad62011-03-30 09:37:02 +000025 abs_path("$ENV{srcdir}/tables/loop.ctb"),
Christian Eglifcffc982011-03-14 09:44:55 +000026 # a list of tables with an absolute path
Christian Egli1dd80c32012-04-17 08:13:59 +000027 abs_path("$ENV{srcdir}/../tables/en-us-g2.ctb") . ",en-us-g1.ctb",
28 # table combinations
29 # all global tables
30 "en-us-g2.ctb,braille-patterns.cti",
31 # a global and a local table
32 "braille-patterns.cti,pass2.ctb",
33 # a local and a global table
34 "pass2.ctb,braille-patterns.cti",
35 # a relative, a local and a global table
36 "$ENV{srcdir}/tables/loop.ctb,pass2.ctb,braille-patterns.cti",
37 # a table which includes local and global tables
38 "include.utb",
39 # a relative table and a table which includes local and global tables
40 # currently fails
41# "$ENV{srcdir}/tables/loop.ctb,include.utb",
Christian Eglifcffc982011-03-14 09:44:55 +000042 );
43
44# ensure existing tables are found
45foreach my $table (@tables) {
Christian Egli2ac36f72011-03-14 13:10:39 +000046 system("lou_checktable $table --quiet") == 0 or die;
Christian Eglifcffc982011-03-14 09:44:55 +000047}
48
49# ensure a non-existing table is not found
50system("lou_checktable nonexistent.ctb 2> /dev/null") != 0 or die;