NAME Test::NoXS - Prevent a module from loading its XS code VERSION version 1.04 SYNOPSIS use Test::NoXS 'Class::Load::XS'; use Module::Implementation; eval "use Class::Load"; is( Module::Implementation::implementation_for("Class::Load"), "PP", "Class::Load using PP" ); # Disable all XS loading use Test::NoXS ':all'; # Disable all XS loading except core or dual-life modules use Test::NoXS ':xs_core_or_dual'; # Disable all XS loading except modules that shipped in core use Test::NoXS ':xs_core_only'; DESCRIPTION This modules hijacks DynaLoader and XSLoader to prevent them from loading XS code for designated modules. This is intended to help test how modules react to missing XS, e.g. by dying with a message or by falling back to a pure-Perl alternative. USAGE Arguments on the use line control which XS modules are allowed. One and only one of the following options are allowed: * ":all" — all XS loading is disabled * ":xs_core_or_dual" — XS loading is disabled except for modules that are core modules in the current perl, even if they have been subsequently upgraded from CPAN * ":xs_core_only" — XS loading is disabled except for modules that shipped with the current perl. Modules upgraded from CPAN will have XS disabled. This vaguely simulates upgrading dual-life modules on a system without a compiler. * a list of module names — disables XS loading for these specific modules only SUPPORT Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at . You will be notified automatically of any progress on your issue. Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. git clone https://github.com/dagolden/Test-NoXS.git AUTHOR David Golden CONTRIBUTOR Sam Kaufman COPYRIGHT AND LICENSE This software is Copyright (c) 2018 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004