XS::APItest
XS::APItest(3) Perl Programmers Reference Guide XS::APItest(3)
NAME
XS::APItest - Test the perl C API
SYNOPSIS
use XS::APItest;
print_double(4);
ABSTRACT
This module tests the perl C API. Currently tests that "printf" works
correctly.
DESCRIPTION
This module can be used to check that the perl C API is behaving cor-
rectly. This module provides test functions and an associated test
script that verifies the output.
This module is not meant to be installed.
EXPORT
Exports all the test functions:
print_double
Test that a double-precision floating point number is formatted
correctly by "printf".
print_double( $val );
Output is sent to STDOUT.
print_long_double
Test that a "long double" is formatted correctly by "printf". Takes
no arguments - the test value is hard-wired into the function (as
"7").
print_long_double();
Output is sent to STDOUT.
have_long_double
Determine whether a "long double" is supported by Perl. This
should be used to determine whether to test "print_long_double".
print_long_double() if have_long_double;
print_nv
Test that an "NV" is formatted correctly by "printf".
print_nv( $val );
Output is sent to STDOUT.
print_iv
Test that an "IV" is formatted correctly by "printf".
print_iv( $val );
Output is sent to STDOUT.
print_uv
Test that an "UV" is formatted correctly by "printf".
print_uv( $val );
Output is sent to STDOUT.
print_int
Test that an "int" is formatted correctly by "printf".
print_int( $val );
Output is sent to STDOUT.
print_long
Test that an "long" is formatted correctly by "printf".
print_long( $val );
Output is sent to STDOUT.
print_float
Test that a single-precision floating point number is formatted
correctly by "printf".
print_float( $val );
Output is sent to STDOUT.
call_sv, call_pv, call_method
These exercise the C calls of the same names. Everything after the
flags arg is passed as the the args to the called function. They
return whatever the C function itself pushed onto the stack, plus
the return value from the function; for example
call_sv( sub { @_, 'c' }, G_ARRAY, 'a', 'b'); # returns 'a', 'b', 'c', 3
call_sv( sub { @_ }, G_SCALAR, 'a', 'b'); # returns 'b', 1
eval_sv
Evalulates the passed SV. Result handling is done the same as for
"call_sv()" etc.
eval_pv
Excercises the C function of the same name in scalar context.
Returns the same SV that the C function returns.
require_pv
Excercises the C function of the same name. Returns nothing.
SEE ALSO
XS::Typemap, perlapi.
AUTHORS
Tim Jenness, <t.jenness@jach.hawaii.edu>, Christian Soeller,
<csoelle@mph.auckland.ac.nz>, Hugo van der Sanden <hv@crypt.com-
pulink.co.uk>
COPYRIGHT AND LICENSE
Copyright (C) 2002,2004 Tim Jenness, Christian Soeller, Hugo van der
Sanden. All Rights Reserved.
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.8.6 2001-09-21 XS::APItest(3)