[cage] Fix pgegrep, which was merely an innocent bystander in the Great Namespace...
[parrot.git] / t / src / basic.t
blob51fdeda6e36fb2f1762e890f718adca543f8b09c
1 #! perl
2 # Copyright (C) 2001-2006, Parrot Foundation.
3 # $Id$
5 use strict;
6 use warnings;
7 use lib qw( . lib ../lib ../../lib );
8 use Test::More;
9 use Parrot::Test tests => 3;
11 =head1 NAME
13 t/src/basic.t - Basics
15 =head1 SYNOPSIS
17     % prove t/src/basic.t
19 =head1 DESCRIPTION
21 Tests C<printf> and C<exit_fatal> functions.
23 =cut
25 c_output_is( <<'CODE', <<'OUTPUT', "hello world" );
26     #include <stdio.h>
27     #include <stdlib.h>
29     int
30     main(int argc, char* argv[])
31     {
32         printf("Hello, World!\n");
33         exit(0);
34     }
35 CODE
36 Hello, World!
37 OUTPUT
39 c_output_is( <<'CODE', <<'OUTPUT', "direct exit_fatal call" );
40     #include <parrot/parrot.h>
41     #include <parrot/exceptions.h>
43     int
44     main(int argc, char* argv[])
45     {
46          exit_fatal(0, "Blow'd Up(tm)"); /* ' */
47     }
48 CODE
49 Blow'd Up(tm)
50 OUTPUT
52 # vor $EDITOR '
54 c_output_is( <<'CODE', <<'OUTPUT', "Parrot_run_native" );
56 #include <parrot/parrot.h>
57 #include <parrot/embed.h>
59 static opcode_t *the_test(Parrot_Interp, opcode_t *, opcode_t *);
61 int
62 main(int argc, char* argv[])
64     Interp *interp;
66     interp = Parrot_new(NULL);
67     if (!interp) {
68         return 1;
69     }
71     Parrot_io_eprintf(interp, "main\n");
73     Parrot_run_native(interp, the_test);
75     Parrot_io_eprintf(interp, "back\n");
76     Parrot_exit(interp, 0);
77     return 0;
80 static opcode_t*
81 the_test(Interp *interp,
82          opcode_t *cur_op, opcode_t *start)
84     UNUSED(cur_op);
85     UNUSED(start);
87     /* tests go here */
88     Parrot_io_eprintf(interp, "ok\n");
90     return NULL; /* always return 0 or bad things may happen */
93 CODE
94 main
96 back
97 OUTPUT
99 # Local Variables:
100 #   mode: cperl
101 #   cperl-indent-level: 4
102 #   fill-column: 100
103 # End:
104 # vim: expandtab shiftwidth=4: