[t][TT #1122] Convert t/op/numbert.t to PIR, mgrimes++
[parrot.git] / t / examples / catchall.t
blob435c1d4c64ee36363182335dec5fea01bc9e3e84
1 #!perl
2 # Copyright (C) 2007-2008 Parrot Foundation.
3 # $Id$
5 use strict;
6 use warnings;
7 use lib qw( . lib ../lib ../../lib );
9 use ExtUtils::Manifest qw(maniread);
10 use File::Spec qw();
11 use Test::More;
12 use Parrot::Config qw(%PConfig);
14 =head1 NAME
16 t/examples/catchall.t - Verify all example code at least compiles
18 =head1 SYNOPSIS
20     % prove t/examples/catchall.t
22 =head1 DESCRIPTION
24 Verify compilation of all examples that aren't explicitly tested by other
25 tests. No guarantee is made that these examples I<work>, just that they
26 compile.
28 =cut
30 my $manifest = maniread('MANIFEST');
31 my %files;
32 foreach my $file (keys %$manifest) {
33   next unless $file =~ m{^examples/.*(pir|pasm)$}; 
34   next if $file =~ m{^examples/tutorial}; # all are tested in tutorial.t
35   next if $file =~ m{^examples/pir/befunge}; # language, not testable here
36   next if $file =~ m{^examples/languages}; # language, not testable here
37   next if $file =~ m{^examples/opengl}; # depends on OpenGL install
38   next if $file =~ m{^examples/nci/sdl}; # depends on SDL install
39   next if $file =~ m{^examples/nci/xlib}; # depends on libX11 install
40   $files{$file}=undef;
43 plan tests => scalar keys %files;
45 foreach my $file (sort keys %files) {
46     my $cmd = File::Spec->curdir() . $PConfig{slash} . 
47               $PConfig{test_prog} . " -o " . File::Spec->devnull() . " " .
48               $file;
50     is(system($cmd), 0 , $file);
53 # Local Variables:
54 #   mode: cperl
55 #   cperl-indent-level: 4
56 #   fill-column: 100
57 # End:
58 # vim: expandtab shiftwidth=4: