🌻 📖 Test::Alien::CPP

NAME

Test::Alien::CPP - Testing tools for Alien modules for projects that use C++

VERSION

version 1.03

SYNOPSIS

 use Test2::V0;
 use Test::Alien::CPP;
 use Alien::libmycpplib;
 
 alien_ok 'ALien::libmycpplib';
 my $xs = do { local $/; <DATA> };
 xs_ok $xs, with_subtest {
   my($module) = @_;
   ok $module->version;
 };
 
 done_testing;
 
 __DATA__
 
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
 #include <mycpplib.h>
 
 MODULE = TA_MODULE PACKAGE = TA_MODULE
 
 const char *
 version(klass)
     const char *klass
   CODE:
     RETVAL = MyCppLib->version;
   OUTPUT:
     RETVAL

DESCRIPTION

This module works exactly like Test::Alien except that it supports C++. All functions like alien_ok, etc that are exported by Test::Alien are exported by this module. The only difference is that xs_ok injects C++ support before delegating to Test::Alien.

FUNCTIONS

xs_ok

 xs_ok $xs;
 xs_ok $xs, $message;

Compiles, links the given XS / C++ code and attaches to Perl. See Test::Alien for further details on how this test works.

SEE ALSO

Test::Alien
Test::Alien::CanCompileCpp

AUTHOR

Author: Graham Ollis <plicease@cpan.org>

Contributors:

Roy Storey (KIWIROY)

COPYRIGHT AND LICENSE

This software is copyright (c) 2017-2022 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.