build: ensure make-prime-list doesn't access out of bounds memory
[platform/upstream/coreutils.git] / tests / misc / ptx.pl
1 #!/usr/bin/perl
2
3 # Copyright (C) 2008-2013 Free Software Foundation, Inc.
4
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18 use strict;
19
20 my $prog = 'ptx';
21
22 # Turn off localization of executable's output.
23 @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
24
25 my @Tests =
26 (
27 ["1tok", '-w10', {IN=>"bar\n"},     {OUT=>"        bar\n"}],
28 ["2tok", '-w10', {IN=>"foo bar\n"}, {OUT=>"     /   bar\n        foo/\n"}],
29
30 # with coreutils-6.12 and earlier, this would infloop with -wN, N < 10
31 ["narrow", '-w2', {IN=>"qux\n"},    {OUT=>"      qux\n"}],
32 ["narrow-g", '-g1 -w2', {IN=>"ta\n"}, {OUT=>"  ta\n"}],
33
34 # with coreutils-6.12 and earlier, this would act like "ptx F1 F1"
35 ["2files", '-g1 -w1', {IN=>{F1=>"a"}}, {IN=>{F2=>"b"}}, {OUT=>"  a\n  b\n"}],
36 );
37
38 @Tests = triple_test \@Tests;
39
40 my $save_temps = $ENV{DEBUG};
41 my $verbose = $ENV{VERBOSE};
42
43 my $fail = run_tests ($prog, $prog, \@Tests, $save_temps, $verbose);
44 exit $fail;