7 my (@output) = read_text_file ("$test.output");
9 common_checks (@output);
10 @output = get_core_output (@output);
12 must_contain_in_order (\@output,
14 '(dir-lsdir) isdir(.)',
15 '(dir-lsdir) close .');
17 sub must_contain_in_order {
18 my ($output, @lines) = @_;
19 my (@line_numbers) = map (find_line ($_, @$output), @lines);
20 for my $i (0...$#lines - 1) {
21 fail "\"$lines[$i]\" follows \"$lines[$i + 1]\" in output\n"
22 if $line_numbers[$i] > $line_numbers[$i + 1];
27 my ($line, @output) = @_;
28 for my $i (0...$#output) {
29 return $i if $line eq $output[$i];
31 fail "\"$line\" does not appear in output\n";
35 for my $fn (map (/readdir: \"([^"]+)\"/, @output)) {
36 fail "Unexpected file \"$fn\" in lsdir output\n"
37 unless grep ($_ eq $fn, qw (dir-lsdir));
38 fail "File \"$fn\" listed twice in lsdir output\n"
42 fail "No files in lsdir output\n" if scalar (keys (%count)) == 0;
43 fail "File \"dir-lsdir\" missing from lsdir output\n"
44 if !$count{"dir-lsdir"};