PATH=/usr/bin:/bin:/data/fly2400/cpanfly-5.24/var/megalib/bin Start 2018-09-06T02:10:13 ActivePerl-2400 CPAN-2.10 Reading '/data/fly2400/cpanfly-5.24/var/cpan/Metadata' Database was generated on Wed, 05 Sep 2018 03:41:02 GMT Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/P/PL/PLICEASE/Alien-nragent-0.04.tar.gz ok Alien-nragent-0.04/ Alien-nragent-0.04/author.yml Alien-nragent-0.04/alienfile Alien-nragent-0.04/lib/ Alien-nragent-0.04/lib/Alien/ Alien-nragent-0.04/lib/Alien/nragent.pm Alien-nragent-0.04/META.yml Alien-nragent-0.04/t/ Alien-nragent-0.04/t/00_diag.t Alien-nragent-0.04/t/01_use.t Alien-nragent-0.04/t/alien_nragent.t Alien-nragent-0.04/META.json Alien-nragent-0.04/LICENSE Alien-nragent-0.04/Makefile.PL Alien-nragent-0.04/Changes Alien-nragent-0.04/xt/ Alien-nragent-0.04/xt/author/ Alien-nragent-0.04/xt/author/pod.t Alien-nragent-0.04/xt/author/no_tabs.t Alien-nragent-0.04/xt/author/pod_coverage.t Alien-nragent-0.04/xt/author/eol.t Alien-nragent-0.04/xt/author/pod_spelling_common.t Alien-nragent-0.04/xt/author/version.t Alien-nragent-0.04/xt/author/strict.t Alien-nragent-0.04/xt/author/pod_spelling_system.t Alien-nragent-0.04/xt/release/ Alien-nragent-0.04/xt/release/changes.t Alien-nragent-0.04/xt/release/fixme.t Alien-nragent-0.04/INSTALL Alien-nragent-0.04/dist.ini Alien-nragent-0.04/MANIFEST Alien-nragent-0.04/README ---- Unsatisfied dependencies detected during ---- ---- PLICEASE/Alien-nragent-0.04.tar.gz ---- Alien::Build [build_requires] Running test for module 'Alien::Build' Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/P/PL/PLICEASE/Alien-Build-1.48.tar.gz ok Alien-Build-1.48 Alien-Build-1.48/README Alien-Build-1.48/Changes Alien-Build-1.48/SUPPORT Alien-Build-1.48/LICENSE Alien-Build-1.48/INSTALL Alien-Build-1.48/dist.ini Alien-Build-1.48/META.yml Alien-Build-1.48/MANIFEST Alien-Build-1.48/META.json Alien-Build-1.48/author.yml Alien-Build-1.48/t Alien-Build-1.48/t/01_use.t Alien-Build-1.48/t/bin Alien-Build-1.48/t/bin/ftpd Alien-Build-1.48/t/00_diag.t Alien-Build-1.48/t/bin/httpd Alien-Build-1.48/Makefile.PL Alien-Build-1.48/maint Alien-Build-1.48/maint/gen.pl Alien-Build-1.48/t/alienfile.t Alien-Build-1.48/example Alien-Build-1.48/example/README Alien-Build-1.48/t/alien_role.t Alien-Build-1.48/t/test_alien.t Alien-Build-1.48/t/alien_base.t Alien-Build-1.48/inc Alien-Build-1.48/inc/trivial.xs Alien-Build-1.48/t/alien_build.t Alien-Build-1.48/inc/probebad.pl Alien-Build-1.48/xt/author Alien-Build-1.48/xt/author/eol.t Alien-Build-1.48/xt/author/pod.t Alien-Build-1.48/lib Alien-Build-1.48/lib/alienfile.pm Alien-Build-1.48/lib/Test Alien-Build-1.48/lib/Test/Alien.pm Alien-Build-1.48/lib/Alien Alien-Build-1.48/lib/Alien/Base.pm Alien-Build-1.48/lib/Alien/Role.pm Alien-Build-1.48/maint/travis-dzil Alien-Build-1.48/Changes.Test-Alien Alien-Build-1.48/Changes.Alien-Base Alien-Build-1.48/lib/Alien/Build.pm Alien-Build-1.48/example/wrapper.pl Alien-Build-1.48/t/test_alien_run.t Alien-Build-1.48/t/alien_build_rc.t Alien-Build-1.48/t/alien_build_mm.t Alien-Build-1.48/corpus/rc Alien-Build-1.48/corpus/rc/basic.pl Alien-Build-1.48/xt/author/strict.t Alien-Build-1.48/xt/release Alien-Build-1.48/xt/release/fixme.t Alien-Build-1.48/example/user Alien-Build-1.48/example/user/README Alien-Build-1.48/t/lib/MyTest Alien-Build-1.48/t/lib/MyTest/FTP.pm Alien-Build-1.48/corpus/dir Alien-Build-1.48/corpus/dir/ftp.list Alien-Build-1.48/maint/travis-daemon Alien-Build-1.48/xt/author/no_tabs.t Alien-Build-1.48/xt/author/version.t Alien-Build-1.48/example/xz.alienfile Alien-Build-1.48/t/test_alien_build.t Alien-Build-1.48/t/alien_build_meta.t Alien-Build-1.48/t/alien_build_util.t Alien-Build-1.48/t/lib/MyTest/HTTP.pm Alien-Build-1.48/t/lib/MyTest/File.pm Alien-Build-1.48/corpus/dist2 Alien-Build-1.48/corpus/dist2/foo.tar Alien-Build-1.48/corpus/dir/file.html Alien-Build-1.48/corpus/dir/http.html Alien-Build-1.48/xt/release/changes.t Alien-Build-1.48/lib/Test/Alien Alien-Build-1.48/lib/Test/Alien/Run.pm Alien-Build-1.48/lib/Alien/Build Alien-Build-1.48/lib/Alien/Build/MM.pm Alien-Build-1.48/maint/travis-run-test Alien-Build-1.48/lib/Alien/Base Alien-Build-1.48/lib/Alien/Base/FAQ.pod Alien-Build-1.48/example/curl.alienfile Alien-Build-1.48/t/alien_base_wrapper.t Alien-Build-1.48/t/alien_build_plugin.t Alien-Build-1.48/t/lib/MyTest/System.pm Alien-Build-1.48/corpus/basic Alien-Build-1.48/corpus/basic/alienfile Alien-Build-1.48/corpus/blank Alien-Build-1.48/corpus/blank/alienfile Alien-Build-1.48/lib/Test/Alien/Build.pm Alien-Build-1.48/lib/Alien/Build/Util.pm Alien-Build-1.48/example/gmake.alienfile Alien-Build-1.48/example/bzip2.alienfile Alien-Build-1.48/t/alien_build_tempdir.t Alien-Build-1.48/corpus/lib/Alien Alien-Build-1.48/corpus/lib/Alien/Foo.pm Alien-Build-1.48/corpus/dir/ftp_abs.list Alien-Build-1.48/t/alien_base_pkgconfig.t Alien-Build-1.48/t/test_alien_synthetic.t Alien-Build-1.48/corpus/lib/Alien/Foo1.pm Alien-Build-1.48/corpus/lib/Alien/Foo2.pm Alien-Build-1.48/corpus/dist Alien-Build-1.48/corpus/dist/foo-1.00.tar Alien-Build-1.48/corpus/dist/foo-1.00.zip Alien-Build-1.48/corpus/dir/http_rel.html Alien-Build-1.48/maint/ci-test-plugins.pl Alien-Build-1.48/xt/author/pod_coverage.t Alien-Build-1.48/lib/Alien/Build/Plugin.pm Alien-Build-1.48/lib/Alien/Base/Wrapper.pm Alien-Build-1.48/example/openssl.alienfile Alien-Build-1.48/t/test_alien_cancompile.t Alien-Build-1.48/corpus/lib/Foo/Bar Alien-Build-1.48/corpus/lib/Foo/Bar/Baz.pm Alien-Build-1.48/maint/travis-install-deps Alien-Build-1.48/Changes.Alien-Base-Wrapper Alien-Build-1.48/t/test_alien_canplatypus.t Alien-Build-1.48/t/lib/Test2/Require Alien-Build-1.48/t/lib/Test2/Require/Dev.pm Alien-Build-1.48/corpus/lib/Foo/Bar/Baz1.pm Alien-Build-1.48/corpus/dist/foo-1.00.tar.Z Alien-Build-1.48/corpus/dist/foo-1.00 Alien-Build-1.48/corpus/dist/foo-1.00/foo.c Alien-Build-1.48/lib/Test/Alien/Synthetic.pm Alien-Build-1.48/lib/Alien/Base/PkgConfig.pm Alien-Build-1.48/example/xz-manual.alienfile Alien-Build-1.48/example/dontpanic.alienfile Alien-Build-1.48/example/user/xs-mb Alien-Build-1.48/example/user/xs-mb/Build.PL Alien-Build-1.48/t/alien_build_interpolate.t Alien-Build-1.48/t/alien_build_plugin_meta.t Alien-Build-1.48/corpus/lib/Alien/libfoo1.pm Alien-Build-1.48/corpus/lib/Alien/libfoo3.pm Alien-Build-1.48/corpus/lib/Alien/libfoo2.pm Alien-Build-1.48/corpus/lib/Alien/foomake.pm Alien-Build-1.48/corpus/lib/pkgconfig Alien-Build-1.48/corpus/lib/pkgconfig/foo.pc Alien-Build-1.48/corpus/lib/pkgconfig/xor.pc Alien-Build-1.48/corpus/dist/foo-1.00.tar.xz Alien-Build-1.48/corpus/dist/foo-1.00.tar.gz Alien-Build-1.48/corpus/pkgconfig Alien-Build-1.48/corpus/pkgconfig/libbar1.pc Alien-Build-1.48/corpus/pkgconfig/libfoo1.pc Alien-Build-1.48/lib/Test/Alien/CanCompile.pm Alien-Build-1.48/lib/Alien/Base/Authoring.pod Alien-Build-1.48/corpus/dist/foo-1.00.tar.bz2 Alien-Build-1.48/lib/Test/Alien/CanPlatypus.pm Alien-Build-1.48/example/user/xs-dzil Alien-Build-1.48/example/user/xs-dzil/dist.ini Alien-Build-1.48/example/user/xs-mm Alien-Build-1.48/example/user/xs-mm/Example.xs Alien-Build-1.48/t/alien_build_version_basic.t Alien-Build-1.48/corpus/lib/Alien/SansShare.pm Alien-Build-1.48/lib/Alien/Build/Interpolate.pm Alien-Build-1.48/lib/Alien/Build/Manual Alien-Build-1.48/lib/Alien/Build/Manual/FAQ.pod Alien-Build-1.48/example/user/xs-mm/Makefile.PL Alien-Build-1.48/corpus/dist/foo-1.00/configure Alien-Build-1.48/lib/Alien/Build/Plugin Alien-Build-1.48/lib/Alien/Build/Plugin/Core.pod Alien-Build-1.48/example/user/xs-dzil/Example.xs Alien-Build-1.48/t/alien_build_commandsequence.t Alien-Build-1.48/t/alien_build_plugin_core_ffi.t Alien-Build-1.48/xt/author/pod_spelling_common.t Alien-Build-1.48/xt/author/pod_spelling_system.t Alien-Build-1.48/lib/Alien/Build/Version Alien-Build-1.48/lib/Alien/Build/Version/Basic.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Build.pod Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch.pod Alien-Build-1.48/lib/Alien/Build/Plugin/Probe.pod Alien-Build-1.48/t/alien_build_plugin_core_tail.t Alien-Build-1.48/t/alien_base__system_installed.t Alien-Build-1.48/t/alien_build_plugin_fetch_lwp.t Alien-Build-1.48/t/lib/MyTest/FauxFetchCommand.pm Alien-Build-1.48/maint/update-cmake-libpalindrome Alien-Build-1.48/lib/Alien/Build/Plugin/Prefer.pod Alien-Build-1.48/lib/Alien/Build/Plugin/Decode.pod Alien-Build-1.48/t/alien_build_plugin_build_make.t Alien-Build-1.48/t/alien_build_plugin_fetch_wget.t Alien-Build-1.48/t/alien_build_plugin_core_setup.t Alien-Build-1.48/t/alien_build_plugin_build_msys.t Alien-Build-1.48/lib/Alien/Build/CommandSequence.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Extract.pod Alien-Build-1.48/lib/Alien/Build/Plugin/Core Alien-Build-1.48/lib/Alien/Build/Plugin/Core/FFI.pm Alien-Build-1.48/example/user/tool/t Alien-Build-1.48/example/user/tool/t/lzma_example.t Alien-Build-1.48/t/alien_build_plugin_build_cmake.t Alien-Build-1.48/t/alien_build_plugin_core_legacy.t Alien-Build-1.48/t/alien_build_plugin_decode_html.t Alien-Build-1.48/t/alien_build_plugin_fetch_local.t Alien-Build-1.48/t/alien_build_plugin_core_gather.t Alien-Build-1.48/corpus/cmake-libpalindrome Alien-Build-1.48/corpus/cmake-libpalindrome/LICENSE Alien-Build-1.48/corpus/alien_base_pkgconfig Alien-Build-1.48/corpus/alien_base_pkgconfig/gsl.pc Alien-Build-1.48/lib/Alien/Build/Plugin/Download.pod Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch/LWP.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Core/Tail.pm Alien-Build-1.48/example/user/xs-mm/t Alien-Build-1.48/example/user/xs-mm/t/lzma_example.t Alien-Build-1.48/example/user/xs-mb/t Alien-Build-1.48/example/user/xs-mb/t/lzma_example.t Alien-Build-1.48/t/alien_build_plugin_pkgconfig_pp.t Alien-Build-1.48/t/alien_build_interpolate_default.t Alien-Build-1.48/t/alien_build_plugin_fetch_netftp.t Alien-Build-1.48/t/alien_build_commandsequence__cd.t Alien-Build-1.48/corpus/lib/Alien/Foo2 Alien-Build-1.48/corpus/lib/Alien/Foo2/ConfigData.pm Alien-Build-1.48/corpus/lib/Alien/Foo1 Alien-Build-1.48/corpus/lib/Alien/Foo1/ConfigData.pm Alien-Build-1.48/corpus/alien_base_pkgconfig/test.pc Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch/Wget.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Build Alien-Build-1.48/lib/Alien/Build/Plugin/Build/MSYS.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Build/Make.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Core/Setup.pm Alien-Build-1.48/lib/Alien/Build/Manual/AlienUser.pod Alien-Build-1.48/t/alien_build_plugin_core_override.t Alien-Build-1.48/t/alien_build_plugin_core_download.t Alien-Build-1.48/corpus/lib/pkgconfig/xor-chillout.pc Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch/Local.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Build/CMake.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Core/Gather.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Core/Legacy.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Decode Alien-Build-1.48/lib/Alien/Build/Plugin/Decode/HTML.pm Alien-Build-1.48/example/user/xs-dzil/t Alien-Build-1.48/example/user/xs-dzil/t/lzma_example.t Alien-Build-1.48/example/user/tool/lib/LZMA Alien-Build-1.48/example/user/tool/lib/LZMA/Example.pm Alien-Build-1.48/t/alien_build_plugin_probe_cbuilder.t Alien-Build-1.48/t/alien_build_plugin_build_autoconf.t Alien-Build-1.48/t/alien_build_plugin_fetch_httptiny.t Alien-Build-1.48/t/alien_build_plugin_fetch_localdir.t Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch/NetFTP.pm Alien-Build-1.48/lib/Alien/Build/Plugin/PkgConfig Alien-Build-1.48/lib/Alien/Build/Plugin/PkgConfig/PP.pm Alien-Build-1.48/lib/Alien/Build/Manual/AlienAuthor.pod Alien-Build-1.48/lib/Alien/Build/Interpolate Alien-Build-1.48/lib/Alien/Build/Interpolate/Default.pm Alien-Build-1.48/example/user/inline-c/t Alien-Build-1.48/example/user/inline-c/t/lzma_example.t Alien-Build-1.48/example/user/xs-mm/lib/LZMA Alien-Build-1.48/example/user/xs-mm/lib/LZMA/Example.pm Alien-Build-1.48/example/user/xs-mb/lib/LZMA Alien-Build-1.48/example/user/xs-mb/lib/LZMA/Example.pm Alien-Build-1.48/example/user/xs-mb/lib/LZMA/Example.xs Alien-Build-1.48/t/alien_build_plugin_build_searchdep.t Alien-Build-1.48/corpus/cmake-libpalindrome/palx Alien-Build-1.48/corpus/cmake-libpalindrome/palx/main.c Alien-Build-1.48/lib/Alien/Build/Plugin/Core/Override.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Core/Download.pm Alien-Build-1.48/lib/Alien/Build/Manual/Contributing.pod Alien-Build-1.48/lib/Alien/Build/Manual/PluginAuthor.pod Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch/LocalDir.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch/HTTPTiny.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Build/Autoconf.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Probe Alien-Build-1.48/lib/Alien/Build/Plugin/Probe/CBuilder.pm Alien-Build-1.48/example/user/xs-dzil/lib/LZMA Alien-Build-1.48/example/user/xs-dzil/lib/LZMA/Example.pm Alien-Build-1.48/t/alien_build_plugin_extract_negotiate.t Alien-Build-1.48/t/alien_build_plugin_extract_directory.t Alien-Build-1.48/t/alien_build_plugin_decode_dirlisting.t Alien-Build-1.48/t/alien_build_plugin_fetch_curlcommand.t Alien-Build-1.48/t/alien_build_plugin_probe_commandline.t Alien-Build-1.48/t/alien_build_plugin_prefer_badversion.t Alien-Build-1.48/lib/Alien/Build/Plugin/Build/SearchDep.pm Alien-Build-1.48/example/user/inline-c/lib/LZMA Alien-Build-1.48/example/user/inline-c/lib/LZMA/Example.pm Alien-Build-1.48/t/alien_build_plugin_prefer_goodversion.t Alien-Build-1.48/t/alien_build_plugin_extract_archivetar.t Alien-Build-1.48/t/alien_build_plugin_download_negotiate.t Alien-Build-1.48/t/alien_build_plugin_extract_archivezip.t Alien-Build-1.48/corpus/cmake-libpalindrome/CMakeLists.txt Alien-Build-1.48/example/user/ffi-platypus/t Alien-Build-1.48/example/user/ffi-platypus/t/lzma_example.t Alien-Build-1.48/t/alien_build_plugin_prefer_sortversions.t Alien-Build-1.48/t/alien_build_plugin_pkgconfig_negotiate.t Alien-Build-1.48/t/alien_build_plugin_extract_commandline.t Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/Fetch Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/Fetch/Foo.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Prefer Alien-Build-1.48/lib/Alien/Build/Plugin/Prefer/BadVersion.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Fetch/CurlCommand.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Decode/DirListing.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Probe/CommandLine.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Extract Alien-Build-1.48/lib/Alien/Build/Plugin/Extract/Directory.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Extract/Negotiate.pm Alien-Build-1.48/t/alien_build_plugin_pkgconfig_makestatic.t Alien-Build-1.48/t/alien_build_plugin_pkgconfig_libpkgconf.t Alien-Build-1.48/lib/Alien/Build/Plugin/Prefer/GoodVersion.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Extract/ArchiveTar.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Extract/ArchiveZip.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Download Alien-Build-1.48/lib/Alien/Build/Plugin/Download/Negotiate.pm Alien-Build-1.48/t/alien_build_plugin_pkgconfig_commandline.t Alien-Build-1.48/t/alien_build_plugin_gather_isolatedynamic.t Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-Foo2 Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-Foo2/README Alien-Build-1.48/corpus/lib/Alien/Build/Plugin Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/RogerRamjet.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Prefer/SortVersions.pm Alien-Build-1.48/lib/Alien/Build/Plugin/Extract/CommandLine.pm Alien-Build-1.48/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm Alien-Build-1.48/example/user/ffi-platypus/lib/LZMA Alien-Build-1.48/example/user/ffi-platypus/lib/LZMA/Example.pm Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/Fetch/Corpus.pm Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/Download Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/Download/Foo.pm Alien-Build-1.48/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm Alien-Build-1.48/lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm Alien-Build-1.48/corpus/cmake-libpalindrome/palx/CMakeLists.txt Alien-Build-1.48/lib/Alien/Build/Plugin/Gather Alien-Build-1.48/lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm Alien-Build-1.48/lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm Alien-Build-1.48/t/alien_build_plugin_decode_dirlistingftpcopy.t Alien-Build-1.48/t/alien_build_plugin_pkgconfig_negotiate__pick.t Alien-Build-1.48/lib/Alien/Build/Plugin/Decode/DirListingFtpcopy.pm Alien-Build-1.48/t/alien_build_plugin_extract_commandline__tar_can.t Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/record Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/record/old.yml Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-Foo2/lib Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2.a Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/record/old.json Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/dir Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/dir/foo-1.02.tar Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/dir/foo-1.00.tar Alien-Build-1.48/corpus/cmake-libpalindrome/libpalindrome Alien-Build-1.48/corpus/cmake-libpalindrome/libpalindrome/palindrome.c Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/lib Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/lib/libfoo.a Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/include Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/include/foo.h Alien-Build-1.48/corpus/alien_build_plugin_fetch_wget/dir/html_test.html Alien-Build-1.48/corpus/cmake-libpalindrome/libpalindrome/CMakeLists.txt Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/bin Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/bin/foo-config Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/NesAdvantage Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/NesAdvantage/Negotiate.pm Alien-Build-1.48/corpus/cmake-libpalindrome/libpalindrome/libpalindrome.h Alien-Build-1.48/corpus/lib/Alien/Build/Plugin/NesAdvantage/Controller.pm Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/dynamic Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/dynamic/libfoo.so Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/_alien Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/_alien/alien.json Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo3/_alien Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo3/_alien/alien.json Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo1/_alien Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo1/_alien/alien.json Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/record Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/record/old.yml Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/_alien/for_libfoo2 Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo1/_alien/for_libfoo1 Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/record/old.json Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/dynamic/libfoo.so.2 Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/lib/pkgconfig Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/lib/pkgconfig/x1.pc Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/dir Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.01.tar Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.02.tar Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.00.tar Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/share/pkgconfig Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-libfoo2/share/pkgconfig/x2.pc Alien-Build-1.48/corpus/alien_build_plugin_fetch_curlcommand/dir/html_test.html Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2-3.2.1/include Alien-Build-1.48/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2-3.2.1/include/foo2.h Configuring P/PL/PLICEASE/Alien-Build-1.48.tar.gz with Makefile.PL >>> /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL Checking if your kit is complete... Looks good Have /data/fly2400/cpanfly-5.24/var/megalib Want /home/fly2400/ap2400-300558/lib Your perl and your Config.pm seem to have different ideas about the architecture they are running on. Perl thinks: [megalib] Config says: [x86_64-linux-thread-multi] This may or may not cause problems. Please check your installation of perl if you have problems building this extension. Generating a Unix-style Makefile Writing Makefile for Alien::Build Writing MYMETA.yml and MYMETA.json PLICEASE/Alien-Build-1.48.tar.gz /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK Running make for P/PL/PLICEASE/Alien-Build-1.48.tar.gz >>> make cp lib/Alien/Build/Plugin/Core/Gather.pm blib/lib/Alien/Build/Plugin/Core/Gather.pm cp lib/Alien/Build/Plugin/Core.pod blib/lib/Alien/Build/Plugin/Core.pod cp lib/Alien/Build/Manual/FAQ.pod blib/lib/Alien/Build/Manual/FAQ.pod cp lib/Alien/Build/Plugin/Build/MSYS.pm blib/lib/Alien/Build/Plugin/Build/MSYS.pm cp lib/Alien/Build/Manual/AlienUser.pod blib/lib/Alien/Build/Manual/AlienUser.pod cp lib/Alien/Build/Manual/Contributing.pod blib/lib/Alien/Build/Manual/Contributing.pod cp lib/Alien/Build/MM.pm blib/lib/Alien/Build/MM.pm cp lib/Alien/Build/Plugin/Core/Setup.pm blib/lib/Alien/Build/Plugin/Core/Setup.pm cp lib/Alien/Build/Plugin/Build/CMake.pm blib/lib/Alien/Build/Plugin/Build/CMake.pm cp lib/Alien/Build/Interpolate.pm blib/lib/Alien/Build/Interpolate.pm cp lib/Alien/Base.pm blib/lib/Alien/Base.pm cp lib/Alien/Build/CommandSequence.pm blib/lib/Alien/Build/CommandSequence.pm cp lib/Alien/Base/Wrapper.pm blib/lib/Alien/Base/Wrapper.pm cp lib/Alien/Build/Plugin.pm blib/lib/Alien/Build/Plugin.pm cp lib/Alien/Build.pm blib/lib/Alien/Build.pm cp lib/Alien/Build/Plugin/Build.pod blib/lib/Alien/Build/Plugin/Build.pod cp lib/Alien/Build/Plugin/Decode.pod blib/lib/Alien/Build/Plugin/Decode.pod cp lib/Alien/Build/Plugin/Core/Tail.pm blib/lib/Alien/Build/Plugin/Core/Tail.pm cp lib/Alien/Build/Manual/PluginAuthor.pod blib/lib/Alien/Build/Manual/PluginAuthor.pod cp lib/Alien/Build/Interpolate/Default.pm blib/lib/Alien/Build/Interpolate/Default.pm cp lib/Alien/Base/Authoring.pod blib/lib/Alien/Base/Authoring.pod cp lib/Alien/Base/FAQ.pod blib/lib/Alien/Base/FAQ.pod cp lib/Alien/Build/Plugin/Core/Download.pm blib/lib/Alien/Build/Plugin/Core/Download.pm cp lib/Alien/Build/Plugin/Core/Override.pm blib/lib/Alien/Build/Plugin/Core/Override.pm cp lib/Alien/Build/Plugin/Core/Legacy.pm blib/lib/Alien/Build/Plugin/Core/Legacy.pm cp lib/Alien/Base/PkgConfig.pm blib/lib/Alien/Base/PkgConfig.pm cp lib/Alien/Build/Plugin/Build/SearchDep.pm blib/lib/Alien/Build/Plugin/Build/SearchDep.pm cp lib/Alien/Build/Plugin/Build/Make.pm blib/lib/Alien/Build/Plugin/Build/Make.pm cp lib/Alien/Build/Plugin/Build/Autoconf.pm blib/lib/Alien/Build/Plugin/Build/Autoconf.pm cp lib/Alien/Build/Manual/AlienAuthor.pod blib/lib/Alien/Build/Manual/AlienAuthor.pod cp lib/Alien/Build/Plugin/Decode/DirListing.pm blib/lib/Alien/Build/Plugin/Decode/DirListing.pm cp lib/Alien/Build/Plugin/Core/FFI.pm blib/lib/Alien/Build/Plugin/Core/FFI.pm cp lib/Alien/Build/Plugin/Extract/Negotiate.pm blib/lib/Alien/Build/Plugin/Extract/Negotiate.pm cp lib/Alien/Build/Plugin/Extract.pod blib/lib/Alien/Build/Plugin/Extract.pod cp lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm cp lib/Alien/Build/Plugin/Extract/ArchiveZip.pm blib/lib/Alien/Build/Plugin/Extract/ArchiveZip.pm cp lib/Alien/Build/Plugin/Decode/HTML.pm blib/lib/Alien/Build/Plugin/Decode/HTML.pm cp lib/Alien/Build/Plugin/PkgConfig/PP.pm blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm cp lib/Alien/Build/Plugin/Prefer/GoodVersion.pm blib/lib/Alien/Build/Plugin/Prefer/GoodVersion.pm cp lib/Alien/Build/Plugin/Prefer/BadVersion.pm blib/lib/Alien/Build/Plugin/Prefer/BadVersion.pm cp lib/Alien/Build/Plugin/Fetch/LWP.pm blib/lib/Alien/Build/Plugin/Fetch/LWP.pm cp lib/Alien/Build/Plugin/Fetch/LocalDir.pm blib/lib/Alien/Build/Plugin/Fetch/LocalDir.pm cp lib/Alien/Build/Plugin/Fetch/Local.pm blib/lib/Alien/Build/Plugin/Fetch/Local.pm cp lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm blib/lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm cp lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm blib/lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm cp lib/Alien/Build/Plugin/Decode/DirListingFtpcopy.pm blib/lib/Alien/Build/Plugin/Decode/DirListingFtpcopy.pm cp lib/Alien/Build/Plugin/Fetch.pod blib/lib/Alien/Build/Plugin/Fetch.pod cp lib/Alien/Build/Plugin/Extract/CommandLine.pm blib/lib/Alien/Build/Plugin/Extract/CommandLine.pm cp lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm blib/lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm cp lib/Alien/Build/Plugin/Fetch/HTTPTiny.pm blib/lib/Alien/Build/Plugin/Fetch/HTTPTiny.pm cp lib/Alien/Build/Plugin/Fetch/NetFTP.pm blib/lib/Alien/Build/Plugin/Fetch/NetFTP.pm cp lib/Alien/Build/Plugin/Prefer.pod blib/lib/Alien/Build/Plugin/Prefer.pod cp lib/Alien/Build/Plugin/Fetch/CurlCommand.pm blib/lib/Alien/Build/Plugin/Fetch/CurlCommand.pm cp lib/Alien/Build/Plugin/Fetch/Wget.pm blib/lib/Alien/Build/Plugin/Fetch/Wget.pm cp lib/Alien/Build/Plugin/Extract/ArchiveTar.pm blib/lib/Alien/Build/Plugin/Extract/ArchiveTar.pm cp lib/Alien/Build/Plugin/Download.pod blib/lib/Alien/Build/Plugin/Download.pod cp lib/Alien/Build/Plugin/Extract/Directory.pm blib/lib/Alien/Build/Plugin/Extract/Directory.pm cp lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm blib/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm cp lib/Alien/Build/Plugin/Download/Negotiate.pm blib/lib/Alien/Build/Plugin/Download/Negotiate.pm cp lib/Alien/Build/Plugin/Probe/CommandLine.pm blib/lib/Alien/Build/Plugin/Probe/CommandLine.pm cp lib/Alien/Build/Plugin/Probe/CBuilder.pm blib/lib/Alien/Build/Plugin/Probe/CBuilder.pm cp lib/Alien/Build/Util.pm blib/lib/Alien/Build/Util.pm cp lib/Test/Alien/Run.pm blib/lib/Test/Alien/Run.pm cp lib/Test/Alien/Build.pm blib/lib/Test/Alien/Build.pm cp lib/Alien/Build/Plugin/Prefer/SortVersions.pm blib/lib/Alien/Build/Plugin/Prefer/SortVersions.pm cp lib/Test/Alien.pm blib/lib/Test/Alien.pm cp lib/Alien/Role.pm blib/lib/Alien/Role.pm cp lib/Test/Alien/CanPlatypus.pm blib/lib/Test/Alien/CanPlatypus.pm cp lib/Test/Alien/Synthetic.pm blib/lib/Test/Alien/Synthetic.pm cp lib/Alien/Build/Version/Basic.pm blib/lib/Alien/Build/Version/Basic.pm cp lib/alienfile.pm blib/lib/alienfile.pm cp lib/Test/Alien/CanCompile.pm blib/lib/Test/Alien/CanCompile.pm cp lib/Alien/Build/Plugin/Probe.pod blib/lib/Alien/Build/Plugin/Probe.pod Manifying 30 pod documents Manifying 25 pod documents Manifying 18 pod documents PLICEASE/Alien-Build-1.48.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 "/data/fly2400/ap2400-300558/bin/perl-static" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # # # # ACTIVEPERL_CONFIG_DISABLE=1 # HARNESS_ACTIVE=1 # HARNESS_IS_VERBOSE=1 # HARNESS_VERSION=3.36 # LANG=en_US.UTF-8 # PERL5LIB=/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch:/data/fly2400/cpanfly-5.24/var/megalib:/data/fly2400/cpanfly-5.24/var/megalib # PERL5OPT= # PERL5_CPANPLUS_IS_RUNNING=22309 # PERL5_CPAN_IS_RUNNING=22309 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=18418,22309 # PERL_DL_NONLAZY=1 # PERL_MM_USE_DEFAULT=1 # SHELL=/bin/sh # # # # PERL5LIB path # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch # /data/fly2400/cpanfly-5.24/var/megalib # /data/fly2400/cpanfly-5.24/var/megalib # # # # perl 5.024000 # Acme::Alien::DontPanic - # Alien::Base::ModuleBuild 1.05 # Alien::Libbz2 - # Alien::cmake3 - # Alien::gzip 0.05 # Alien::xz - # Archive::Tar 2.30 # Archive::Zip 1.63 # Capture::Tiny 0.48 # Devel::Hide 0.0010 # ExtUtils::CBuilder 0.280225 # ExtUtils::MakeMaker 7.16 # ExtUtils::ParseXS 3.35 # FFI::CheckLib 0.20 # FFI::Platypus - # File::Listing 6.04 # File::Listing::Ftpcopy 0.08 # File::Which 1.22 # File::chdir 0.1010 # HTML::LinkExtor 3.69 # HTTP::Tiny 0.076 # IO::Compress::Bzip2 2.081 # IO::Socket::SSL 2.059 # IO::Uncompress::Bunzip2 2.081 # IO::Zlib 1.10 # JSON::PP 2.97001 # LWP 6.35 # LWP::Protocol::https 6.07 # Module::Load 0.32 # Net::FTP 3.11 # Net::SSLeay 1.85 # Path::Tiny 0.108 # PkgConfig 0.22026 # PkgConfig::LibPkgConf 0.08 # Readonly 2.05 # Sort::Versions 1.62 # Test2::API 1.302140 # Test2::Mock 0.000084 # Test2::Require 0.000084 # Test2::Require::Module 0.000084 # Test2::V0 0.000084 # Text::ParseWords 3.30 # URI 1.74 # YAML 1.26 # # # # --- # cmake_generator: Unix Makefiles # compiler_type: unix # pkg-config: # pkg-config: /usr/bin/pkg-config # pkgconf: ~ # system_type: unix # # # [config.site] # # file automatically generated by /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/Build/Autoconf.pm # libdir='${prefix}/lib' # # # t/00_diag.t .......................................... ok 1 - okay 1..1 ok t/01_use.t ........................................... ok 1 - require Alien::Base ok 2 - require Alien::Base::PkgConfig ok 3 - require Alien::Base::Wrapper ok 4 - require Alien::Build ok 5 - require Alien::Build::CommandSequence ok 6 - require Alien::Build::Interpolate ok 7 - require Alien::Build::Interpolate::Default ok 8 - require Alien::Build::MM ok 9 - require Alien::Build::Plugin ok 10 - require Alien::Build::Plugin::Build::Autoconf ok 11 - require Alien::Build::Plugin::Build::CMake ok 12 - require Alien::Build::Plugin::Build::MSYS ok 13 - require Alien::Build::Plugin::Build::Make ok 14 - require Alien::Build::Plugin::Build::SearchDep ok 15 - require Alien::Build::Plugin::Core::Download ok 16 - require Alien::Build::Plugin::Core::FFI ok 17 - require Alien::Build::Plugin::Core::Gather ok 18 - require Alien::Build::Plugin::Core::Legacy ok 19 - require Alien::Build::Plugin::Core::Override ok 20 - require Alien::Build::Plugin::Core::Setup ok 21 - require Alien::Build::Plugin::Core::Tail ok 22 - require Alien::Build::Plugin::Decode::DirListing ok 23 - require Alien::Build::Plugin::Decode::DirListingFtpcopy ok 24 - require Alien::Build::Plugin::Decode::HTML ok 25 - require Alien::Build::Plugin::Download::Negotiate ok 26 - require Alien::Build::Plugin::Extract::ArchiveTar ok 27 - require Alien::Build::Plugin::Extract::ArchiveZip ok 28 - require Alien::Build::Plugin::Extract::CommandLine ok 29 - require Alien::Build::Plugin::Extract::Directory ok 30 - require Alien::Build::Plugin::Extract::Negotiate ok 31 - require Alien::Build::Plugin::Fetch::CurlCommand ok 32 - require Alien::Build::Plugin::Fetch::HTTPTiny ok 33 - require Alien::Build::Plugin::Fetch::LWP ok 34 - require Alien::Build::Plugin::Fetch::Local ok 35 - require Alien::Build::Plugin::Fetch::LocalDir ok 36 - require Alien::Build::Plugin::Fetch::NetFTP ok 37 - require Alien::Build::Plugin::Fetch::Wget ok 38 - require Alien::Build::Plugin::Gather::IsolateDynamic ok 39 - require Alien::Build::Plugin::PkgConfig::CommandLine ok 40 - require Alien::Build::Plugin::PkgConfig::LibPkgConf ok 41 - require Alien::Build::Plugin::PkgConfig::MakeStatic ok 42 - require Alien::Build::Plugin::PkgConfig::Negotiate ok 43 - require Alien::Build::Plugin::PkgConfig::PP ok 44 - require Alien::Build::Plugin::Prefer::BadVersion ok 45 - require Alien::Build::Plugin::Prefer::GoodVersion ok 46 - require Alien::Build::Plugin::Prefer::SortVersions ok 47 - require Alien::Build::Plugin::Probe::CBuilder ok 48 - require Alien::Build::Plugin::Probe::CommandLine ok 49 - require Alien::Build::Util ok 50 - require Alien::Build::Version::Basic ok 51 - require Alien::Role ok 52 - require Test::Alien ok 53 - require Test::Alien::Build ok 54 - require Test::Alien::CanCompile ok 55 - require Test::Alien::CanPlatypus ok 56 - require Test::Alien::Run ok 57 - require Test::Alien::Synthetic ok 58 - require alienfile ok 59 - test for Alien::Base ok 60 - test for Alien::Base::PkgConfig ok 61 - test for Alien::Base::Wrapper ok 62 - test for Alien::Build ok 63 - test for Alien::Build::CommandSequence ok 64 - test for Alien::Build::Interpolate ok 65 - test for Alien::Build::Interpolate::Default ok 66 - test for Alien::Build::MM ok 67 - test for Alien::Build::Plugin ok 68 - test for Alien::Build::Plugin::Build::Autoconf ok 69 - test for Alien::Build::Plugin::Build::CMake ok 70 - test for Alien::Build::Plugin::Build::MSYS ok 71 - test for Alien::Build::Plugin::Build::Make ok 72 - test for Alien::Build::Plugin::Build::SearchDep ok 73 - test for Alien::Build::Plugin::Core::Download ok 74 - test for Alien::Build::Plugin::Core::FFI ok 75 - test for Alien::Build::Plugin::Core::Gather ok 76 - test for Alien::Build::Plugin::Core::Legacy ok 77 - test for Alien::Build::Plugin::Core::Override ok 78 - test for Alien::Build::Plugin::Core::Setup ok 79 - test for Alien::Build::Plugin::Core::Tail ok 80 - test for Alien::Build::Plugin::Decode::DirListing ok 81 - test for Alien::Build::Plugin::Decode::DirListingFtpcopy ok 82 - test for Alien::Build::Plugin::Decode::HTML ok 83 - test for Alien::Build::Plugin::Download::Negotiate ok 84 - test for Alien::Build::Plugin::Extract::ArchiveTar ok 85 - test for Alien::Build::Plugin::Extract::ArchiveZip ok 86 - test for Alien::Build::Plugin::Extract::CommandLine ok 87 - test for Alien::Build::Plugin::Extract::Directory ok 88 - test for Alien::Build::Plugin::Extract::Negotiate ok 89 - test for Alien::Build::Plugin::Fetch::CurlCommand ok 90 - test for Alien::Build::Plugin::Fetch::HTTPTiny ok 91 - test for Alien::Build::Plugin::Fetch::LWP ok 92 - test for Alien::Build::Plugin::Fetch::Local ok 93 - test for Alien::Build::Plugin::Fetch::LocalDir ok 94 - test for Alien::Build::Plugin::Fetch::NetFTP ok 95 - test for Alien::Build::Plugin::Fetch::Wget ok 96 - test for Alien::Build::Plugin::Gather::IsolateDynamic ok 97 - test for Alien::Build::Plugin::PkgConfig::CommandLine ok 98 - test for Alien::Build::Plugin::PkgConfig::LibPkgConf ok 99 - test for Alien::Build::Plugin::PkgConfig::MakeStatic ok 100 - test for Alien::Build::Plugin::PkgConfig::Negotiate ok 101 - test for Alien::Build::Plugin::PkgConfig::PP ok 102 - test for Alien::Build::Plugin::Prefer::BadVersion ok 103 - test for Alien::Build::Plugin::Prefer::GoodVersion ok 104 - test for Alien::Build::Plugin::Prefer::SortVersions ok 105 - test for Alien::Build::Plugin::Probe::CBuilder ok 106 - test for Alien::Build::Plugin::Probe::CommandLine ok 107 - test for Alien::Build::Util ok 108 - test for Alien::Build::Version::Basic ok 109 - test for Alien::Role ok 110 - test for Test::Alien ok 111 - test for Test::Alien::Build ok 112 - test for Test::Alien::CanCompile ok 113 - test for Test::Alien::CanPlatypus ok 114 - test for Test::Alien::Run ok 115 - test for Test::Alien::Synthetic ok 116 - test for alienfile 1..116 ok t/alien_base.t ....................................... ok 1 - AB::MB sys install { ok 1 - cflags: -DFOO=stuff ok 2 - libs: -lfoo1 ok 3 - version: 3.99999 1..3 } ok 2 - AB::MB share install { ok 1 - cflags: -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2-3.2.1/include ok 2 - libs: -L/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/lib/auto/share/dist/Alien-Foo2/lib/../lib -lfoo2 ok 3 - version: 3.2.1 ok 4 - include path # include path: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2-3.2.1/include ok 5 - lib path # lib path: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/lib/auto/share/dist/Alien-Foo2/lib/../lib 1..5 } ok 3 - Alien::Build system { ok 1 - dist_dir ok 2 - cflags ok 3 - cflags_static ok 4 - libs ok 5 - libs_static ok 6 - version ok 7 - install type { ok 1 ok 2 ok 3 1..3 } ok 8 - config.name ok 9 - config.finished_installing ok 10 - dynamic_libs ok 11 - bin_dir ok 12 - runtime_prop 1..12 } ok 4 - Alien::Build share { ok 1 - dist_dir ok 2 - cflags { ok 1 - cflags ok 2 - -I directory points to foo.h location ok 3 - cflags_static ok 4 - -I directory points to foo.h location (static) 1..4 } ok 3 - libs { ok 1 - libs ok 2 - -L directory points to libfoo.a location ok 3 - libs_static ok 4 - -L directory points to libfoo.a location (static) 1..4 } ok 4 - version ok 5 - install type { ok 1 ok 2 ok 3 1..3 } ok 6 - config.name ok 7 - config.finished_installing ok 8 - dynamic_libs ok 9 - bin_dir ok 10 - has a foo-config ok 11 - runtime_prop 1..11 } ok 5 - build flags { ok 1 - unix { ok 1 1..1 } ok 2 - windows { ok 1 ok 2 ok 3 1..3 } 1..2 } ok 6 - ffi_name { ok 1 - call dynamic_libs ok 2 ok 3 - call dynamic_libs ok 4 1..4 } ok 7 - test an alt install { ok 1 - default { ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 } ok 2 - foo1 { ok 1 - Alien::libfoo3=HASH->isa('Alien::Base') ok 2 - Alien::libfoo3=HASH->isa('Alien::libfoo3') ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 3 - foo2 { ok 1 - Alien::libfoo3=HASH->isa('Alien::Base') ok 2 - Alien::libfoo3=HASH->isa('Alien::libfoo3') ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 4 - foo3 { ok 1 - Alien::libfoo3=HASH->isa('Alien::Base') ok 2 - Alien::libfoo3=HASH->isa('Alien::libfoo3') ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 5 - foo4 { ok 1 1..1 } ok 6 - default -> foo2 -> foo1 { ok 1 - Alien::libfoo3=HASH->isa('Alien::Base') ok 2 - Alien::libfoo3=HASH->isa('Alien::libfoo3') ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 7 - alt_names { ok 1 - no alt means empty list of alt names ok 2 - no alt means empty list of alt names 2 ok 3 - list of alt names 1..3 } ok 8 - alt_exists { ok 1 - class with no alts always retrusn false for alt_exists ok 2 - class with no alts always retrusn false for alt_exists (2) ok 3 - class with an alt returns true for alt_exists if it exists ok 4 - class with an alt returns false for alt_exists if it does not exists 1..4 } 1..8 } 1..7 ok t/alien_base__system_installed.t ..................... ok 1 - basic { # lib = libfoo # cflags = -I/opt/foo/bar/baz/include # libs = -L/opt/foo/bar/baz/lib -lfoo # + pkg-config --modversion libfoo # Building MyTest # + pkg-config --modversion libfoo ok 1 - MyTest=HASH->isa('MyTest') ok 2 - MyTest=HASH->isa('Alien::Base') # alien->cflags = -I/opt/foo/bar/baz/include # alien->libs = -L/opt/foo/bar/baz/lib -lfoo ok 3 - get cflags from system-installed library ok 4 - get libs from system-installed library # Cleaning up build files # Cleaning up configuration files 1..4 } 1..1 ok t/alien_base_pkgconfig.t ............................. ok 1 - basic { ok 1 - Test file found ok 2 - Alien::Base::PkgConfig=HASH->isa('Alien::Base::PkgConfig') ok 3 - pcfiledir is a directory ok 4 - pcfiledir contains test.pc ok 5 - read vars ok 6 - read keywords ok 7 - understands package name from file path ok 8 - var getter ok 9 - var setter ok 10 - abstract vars in terms of each other ok 11 - abstract simple ok 12 - abstract abstract 'nested' ok 13 - Simple keyword getter ok 14 - single interpolation keyword ok 15 - multiple interpolation keyword ok 16 - multiple interpolation keyword with override 1..16 } ok 2 - version { # + pkg-config --modversion zlib # + pkg-config --modversion siughspidghsp ok 1 - good { # + pkg-config --modversion zlib ok 1 - found installed library # lib is zlib 1..1 } ok 2 - bad { # + pkg-config --modversion siughspidghsp ok 1 - returns false if not found 1..1 } 1..2 } 1..2 ok t/alien_base_wrapper.t ............................... ok 1 - export { ok 1 - can cc ok 2 - can ld 1..2 } ok 2 - system { ok 1 - cc ok 2 - ld 1..2 } ok 3 - share { ok 1 - cc ok 2 - ld 1..2 } ok 4 - share sans static { ok 1 - cc ok 2 - ld 1..2 } ok 5 - combine aliens { ok 1 - cc ok 2 - ld ok 3 - mm_args { # --- # DEFINE: -DFOO5=1 -DBAR5=1 # INC: -I/foo/include -I/bar/include # LDDLFLAGS: -L/foo/lib -L/foo/lib --ld-foo --ld-bar -shared -O2 -fstack-protector # LDFLAGS: -L/foo/lib -L/foo/lib --ld-foo --ld-bar -fstack-protector # LIBS: # - -L/foo/lib -L/foo/lib -lfoo -lbar ok 1 1..1 } ok 4 - mb_args { # --- # config: # lddlflags: -L/foo/lib -L/foo/lib --ld-foo --ld-bar -shared -O2 -fstack-protector # ldflags: -L/foo/lib -L/foo/lib --ld-foo --ld-bar -fstack-protector # extra_compiler_flags: -I/foo/include -I/bar/include -DFOO5=1 -DBAR5=1 # extra_linker_flags: -lfoo -lbar ok 1 1..1 } 1..4 } 1..5 ok t/alien_build.t ...................................... ok 1 - simple new { ok 1 - basic basic { ok 1 - MyBuild=HASH->isa('Alien::Build') ok 2 - Alien::Build::Meta=HASH->isa('Alien::Build::Meta') ok 3 - Alien::Build::Meta=HASH->isa('Alien::Build::Meta') # --- !!perl/hash:Alien::Build::Meta # around: {} # build_suffix: '' # class: MyBuild # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alien_build.t # phase: any # prop: {} # require: # any: {} # share: {} # system: {} 1..3 } ok 2 - with meta_prop in new { # --- # ramjet: # - 1 # - 2 # - 3 # roger: 1 ok 1 - has argument properties 1..1 } 1..2 } ok 2 - from file { ok 1 - Alien::Build::Auto::Basic0=HASH->isa('Alien::Build') ok 2 - Alien::Build::Meta=HASH->isa('Alien::Build::Meta') # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Basic0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/basic/alienfile # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # require: # any: # Foo: 1.00 # configure: # Early::Module: 1.234 # share: # Bar: 2.00 # system: # Baz: 3.00 ok 3 - any ok 4 - share ok 5 - system ok 6 - configure ok 7 - Alien::Build::Interpolate::Default=HASH->isa('Alien::Build::Interpolate::Default') 1..7 } ok 3 - invalid alienfile { ok 1 1..1 } ok 4 - load requires { ok 1 - basic { # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Emgtx1 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /tmp/SemQPgVtxF/alienfile # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # require: # any: {} # share: {} # system: {} ok 1 - empty loads okay ok 2 - have it okay ok 3 # inc=corpus/lib/Foo/Bar/Baz.pm ok 4 # error=Foo::Bar::Baz1 version 2.00 required--this is only version 1.23 at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 316. 1..4 } 1..1 } ok 5 - hook { ok 1 - simple single working hook { ok 1 ok 2 ok 3 ok 4 ok 5 1..5 } ok 2 - single failing hook { ok 1 # error = throw exception at t/alien_build.t line 140. ok 2 1..2 } ok 3 - one fail, one okay { ok 1 ok 2 1..2 } ok 4 - invalid hook { ok 1 1..1 } ok 5 - command list hook { # Alien::Build::CommandSequence> + /data/fly2400/ap2400-300558/bin/perl-static -e print @ARGV hello world # hello world ok 1 1..1 } ok 6 - command with failure { # Alien::Build::CommandSequence> + /data/fly2400/ap2400-300558/bin/perl-static -e exit 1 # external command failed at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/CommandSequence.pm line 71. ok 1 1..1 } ok 7 - command with failure, followed by good command { # Alien::Build::CommandSequence> + /data/fly2400/ap2400-300558/bin/perl-static -e exit 1 # Alien::Build::CommandSequence> + /data/fly2400/ap2400-300558/bin/perl-static -e # 1 ok 1 1..1 } ok 8 - around hook { ok 1 - single wrapper { ok 1 - return value ok 2 - arguments 1..2 } ok 2 - double wrapper { ok 1 - return value ok 2 - arguments 1..2 } ok 3 - alter args { ok 1 ok 2 1..2 } 1..3 } 1..8 } ok 6 - probe { ok 1 - system { # dir = /tmp/z1Dwj04myo/root/probe_ciu2 ok 1 ok 2 1..2 } ok 2 - share { # dir = /tmp/MzszauYC1X/root/probe_fJzC ok 1 ok 2 1..2 } ok 3 - throw exception { # dir = /tmp/Ub1CFhHzwP/root/probe_BzyN # Alien::Build> error in probe (will do a share install): error will robinson! at t/alien_build.t line 353. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # share ok 1 ok 2 1..2 } 1..3 } ok 7 - gather system { # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/re63Bt9Vm1/stage/_alien # Alien::Build::Auto::Blank6=HASH(0x25038c8) ok 1 - runtime props ok 2 - install props 1..2 } ok 8 - download { ok 1 - component { ok 1 - single download with file as content { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar.gz ok 1 - install props # build.install_prop.download=/tmp/Wd_fBcSHgS/root/download_Wl2N/foo-1.00.tar.gz ok 2 - file matches 1..2 } ok 2 - single download with file as path { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar.gz ok 1 - install props # build.install_prop.download=/tmp/zjAqTJlIPR/root/download_QY_6/foo-1.00.tar.gz ok 2 - file matches 1..2 } ok 3 - listing download with listing as list { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::Plugin::Core::Download> candidate *http://test1.test/foo/bar/baz/foo-1.00.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.99.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.98.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.97.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.96.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.95.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.94.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.93.tar.gz # Alien::Build::Plugin::Core::Download> candidate ... # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar.gz ok 1 - install props # build.install_prop.download=/tmp/Qh4xax5SKi/root/download_0L_K/foo-1.00.tar.gz ok 2 - file matches 1..2 } ok 4 - listing download with listing as html { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::Plugin::Core::Download> decoding html # Alien::Build::Plugin::Core::Download> candidate *http://test1.test/foo/bar/baz/foo-1.00.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.99.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.98.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.97.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.96.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.95.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.94.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.93.tar.gz # Alien::Build::Plugin::Core::Download> candidate ... # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar.gz ok 1 - install props # build.install_prop.download=/tmp/gUMS_X1Qhx/root/download_wv2Q/foo-1.00.tar.gz ok 2 - file matches 1..2 } ok 5 - listing download with listing as dir_listing { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::Plugin::Core::Download> decoding dir listing # Alien::Build::Plugin::Core::Download> candidate *http://test1.test/foo/bar/baz/foo-1.00.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.99.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.98.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.97.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.96.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.95.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.94.tar.gz # Alien::Build::Plugin::Core::Download> candidate http://test1.test/foo/bar/baz/foo-0.93.tar.gz # Alien::Build::Plugin::Core::Download> candidate ... # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar.gz ok 1 - install props # build.install_prop.download=/tmp/WjCWBKOYfw/root/download_gQ5S/foo-1.00.tar.gz ok 2 - file matches 1..2 } 1..5 } ok 2 - command single { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::CommandSequence> + wget http://test1.test/foo/bar/baz/foo-1.00.tar.gz # 200 found http://test1.test/foo/bar/baz/foo-1.00.tar.gz! # Alien::Build> single file, assuming archive ok 1 - install props # build.install_prop.download=/tmp/CrmTMS3kks/root/download_JSpF/foo-1.00.tar.gz ok 2 - file matches 1..2 } ok 3 - command no file { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::CommandSequence> + true ok 1 - diagnostic failure 1..1 } ok 4 - command multiple files { # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::CommandSequence> + explode # Alien::Build> multiple files, assuming directoryn ok 1 - install props ok 2 - dir exists ok 3 - file foo.txt exists ok 4 - file bar.txt exists ok 5 - file baz.txt exists 1..5 } 1..4 } ok 9 - extract { ok 1 - alienfile compiles # Alien::Build::CommandSequence> + tar xf /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar ok 2 - no exception ok 3 - directory exists # dir = /tmp/atJruZyRJh/root/build_NbpQ/foo-1.00 ok 4 - configure exists ok 5 - foo.c exists # build.install.extract = /tmp/atJruZyRJh/root/build_NbpQ/foo-1.00 ok 6 - build.install.extract is a directory ok 7 - has configure ok 8 - has foo.c 1..8 } ok 10 - build { ok 1 - plain { ok 1 ok 2 ok 3 # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/It2Vw7K1KJ/blib/lib/auto/share/Alien-Foo/_alien ok 4 - build ok 5 - ran gather ok 6 - has alien.json 1..6 } ok 2 - destdir { # install dir = /tmp/z81Tsmzn2n/root/destdir_pI24/tmp/ZLQLVNm6S0/usr/local # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/z81Tsmzn2n/root/destdir_pI24/tmp/ZLQLVNm6S0/usr/local => /tmp/ZLQLVNm6S0/blib/lib/auto/share/Alien-Foo # Alien::Build::Util> mkdir -p /tmp/ZLQLVNm6S0/blib/lib/auto/share/Alien-Foo/lib # Alien::Build::Util> Alien::Build> cp /tmp/z81Tsmzn2n/root/destdir_pI24/tmp/ZLQLVNm6S0/usr/local/lib/libfoo.a /tmp/ZLQLVNm6S0/blib/lib/auto/share/Alien-Foo/lib/libfoo.a # Alien::Build::Util> mkdir -p /tmp/ZLQLVNm6S0/blib/lib/auto/share/Alien-Foo/bin # Alien::Build::Util> Alien::Build> cp /tmp/z81Tsmzn2n/root/destdir_pI24/tmp/ZLQLVNm6S0/usr/local/bin/foo /tmp/ZLQLVNm6S0/blib/lib/auto/share/Alien-Foo/bin/foo # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/ZLQLVNm6S0/blib/lib/auto/share/Alien-Foo/_alien # Alien::Build::Auto::Blank17=HASH(0x2620048) ok 1 - directory created ok 2 - ran gather ok 3 - has alien.json ok 4 - has alienfile 1..4 } 1..2 } ok 11 - checkpoint { ok 1 - create checkpoint { ok 1 ok 2 1..2 } ok 2 - resume checkpoint { ok 1 ok 2 ok 3 1..3 } 1..2 } ok 12 - patch { ok 1 - single { # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/oMvYm23_tK/blib/lib/auto/share/Alien-Foo/_alien ok 1 1..1 } ok 2 - double { # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/8W83etRWr6/blib/lib/auto/share/Alien-Foo/_alien ok 1 ok 2 1..2 } 1..2 } ok 13 - preload { ok 1 - has hook preload1 ok 2 - has hook preload2 1..2 } ok 14 - first probe returns share { ok 1 - share, system { # system ok 1 1..1 } ok 2 - command ok { # Alien::Build::CommandSequence> + pkg-config --exists libfoo ok 1 1..1 } ok 3 - command bad { # Alien::Build::CommandSequence> + pkg-config --exists libfoo # Alien::Build> error in probe (will do a share install): external command failed at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/CommandSequence.pm line 71. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 1 1..1 } 1..3 } ok 15 - system { ok 1 - alienfile compiles # Alien::Build> + frooble 1234 ok 2 # Alien::Build> + xor ok 3 1..3 } ok 16 - requires pulls helpers { ok 1 - has helper foo1 ok 2 - has helper foo2 1..2 } ok 17 - around bug? { ok 1 - alienfile compiles ok 2 ok 3 ok 4 1..4 } ok 18 - requires of Alien::Build or Alien::Base { ok 1 - Alien::Build { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - Alien::Base { ok 1 - alienfile compiles ok 2 1..2 } 1..2 } ok 19 - out-of-source build { ok 1 - basic { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/ABKye9XP4o/stage/_alien 1..2 } ok 2 - from bundled source { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build> error in probe (will do a share install): No hooks registered for probe at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build.pm line 397. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build::Plugin::Core::Download> downloaded foo-1.00 # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/S4LwF9MGa4/stage/_alien # extract = /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00 1..2 } 1..2 } ok 20 - test { ok 1 - good { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - alien checkpoint ok ok 4 - alien resume ok ok 5 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::Auto::Kmojyzx34::Alienfile> the build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/kmojGyzQ4x/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::Kmojyzx35::Alienfile> the test ok 8 1..8 } ok 2 - bad { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - alien checkpoint ok ok 4 - alien resume ok ok 5 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/235904BHCI/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::X38::Alienfile> the test ok 8 1..8 } ok 3 - ffi { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - alien checkpoint ok ok 4 - alien resume ok ok 5 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::Auto::Enh40::Alienfile> the build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/eYnhYV0U5Y/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # ok 8 1..8 } ok 4 - bad ffi { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - alien checkpoint ok ok 4 - alien resume ok ok 5 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::Auto::Gba43::Alienfile> the build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/gb6015SBBa/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # ok 8 1..8 } ok 5 - system good { ok 1 - alienfile compiles ok 2 - alien install type is system ok 3 - alien checkpoint ok ok 4 - alien resume ok ok 5 - alien builds okay # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/CMlPvZNCgi/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::Lvgi47::Alienfile> in test! ok 8 ok 9 1..9 } ok 6 - system bad { ok 1 - alienfile compiles ok 2 - alien install type is system ok 3 - alien checkpoint ok ok 4 - alien resume ok ok 5 - alien builds okay # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/qoQDqd6JSi/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::Qoqdi50::Alienfile> in test! ok 8 ok 9 1..9 } 1..6 } ok 21 - pkg-config path during build { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/GnuL73KrWU/stage/_alien ok 3 - has arch and arch-indy pkg-config paths 1..3 } ok 22 - network available { ok 1 - default { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - override { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - ALIEN_INSTALL_NETWORK=1 { ok 1 - alienfile compiles ok 2 1..2 } ok 4 - ALIEN_INSTALL_NETWORK=0 { ok 1 - alienfile compiles ok 2 1..2 } 1..4 } ok 23 - local_source { ok 1 - start_url undefined { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - start_url undefined override { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - start_url = foo/bar/baz { ok 1 - alienfile compiles ok 2 1..2 } ok 4 - start_url = C:/foo/bar/baz { ok 1 - alienfile compiles ok 2 1..2 } ok 5 - start_url = /foo/bar/baz { ok 1 - alienfile compiles ok 2 1..2 } ok 6 - start_url = ./foo/bar/baz { ok 1 - alienfile compiles ok 2 1..2 } ok 7 - start_url = http://foo.example/foo/bar/baz { ok 1 - alienfile compiles ok 2 1..2 } ok 8 - start_url = http://foo.example/foo/bar/baz override { ok 1 - alienfile compiles ok 2 1..2 } 1..8 } ok 24 - do not allow network install { ok 1 - share { ok 1 - alienfile compiles # Alien::Build> install type share requested or detected, but network fetch is turned off # Alien::Build> see https://metacpan.org/pod/Alien::Build::Manual::FAQ#Network-fetch-is-turned-off ok 2 1..2 } ok 2 - system { ok 1 - alienfile compiles ok 2 - alien install type is system 1..2 } 1..2 } ok 25 - interpolate env overrides { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/fpEIXvCBG5/stage/_alien 1..2 } 1..25 ok t/alien_build_commandsequence.t ...................... ok 1 - basic { ok 1 - Alien::Build::CommandSequence=HASH->isa('Alien::Build::CommandSequence') 1..1 } ok 2 - apply requirements { ok 1 1..1 } ok 3 - execute { # Alien::Build::CommandSequence> + myfoo # Alien::Build::CommandSequence> + stuff myfoo ok 1 - plain # Alien::Build::CommandSequence> + bogus # external command failed at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/CommandSequence.pm line 87. ok 2 # Alien::Build::CommandSequence> + stuff myfoo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 3 # Alien::Build::CommandSequence> + bogus myfoo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 4 # Alien::Build::CommandSequence> + stuff2 myfoo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 5 # Alien::Build::CommandSequence> + stuff2 myfoo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 6 ok 7 # Alien::Build::CommandSequence> + stuff2 myfoo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 8 ok 9 1..9 } 1..3 ok t/alien_build_commandsequence__cd.t .................. ok 1 - cd list { # Alien::Build::CommandSequence> + mkdir -p /tmp/sxPagKwCwo/foo # Alien::Build::CommandSequence> + cd /tmp/sxPagKwCwo/foo ok 1 - created file ok 2 - content 1..2 } ok 2 - cd list { # Alien::Build::CommandSequence> + mkdir -p /tmp/dSdrn7lIeM/foo # Alien::Build::CommandSequence> + cd /tmp/dSdrn7lIeM/foo ok 1 - created file ok 2 - content 1..2 } ok 3 - cd list with code ref { # Alien::Build::CommandSequence> + mkdir -p /tmp/f3xvR5K1Ft/foo # Alien::Build::CommandSequence> + cd /tmp/f3xvR5K1Ft/foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 - created file ok 2 - content 1..2 } 1..3 ok t/alien_build_interpolate.t .......................... ok 1 - basic usage { ok 1 - Alien::Build::Interpolate=HASH->isa('Alien::Build::Interpolate') ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 - error! # Alien::foomake version 0.29 required--this is only version 0.25 at (eval 82) line 1. # BEGIN failed--compilation aborted at (eval 82) line 1. ok 8 - error! # Can't locate Alien/foobogus.pm in @INC (you may need to install the Alien::foobogus module) (@INC contains: corpus/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/megalib /home/fly2400/ap2400-300558/site/lib /home/fly2400/ap2400-300558/lib .) at (eval 83) line 1. # BEGIN failed--compilation aborted at (eval 83) line 1. ok 9 - requires ok 10 ok 11 ok 12 1..12 } ok 2 - clone { ok 1 - Alien::Build::Interpolate=HASH->isa('Alien::Build::Interpolate') ok 2 ok 3 ok 4 ok 5 1..5 } ok 3 - property { ok 1 - Alien::Build::Interpolate=HASH->isa('Alien::Build::Interpolate') ok 2 ok 3 ok 4 1..4 } ok 4 - property, default to alien { ok 1 - Alien::Build::Interpolate=HASH->isa('Alien::Build::Interpolate') ok 2 1..2 } ok 5 - has_helper { ok 1 ok 2 ok 3 ok 4 1..4 } 1..5 ok t/alien_build_interpolate_default.t .................. ok 1 - basic usage { ok 1 - Alien::Build::Interpolate::Default=HASH->isa('Alien::Build::Interpolate') # --- !!perl/hash:Alien::Build::Interpolate::Default # classes: {} # helper: # ar: # code: !!perl/code '{ "DUMMY" }' # require: # Config: 0 # bison: # code: ~ # require: # Alien::bison: 0.17 # bzip2: # code: ~ # require: # Alien::Libbz2: 0.04 # cc: # code: !!perl/code '{ "DUMMY" }' # require: # Config: 0 # cmake: # code: !!perl/code '{ "DUMMY" }' # require: # Alien::CMake: 0.07 # cp: # code: !!perl/code '{ "DUMMY" }' # require: # Config: 0 # cwd: # code: !!perl/code '{ "DUMMY" }' # devnull: # code: !!perl/code '{ "DUMMY" }' # flex: # code: ~ # require: # Alien::flex: 0.08 # gmake: # code: ~ # require: # Alien::gmake: 0.11 # install: # code: !!perl/code '{ "DUMMY" }' # require: # Alien::MSYS: 0.07 # ld: # code: !!perl/code '{ "DUMMY" }' # require: # Config: 0 # m4: # code: ~ # require: # Alien::m4: 0.08 # make: # code: !!perl/code '{ "DUMMY" }' # require: # Config: 0 # make_path: # code: !!perl/code '{ "DUMMY" }' # require: # Alien::Build: 1.05 # mkdir_deep: # code: !!perl/code '{ "DUMMY" }' # require: # Alien::Build: 1.04 # nasm: # code: ~ # require: # Alien::nasm: 0.11 # patch: # code: ~ # require: # Alien::patch: 0.09 # perl: # code: !!perl/code '{ "DUMMY" }' # require: # Devel::FindPerl: 0 # pkgconf: # code: ~ # require: # Alien::pkgconf: 0.06 # rm: # code: !!perl/code '{ "DUMMY" }' # require: # Config: 0 # sh: # code: !!perl/code '{ "DUMMY" }' # require: # Alien::MSYS: 0.07 # xz: # code: ~ # require: # Alien::xz: 0.02 1..1 } ok 2 - cwd { ok 1 - %{cwd} is okay # val = /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy 1..1 } ok 3 - mkdir_deep { ok 1 1..1 } ok 4 - make_path { ok 1 1..1 } 1..4 ok t/alien_build_meta.t ................................. ok 1 - basic { ok 1 - alienfile compiles ok 2 - Alien::Build::Meta=HASH->isa('Alien::Build::Meta') 1..2 } 1..1 ok t/alien_build_mm.t ................................... ok 1 - basic { ok 1 - system { ok 1 - Alien::Build::MM=HASH->isa('Alien::Build::MM') ok 2 - Alien::Build::Auto::X0=HASH->isa('Alien::Build') ok 3 - stage dir # stage = /tmp/e3ba4AWeNZ/blib/lib/auto/share/dist/Alien-Foo ok 4 ok 5 - left alien directory ok 6 - left alien.json file 1..6 } ok 2 - share { ok 1 - Alien::Build::MM=HASH->isa('Alien::Build::MM') ok 2 - Alien::Build::Auto::X1=HASH->isa('Alien::Build') ok 3 1..3 } 1..2 } ok 2 - mm_postamble { ok 1 - returned a true value # realclean :: alien_realclean # # alien_realclean: # $(RM_RF) _alien # # alien_prefix : _alien/mm/prefix # # _alien/mm/prefix : # $(FULLPERL) -MAlien::Build::MM=cmd -e prefix $(INSTALLDIRS) $(INSTALLARCHLIB) $(INSTALLSITEARCH) $(INSTALLVENDORARCH) # # alien_version : _alien/mm/version # # _alien/mm/version : _alien/mm/prefix # $(FULLPERL) -MAlien::Build::MM=cmd -e version $(VERSION) # # alien_download : _alien/mm/download # # _alien/mm/download : _alien/mm/prefix _alien/mm/version # $(FULLPERL) -MAlien::Build::MM=cmd -e download # # alien_build : _alien/mm/build # # _alien/mm/build : _alien/mm/download # $(FULLPERL) -MAlien::Build::MM=cmd -e build # # pure_all :: _alien/mm/build # # subdirs-test_dynamic subdirs-test_static subdirs-test :: alien_test # # alien_test : # $(FULLPERL) -MAlien::Build::MM=cmd -e test # # alien_prop : # $(FULLPERL) -MAlien::Build::MM=cmd -e dumpprop # # alien_prop_meta : # $(FULLPERL) -MAlien::Build::MM=cmd -e dumpprop meta # # alien_prop_install : # $(FULLPERL) -MAlien::Build::MM=cmd -e dumpprop install # # alien_prop_runtime : # $(FULLPERL) -MAlien::Build::MM=cmd -e dumpprop runtime # 1..1 } ok 3 - set_prefix { ok 1 - type = perl { # main> prefix /tmp/HCR20Mc1lu/foo/perl/auto/share/dist/Alien-Foo # _alien/mm/prefix ok 1 - touched prefix ok 2 - correct path 1..2 } ok 2 - type = site { # main> prefix /tmp/v8Y77YkG9Z/foo/site/auto/share/dist/Alien-Foo # _alien/mm/prefix ok 1 - touched prefix ok 2 - correct path 1..2 } ok 3 - type = vendor { # main> prefix /tmp/QlaDRpsOHz/foo/vendor/auto/share/dist/Alien-Foo # _alien/mm/prefix ok 1 - touched prefix ok 2 - correct path 1..2 } 1..3 } ok 4 - download + build { # main> prefix /tmp/7urQYL37S9/auto/share/dist/Alien-Foo # _alien/mm/prefix # + IN DOWNLOAD + # Alien::Build> single file, assuming archive # _alien/mm/download ok 1 - touched download ok 2 - download # + IN EXTRACT + # + IN BUILD + # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/6MWSB8_xmO/blib/lib/auto/share/dist/Alien-Foo/_alien # + IN EXTRACT + # _alien/mm/build ok 3 - touched build ok 4 - build 1..4 } ok 5 - patch { ok 1 - patch is defined ok 2 - got the correct directory 1..2 } 1..5 ok t/alien_build_plugin.t ............................... ok 1 - basic { ok 1 - Alien::Build::Plugin=HASH->isa('Alien::Build::Plugin') 1..1 } ok 2 - properties { ok 1 - defaults { ok 1 ok 2 1..2 } ok 2 - override { ok 1 ok 2 1..2 } ok 3 - set { ok 1 ok 2 1..2 } 1..3 } ok 3 - subplugin { ok 1 - warns ok 2 - Alien::Build::Plugin::Foo::Bar=HASH->isa('Alien::Build::Plugin') ok 3 - Alien::Build::Plugin::Foo::Bar=HASH->isa('Alien::Build::Plugin::Foo::Bar') ok 4 ok 5 1..5 } 1..3 ok t/alien_build_plugin_build_autoconf.t ................ ok 1 - basic { ok 1 - Alien::Build::Plugin::Build::Autoconf=HASH->isa('Alien::Build::Plugin') ok 2 - Alien::Build::Plugin::Build::Autoconf=HASH->isa('Alien::Build::Plugin::Build::Autoconf') ok 3 - alienfile compiles ok 4 - %{configure} = ./configure --with-pic ok 5 ok 6 ok 7 ok 8 1..8 } ok 2 - turn off --with-pic { ok 1 ok 2 - alienfile compiles ok 3 - %{configure} = ./configure ok 4 1..4 } ok 3 - out-of-source { ok 1 - alienfile compiles # --- # patch: ~ # prefix: /tmp/nwAmyF3k09/prefix # root: /tmp/nwAmyF3k09/root # stage: /tmp/nwAmyF3k09/stage ok 2 - before build { # %{configure} = ./configure ok 1 1..1 } ok 3 - alien builds okay # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Auto::Nwmyk2::Alienfile> --- # autoconf_prefix: /tmp/nwAmyF3k09/prefix # complete: # download: 1 # download: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar # extract: /tmp/nwAmyF3k09/root/extract_JVCt/foo-1.00 # patch: ~ # prefix: /tmp/nwAmyF3k09/prefix # root: /tmp/nwAmyF3k09/root # stage: /tmp/nwAmyF3k09/stage # Alien::Build::Auto::Nwmyk2::Alienfile> prefix = /tmp/nwAmyF3k09/prefix # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/nwAmyF3k09/root/destdir_zJMO/tmp/nwAmyF3k09/prefix => /tmp/nwAmyF3k09/stage # Alien::Build::Util> Alien::Build> cp /tmp/nwAmyF3k09/root/destdir_zJMO/tmp/nwAmyF3k09/prefix/file2 /tmp/nwAmyF3k09/stage/file2 # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/nwAmyF3k09/stage/_alien # --- # _ab_build_ffi: /tmp/nwAmyF3k09/root/build_A0fg # _ab_build_share: /tmp/nwAmyF3k09/root/build_35Tw # autoconf_prefix: /tmp/nwAmyF3k09/prefix # complete: # download: 1 # download: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar # extract: /tmp/nwAmyF3k09/root/extract_JVCt/foo-1.00 # patch: ~ # prefix: /tmp/nwAmyF3k09/prefix # root: /tmp/nwAmyF3k09/root # stage: /tmp/nwAmyF3k09/stage ok 4 - after build { # %{configure} = /tmp/nwAmyF3k09/root/extract_JVCt/foo-1.00/configure --prefix=/tmp/nwAmyF3k09/prefix ok 1 - matches ok 2 - configure is in the right spot ok 3 - foo.c is in the right spot 1..3 } 1..4 } 1..3 ok t/alien_build_plugin_build_cmake.t ................... skipped: Module 'Alien::cmake3' is not installed t/alien_build_plugin_build_make.t .................... ok 1 - compile { ok 1 - nmake { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - dmake { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - gmake { ok 1 - alienfile compiles 1..1 } ok 4 - umake { ok 1 - alienfile compiles 1..1 } 1..4 } ok 2 - gmake { 1..0 # SKIP test requires GNU Make or Alien::gmake } 1..2 ok t/alien_build_plugin_build_msys.t .................... ok 1 - basic { ok 1 - Alien::Build::Plugin::Build::MSYS=HASH->isa('Alien::Build::Plugin') ok 2 - Alien::Build::Plugin::Build::MSYS=HASH->isa('Alien::Build::Plugin::Build::MSYS') ok 3 - alienfile compiles 1..3 } 1..1 ok t/alien_build_plugin_build_searchdep.t ............... ok 1 - basic { ok 1 - set configure require for self ok 2 - set share require for Env::ShellWords ok 3 - set share require for Alien::libfoo2 # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/V8dy9pzvvI/stage/_alien ok 4 - cflags ok 5 - cflags_static ok 6 - libs ok 7 - libs_static ok 8 - my_CFLAGS ok 9 - my_CXXFLAGS ok 10 - my_LDFLAGS 1..10 } ok 2 - public_I { # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/GYMjWmehlL/stage/_alien ok 1 ok 2 ok 3 ok 4 1..4 } ok 3 - public_l { # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/vJj6y9yDvK/stage/_alien ok 1 ok 2 ok 3 ok 4 1..4 } ok 4 - list { ok 1 - set configure require for self ok 2 - set share require for Env::ShellWords ok 3 - set share require for Alien::libfoo1 ok 4 - set share require for Alien::libfoo2 1..4 } ok 5 - hash { ok 1 - set configure require for self ok 2 - set share require for Env::ShellWords ok 3 - set share require for Alien::libfoo2 1..3 } 1..5 ok t/alien_build_plugin_core_download.t ................. not ok 1 - there should be a test # TODO test not written # Failed test 'there should be a test' # at t/alien_build_plugin_core_download.t line 5. 1..1 ok t/alien_build_plugin_core_ffi.t ...................... ok 1 - basic { # Alien::Build> single file, assuming archive # in build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/Cts16Ih7Qu/root/destdir_rOF5/tmp/Cts16Ih7Qu/prefix => /tmp/Cts16Ih7Qu/stage # Alien::Build::Util> mkdir -p /tmp/Cts16Ih7Qu/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/Cts16Ih7Qu/root/destdir_rOF5/tmp/Cts16Ih7Qu/prefix/lib/libfoo.a /tmp/Cts16Ih7Qu/stage/lib/libfoo.a # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/Cts16Ih7Qu/stage/_alien # in build_ffi DESTDIR = /tmp/Cts16Ih7Qu/root/destdir_qsEY # in gather_ffi # Alien::Build::Plugin::Core::Gather> mirror /tmp/Cts16Ih7Qu/root/destdir_qsEY/tmp/Cts16Ih7Qu/prefix => /tmp/Cts16Ih7Qu/stage # Alien::Build::Util> mkdir -p /tmp/Cts16Ih7Qu/stage/dynamic # Alien::Build::Util> Alien::Build> cp /tmp/Cts16Ih7Qu/root/destdir_qsEY/tmp/Cts16Ih7Qu/prefix/dynamic/libfoo.so /tmp/Cts16Ih7Qu/stage/dynamic/libfoo.so ok 1 - did patch_ffi ok 2 - did build_ffi ok 3 - did gather_ffi ok 4 - has static lib ok 5 - has dynamic lib ok 6 - filter out garbage 1..6 } ok 2 - deprecated { # patch_ffi is deprecated, use ffi { patch ... } } instead at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alien_build_plugin_core_ffi.t line 95. # build_ffi is deprecated, use ffi { build ... } } instead at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alien_build_plugin_core_ffi.t line 106. # gather_ffi is deprecated, use ffi { gather ... } } instead at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alien_build_plugin_core_ffi.t line 112. # build warnings: # Alien::Build> single file, assuming archive # in build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/irLgD_7Doz/root/destdir_4pih/tmp/irLgD_7Doz/prefix => /tmp/irLgD_7Doz/stage # Alien::Build::Util> mkdir -p /tmp/irLgD_7Doz/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/irLgD_7Doz/root/destdir_4pih/tmp/irLgD_7Doz/prefix/lib/libfoo.a /tmp/irLgD_7Doz/stage/lib/libfoo.a # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/irLgD_7Doz/stage/_alien # in build_ffi DESTDIR = /tmp/irLgD_7Doz/root/destdir_T4Hh # in gather_ffi # Alien::Build::Plugin::Core::Gather> mirror /tmp/irLgD_7Doz/root/destdir_T4Hh/tmp/irLgD_7Doz/prefix => /tmp/irLgD_7Doz/stage # Alien::Build::Util> mkdir -p /tmp/irLgD_7Doz/stage/dynamic # Alien::Build::Util> Alien::Build> cp /tmp/irLgD_7Doz/root/destdir_T4Hh/tmp/irLgD_7Doz/prefix/dynamic/libfoo.so /tmp/irLgD_7Doz/stage/dynamic/libfoo.so ok 1 - did patch_ffi ok 2 - did build_ffi ok 3 - did gather_ffi ok 4 - has static lib ok 5 - has dynamic lib ok 6 - filter out garbage 1..6 } 1..2 ok t/alien_build_plugin_core_gather.t ................... ok 1 - destdir filter { # Alien::Build> single file, assuming archive # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/6Kk6tBTYbx/root/destdir_2R8O/tmp/6Kk6tBTYbx/prefix => /tmp/6Kk6tBTYbx/stage # Alien::Build::Util> mkdir -p /tmp/6Kk6tBTYbx/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/6Kk6tBTYbx/root/destdir_2R8O/tmp/6Kk6tBTYbx/prefix/lib/libfoo.a /tmp/6Kk6tBTYbx/stage/lib/libfoo.a # Alien::Build::Util> mkdir -p /tmp/6Kk6tBTYbx/stage/bin # Alien::Build::Util> Alien::Build> cp /tmp/6Kk6tBTYbx/root/destdir_2R8O/tmp/6Kk6tBTYbx/prefix/bin/foo.exe /tmp/6Kk6tBTYbx/stage/bin/foo.exe # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/6Kk6tBTYbx/stage/_alien # --- # _ab_build_ffi: /tmp/6Kk6tBTYbx/root/build_SdUy # _ab_build_share: /tmp/6Kk6tBTYbx/root/build_a9AA # complete: # download: 1 # download: /tmp/6Kk6tBTYbx/root/download_IrLm/foo-1.00.tar.gz # extract: /tmp/6Kk6tBTYbx/root/build_a9AA # patch: ~ # prefix: /tmp/6Kk6tBTYbx/prefix # root: /tmp/6Kk6tBTYbx/root # stage: /tmp/6Kk6tBTYbx/stage ok 1 - bin/foo.exe ok 2 - lib/libfoo.a ok 3 - etc/foorc 1..3 } ok 2 - patch { # Alien::Build> single file, assuming archive # prefix = /tmp/lmAhmv3S5M/stage # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/lmAhmv3S5M/stage/_alien ok 1 # --- # _ab_build_ffi: /tmp/lmAhmv3S5M/root/build_oQ4w # _ab_build_share: /tmp/lmAhmv3S5M/root/build_0Ls_ # complete: # download: 1 # download: /tmp/lmAhmv3S5M/root/download_WViX/foo-1.00.tar.gz # extract: /tmp/lmAhmv3S5M/root/build_0Ls_ # patch: /tmp/DQcRjpQFAc # prefix: /tmp/lmAhmv3S5M/stage # root: /tmp/lmAhmv3S5M/root # stage: /tmp/lmAhmv3S5M/stage ok 2 1..2 } ok 3 - pkg-config path during gather { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::Auto::Xka2::Alienfile> prefix = /tmp/KRxJW1kaJO/stage # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/KRxJW1kaJO/stage/_alien ok 3 - has arch and arch-indy pkg-config paths 1..3 } 1..3 ok t/alien_build_plugin_core_legacy.t ................... ok 1 - basic { ok 1 - cflags ok 2 - libs ok 3 - cflags_static ok 4 - libs_static ok 5 - legacy hash 1..5 } 1..1 ok t/alien_build_plugin_core_override.t ................. ok 1 - basic { ok 1 - default { ok 1 - system { ok 1 - alienfile compiles ok 2 - alien install type is system 1..2 } ok 2 - share { ok 1 - alienfile compiles ok 2 - alien install type is share 1..2 } ok 3 - die { ok 1 - alienfile compiles ok 2 - alien install type is share 1..2 } 1..3 } ok 2 - share { ok 1 - alienfile compiles ok 2 - alien install type is share 1..2 } ok 3 - system { ok 1 - probe okay { ok 1 - alienfile compiles ok 2 - alien install type is system 1..2 } ok 2 - probe share { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - probe exception { ok 1 - alienfile compiles ok 2 1..2 } 1..3 } 1..3 } ok 2 - override the override { ok 1 - syste, share { ok 1 - alienfile compiles ok 2 - alien install type is share 1..2 } ok 2 - share, system { ok 1 - alienfile compiles ok 2 - alien install type is system 1..2 } 1..2 } 1..2 ok t/alien_build_plugin_core_setup.t .................... ok 1 - compiler type { ok 1 - alienfile compiles ok 2 - has a compiler type # compiler type = unix 1..2 } 1..1 ok t/alien_build_plugin_core_tail.t ..................... ok 1 - out-of-source build { ok 1 - alienfile compiles ok 2 1..2 } 1..1 ok t/alien_build_plugin_decode_dirlisting.t ............. ok 1 - updates requires { ok 1 ok 2 # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Blank0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/blank/alienfile # hook: # decode: # - !!perl/code '{ "DUMMY" }' # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # require: # any: {} # share: # File::Listing: 0 # URI: 0 # system: {} 1..2 } ok 2 - decode { ok 1 - parse corpus/dir/ftp.list { ok 1 # url = ftp://example.test/foo/bar/foo-1.00 # url = ftp://example.test/foo/bar/foo-1.00.tar # url = ftp://example.test/foo/bar/foo-1.00.tar.Z # url = ftp://example.test/foo/bar/foo-1.00.tar.bz2 # url = ftp://example.test/foo/bar/foo-1.00.tar.gz # url = ftp://example.test/foo/bar/foo-1.00.tar.xz # url = ftp://example.test/foo/bar/foo-1.00.zip 1..1 } ok 2 - parse corpus/dir/ftp_abs.list { ok 1 # url = ftp://example.test/xyz/abc/foo-1.00 # url = ftp://example.test/xyz/abc/foo-1.00.tar # url = ftp://example.test/xyz/abc/foo-1.00.tar.Z # url = ftp://example.test/xyz/abc/foo-1.00.tar.bz2 # url = ftp://example.test/xyz/abc/foo-1.00.tar.gz # url = ftp://example.test/xyz/abc/foo-1.00.tar.xz # url = ftp://example.test/xyz/abc/foo-1.00.zip 1..1 } 1..2 } 1..2 ok t/alien_build_plugin_decode_dirlistingftpcopy.t ...... ok 1 - updates requires { ok 1 ok 2 # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Blank0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/blank/alienfile # hook: # decode: # - !!perl/code '{ "DUMMY" }' # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # require: # any: {} # share: # File::Listing: 0 # URI: 0 # system: {} 1..2 } ok 2 - decode { ok 1 - parse corpus/dir/ftp.list { ok 1 # url = ftp://example.test/foo/bar/foo-1.00 # url = ftp://example.test/foo/bar/foo-1.00.tar # url = ftp://example.test/foo/bar/foo-1.00.tar.Z # url = ftp://example.test/foo/bar/foo-1.00.tar.bz2 # url = ftp://example.test/foo/bar/foo-1.00.tar.gz # url = ftp://example.test/foo/bar/foo-1.00.tar.xz # url = ftp://example.test/foo/bar/foo-1.00.zip 1..1 } ok 2 - parse corpus/dir/ftp_abs.list { ok 1 # url = ftp://example.test/xyz/abc/foo-1.00 # url = ftp://example.test/xyz/abc/foo-1.00.tar # url = ftp://example.test/xyz/abc/foo-1.00.tar.Z # url = ftp://example.test/xyz/abc/foo-1.00.tar.bz2 # url = ftp://example.test/xyz/abc/foo-1.00.tar.gz # url = ftp://example.test/xyz/abc/foo-1.00.tar.xz # url = ftp://example.test/xyz/abc/foo-1.00.zip 1..1 } 1..2 } 1..2 ok t/alien_build_plugin_decode_html.t ................... ok 1 - updates requires { ok 1 ok 2 # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Blank0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/blank/alienfile # hook: # decode: # - !!perl/code '{ "DUMMY" }' # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # require: # any: {} # share: # HTML::LinkExtor: 0 # URI: 0 # URI::Escape: 0 # system: {} 1..2 } ok 2 - decode { ok 1 - parse corpus/dir/http_rel.html { ok 1 # filename = foo-1.00 # filename = foo-1.00.tar # filename = foo-1.00.tar.Z # filename = foo-1.00.tar.bz2 # filename = foo-1.00.tar.gz # filename = foo-1.00.tar.xz # filename = foo-1.00.tgz # filename = foo-1.00.zip # url = http://example.test/foo/bar/foo-1.00/ # url = http://example.test/foo/bar/foo-1.00.tar # url = http://example.test/foo/bar/foo-1.00.tar.Z # url = http://example.test/foo/bar/foo-1.00.tar.bz2 # url = http://example.test/foo/bar/foo-1.00.tar.gz # url = http://example.test/foo/bar/foo-1.00.tar.xz # url = http://example.test/foo/bar/foo-1.00.tgz # url = http://example.test/foo/bar/foo-1.00.zip 1..1 } ok 2 - parse corpus/dir/file.html { ok 1 # filename = foo-1.00 # filename = foo-1.00.tar # filename = foo-1.00.tar.Z # filename = foo-1.00.tar.bz2 # filename = foo-1.00.tar.gz # filename = foo-1.00.tar.xz # filename = foo-1.00.tgz # filename = foo-1.00.zip # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00/ # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00.tar # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00.tar.Z # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00.tar.bz2 # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00.tar.gz # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00.tar.xz # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00.tgz # url = file:///home/ollisg/dev/Alien-Build/corpus/dist/foo-1.00.zip 1..1 } ok 3 - parse corpus/dir/http.html { ok 1 # filename = foo-1.00 # filename = foo-1.00.tar # filename = foo-1.00.tar.Z # filename = foo-1.00.tar.bz2 # filename = foo-1.00.tar.gz # filename = foo-1.00.tar.xz # filename = foo-1.00.tgz # filename = foo-1.00.zip # url = http://example.test/corpus/dist/foo-1.00/ # url = http://example.test/corpus/dist/foo-1.00.tar # url = http://example.test/corpus/dist/foo-1.00.tar.Z # url = http://example.test/corpus/dist/foo-1.00.tar.bz2 # url = http://example.test/corpus/dist/foo-1.00.tar.gz # url = http://example.test/corpus/dist/foo-1.00.tar.xz # url = http://example.test/corpus/dist/foo-1.00.tgz # url = http://example.test/corpus/dist/foo-1.00.zip 1..1 } 1..3 } 1..2 ok t/alien_build_plugin_download_negotiate.t ............ ok 1 - pick fetch { ok 1 - http { ok 1 ok 2 1..2 } ok 2 - https { ok 1 ok 2 1..2 } ok 3 - ftp direct { ok 1 ok 2 1..2 } ok 4 - ftp direct proxy { ok 1 ok 2 1..2 } ok 5 - local file URI { ok 1 ok 2 1..2 } ok 6 - local file { ok 1 ok 2 1..2 } ok 7 - bootstrap ssl { ok 1 - without Net::SSLeay { # Devel::Hide hides Net/SSLeay.pm ok 1 1..1 } ok 2 - with Net::SSLeay { ok 1 1..1 } 1..2 } ok 8 - bootstrap ssl http { ok 1 1..1 } 1..8 } ok 2 - get the version { # Alien::Build::Plugin::Core::Download> candidate */data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.gz # Alien::Build::Plugin::Core::Download> setting version based on archive to 1.00 # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar.gz ok 1 ok 2 - tarball downloaded # filename = /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.gz ok 3 - content of file is the same 1..3 } ok 3 - prefer property { ok 1 - default (true) { ok 1 - alienfile compiles ok 2 - loaded Prefer::SortVersions exactly once 1..2 } ok 2 - false { ok 1 - alienfile compiles ok 2 - didn't load Prefer::SortVersions 1..2 } ok 3 - code reference { ok 1 - alienfile compiles ok 2 1..2 } 1..3 } 1..3 ok t/alien_build_plugin_extract_archivetar.t ............ ok 1 - available { ok 1 - zip { ok 1 1..1 } ok 2 - tar { ok 1 1..1 } ok 3 - tar.gz { ok 1 - has it { # has_it = 1 ok 1 1..1 } ok 2 - does not { # has_it = 0 ok 1 1..1 } 1..2 } ok 4 - tar.bz2 { ok 1 - has it { # TODO detection in Archive::Tar is sometimes broken # has_it = 1 ok 1 # 1..1 } ok 2 - does not { # TODO detection in Archive::Tar is sometimes broken # has_it = 0 ok 1 # 1..1 } 1..2 } 1..4 } ok 2 - archive { ok 1 - with extension tar { ok 1 ok 2 - directory created # dir = /tmp/jc1ktiQyMA/root/build_OCPc/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 2 - with extension tar.bz2 { ok 1 ok 2 - directory created # dir = /tmp/mctceV2mby/root/build_CcFE/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 3 - with extension tar.gz { ok 1 ok 2 - directory created # dir = /tmp/n7cFwY4Y8R/root/build_x4lH/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } 1..3 } ok 3 - archive with pax_global_header { ok 1 - alienfile compiles ok 2 - alien extraction ok 3 - file content matches 1..3 } 1..3 ok t/alien_build_plugin_extract_archivezip.t ............ ok 1 - available { ok 1 - tar is always false ok 2 - with Archive::Zip { ok 1 1..1 } ok 3 - with Archive::Zip { # Devel::Hide hides Archive/Zip.pm ok 1 1..1 } 1..3 } ok 2 - archive { ok 1 - with extension zip { 1..0 # SKIP configuration does not support zip } 1..1 } 1..2 ok t/alien_build_plugin_extract_commandline.t ........... ok 1 - archive { ok 1 - command probe { # gzip = gzip # bzip2 = bzip2 # xz = xz # tar = tar # unzip = unzip ok 1 1..1 } ok 2 - with extension tar { # archive = /tmp/0l91xBP5kA/foo-1.00.tar ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/0l91xBP5kA/foo-1.00.tar ok 2 - directory created # dir = /tmp/vV9z1_fWCx/root/build_5lE8/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 3 - with extension tar.Z { # archive = /tmp/JqTeftDU8N/foo-1.00.tar.Z ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> copy /tmp/JqTeftDU8N/foo-1.00.tar.Z => /tmp/JqTeftDU8N/xfoo-1.00.tar.Z # Alien::Build::Plugin::Extract::CommandLine> + gzip -d /tmp/JqTeftDU8N/xfoo-1.00.tar.Z # Alien::Build::Plugin::Extract::CommandLine> move /tmp/JqTeftDU8N/xfoo-1.00.tar => /tmp/JqTeftDU8N/foo-1.00.tar # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/JqTeftDU8N/foo-1.00.tar ok 2 - directory created # dir = /tmp/vV9z1_fWCx/root/build_SXB3/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 4 - with extension tar.bz2 { # archive = /tmp/i9QpsTAYBq/foo-1.00.tar.bz2 ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/i9QpsTAYBq/foo-1.00.tar.bz2 ok 2 - directory created # dir = /tmp/vV9z1_fWCx/root/build_vi25/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 5 - with extension tar.gz { # archive = /tmp/l531jTeA9S/foo-1.00.tar.gz ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/l531jTeA9S/foo-1.00.tar.gz ok 2 - directory created # dir = /tmp/vV9z1_fWCx/root/build_BxwA/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 6 - with extension tar.xz { # archive = /tmp/CWZ8BXHnf1/foo-1.00.tar.xz ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/CWZ8BXHnf1/foo-1.00.tar.xz ok 2 - directory created # dir = /tmp/vV9z1_fWCx/root/build_mV7P/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 7 - with extension zip { # archive = /tmp/VU6a0Vzt3x/foo-1.00.zip ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + unzip /tmp/VU6a0Vzt3x/foo-1.00.zip # Archive: /tmp/VU6a0Vzt3x/foo-1.00.zip # extracting: configure # inflating: foo.c ok 2 - directory created # dir = /tmp/vV9z1_fWCx/root/build_WaM0 ok 3 - configure exists ok 4 - foo.c exists 1..4 } 1..7 } ok 2 - archive with pax_global_header { ok 1 - alienfile compiles ok 2 - alien extraction ok 3 - file content matches 1..3 } 1..2 ok t/alien_build_plugin_extract_commandline__tar_can.t .. ok 1 - tar can { ok 1 - can read from with readonly $_ 1..1 } 1..1 ok t/alien_build_plugin_extract_directory.t ............. ok 1 - handles { ok 1 ok 2 1..2 } ok 2 - available { ok 1 ok 2 1..2 } ok 3 - basic { ok 1 - directory created # dir = /tmp/XS_efruUE_/root/build_K9KM ok 2 - configure exists ok 3 - foo.c exists 1..3 } 1..3 ok t/alien_build_plugin_extract_negotiate.t ............. ok 1 - basic { # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar ok 1 - extracted to directory # dir = /tmp/SVdl3sGyNb/root/build_CaRl/foo-1.00 ok 2 - created file configure ok 3 - content matches ok 4 - created file foo.c ok 5 - content matches 1..5 } ok 2 - picks { ok 1 - we have a pick # the pick is: Extract::ArchiveTar ok 2 - we have a pick # the pick is: Extract::ArchiveTar ok 3 - we have a pick # the pick is: Extract::ArchiveTar ok 4 - we have a pick # the pick is: Extract::ArchiveZip ok 5 - we have a pick # the pick is: Extract::Directory ok 6 - tar { ok 1 - plain { ok 1 1..1 } ok 2 - tar.gz { # tar.gz is available = 1 ok 1 - when avail # tar.gz is available = ok 2 - when not 1..2 } 1..2 } ok 7 - zip { ok 1 - nada { ok 1 1..1 } ok 2 - just Archive::Zip { ok 1 1..1 } ok 3 - just info zip { ok 1 1..1 } ok 4 - both { ok 1 1..1 } 1..4 } 1..7 } 1..2 ok t/alien_build_plugin_fetch_curlcommand.t ............. ok 1 - fetch from http { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - directory listing { # Alien::Build::Plugin::Fetch::CurlCommand> + /bin/curl -L -f -o content -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/html_test.html ok 1 - list 1..1 } ok 4 - file { # Alien::Build::Plugin::Fetch::CurlCommand> + /bin/curl -L -f -o content -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.01.tar ok 1 - file meta ok 2 - file content 1..2 } ok 5 - 404 { # Alien::Build::Plugin::Fetch::CurlCommand> + /bin/curl -L -f -o content -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html ok 1 - throws error # error is: error in curl fetch: curl: (22) The requested URL returned error: 404 Not Found at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/Fetch/CurlCommand.pm line 170. 1..1 } 1..5 } 1..1 ok t/alien_build_plugin_fetch_httptiny.t ................ ok 1 - updates requires { ok 1 ok 2 # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Blank0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/blank/alienfile # hook: # fetch: # - !!perl/code '{ "DUMMY" }' # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # start_url: http://example.test/ # require: # any: {} # share: # HTTP::Tiny: 0.044 # URI: 0 # system: {} 1..2 } ok 2 - use start_url { ok 1 - sets start_url { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - uses start_url { ok 1 - alienfile compiles ok 2 1..2 } 1..2 } ok 3 - fetch { 1..0 # SKIP no httpd.json } 1..3 ok t/alien_build_plugin_fetch_local.t ................... ok 1 - basic { ok 1 - default { # --- # filename: foo-1.00.tar # path: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar # tmp: 0 # type: file ok 1 - response hash ok 2 - path exists as file 1..2 } ok 2 - listing { # --- # list: # - filename: foo-1.00 # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00 # - filename: foo-1.00.tar # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar # - filename: foo-1.00.tar.Z # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.Z # - filename: foo-1.00.tar.bz2 # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.bz2 # - filename: foo-1.00.tar.gz # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.gz # - filename: foo-1.00.tar.xz # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.xz # - filename: foo-1.00.zip # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.zip # type: list ok 1 - response hash ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 3 - file { # --- # filename: foo-1.00.tar.gz # path: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.gz # tmp: 0 # type: file ok 1 - response hash ok 2 - path exists as file 1..2 } 1..3 } ok 2 - use start_url { ok 1 - sets start_url { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - uses start_url { ok 1 - alienfile compiles ok 2 1..2 } 1..2 } ok 3 - uri { ok 1 - listing { # --- # list: # - filename: foo-1.00 # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00 # - filename: foo-1.00.tar # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar # - filename: foo-1.00.tar.Z # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.Z # - filename: foo-1.00.tar.bz2 # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.bz2 # - filename: foo-1.00.tar.gz # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.gz # - filename: foo-1.00.tar.xz # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.xz # - filename: foo-1.00.zip # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.zip # type: list ok 1 - response hash ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 2 - file { # --- # filename: foo-1.00.tar.gz # path: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.gz # tmp: 0 # type: file ok 1 - response hash ok 2 - path exists as file 1..2 } 1..2 } 1..3 ok t/alien_build_plugin_fetch_localdir.t ................ ok 1 - alienfile compiles # Alien::Build::Plugin::Core::Download> downloaded foo-1.00 ok 2 - did not throw exception ok 3 - download is a directory # download = /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00 ok 4 - configure is a file ok 5 - foo.c is a file 1..5 ok t/alien_build_plugin_fetch_lwp.t ..................... ok 1 - updates requires { ok 1 # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Blank0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/blank/alienfile # hook: # fetch: # - !!perl/code '{ "DUMMY" }' # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # start_url: file://localhost/ # require: # any: {} # share: # LWP::UserAgent: 0 # system: {} 1..1 } ok 2 - use start_url { ok 1 - sets start_url { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - uses start_url { ok 1 - alienfile compiles ok 2 1..2 } 1..2 } ok 3 - fetch { ok 1 - with http { 1..0 # SKIP no httpd.json } ok 2 - with ftp { 1..0 # SKIP no ftpd.json } ok 3 - with file { ok 1 - listing { ok 1 1..1 } ok 2 - file { # url = file:///data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/foo-1.00.tar.gz ok 1 1..1 } ok 3 - not found { # url = file:///data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/dist/bogus.tar.gz ok 1 1..1 } 1..3 } 1..3 } 1..3 ok t/alien_build_plugin_fetch_netftp.t .................. ok 1 - updates requires { ok 1 ok 2 # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Blank0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/blank/alienfile # hook: # fetch: # - !!perl/code '{ "DUMMY" }' # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # start_url: ftp://localhost/ # require: # any: {} # share: # Net::FTP: 0 # URI: 0 # system: {} 1..2 } ok 2 - use start_url { ok 1 - sets start_url { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - uses start_url { ok 1 - alienfile compiles ok 2 1..2 } 1..2 } ok 3 - fetch { 1..0 # SKIP no ftpd.json } 1..3 ok t/alien_build_plugin_fetch_wget.t .................... ok 1 - fetch from http { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - html { # Alien::Build::Plugin::Fetch::Wget> + /bin/wget -k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/html_test.html ok 1 - list 1..1 } ok 4 - file { # Alien::Build::Plugin::Fetch::Wget> + /bin/wget -k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar ok 1 - file meta ok 2 - file content 1..2 } ok 5 - 404 { # Alien::Build::Plugin::Fetch::Wget> + /bin/wget -k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/bogus.html ok 1 - throws error # error is: error in wget fetch: Converted links in 0 files in 0 seconds. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/Fetch/Wget.pm line 84. 1..1 } 1..5 } 1..1 ok t/alien_build_plugin_gather_isolatedynamic.t ......... ok 1 - basic { ok 1 - less indirect { # Alien::Build> single file, assuming archive # in build # Alien::Build::Plugin::Gather::IsolateDynamic> Isolating dynamic libraries ... # Alien::Build::Plugin::Gather::IsolateDynamic> move bin/foo.dll => dynamic/foo.dll # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/libfoo.bundle => dynamic/libfoo.bundle # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/libfoo.dylib => dynamic/libfoo.dylib # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/libfoo.la => dynamic/libfoo.la # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/foo.dll.a => dynamic/foo.dll.a # Alien::Build::Plugin::Gather::IsolateDynamic> Done! # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/ujj9hEQXsm/stage/_alien ok 1 - correct: lib/libfoo.a ok 2 - correct: bin/foo ok 3 - correct: bin/foo.exe ok 4 - moved: lib/libfoo.dylib ok 5 - correct: dynamic/libfoo.dylib ok 6 - moved: lib/libfoo.bundle ok 7 - correct: dynamic/libfoo.bundle ok 8 - moved: lib/libfoo.la ok 9 - correct: dynamic/libfoo.la ok 10 - moved: lib/foo.dll.a ok 11 - correct: dynamic/foo.dll.a 1..11 } ok 2 - destdir { # Alien::Build> single file, assuming archive # in build # Alien::Build::Plugin::Gather::IsolateDynamic> Isolating dynamic libraries ... # Alien::Build::Plugin::Gather::IsolateDynamic> move bin/foo.dll => dynamic/foo.dll # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/libfoo.bundle => dynamic/libfoo.bundle # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/libfoo.dylib => dynamic/libfoo.dylib # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/libfoo.la => dynamic/libfoo.la # Alien::Build::Plugin::Gather::IsolateDynamic> move lib/foo.dll.a => dynamic/foo.dll.a # Alien::Build::Plugin::Gather::IsolateDynamic> Done! # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix => /tmp/OQq1K4apXf/stage # Alien::Build::Util> mkdir -p /tmp/OQq1K4apXf/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/lib/libfoo.a /tmp/OQq1K4apXf/stage/lib/libfoo.a # Alien::Build::Util> mkdir -p /tmp/OQq1K4apXf/stage/bin # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/bin/foo.exe /tmp/OQq1K4apXf/stage/bin/foo.exe # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/bin/foo /tmp/OQq1K4apXf/stage/bin/foo # Alien::Build::Util> mkdir -p /tmp/OQq1K4apXf/stage/dynamic # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/dynamic/foo.dll /tmp/OQq1K4apXf/stage/dynamic/foo.dll # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/dynamic/libfoo.bundle /tmp/OQq1K4apXf/stage/dynamic/libfoo.bundle # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/dynamic/libfoo.dylib /tmp/OQq1K4apXf/stage/dynamic/libfoo.dylib # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/dynamic/libfoo.la /tmp/OQq1K4apXf/stage/dynamic/libfoo.la # Alien::Build::Util> Alien::Build> cp /tmp/OQq1K4apXf/root/destdir_P07z/tmp/OQq1K4apXf/prefix/dynamic/foo.dll.a /tmp/OQq1K4apXf/stage/dynamic/foo.dll.a # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/OQq1K4apXf/stage/_alien ok 1 - correct: lib/libfoo.a ok 2 - correct: bin/foo ok 3 - correct: bin/foo.exe ok 4 - moved: lib/libfoo.dylib ok 5 - correct: dynamic/libfoo.dylib ok 6 - moved: lib/libfoo.bundle ok 7 - correct: dynamic/libfoo.bundle ok 8 - moved: lib/libfoo.la ok 9 - correct: dynamic/libfoo.la ok 10 - moved: lib/foo.dll.a ok 11 - correct: dynamic/foo.dll.a 1..11 } 1..2 } 1..1 ok t/alien_build_plugin_meta.t .......................... ok 1 - basic { ok 1 - Alien::Build::PluginMeta=HASH->isa('Alien::Build::PluginMeta') 1..1 } 1..1 ok t/alien_build_plugin_pkgconfig_commandline.t ......... ok 1 - has bin_name # it be pkg-config # PKG_CONFIG_PATH=/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/lib/pkgconfig ok 2 - available { ok 1 - no command line { # which: undef # which: pkgconf N/A # which: pkg-config N/A ok 1 1..1 } ok 2 - pkg-config { # which: undef # which: pkgconf N/A # which: pkg-config => /usr/bin/pkg-config ok 1 1..1 } ok 3 - pkgconf { # which: undef # which: pkgconf => /usr/bin/pkgconf ok 1 1..1 } ok 4 - PKG_CONFIG { # which: foo-pkg-config => /usr/bin/foo-pkg-config ok 1 1..1 } 1..4 } ok 3 - system not available { # Alien::Build::CommandSequence> + pkg-config --exists bogus # Alien::Build> error in probe (will do a share install): external command failed at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/CommandSequence.pm line 71. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 1 1..1 } ok 4 - system available, wrong version { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --atleast-version=1.2.4 foo # Alien::Build> error in probe (will do a share install): external command failed at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/CommandSequence.pm line 71. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 1 1..1 } ok 5 - system available, okay { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --atleast-version=1.2.3 foo ok 1 # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --cflags foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --libs foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --cflags foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --libs foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/XuDSUoNUKN/stage/_alien ok 2 # cflags_static = -fPIC -I/test/include/foo ok 3 1..3 } ok 6 - system multiple { ok 1 - all found in system { ok 1 - alienfile compiles ok 2 - alien install type is system ok 3 - alien builds okay # Alien::Build::CommandSequence> + pkg-config --exists xor # Alien::Build::CommandSequence> + pkg-config --exists xor-chillout # Alien::Build::CommandSequence> + pkg-config --cflags xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --cflags xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --cflags xor-chillout # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --libs xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --libs xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --libs xor-chillout # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --modversion xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --modversion xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --modversion xor-chillout # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --cflags xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --cflags xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --cflags xor-chillout # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --libs xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --libs xor # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --libs xor-chillout # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/4uynO9wUWe/stage/_alien # --- # alien_build_version: 1.48 # alt: # xor: # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor ' # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # version: 4.2.1 # xor-chillout: # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor ' # libs: '-L/test/lib -lxor-chillout ' # libs_static: '-L/test/lib -lxor-chillout ' # version: 4.2.2 # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor ' # distdir: /tmp/4uynO9wUWe/prefix # install_type: system # legacy: # finished_installing: 1 # install_type: system # name: xor # original_prefix: /tmp/4uynO9wUWe/prefix # version: 4.2.1 # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # prefix: /tmp/4uynO9wUWe/prefix # version: 4.2.1 ok 4 1..4 } 1..1 } ok 7 - system rewrite { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::CommandSequence> + pkg-config --exists foo-foo # Alien::Build::CommandSequence> + pkg-config --cflags foo-foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --libs foo-foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --modversion foo-foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --cflags foo-foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::CommandSequence> + pkg-config --static --libs foo-foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/V1_UEKrbvZ/root/destdir_8oK2/tmp/V1_UEKrbvZ/prefix => /tmp/V1_UEKrbvZ/stage # Alien::Build::Util> mkdir -p /tmp/V1_UEKrbvZ/stage/include # Alien::Build::Util> Alien::Build> cp /tmp/V1_UEKrbvZ/root/destdir_8oK2/tmp/V1_UEKrbvZ/prefix/include/foofoo.h /tmp/V1_UEKrbvZ/stage/include/foofoo.h # Alien::Build::Util> mkdir -p /tmp/V1_UEKrbvZ/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/V1_UEKrbvZ/root/destdir_8oK2/tmp/V1_UEKrbvZ/prefix/lib/libfoofoo.a /tmp/V1_UEKrbvZ/stage/lib/libfoofoo.a # Alien::Build::Util> mkdir -p /tmp/V1_UEKrbvZ/stage/lib/pkgconfig # Alien::Build::Util> Alien::Build> cp /tmp/V1_UEKrbvZ/root/destdir_8oK2/tmp/V1_UEKrbvZ/prefix/lib/pkgconfig/foo-foo.pc /tmp/V1_UEKrbvZ/stage/lib/pkgconfig/foo-foo.pc # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/V1_UEKrbvZ/stage/_alien ok 4 - test from stage { ok 1 - inc dir exists # inc = /tmp/V1_UEKrbvZ/prefix/include ok 2 - libfoofoo.a ok 3 - lib dir exists # lib = /tmp/V1_UEKrbvZ/prefix/lib ok 4 - libfoofoo.a 1..4 } # clean: rm: /tmp/V1_UEKrbvZ/stage # clean: rm: /tmp/V1_UEKrbvZ/alienfile # clean: rm: /tmp/V1_UEKrbvZ/root ok 5 - test from alien { ok 1 - inc dir exists # inc = /tmp/V1_UEKrbvZ/prefix/include ok 2 - libfoofoo.a ok 3 - lib dir exists # lib = /tmp/V1_UEKrbvZ/prefix/lib ok 4 - libfoofoo.a 1..4 } 1..5 } ok 8 - set env { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::CommandSequence> + pkg-config --exists totally-bogus-pkg-config-name # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Auto::Pncej5::Alienfile> PKG_CONFIG = pkg-config # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/pn_2cT5ejV/stage/_alien 1..2 } 1..8 ok t/alien_build_plugin_pkgconfig_libpkgconf.t .......... ok 1 - available { ok 1 - new enough { ok 1 1..1 } ok 2 - too old! { ok 1 1..1 } 1..2 } ok 2 - Loaded PkgConfig::LibPkgConf::Client # inc=/data/fly2400/cpanfly-5.24/var/megalib/PkgConfig/LibPkgConf/Client.pm ok 3 - Loaded PkgConfig::LibPkgConf::Util # inc=/data/fly2400/cpanfly-5.24/var/megalib/PkgConfig/LibPkgConf/Util.pm # PKG_CONFIG_PATH=/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/lib/pkgconfig ok 4 - system not available { # Alien::Build> error in probe (will do a share install): package bogus not found at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 69. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 1 1..1 } ok 5 - system available, wrong version { # Alien::Build> error in probe (will do a share install): package foo is not recent enough at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 75. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 1 1..1 } ok 6 - system available, okay { # ok 1 # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/Il3pv369LT/stage/_alien ok 2 ok 3 1..3 } ok 7 - system multiple { ok 1 - all found in system { ok 1 - alienfile compiles ok 2 - alien install type is system ok 3 - alien builds okay # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/G8Vtp0tDwi/stage/_alien # --- # alien_build_version: 1.48 # alt: # xor: # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor -DXOR_STATIC ' # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # version: 4.2.1 # xor-chillout: # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor -DXOR_STATIC ' # libs: '-L/test/lib -lxor-chillout ' # libs_static: '-L/test/lib -lxor-chillout ' # version: 4.2.2 # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor -DXOR_STATIC ' # distdir: /tmp/G8Vtp0tDwi/prefix # install_type: system # legacy: # finished_installing: 1 # install_type: system # name: xor # original_prefix: /tmp/G8Vtp0tDwi/prefix # version: 4.2.1 # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # prefix: /tmp/G8Vtp0tDwi/prefix # version: 4.2.1 ok 4 1..4 } 1..1 } ok 8 - prereqs { ok 1 - are specified when user asks for plugin directly { ok 1 - alienfile compiles ok 2 - prereqs 1..2 } ok 2 - minimum version requires util module { ok 1 - alienfile compiles ok 2 - prereqs 1..2 } ok 3 - are not specified when user asks for plugin IN-directly { # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - alienfile compiles ok 2 - prereqs 1..2 } 1..3 } ok 9 - set env { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Auto::Xlh8::Alienfile> PKG_CONFIG = pkg-config # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/BxlAhCHT2V/stage/_alien 1..2 } 1..9 ok t/alien_build_plugin_pkgconfig_makestatic.t .......... ok 1 - recursive { # Alien::Build> error in probe (will do a share install): package foo1 not found at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 76. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. # Alien::Build> single file, assuming archive # Alien::Build::Plugin::PkgConfig::MakeStatic> converting /tmp/o5es8n9uNd/stage/lib/pkgconfig/bar1.pc to static # Alien::Build::Plugin::PkgConfig::MakeStatic> converting /tmp/o5es8n9uNd/stage/lib/pkgconfig/foo1.pc to static # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/o5es8n9uNd/stage/_alien ok 1 1..1 } 1..1 ok t/alien_build_plugin_pkgconfig_negotiate.t ........... ok 1 - pick { ok 1 - has a pick # pick = PkgConfig::LibPkgConf 1..1 } ok 2 - override { ok 1 - PkgConfig::PP { ok 1 - minimum_version = undef { ok 1 - alienfile compiles # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP ok 2 - arguments to subplugin are correct 1..2 } ok 2 - minimum_version = 1.2.3 { ok 1 - alienfile compiles # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP ok 2 - arguments to subplugin are correct 1..2 } 1..2 } ok 2 - PkgConfig::LibPkgConf { ok 1 - minimum_version = undef { ok 1 - alienfile compiles # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::LibPkgConf ok 2 - arguments to subplugin are correct 1..2 } ok 2 - minimum_version = 1.2.3 { ok 1 - alienfile compiles # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::LibPkgConf ok 2 - arguments to subplugin are correct 1..2 } 1..2 } ok 3 - PkgConfig::CommandLine { ok 1 - minimum_version = undef { ok 1 - alienfile compiles # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::CommandLine ok 2 - arguments to subplugin are correct 1..2 } ok 2 - minimum_version = 1.2.3 { ok 1 - alienfile compiles # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::CommandLine ok 2 - arguments to subplugin are correct 1..2 } 1..2 } 1..3 } ok 3 - list of pkg_name { # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - alienfile compiles ok 2 - passes pkg_name correctly ok 3 - sets prereq 1..3 } 1..3 ok t/alien_build_plugin_pkgconfig_negotiate__pick.t ..... ok 1 - LibPkgConf { ok 1 - installed { ok 1 - new enough { ok 1 1..1 } ok 2 - not new enough { ok 1 1..1 } 1..2 } ok 2 - not installed { # Devel::Hide hides PkgConfig/LibPkgConf.pm ok 1 1..1 } 1..2 } ok 2 - CommandLine { ok 1 - no command line { # which: undef # which: pkgconf N/A # which: pkg-config N/A ok 1 1..1 } ok 2 - pkg-config { # which: undef # which: pkgconf N/A # which: pkg-config => /usr/bin/pkg-config ok 1 1..1 } ok 3 - pkgconf { # which: undef # which: pkgconf => /usr/bin/pkgconf ok 1 1..1 } ok 4 - PKG_CONFIG { # which: foo-pkg-config => /usr/bin/foo-pkg-config ok 1 1..1 } ok 5 - PP { ok 1 - 64 bit solaris { # which: undef # which: pkgconf N/A # which: pkg-config => /usr/bin/pkg-config ok 1 1..1 } ok 2 - PP is fallback { # which: undef # which: pkgconf N/A # which: pkg-config N/A ok 1 1..1 } 1..2 } 1..5 } 1..2 ok t/alien_build_plugin_pkgconfig_pp.t .................. ok 1 - available { ok 1 - new enough { ok 1 1..1 } ok 2 - too old! { ok 1 1..1 } 1..2 } # PKG_CONFIG_PATH=/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/lib/pkgconfig ok 2 - system not available { # Alien::Build> error in probe (will do a share install): package bogus not found at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 76. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 1 1..1 } ok 3 - system available, wrong version { # Alien::Build> error in probe (will do a share install): package foo is not recent enough at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 83. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 1 1..1 } ok 4 - system available, okay { # ok 1 # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/oA7DeouAlG/stage/_alien ok 2 # cflags_static = -fPIC -I/test/include/foo -DFOO_STATIC ok 3 1..3 } ok 5 - system multiple { ok 1 - all found in system { ok 1 - alienfile compiles ok 2 - alien install type is system ok 3 - alien builds okay # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/tf4WLIaBWE/stage/_alien # --- # alien_build_version: 1.48 # alt: # xor: # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor -DXOR_STATIC ' # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # version: 4.2.1 # xor-chillout: # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor -DXOR_STATIC ' # libs: '-L/test/lib -lxor-chillout ' # libs_static: '-L/test/lib -lxor-chillout ' # version: 4.2.2 # cflags: '-I/test/include/xor ' # cflags_static: '-I/test/include/xor -DXOR_STATIC ' # distdir: /tmp/tf4WLIaBWE/prefix # install_type: system # legacy: # finished_installing: 1 # install_type: system # name: xor # original_prefix: /tmp/tf4WLIaBWE/prefix # version: 4.2.1 # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # prefix: /tmp/tf4WLIaBWE/prefix # version: 4.2.1 ok 4 1..4 } 1..1 } ok 6 - prereqs { ok 1 - are specified when user asks for plugin directly { ok 1 - alienfile compiles ok 2 - prereqs 1..2 } ok 2 - are not specified when user asks for plugin IN-directly { # Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::PP ok 1 - alienfile compiles ok 2 - prereqs 1..2 } 1..2 } ok 7 - set env { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::Plugin::Core::Download> downloaded foo-1.00.tar # Alien::Build::Auto::Tcbrlk6::Alienfile> PKG_CONFIG = ppkg-config # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/tM5cVbMrlk/stage/_alien 1..2 } 1..7 ok t/alien_build_plugin_prefer_badversion.t ............. ok 1 - compiles okay { ok 1 - alienfile compiles 1..1 } ok 2 - filter is required { ok 1 1..1 } ok 3 - filters out string version { ok 1 - alienfile compiles ok 2 - alien download ok 3 1..3 } ok 4 - filters out list version { ok 1 - alienfile compiles ok 2 - alien download ok 3 1..3 } ok 5 - filters out code ref { ok 1 - alienfile compiles ok 2 - alien download ok 3 1..3 } 1..5 ok t/alien_build_plugin_prefer_goodversion.t ............ ok 1 - compiles okay { ok 1 - alienfile compiles 1..1 } ok 2 - filter is required { ok 1 1..1 } ok 3 - filters out string version { ok 1 - alienfile compiles ok 2 - alien download ok 3 1..3 } ok 4 - filters out list version { ok 1 - alienfile compiles ok 2 - alien download ok 3 1..3 } ok 5 - filters out code ref { ok 1 - alienfile compiles ok 2 - alien download ok 3 1..3 } 1..5 ok t/alien_build_plugin_prefer_sortversions.t ........... ok 1 - updates requires { ok 1 # --- !!perl/hash:Alien::Build::Meta # around: # gather_ffi: !!perl/code '{ "DUMMY" }' # gather_share: !!perl/code '{ "DUMMY" }' # gather_system: !!perl/code '{ "DUMMY" }' # build_suffix: '' # class: Alien::Build::Auto::Blank0 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # download: !!perl/code '{ "DUMMY" }' # gather_ffi: *1 # gather_share: &2 !!perl/code '{ "DUMMY" }' # gather_system: *2 # override: !!perl/code '{ "DUMMY" }' # filename: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/corpus/blank/alienfile # hook: # prefer: # - !!perl/code '{ "DUMMY" }' # phase: any # prop: # arch: 1 # destdir_ffi_filter: '^dynamic' # local_source: 0 # network: 1 # platform: # compiler_type: unix # system_type: unix # require: # any: {} # share: # Sort::Versions: 0 # system: {} 1..1 } ok 2 - prefer { ok 1 - default settings { # --- # list: # - filename: abc-2.3.4.tar.gz # url: http://example.test/foo/bar/abc-2.3.4.tar.gz # version: 2.3.4 # - filename: xyz-1.0.0.tar.gz # url: http://example.test/foo/bar/xyz-1.0.0.tar.gz # version: 1.0.0 # - filename: roger-0.0.0.tar.gz # url: http://example.test/foo/bar/roger-0.0.0.tar.gz # version: 0.0.0 # type: list ok 1 1..1 } ok 2 - filter { # --- # list: # - filename: abc-2.3.4.tar.gz # url: http://example.test/foo/bar/abc-2.3.4.tar.gz # version: 2.3.4 # - filename: xyz-1.0.0.tar.gz # url: http://example.test/foo/bar/xyz-1.0.0.tar.gz # version: 1.0.0 # type: list ok 1 1..1 } ok 3 - version regex { # --- # list: # - filename: foo-5-bar-2.1.0.tar.gz # url: http://example.test/foo/bar/foo-5-bar-2.1.0.tar.gz # version: 2.1.0 # - filename: foo-10.0-bar-0.1.0.tar.gz # url: http://example.test/foo/bar/foo-10.0-bar-0.1.0.tar.gz # version: 0.1.0 # type: list ok 1 1..1 } 1..3 } 1..2 ok t/alien_build_plugin_probe_cbuilder.t ................ ok 1 - basic { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::Plugin::Probe::CBuilder> trying: cflags=-I/usr/local/include libs=-L/usr/local/lib -lfoo # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/h0oA0MirOC/stage/_alien ok 3 - alien install type is system ok 4 - cflags ok 5 - libs ok 6 - options passed to new ok 7 ok 8 1..8 } ok 2 - program { # Alien::Build::Plugin::Probe::CBuilder> trying: cflags=-I/usr/local/include libs=-L/usr/local/lib -lfoo ok 1 - is system ok 2 - compiled with correct source 1..2 } ok 3 - program { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::Plugin::Probe::CBuilder> trying: cflags=-I/usr/local/include libs=-L/usr/local/lib -lfoo # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/Oq6ZgV5s32/stage/_alien ok 3 - alien install type is system ok 4 - version matches 1..4 } ok 4 - fail { ok 1 - compile { ok 1 - alienfile compiles ok 2 - alien install type is system ok 3 1..3 } 1..1 } 1..4 ok t/alien_build_plugin_probe_commandline.t ............. ok 1 - basic existence { ok 1 - it is there { ok 1 - alienfile compiles ok 2 - is system 1..2 } ok 2 - it is not there { ok 1 - alienfile compiles # Alien::Build> error in probe (will do a share install): Command not found bar at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/Probe/CommandLine.pm line 43. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 2 - is share 1..2 } 1..2 } ok 2 - args { ok 1 - alienfile compiles ok 2 - is system ok 3 - was called ok 4 - args are passed in 1..4 } ok 3 - secondary { ok 1 - libs + command okay { ok 1 - alienfile compiles ok 2 ok 3 - run ok 4 - lib 1..4 } ok 2 - libs ok + command bad { ok 1 - alienfile compiles # Alien::Build> error in probe (will do a share install): Command not found bar at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/Probe/CommandLine.pm line 43. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 2 ok 3 - lib 1..3 } ok 3 - libs bad + command okay { ok 1 - alienfile compiles ok 2 ok 3 - run ok 4 - lib 1..4 } ok 4 - libs bad + command bad { ok 1 - alienfile compiles ok 2 ok 3 - run ok 4 - lib 1..4 } 1..4 } ok 4 - match + version { ok 1 - match good { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - match bad { ok 1 - alienfile compiles # Alien::Build> error in probe (will do a share install): Command output did not match at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/Probe/CommandLine.pm line 52. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 2 1..2 } ok 3 - version found { ok 1 - alienfile compiles ok 2 ok 3 1..3 } ok 4 - version unfound { ok 1 - alienfile compiles ok 2 ok 3 1..3 } 1..4 } ok 5 - match_stderr + version_stderr { ok 1 - match good { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - match bad { ok 1 - alienfile compiles # Alien::Build> error in probe (will do a share install): Command standard error did not match at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib/Alien/Build/Plugin/Probe/CommandLine.pm line 53. # Alien::Build> Don't panic, we will attempt a share build from source if possible. # Alien::Build> Do not file a bug unless you expected a system install to succeed. ok 2 1..2 } ok 3 - version found { ok 1 - alienfile compiles ok 2 ok 3 1..3 } ok 4 - version unfound { ok 1 - alienfile compiles ok 2 ok 3 1..3 } 1..4 } 1..5 ok t/alien_build_rc.t ................................... ok 1 - basic { # package is Alien::Build::rc # Alien::Build::rc> hey ok 1 - alienfile compiles ok 2 ok 3 1..3 } ok 2 - preload code ref { ok 1 - alienfile compiles ok 2 - Alien::Build::Meta=HASH->isa('Alien::Build::Meta') ok 3 - Alien::Build::Meta=HASH->isa('Alien::Build::Meta') 1..3 } 1..2 ok t/alien_build_tempdir.t .............................. ok 1 - root = /tmp/_hk96dBRa2/root ok 2 - cleanup on empty { ok 1 - tempdir = /tmp/_hk96dBRa2/root/foo_OU9L ok 2 - directory removed 1..2 } ok 3 - do not cleanup non-empty { ok 1 - tempdir = /tmp/_hk96dBRa2/root/bar_v4YJ ok 2 - directory not removed 1..2 } 1..3 ok t/alien_build_util.t ................................. ok 1 - dump { ok 1 # --- # a: 1 # b: 2 # --- # - 1 # - 2 1..1 } ok 2 - mirror { ok 1 - created source directory ok 2 - diff -r returned true ok 3 - dst bin/foomake is executable ok 4 - filter { # Alien::Build::Util> mkdir -p /tmp/mirror_dst_qpIJ/etc # Alien::Build::Util> Alien::Build> cp /tmp/mirror_src_xzJw/etc/foorc /tmp/mirror_dst_qpIJ/etc/foorc # Alien::Build::Util> mkdir -p /tmp/mirror_dst_qpIJ/bin # Alien::Build::Util> Alien::Build> cp /tmp/mirror_src_xzJw/bin/foomake /tmp/mirror_dst_qpIJ/bin/foomake # /tmp/mirror_dst_qpIJ: # total 8 # drwxrwxr-x 2 fly2400 fly2400 4096 Sep 6 02:10 bin # drwxrwxr-x 2 fly2400 fly2400 4096 Sep 6 02:10 etc # # /tmp/mirror_dst_qpIJ/bin: # total 4 # -rwxr-xr-x 1 fly2400 fly2400 18 Sep 6 02:10 foomake # # /tmp/mirror_dst_qpIJ/etc: # total 4 # -rw-rw-r-- 1 fly2400 fly2400 18 Sep 6 02:10 foorc ok 1 - bin/foomake ok 2 - bin/foomake ok 3 - lib/libfoo.so.1.2.3 1..3 } 1..4 } ok 3 - destdir_prefix { # destdir_prefix = /tmp/LLAvfvuRIp/tmp/_ygFeC1o2h ok 1 1..1 } 1..3 ok t/alien_build_version_basic.t ........................ ok 1 - basic { ok 1 - new { ok 1 - Alien::Build::Version::Basic=SCALAR->isa('Alien::Build::Version::Basic') ok 2 ok 3 1..3 } ok 2 - version { ok 1 - Alien::Build::Version::Basic=SCALAR->isa('Alien::Build::Version::Basic') ok 2 ok 3 1..3 } ok 3 - bad version { ok 1 1..1 } 1..3 } ok 2 - cmp method { ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 1..7 } ok 3 - cmp operator { ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 1..44 } 1..3 ok t/alien_role.t ....................................... ok 1 1..1 ok t/alienfile.t ........................................ Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::LibPkgConf Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::LibPkgConf Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - compile examples { ok 1 - curl.alienfile ok 2 - xz.alienfile ok 3 - xz-manual.alienfile ok 4 - bzip2.alienfile ok 5 - dontpanic.alienfile ok 6 - gmake.alienfile ok 7 - openssl.alienfile 1..7 } ok 2 - non struct alienfile { ok 1 - throws error # error = Can't use string ("bar::bar") as an ARRAY ref while "strict refs" in use at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alienfile.t line 28. 1..1 } ok 3 - warnings alienfile { ok 1 # Use of uninitialized value $foo in string at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alienfile.t line 43. 1..1 } ok 4 - plugin { ok 1 - basic { ok 1 1..1 } ok 2 - default argument { ok 1 1..1 } ok 3 - other arguments { ok 1 1..1 } ok 4 - sub package { ok 1 1..1 } ok 5 - negotiate { ok 1 1..1 } ok 6 - fully qualified class { ok 1 1..1 } 1..6 } ok 5 - probe { ok 1 - basic { ok 1 ok 2 1..2 } ok 2 - wrong block { ok 1 1..1 } 1..2 } ok 6 - download { ok 1 - basic { # Alien::Build> single file, assuming archive ok 1 1..1 } ok 2 - wrong block { ok 1 1..1 } 1..2 } ok 7 - fetch { ok 1 1..1 } ok 8 - decode { ok 1 1..1 } ok 9 - prefer { ok 1 1..1 } ok 10 - extract { ok 1 1..1 } ok 11 - build { ok 1 1..1 } ok 12 - build_ffi { # build_ffi is deprecated, use ffi { build ... } } instead at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alienfile.t line 245. ok 1 1..1 } ok 13 - gather { ok 1 - configure { ok 1 1..1 } ok 2 - system + share { ok 1 ok 2 1..2 } ok 3 - system { ok 1 ok 2 1..2 } ok 4 - share { ok 1 ok 2 1..2 } ok 5 - share + gather_ffi { # gather_ffi is deprecated, use ffi { gather ... } } instead at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alienfile.t line 314. ok 1 1..1 } ok 6 - share + ffi gather { ok 1 1..1 } ok 7 - nada { ok 1 ok 2 1..2 } 1..7 } ok 14 - prop { ok 1 1..1 } ok 15 - patch { ok 1 1..1 } ok 16 - patch_ffi { # patch_ffi is deprecated, use ffi { patch ... } } instead at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/alienfile.t line 372. ok 1 1..1 } ok 17 - ffi patch { ok 1 1..1 } ok 18 - arch { ok 1 - on { ok 1 1..1 } ok 2 - off { ok 1 1..1 } ok 3 - default { ok 1 1..1 } 1..3 } ok 19 - meta { ok 1 1..1 } ok 20 - test { ok 1 - basic { ok 1 - alienfile compiles ok 2 1..2 } ok 2 - alienfile compiles ok 3 - alienfile compiles ok 4 - not allowed in root block ok 5 - not allowed in configure block 1..5 } ok 21 - start_url { ok 1 - alienfile compiles ok 2 - build object 1..2 } ok 22 - before { ok 1 - before build in share { ok 1 - alienfile compiles ok 2 ok 3 - before directive requires 1.40 1..3 } ok 2 - before build in share>ffi { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - before probe in any { ok 1 - alienfile compiles ok 2 1..2 } ok 4 - before gather any { ok 1 - alienfile compiles ok 2 ok 3 1..3 } ok 5 - before gather share { ok 1 - alienfile compiles ok 2 1..2 } ok 6 - before gather ffi { ok 1 - alienfile compiles ok 2 1..2 } ok 7 - before gather system { ok 1 - alienfile compiles ok 2 1..2 } ok 8 - before build in sys { ok 1 - not allowed in sys block 1..1 } ok 9 - before second argument must be a code ref { ok 1 - must be code reference 1..1 } ok 10 - arbitrary stages not allowed { ok 1 - no bogus allowed 1..1 } 1..10 } ok 23 - after { ok 1 - after build in share { ok 1 - alienfile compiles ok 2 ok 3 - after directive requires 1.40 1..3 } ok 2 - after build in share>ffi { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - after probe in any { ok 1 - alienfile compiles ok 2 1..2 } ok 4 - after gather any { ok 1 - alienfile compiles ok 2 ok 3 1..3 } ok 5 - after gather share { ok 1 - alienfile compiles ok 2 1..2 } ok 6 - after gather ffi { ok 1 - alienfile compiles ok 2 1..2 } ok 7 - after gather system { ok 1 - alienfile compiles ok 2 1..2 } ok 8 - after build in sys { ok 1 - not allowed in sys block 1..1 } ok 9 - after second argument must be a code ref { ok 1 - must be code reference 1..1 } ok 10 - arbitrary stages not allowed { ok 1 - no bogus allowed 1..1 } 1..10 } 1..23 ok t/test_alien.t ....................................... ok 1 - alien_ok { ok 1 - as class { ok 1 - alien_ok with class ok 2 - bin_dir added to path 1..2 } ok 2 - as object { ok 1 - alien_ok with class ok 2 - bin_dir added to path 1..2 } ok 3 - alien_ok with instance ok 4 - alien_ok with bad class ok 5 - alien_ok with undef 1..5 } ok 2 - helper_ok { ok 1 - Alien::libfoo1 responds to: cflags libs dynamic_libs bin_dir ok 2 - helper foo1 exists ok 3 - something else ok 4 - default test name ok 5 - custom name ok 6 - failed test 1..6 } ok 3 - interpolate_template_is { ok 1 - Alien::libfoo1 responds to: cflags libs dynamic_libs bin_dir ok 2 - template matches ok 3 - template matches ok 4 - pass with default name ok 5 - pass with custom name ok 6 - fail with string match ok 7 - fail with string match ok 8 - bogus helper 1..8 } ok 4 - ffi_ok { 1..0 # SKIP Test requires FFI::Platypus } ok 5 - xs_ok { ok 1 - xs with no module ok 2 - xs fail with subtest ok 3 - xs with C compile error ok 4 - good { # detect module name Test::Alien::XS::Mod0 # parse xs testaliensqRxk/test.xs => testaliensqRxk/test.c # # compile testaliensqRxk/test.c # gcc -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o testaliensqRxk/test.o testaliensqRxk/test.c # link testaliensqRxk/test.o # gcc -shared -O2 -fstack-protector -o testaliensqRxk/test.so testaliensqRxk/test.o # created lib testaliensqRxk/test.so ok 1 - xs ok 2 - xs subtest { ok 1 - call Test::Alien::XS::Mod0->baz() 1..1 } ok 3 - xs without parameterized name ok 4 - xs without parameterized name subtest { ok 1 ok 2 - call Foo::Bar->baz() 1..2 } 1..4 } ok 5 - with xs_load { ok 1 - Test::Alien::Synthetic[instance] responds to: cflags libs dynamic_libs bin_dir ok 2 - Test::Alien::Synthetic[instance] responds to: cflags libs dynamic_libs bin_dir # detect module name Test::Alien::XS::Mod1 # parse xs testalienJ0Njl/test.xs => testalienJ0Njl/test.c # # compile testalienJ0Njl/test.c # gcc -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -DFOO_ONE=42 -DFOO_TWO=47 -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o testalienJ0Njl/test.o testalienJ0Njl/test.c # link testalienJ0Njl/test.o # gcc -shared -O2 -fstack-protector -o testalienJ0Njl/test.so testalienJ0Njl/test.o # created lib testalienJ0Njl/test.so ok 3 - xs ok 4 - xs subtest { ok 1 - get_foo_one ok 2 - get_foo_two 1..2 } ok 5 - called xs_load with correct args 1..5 } ok 6 - acme { 1..0 # SKIP Test requires Acme::Alien::DontPanic 0.026 } 1..6 } ok 6 - xs_ok without no compiler { ok 1 - xs # skip test requires a compiler ok 2 - xs # skip test requires a compiler ok 3 - xs subtest # skip test requires a compiler ok 4 - skip works ok 5 - skip works with cb 1..5 } ok 7 - overrides no overrides { ok 1 - Test::Alien::Synthetic[instance] responds to: cflags libs dynamic_libs bin_dir # detect module name Test::Alien::XS::Mod2 # parse xs testalienppocd/test.xs => testalienppocd/test.c # # compile testalienppocd/test.c # gcc -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -DD2=20 -DD1=22 -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o testalienppocd/test.o testalienppocd/test.c # link testalienppocd/test.o # gcc -shared -O2 -fstack-protector -o testalienppocd/test.so testalienppocd/test.o # created lib testalienppocd/test.so ok 2 - extra compiler flags as string ok 3 - extra compiler flags as string subtest { ok 1 1..1 } # detect module name Test::Alien::XS::Mod3 # parse xs testalienpz4TB/test.xs => testalienpz4TB/test.c # # compile testalienpz4TB/test.c # gcc -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -DD2=20 -DD1=22 -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o testalienpz4TB/test.o testalienpz4TB/test.c # link testalienpz4TB/test.o # gcc -shared -O2 -fstack-protector -o testalienpz4TB/test.so testalienpz4TB/test.o # created lib testalienpz4TB/test.so ok 4 - extra compiler flags as array ref ok 5 - extra compiler flags as array ref subtest { ok 1 1..1 } 1..5 } 1..7 ok t/test_alien_build.t ................................. ok 1 - alienfile_ok { ok 1 - inline { ok 1 - Alien::Build::Auto::Hlpkz0=HASH->isa('Alien::Build') ok 2 - has prefix dir # prefix = /tmp/hl57JVp1kz/stage ok 3 - has root dir # root = /tmp/hl57JVp1kz/root ok 4 - has stage dir # stage = /tmp/hl57JVp1kz/stage 1..4 } ok 2 - from file { ok 1 - Alien::Build::Auto::Basic1=HASH->isa('Alien::Build') ok 2 - has prefix dir # prefix = /tmp/Bc0oMVK509/stage ok 3 - has root dir # root = /tmp/Bc0oMVK509/root ok 4 - has stage dir # stage = /tmp/Bc0oMVK509/stage 1..4 } ok 3 - alienfile compiles ok 4 - Alien::Build::Auto::Jxsn2=HASH->isa('Alien::Build') ok 5 - alienfile compiles ok 6 - compile error in alienfile fails test # Alien::Build::Auto::Tjw5::Alienfile> hey there ok 7 - alienfile compiles 1..7 } ok 2 - alien_build_ok { ok 1 - no alienfile { ok 1 ok 2 1..2 } ok 2 - alienfile compiles but does not run { ok 1 - alienfile compiles ok 2 ok 3 1..3 } ok 3 - good system { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/6AcHvz2kSX/stage/_alien ok 3 - Test::Alien::Build::Faux0001->isa('Alien::Base') ok 4 ok 5 1..5 } ok 4 - good share { ok 1 - alienfile compiles ok 2 - alien builds okay # Alien::Build> single file, assuming archive # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/0RniW2Fcze/stage/_alien ok 3 - Test::Alien::Build::Faux0002->isa('Alien::Base') ok 4 ok 5 ok 6 1..6 } 1..4 } ok 3 - alien_install_type_is { ok 1 - no alienfile { ok 1 - test for anything ok 2 - return false 1..2 } ok 2 - is system { ok 1 - alienfile compiles ok 2 - check for system ok 3 - return true ok 4 - check for share ok 5 - return false 1..5 } ok 3 - is share { ok 1 - alienfile compiles ok 2 - check for share ok 3 - return true ok 4 - check for system ok 5 - return false 1..5 } 1..3 } ok 4 - alien_download_ok { ok 1 - good download { ok 1 - alienfile compiles ok 2 - alien download ok 3 - file content matches 1..3 } ok 2 - good download { ok 1 - alienfile compiles ok 2 - test fails ok 3 - return value is undef 1..3 } 1..2 } ok 5 - alien_extract_ok { ok 1 - good extract { ok 1 - alienfile compiles ok 2 - alien extraction ok 3 - dir is dir ok 4 - has file2 ok 5 - has file3 1..5 } ok 2 - bad extract { ok 1 - alienfile compiles ok 2 - test fails ok 3 - dir is undef 1..3 } 1..2 } ok 6 - alien_rc { ok 1 - create rc { # use strict; use warnings; # # line 423 "/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/t/test_alien_build.t # # # preload 'Foo::Bar'; # # package Alien::Build::Plugin::Foo::Bar; # # use Alien::Build::Plugin; # # sub init # { # my($self, $meta) = @_; # $meta->prop->{x} = 'y'; # } # # ok 1 - alienfile compiles ok 2 1..2 } 1..1 } ok 7 - test for custom subtest { ok 1 - basic pass { ok 1 ok 2 1..2 } ok 2 - basic fail { ok 1 ok 2 1..2 } 1..2 } ok 8 - alien_checkpoint_ok { ok 1 - without build { ok 1 1..1 } ok 2 - with failure in checkpont { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - with goodness and light { ok 1 - alienfile compiles ok 2 1..2 } 1..3 } ok 9 - alien_resume_ok { ok 1 - with no build { ok 1 1..1 } ok 2 - without checkpoint { ok 1 - alienfile compiles ok 2 1..2 } ok 3 - die in resume { ok 1 - alienfile compiles ok 2 - alien checkpoint ok ok 3 1..3 } ok 4 - goodness and light { ok 1 - alienfile compiles ok 2 - alien checkpoint ok ok 3 ok 4 - Alien::Build::Auto::Wzz23=HASH->isa('Alien::Build') 1..4 } 1..4 } ok 10 - targ { ok 1 - alienfile compiles 1..1 } 1..10 ok t/test_alien_cancompile.t ............................ ok 1 1..1 ok t/test_alien_canplatypus.t ........................... skipped: This test requires FFI::Platypus. t/test_alien_run.t ................................... ok 1 - run with exit 0 { ok 1 - run_ok # [cmd] # /data/fly2400/ap2400-300558/bin/perl-static /tmp/l_rwxyGatL/test.pl # [out] # this is some output # [err] # this is some error ok 2 - output ok 3 - error ok 4 - exit ok 5 - signal ok 6 - run.success ok 7 - run.exit_is(0) ok 8 - run.exit_is(22) ok 9 - run.exit_isnt(0) ok 10 - run.exit_isnt(22) ok 11 - run.out_like(is some out) ok 12 - run.out_like(bogus) ok 13 - run.out_unlike(is some out) ok 14 - run.out_unlike(bogus) ok 15 - run.err_like(is some err) ok 16 - run.err_unlike(bogus) 1..16 } ok 2 - run with exit 22 { ok 1 - run_ok ok 2 - output ok 3 - error ok 4 - exit ok 5 - signal ok 6 - run.success ok 7 - run.exit_is(0) ok 8 - run.exit_is(22) ok 9 - run.exit_isnt(0) ok 10 - run.exit_isnt(22) 1..10 } ok 3 - run with kill 9 { ok 1 - run_ok ok 2 - output ok 3 - error ok 4 - exit ok 5 - signal ok 6 - run.success 1..6 } ok 4 - run with not found { ok 1 - run_ok ok 2 - output ok 3 - error ok 4 - exit ok 5 - signal ok 6 - run.success 1..6 } ok 5 - run -1 { ok 1 - run_ok ok 2 - output ok 3 - error ok 4 - exit ok 5 - signal ok 6 - run.success 1..6 } 1..5 ok t/test_alien_synthetic.t ............................. ok 1 - empty synthetic alien ok 2 - cflags ok 3 - libs ok 4 - dynamic_libs ok 5 - bin_dir (exists) ok 6 - bin_dir (does not exist) ok 7 - static flags 1..7 ok All tests successful. Files=68, Tests=362, 30 wallclock secs ( 0.38 usr 0.19 sys + 23.23 cusr 5.06 csys = 28.86 CPU) Result: PASS PLICEASE/Alien-Build-1.48.tar.gz make test TEST_VERBOSE=1 -- OK PPD for Alien-Build-1.48 already made PLICEASE/Alien-nragent-0.04.tar.gz Has already been unwrapped into directory /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'prepare' Configuring P/PL/PLICEASE/Alien-nragent-0.04.tar.gz with Makefile.PL >>> /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL Warning: prerequisite FFI::Platypus 0 not found. Warning: prerequisite FFI::Platypus::DL 0 not found. Checking if your kit is complete... Looks good Have /data/fly2400/cpanfly-5.24/var/megalib Want /home/fly2400/ap2400-300558/lib Your perl and your Config.pm seem to have different ideas about the architecture they are running on. Perl thinks: [megalib] Config says: [x86_64-linux-thread-multi] This may or may not cause problems. Please check your installation of perl if you have problems building this extension. Generating a Unix-style Makefile Writing Makefile for Alien::nragent Writing MYMETA.yml and MYMETA.json PLICEASE/Alien-nragent-0.04.tar.gz /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK Running make for P/PL/PLICEASE/Alien-nragent-0.04.tar.gz Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'make' ---- Unsatisfied dependencies detected during ---- ---- PLICEASE/Alien-nragent-0.04.tar.gz ---- FFI::Platypus::DL [requires] FFI::Platypus [build_requires] Running test for module 'FFI::Platypus::DL' Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'get' Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/P/PL/PLICEASE/FFI-Platypus-0.56.tar.gz ok FFI-Platypus-0.56/ FFI-Platypus-0.56/author.yml FFI-Platypus-0.56/Build.PL FFI-Platypus-0.56/lib/ FFI-Platypus-0.56/lib/FFI/ FFI-Platypus-0.56/lib/FFI/Platypus.pm FFI-Platypus-0.56/lib/FFI/Platypus/ FFI-Platypus-0.56/lib/FFI/Platypus/Record.pm FFI-Platypus-0.56/lib/FFI/Platypus/Declare.pm FFI-Platypus-0.56/lib/FFI/Platypus/Memory.pm FFI-Platypus-0.56/lib/FFI/Platypus/Lang.pm FFI-Platypus-0.56/lib/FFI/Platypus/Buffer.pm FFI-Platypus-0.56/lib/FFI/Platypus/ShareConfig.pm FFI-Platypus-0.56/lib/FFI/Platypus/Record/ FFI-Platypus-0.56/lib/FFI/Platypus/Record/TieArray.pm FFI-Platypus-0.56/lib/FFI/Platypus/Type.pod FFI-Platypus-0.56/lib/FFI/Platypus/Lang/ FFI-Platypus-0.56/lib/FFI/Platypus/Lang/C.pm FFI-Platypus-0.56/lib/FFI/Platypus/Lang/ASM.pm FFI-Platypus-0.56/lib/FFI/Platypus/Lang/Win32.pm FFI-Platypus-0.56/lib/FFI/Platypus/Type/ FFI-Platypus-0.56/lib/FFI/Platypus/Type/StringPointer.pm FFI-Platypus-0.56/lib/FFI/Platypus/Type/PointerSizeBuffer.pm FFI-Platypus-0.56/lib/FFI/Platypus/DL.pm FFI-Platypus-0.56/lib/FFI/Platypus/API.pm FFI-Platypus-0.56/lib/FFI/Platypus.xs FFI-Platypus-0.56/share/ FFI-Platypus-0.56/share/README.txt FFI-Platypus-0.56/examples/ FFI-Platypus-0.56/examples/java/ FFI-Platypus-0.56/examples/java/Makefile FFI-Platypus-0.56/examples/java/example.pl FFI-Platypus-0.56/examples/java/between.cpp FFI-Platypus-0.56/examples/java/Example.java FFI-Platypus-0.56/examples/pipe.pl FFI-Platypus-0.56/examples/getpid.pl FFI-Platypus-0.56/examples/var_array.pl FFI-Platypus-0.56/examples/closure-opaque.pl FFI-Platypus-0.56/examples/char.pl FFI-Platypus-0.56/examples/win32_beep.pl FFI-Platypus-0.56/examples/malloc.pl FFI-Platypus-0.56/examples/var_array.c FFI-Platypus-0.56/examples/time_record.pl FFI-Platypus-0.56/examples/zmq3.pl FFI-Platypus-0.56/examples/integer.pl FFI-Platypus-0.56/examples/string.pl FFI-Platypus-0.56/examples/uuid.pl FFI-Platypus-0.56/examples/closure.c FFI-Platypus-0.56/examples/get_uptime.pl FFI-Platypus-0.56/examples/attach_from_pointer.pl FFI-Platypus-0.56/examples/bzip2.pl FFI-Platypus-0.56/examples/notify.pl FFI-Platypus-0.56/examples/list_integer_types.pl FFI-Platypus-0.56/examples/archive.pl FFI-Platypus-0.56/examples/math.pl FFI-Platypus-0.56/examples/time.pl FFI-Platypus-0.56/examples/time_oo.pl FFI-Platypus-0.56/examples/closure.pl FFI-Platypus-0.56/examples/win32_getSystemTime.pl FFI-Platypus-0.56/META.yml FFI-Platypus-0.56/t/ FFI-Platypus-0.56/t/ffi_platypus.t FFI-Platypus-0.56/t/ffi_platypus_declare.t FFI-Platypus-0.56/t/ffi_platypus_record_tiearray.t FFI-Platypus-0.56/t/type_uint8.t FFI-Platypus-0.56/t/ffi_platypus_function.t FFI-Platypus-0.56/t/00_diag.t FFI-Platypus-0.56/t/ffi/ FFI-Platypus-0.56/t/ffi/pointer.c FFI-Platypus-0.56/t/ffi/sint8.c FFI-Platypus-0.56/t/ffi/longdouble.c FFI-Platypus-0.56/t/ffi/string.c FFI-Platypus-0.56/t/ffi/color.c FFI-Platypus-0.56/t/ffi/uint64.c FFI-Platypus-0.56/t/ffi/uint32.c FFI-Platypus-0.56/t/ffi/uint8.c FFI-Platypus-0.56/t/ffi/record.c FFI-Platypus-0.56/t/ffi/complex_double.c FFI-Platypus-0.56/t/ffi/sint32.c FFI-Platypus-0.56/t/ffi/align.c FFI-Platypus-0.56/t/ffi/float.c FFI-Platypus-0.56/t/ffi/closure.c FFI-Platypus-0.56/t/ffi/memcmp4.c FFI-Platypus-0.56/t/ffi/align_fixed.c FFI-Platypus-0.56/t/ffi/align_array.c FFI-Platypus-0.56/t/ffi/uint16.c FFI-Platypus-0.56/t/ffi/sint64.c FFI-Platypus-0.56/t/ffi/sint16.c FFI-Platypus-0.56/t/ffi/double.c FFI-Platypus-0.56/t/ffi/align_string.c FFI-Platypus-0.56/t/ffi/complex_float.c FFI-Platypus-0.56/t/ffi/basic.c FFI-Platypus-0.56/t/ffi_platypus_shareconfig.t FFI-Platypus-0.56/t/type_uint64.t FFI-Platypus-0.56/t/01_use.t FFI-Platypus-0.56/t/type_longdouble.t FFI-Platypus-0.56/t/ffi_platypus_lang.t FFI-Platypus-0.56/t/type_opaque.t FFI-Platypus-0.56/t/type_string.t FFI-Platypus-0.56/t/ffi_platypus_api.t FFI-Platypus-0.56/t/type_double.t FFI-Platypus-0.56/t/ffi_platypus_dl.t FFI-Platypus-0.56/t/type_uint16.t FFI-Platypus-0.56/t/ffi_platypus_closure.t FFI-Platypus-0.56/t/type_sint32.t FFI-Platypus-0.56/t/ffi_platypus_buffer.t FFI-Platypus-0.56/t/ffi_platypus_record.t FFI-Platypus-0.56/t/ffi_platypus_lang_win32.t FFI-Platypus-0.56/t/ffi_platypus_lang_c.t FFI-Platypus-0.56/t/type_sint16.t FFI-Platypus-0.56/t/type_sint8.t FFI-Platypus-0.56/t/forks.t FFI-Platypus-0.56/t/type_float.t FFI-Platypus-0.56/t/type_record.t FFI-Platypus-0.56/t/type_complex_float.t FFI-Platypus-0.56/t/threads.t FFI-Platypus-0.56/t/ffi_platypus_type_pointersizebuffer.t FFI-Platypus-0.56/t/ffi_platypus_lang_asm.t FFI-Platypus-0.56/t/ffi_platypus_memory.t FFI-Platypus-0.56/t/type_sint64.t FFI-Platypus-0.56/t/ffi_platypus_type_stringpointer.t FFI-Platypus-0.56/t/type_complex_double.t FFI-Platypus-0.56/t/type_uint32.t FFI-Platypus-0.56/xs/ FFI-Platypus-0.56/xs/perl_math_int64.c FFI-Platypus-0.56/xs/record_opaque.c FFI-Platypus-0.56/xs/custom.c FFI-Platypus-0.56/xs/windl.c FFI-Platypus-0.56/xs/names.c FFI-Platypus-0.56/xs/Type.xs FFI-Platypus-0.56/xs/ABI.xs FFI-Platypus-0.56/xs/dl.xs FFI-Platypus-0.56/xs/record_string.c FFI-Platypus-0.56/xs/havepm.c FFI-Platypus-0.56/xs/ClosureData.xs FFI-Platypus-0.56/xs/record_simple.c FFI-Platypus-0.56/xs/meta.c FFI-Platypus-0.56/xs/closure.c FFI-Platypus-0.56/xs/complex.c FFI-Platypus-0.56/xs/API.xs FFI-Platypus-0.56/xs/Record.xs FFI-Platypus-0.56/xs/Declare.xs FFI-Platypus-0.56/xs/Closure.xs FFI-Platypus-0.56/xs/Function.xs FFI-Platypus-0.56/META.json FFI-Platypus-0.56/CONTRIBUTING FFI-Platypus-0.56/LICENSE FFI-Platypus-0.56/inc/ FFI-Platypus-0.56/inc/probe/ FFI-Platypus-0.56/inc/probe/longdouble.c FFI-Platypus-0.56/inc/probe/abi.c FFI-Platypus-0.56/inc/probe/bigendian64.c FFI-Platypus-0.56/inc/probe/bigendian.c FFI-Platypus-0.56/inc/probe/complex.c FFI-Platypus-0.56/inc/template/ FFI-Platypus-0.56/inc/template/accessor.tt FFI-Platypus-0.56/inc/template/abi.c FFI-Platypus-0.56/inc/template/accessor_wrapper.tt FFI-Platypus-0.56/inc/run/ FFI-Platypus-0.56/inc/run/travis_cpan.pl FFI-Platypus-0.56/inc/run/before_build.pl FFI-Platypus-0.56/inc/run/after_build2.pl FFI-Platypus-0.56/inc/run/readme.pl FFI-Platypus-0.56/inc/run/generate_record_accessor.pl FFI-Platypus-0.56/inc/run/test_examples.pl FFI-Platypus-0.56/inc/run/travis.pl FFI-Platypus-0.56/inc/My/ FFI-Platypus-0.56/inc/My/MakeMaker/ FFI-Platypus-0.56/inc/My/MakeMaker/Makefile.PL FFI-Platypus-0.56/inc/My/MakeMaker.pm FFI-Platypus-0.56/inc/My/AutoConf.pm FFI-Platypus-0.56/inc/My/ShareConfig.pm FFI-Platypus-0.56/inc/My/ModuleBuild.pm FFI-Platypus-0.56/inc/My/LibTest.pm FFI-Platypus-0.56/inc/My/Probe.pm FFI-Platypus-0.56/inc/My/Dev.pm FFI-Platypus-0.56/inc/eg/ FFI-Platypus-0.56/inc/eg/small.c FFI-Platypus-0.56/inc/eg/complex.c FFI-Platypus-0.56/Changes FFI-Platypus-0.56/include/ FFI-Platypus-0.56/include/perl_math_int64.h FFI-Platypus-0.56/include/ffi_platypus.h FFI-Platypus-0.56/include/libtest.h FFI-Platypus-0.56/include/ffi_platypus_guts.h FFI-Platypus-0.56/include/ppport.h FFI-Platypus-0.56/include/ffi_platypus_call.h FFI-Platypus-0.56/xt/ FFI-Platypus-0.56/xt/author/ FFI-Platypus-0.56/xt/author/pod.t FFI-Platypus-0.56/xt/author/no_tabs.t FFI-Platypus-0.56/xt/author/pod_coverage.t FFI-Platypus-0.56/xt/author/eol.t FFI-Platypus-0.56/xt/author/pod_spelling_common.t FFI-Platypus-0.56/xt/author/version.t FFI-Platypus-0.56/xt/author/strict.t FFI-Platypus-0.56/xt/author/pod_spelling_system.t FFI-Platypus-0.56/xt/release/ FFI-Platypus-0.56/xt/release/changes.t FFI-Platypus-0.56/xt/release/fixme.t FFI-Platypus-0.56/INSTALL FFI-Platypus-0.56/dist.ini FFI-Platypus-0.56/MANIFEST FFI-Platypus-0.56/SUPPORT FFI-Platypus-0.56/typemap FFI-Platypus-0.56/README FFI-Platypus-0.56/maint/ FFI-Platypus-0.56/maint/gen.pl Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'prepare' Configuring P/PL/PLICEASE/FFI-Platypus-0.56.tar.gz with Build.PL >>> /data/fly2400/ap2400-300558/bin/perl-static Build.PL CONFIGURE + $args{extra_compiler_flags} = -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include + $args{extra_linker_flags} = -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi Adjusted lddlflags: - $Config{lddlflags} = -shared -O2 -fstack-protector + $Config{lddlflags} = -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -shared -O2 -fstack-protector Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'FFI-Platypus' version '0.56' PLICEASE/FFI-Platypus-0.56.tar.gz /data/fly2400/ap2400-300558/bin/perl-static Build.PL -- OK Running Build for P/PL/PLICEASE/FFI-Platypus-0.56.tar.gz Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'make' >>> ./Build Checking for cc... gcc Checking for stdlib.h... yes Checking for stdint.h... yes Checking for sys/types.h... yes Checking for sys/stat.h... yes Checking for unistd.h... yes Checking for alloca.h... yes Checking for dlfcn.h... yes Checking for limits.h... yes Checking for stddef.h... yes Checking for wchar.h... yes Checking for signal.h... yes Checking for inttypes.h... yes Checking for windows.h... no Checking for sys/cygwin.h... no Checking for string.h... yes Checking for psapi.h... no Checking for stdio.h... yes Checking for stdbool.h... yes Checking for complex.h... yes Checking for stdlib.h... (cached) yes Checking for stdarg.h... yes Checking for string.h... (cached) yes Checking for float.h... yes Checking for assert.h... yes Checking for ctype.h... yes Checking for errno.h... yes Checking for limits.h... (cached) yes Checking for locale.h... yes Checking for math.h... yes Checking for setjmp.h... yes Checking for signal.h... (cached) yes Checking for stddef.h... (cached) yes Checking for stdio.h... (cached) yes Checking for time.h... yes Checking whether RTLD_LAZY is declared... yes Checking whether alloca is declared... yes Checking for dlopen in -lpthread... no Checking for dlopen in -lnsl... no Checking for dlopen in -ldl... yes Checking for size of char... yes Checking for compute result of (signed(char))... yes Checking for size of signed char... yes Checking for size of unsigned char... yes Checking for size of short... 2 Checking for compute result of (signed(short))... yes Checking for size of signed short... 2 Checking for size of unsigned short... 2 Checking for size of int... 4 Checking for compute result of (signed(int))... yes Checking for size of signed int... 4 Checking for size of unsigned int... 4 Checking for size of long... 8 Checking for compute result of (signed(long))... yes Checking for size of signed long... 8 Checking for size of unsigned long... 8 Checking for size of size_t... 8 Checking for compute result of (signed(size_t))... no Checking for size of float... 4 Checking for size of double... 8 Checking for size of bool... no Checking for size of _Bool... yes Checking for compute result of (signed(_Bool))... no Checking for size of long long... 8 Checking for compute result of (signed(long long))... yes Checking for size of signed long long... 8 Checking for size of unsigned long long... 8 Checking for size of dev_t... 8 Checking for compute result of (signed(dev_t))... no Checking for size of ino_t... 8 Checking for compute result of (signed(ino_t))... no Checking for size of mode_t... 4 Checking for compute result of (signed(mode_t))... no Checking for size of nlink_t... 8 Checking for compute result of (signed(nlink_t))... no Checking for size of uid_t... 4 Checking for compute result of (signed(uid_t))... no Checking for size of gid_t... 4 Checking for compute result of (signed(gid_t))... no Checking for size of off_t... 8 Checking for compute result of (signed(off_t))... no Checking for size of blksize_t... 8 Checking for compute result of (signed(blksize_t))... no Checking for size of blkcnt_t... 8 Checking for compute result of (signed(blkcnt_t))... no Checking for size of time_t... 8 Checking for compute result of (signed(time_t))... no Checking for size of int_least8_t... yes Checking for size of int_least16_t... 2 Checking for size of int_least32_t... 4 Checking for size of int_least64_t... 8 Checking for size of uint_least8_t... yes Checking for size of uint_least16_t... 2 Checking for size of uint_least32_t... 4 Checking for size of uint_least64_t... 8 Checking for size of ptrdiff_t... 8 Checking for compute result of (signed(ptrdiff_t))... no Checking for size of wchar_t... 4 Checking for compute result of (signed(wchar_t))... no Checking for size of wint_t... no Checking for stdlib.h... (cached) yes Checking for stdarg.h... (cached) yes Checking for string.h... (cached) yes Checking for float.h... (cached) yes Checking for assert.h... (cached) yes Checking for ctype.h... (cached) yes Checking for errno.h... (cached) yes Checking for limits.h... (cached) yes Checking for locale.h... (cached) yes Checking for math.h... (cached) yes Checking for setjmp.h... (cached) yes Checking for signal.h... (cached) yes Checking for stddef.h... (cached) yes Checking for stdio.h... (cached) yes Checking for time.h... (cached) yes Checking for sys/types.h... (cached) yes Checking for sys/stat.h... (cached) yes Checking for memory.h... yes Checking for strings.h... yes Checking for inttypes.h... (cached) yes Checking for stdint.h... (cached) yes Checking for unistd.h... (cached) yes Checking for align of void*... 8 Checking for align of float... 4 Checking for align of double... 8 Checking for align of long double... 16 Checking for align of float complex... no Checking for compute result of (__builtin_offsetof(struct align, bfloat_complex))... 4 Checking for align of double complex... no Checking for compute result of (__builtin_offsetof(struct align, bdouble_complex))... 8 Checking for align of int8_t... yes Checking for align of int16_t... 2 Checking for align of int32_t... 4 Checking for align of int64_t... 8 Checking for size of long double... 16 Checking for size of float complex... 8 Checking for size of double complex... 16 Checking for size of complex... 16 gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o inc/probe/abi.o inc/probe/abi.c gcc -fstack-protector -o inc/probe/abi inc/probe/abi.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi inc/probe/abi --test exit = 0 gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o inc/probe/bigendian.o inc/probe/bigendian.c gcc -fstack-protector -o inc/probe/bigendian inc/probe/bigendian.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi inc/probe/bigendian --test exit = 2 gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o inc/probe/bigendian64.o inc/probe/bigendian64.c gcc -fstack-protector -o inc/probe/bigendian64 inc/probe/bigendian64.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi inc/probe/bigendian64 --test exit = 2 gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o inc/probe/complex.o inc/probe/complex.c gcc -fstack-protector -o inc/probe/complex inc/probe/complex.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi inc/probe/complex --test exit = 2 gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o inc/probe/longdouble.o inc/probe/longdouble.c gcc -fstack-protector -o inc/probe/longdouble inc/probe/longdouble.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi inc/probe/longdouble --test exit = 0 probing for ABIs... gcc -E -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include .abi-probe-test/USghb97jHe/ffitest.c gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_DEFAULT_ABI -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/default_abi.o .abi-probe-test/USghb97jHe/default_abi.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/default_abi .abi-probe-test/USghb97jHe/default_abi.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_FASTCALL -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/fastcall.o .abi-probe-test/USghb97jHe/fastcall.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/fastcall .abi-probe-test/USghb97jHe/fastcall.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_PASCAL -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/pascal.o .abi-probe-test/USghb97jHe/pascal.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/pascal .abi-probe-test/USghb97jHe/pascal.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_REGISTER -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/register.o .abi-probe-test/USghb97jHe/register.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/register .abi-probe-test/USghb97jHe/register.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_STDCALL -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/stdcall.o .abi-probe-test/USghb97jHe/stdcall.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/stdcall .abi-probe-test/USghb97jHe/stdcall.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_SYSV -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/sysv.o .abi-probe-test/USghb97jHe/sysv.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/sysv .abi-probe-test/USghb97jHe/sysv.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_THISCALL -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/thiscall.o .abi-probe-test/USghb97jHe/thiscall.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/thiscall .abi-probe-test/USghb97jHe/thiscall.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi gcc -Iinclude -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -DTRY_FFI_ABI=FFI_UNIX64 -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o .abi-probe-test/USghb97jHe/unix64.o .abi-probe-test/USghb97jHe/unix64.c gcc -fstack-protector -o .abi-probe-test/USghb97jHe/unix64 .abi-probe-test/USghb97jHe/unix64.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi found abi: default_abi = 2 found abi: fastcall = 4 found abi: pascal = 6 found abi: register = 7 found abi: stdcall = 5 found abi: sysv = 1 found abi: thiscall = 3 found abi: unix64 = 2 Building FFI-Platypus gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/closure.o xs/closure.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/complex.o xs/complex.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/custom.o xs/custom.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/havepm.o xs/havepm.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/meta.o xs/meta.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/names.o xs/names.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/perl_math_int64.o xs/perl_math_int64.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/record_opaque.o xs/record_opaque.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/record_simple.o xs/record_simple.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/record_string.o xs/record_string.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o xs/windl.o xs/windl.c gcc -Iinclude -Ixs -I/home/fly2400/ap2400-300558/lib/CORE -DVERSION="0.56" -DXS_VERSION="0.56" -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o lib/FFI/Platypus.o lib/FFI/Platypus.c ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/FFI/Platypus/Platypus.bs') gcc -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -shared -O2 -fstack-protector -o blib/arch/auto/FFI/Platypus/Platypus.so lib/FFI/Platypus.o xs/closure.o xs/complex.o xs/custom.o xs/havepm.o xs/meta.o xs/names.o xs/perl_math_int64.o xs/record_opaque.o xs/record_simple.o xs/record_string.o xs/windl.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi PLICEASE/FFI-Platypus-0.56.tar.gz ./Build -- OK Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'test' Running Build test >>> ./Build test verbose=1 gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/align.o t/ffi/align.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/align_array.o t/ffi/align_array.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/align_fixed.o t/ffi/align_fixed.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/align_string.o t/ffi/align_string.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/basic.o t/ffi/basic.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/closure.o t/ffi/closure.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/color.o t/ffi/color.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/complex_double.o t/ffi/complex_double.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/complex_float.o t/ffi/complex_float.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/double.o t/ffi/double.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/float.o t/ffi/float.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/longdouble.o t/ffi/longdouble.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/memcmp4.o t/ffi/memcmp4.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/pointer.o t/ffi/pointer.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/record.o t/ffi/record.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/sint16.o t/ffi/sint16.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/sint32.o t/ffi/sint32.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/sint64.o t/ffi/sint64.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/sint8.o t/ffi/sint8.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/string.o t/ffi/string.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/uint16.o t/ffi/uint16.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/uint32.o t/ffi/uint32.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/uint64.o t/ffi/uint64.c gcc -I/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/include -I/home/fly2400/ap2400-300558/lib/CORE -fPIC -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -c -D_REENTRANT -D_GNU_SOURCE -DUSE_SITECUSTOMIZE -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -o t/ffi/uint8.o t/ffi/uint8.c gcc -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -shared -O2 -fstack-protector -o /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/t/ffi/libtest.so t/ffi/align.o t/ffi/align_array.o t/ffi/align_fixed.o t/ffi/align_string.o t/ffi/basic.o t/ffi/closure.o t/ffi/color.o t/ffi/complex_double.o t/ffi/complex_float.o t/ffi/double.o t/ffi/float.o t/ffi/longdouble.o t/ffi/memcmp4.o t/ffi/pointer.o t/ffi/record.o t/ffi/sint16.o t/ffi/sint32.o t/ffi/sint64.o t/ffi/sint8.o t/ffi/string.o t/ffi/uint16.o t/ffi/uint32.o t/ffi/uint64.o t/ffi/uint8.o -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi # # # # ACTIVEPERL_CONFIG_DISABLE=1 # HARNESS_ACTIVE=1 # HARNESS_IS_VERBOSE=1 # HARNESS_VERSION=3.36 # LANG=en_US.UTF-8 # PERL5LIB=/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/blib/lib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/blib/arch:inc:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib # PERL5OPT= # PERL5_CPANPLUS_IS_RUNNING=22309 # PERL5_CPAN_IS_RUNNING=22309 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=18418,22309 # PERL_DL_NONLAZY=1 # PERL_MM_USE_DEFAULT=1 # SHELL=/bin/sh # # # # PERL5LIB path # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/blib/lib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh/blib/arch # inc # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # # # # perl 5.024000 # Alien::Base 1.48 # Alien::FFI 0.22 # Capture::Tiny 0.48 # Config::AutoConf 0.317 # ExtUtils::CBuilder 0.280225 # FFI::CheckLib 0.20 # File::ShareDir 1.116 # IPC::Cmd 1.02 # Module::Build 0.4224 # PkgConfig 0.22026 # Test::More 1.302140 # constant 1.33 # # # # Alien::FFI version = 0.22 # Alien::FFI->install_type = share # Alien::FFI->cflags = -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include # Alien::FFI->libs = -L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi # Alien::FFI->dist_dir = /data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI # Alien::FFI->version = 3.2.1 # my_configure = %{configure} --disable-shared --enable-static --disable-builddir # # # # mb.args.extra_compiler_flags=-I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include # mb.args.extra_linker_flags=-L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi # config.lddlflags=-L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -shared -O2 -fstack-protector # ffi.platypus.memory.strdup_impl=c # # # # Types: # complex_double : complex, double complex # complex_float : float complex # longdouble : long double # sint16 : int16_t, int_least16_t, short, signed short # sint32 : int, int32_t, int_least32_t, signed int # sint64 : int64_t, int_least64_t, long, long long, signed long, signed long long # sint8 : char, int8_t, int_least8_t, signed char # uint16 : uint16_t, uint_least16_t, unsigned short, ushort # uint32 : gid_t, mode_t, uid_t, uint, uint32_t, uint_least32_t, unsigned int, wchar_t # uint64 : blkcnt_t, blksize_t, dev_t, ino_t, nlink_t, off_t, ptrdiff_t, size_t, time_t, uint64_t, uint_least64_t, ulong, unsigned long, unsigned long long # uint8 : bool, uchar, uint8_t, uint_least8_t, unsigned char # # # # ABIs: # default_abi 2 # fastcall 4 # pascal 6 # register 7 # stdcall 5 # sysv 1 # thiscall 3 # unix64 2 # # # # Probes: # longdouble 1 # abi 1 # # # # CPU Info: # model name : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz # flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc up rep_good nopl xtopology nonstop_tsc pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm # address sizes : 46 bits physical, 48 bits virtual # # # # No LSB modules are available. # Distributor ID: Ubuntu # Description: Ubuntu 12.04 LTS # Release: 12.04 # Codename: precise # # # t/00_diag.t .............................. 1..1 ok 1 - okay ok t/01_use.t ............................... ok 1 - require FFI::Platypus; ok 2 - require FFI::Platypus::API; ok 3 - require FFI::Platypus::Buffer; ok 4 - require FFI::Platypus::DL; ok 5 - require FFI::Platypus::Declare; ok 6 - require FFI::Platypus::Lang; ok 7 - require FFI::Platypus::Lang::ASM; ok 8 - require FFI::Platypus::Lang::C; ok 9 - require FFI::Platypus::Lang::Win32; ok 10 - require FFI::Platypus::Memory; ok 11 - require FFI::Platypus::Record; ok 12 - require FFI::Platypus::Record::TieArray; ok 13 - require FFI::Platypus::ShareConfig; ok 14 - require FFI::Platypus::Type::PointerSizeBuffer; ok 15 - require FFI::Platypus::Type::StringPointer; ok 16 - test for FFI::Platypus ok 17 - test for FFI::Platypus::API ok 18 - test for FFI::Platypus::Buffer ok 19 - test for FFI::Platypus::DL ok 20 - test for FFI::Platypus::Declare ok 21 - test for FFI::Platypus::Lang ok 22 - test for FFI::Platypus::Lang::ASM ok 23 - test for FFI::Platypus::Lang::C ok 24 - test for FFI::Platypus::Lang::Win32 ok 25 - test for FFI::Platypus::Memory ok 26 - test for FFI::Platypus::Record ok 27 - test for FFI::Platypus::Record::TieArray ok 28 - test for FFI::Platypus::ShareConfig ok 29 - test for FFI::Platypus::Type::PointerSizeBuffer ok 30 - test for FFI::Platypus::Type::StringPointer 1..30 ok t/ffi_platypus.t ......................... # Subtest: constructor # Subtest: basic ok 1 - An object of class 'FFI::Platypus' isa 'FFI::Platypus' 1..1 ok 1 - basic # Subtest: no arguments ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib 1..2 ok 2 - no arguments # Subtest: with single lib ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib 1..2 ok 3 - with single lib # Subtest: with multiple lib ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib 1..2 ok 4 - with multiple lib 1..4 ok 1 - constructor # Subtest: abi ok 1 - has a default ABI # Subtest: thiscall ok 1 - string ok 2 - integer 1..2 ok 2 - thiscall # Subtest: stdcall ok 1 - string ok 2 - integer 1..2 ok 3 - stdcall # Subtest: default_abi ok 1 - string ok 2 - integer 1..2 ok 4 - default_abi # Subtest: register ok 1 - string ok 2 - integer 1..2 ok 5 - register # Subtest: sysv ok 1 - string ok 2 - integer 1..2 ok 6 - sysv # Subtest: fastcall ok 1 - string ok 2 - integer 1..2 ok 7 - fastcall # Subtest: unix64 ok 1 - string ok 2 - integer 1..2 ok 8 - unix64 # Subtest: pascal ok 1 - string ok 2 - integer 1..2 ok 9 - pascal # Subtest: bogus ok 1 - string ok 2 - integer 1..2 ok 10 - bogus 1..10 ok 2 - abi # Subtest: alignof # Subtest: ffi types ok 1 - alignof sint8 = 1 ok 2 - alignof sint8 [2] = 1 ok 3 - alignof sint8 * = 8 ok 4 - alignof custom_sint8 = 1 ok 5 - alignof uint8 = 1 ok 6 - alignof uint8 [2] = 1 ok 7 - alignof uint8 * = 8 ok 8 - alignof custom_uint8 = 1 ok 9 - alignof sint16 = 2 ok 10 - alignof sint16 [2] = 2 ok 11 - alignof sint16 * = 8 ok 12 - alignof custom_sint16 = 2 ok 13 - alignof uint16 = 2 ok 14 - alignof uint16 [2] = 2 ok 15 - alignof uint16 * = 8 ok 16 - alignof custom_uint16 = 2 ok 17 - alignof sint32 = 4 ok 18 - alignof sint32 [2] = 4 ok 19 - alignof sint32 * = 8 ok 20 - alignof custom_sint32 = 4 ok 21 - alignof uint32 = 4 ok 22 - alignof uint32 [2] = 4 ok 23 - alignof uint32 * = 8 ok 24 - alignof custom_uint32 = 4 ok 25 - alignof sint64 = 8 ok 26 - alignof sint64 [2] = 8 ok 27 - alignof sint64 * = 8 ok 28 - alignof custom_sint64 = 8 ok 29 - alignof uint64 = 8 ok 30 - alignof uint64 [2] = 8 ok 31 - alignof uint64 * = 8 ok 32 - alignof custom_uint64 = 8 ok 33 - alignof float = 4 ok 34 - alignof float [2] = 4 ok 35 - alignof float * = 8 ok 36 - alignof custom_float = 4 ok 37 - alignof double = 8 ok 38 - alignof double [2] = 8 ok 39 - alignof double * = 8 ok 40 - alignof custom_double = 8 ok 41 - alignof opaque = 8 ok 42 - alignof opaque [2] = 8 ok 43 - alignof opaque * = 8 ok 44 - alignof custom_opaque = 8 ok 45 - alignof string = 8 1..45 ok 1 - ffi types # Subtest: aliases ok 1 - alignof ushort = 2 ok 2 - alignof foo = 2 1..2 ok 2 - aliases # Subtest: closure ok 1 - sizeof closure_t = 8 1..1 ok 3 - closure # Subtest: record ok 1 - generic record alignment not supported # cannot determine alignment of record at t/ffi_platypus.t line 123. 1..1 ok 4 - record 1..4 ok 3 - alignof # Subtest: custom type # Subtest: float ok 1 - ffi.custom_type 1 # {'float_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'float_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl'}} 1..6 ok 1 - float # Subtest: double ok 1 - ffi.custom_type 1 # {'double_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'double_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl'}} 1..6 ok 2 - double # Subtest: opaque ok 1 - ffi.custom_type 1 # {'opaque_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'opaque_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl'}} 1..6 ok 3 - opaque # Subtest: uint8 ok 1 - ffi.custom_type 1 # {'uint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'uint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl'}} 1..6 ok 4 - uint8 # Subtest: sint8 ok 1 - ffi.custom_type 1 # {'sint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'sint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl'}} 1..6 ok 5 - sint8 # Subtest: uint16 ok 1 - ffi.custom_type 1 # {'uint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'uint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl'}} 1..6 ok 6 - uint16 # Subtest: sint16 ok 1 - ffi.custom_type 1 # {'sint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'sint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl'}} 1..6 ok 7 - sint16 # Subtest: uint32 ok 1 - ffi.custom_type 1 # {'uint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'uint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl'}} 1..6 ok 8 - uint32 # Subtest: sint32 ok 1 - ffi.custom_type 1 # {'sint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'sint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl'}} 1..6 ok 9 - sint32 # Subtest: uint64 ok 1 - ffi.custom_type 1 # {'uint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'uint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl'}} 1..6 ok 10 - uint64 # Subtest: sint64 ok 1 - ffi.custom_type 1 # {'sint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}} ok 2 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}} ok 3 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}} ok 4 - ffi.custom_type 1 # {'sint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}} ok 5 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}} ok 6 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl'}} 1..6 ok 11 - sint64 1..11 ok 4 - custom type # Subtest: find lib # Subtest: find_lib ok 1 - found f0 = 140057446144448 1..1 ok 1 - find_lib # Subtest: external ok 1 - ffi.find_symbol(f0) = 140057446144448 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 2 - external # Subtest: internal ok 1 - ffi.find_symbol(printf) = 140057473213968 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 3 - internal 1..3 ok 5 - find lib # Subtest: find symbol # Subtest: external ok 1 - ffi.find_symbol(f0) = 140057446144448 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 1 - external # Subtest: internal ok 1 - ffi.find_symbol(printf) = 140057473213968 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 2 - internal 1..2 ok 6 - find symbol # Subtest: lib # Subtest: basic ok 1 - exists t/ffi/libtest.so ok 2 - ffi.lib (set) ok 3 - ffi.lib (get) 1..3 ok 1 - basic # Subtest: undef # Subtest: baseline ok 1 1..1 ok 1 - baseline # Subtest: lib => [undef] ok 1 1..1 ok 2 - lib => [undef] # Subtest: lib => undef ok 1 1..1 ok 3 - lib => undef 1..3 ok 2 - undef # Subtest: coderef ok 1 - exists t/ffi/libtest.so ok 2 - ffi.lib (set) ok 3 - ffi.lib (get) 1..3 ok 3 - coderef 1..3 ok 7 - lib # Subtest: sizeof # Subtest: integers ok 1 - sizeof uint8 = 1 ok 2 - sizeof uint16 = 2 ok 3 - sizeof uint32 = 4 ok 4 - sizeof uint64 = 8 ok 5 - sizeof sint8 = 1 ok 6 - sizeof sint16 = 2 ok 7 - sizeof sint32 = 4 ok 8 - sizeof sint64 = 8 1..8 ok 1 - integers # Subtest: floats ok 1 - sizeof float = 4 ok 2 - sizeof double = 8 1..2 ok 2 - floats # Subtest: pointers ok 1 - sizeof opaque = 8 ok 2 - sizeof uint8* = 8 ok 3 - sizeof uint16* = 8 ok 4 - sizeof uint32* = 8 ok 5 - sizeof uint64* = 8 ok 6 - sizeof sint8* = 8 ok 7 - sizeof sint16* = 8 ok 8 - sizeof sint32* = 8 ok 9 - sizeof sint64* = 8 ok 10 - sizeof float* = 8 ok 11 - sizeof double* = 8 ok 12 - sizeof opaque* = 8 ok 13 - sizeof string = 8 ok 14 - sizeof (int)->int = 8 1..14 ok 3 - pointers # Subtest: arrays ok 1 - sizeof uint8 [32] = 1 ok 2 - sizeof uint8 [32] = 2 ok 3 - sizeof uint8 [32] = 3 ok 4 - sizeof uint8 [32] = 4 ok 5 - sizeof uint8 [32] = 5 ok 6 - sizeof uint8 [32] = 6 ok 7 - sizeof uint8 [32] = 7 ok 8 - sizeof uint8 [32] = 8 ok 9 - sizeof uint8 [32] = 9 ok 10 - sizeof uint8 [32] = 10 ok 11 - sizeof uint16 [32] = 2 ok 12 - sizeof uint16 [32] = 4 ok 13 - sizeof uint16 [32] = 6 ok 14 - sizeof uint16 [32] = 8 ok 15 - sizeof uint16 [32] = 10 ok 16 - sizeof uint16 [32] = 12 ok 17 - sizeof uint16 [32] = 14 ok 18 - sizeof uint16 [32] = 16 ok 19 - sizeof uint16 [32] = 18 ok 20 - sizeof uint16 [32] = 20 ok 21 - sizeof uint32 [32] = 4 ok 22 - sizeof uint32 [32] = 8 ok 23 - sizeof uint32 [32] = 12 ok 24 - sizeof uint32 [32] = 16 ok 25 - sizeof uint32 [32] = 20 ok 26 - sizeof uint32 [32] = 24 ok 27 - sizeof uint32 [32] = 28 ok 28 - sizeof uint32 [32] = 32 ok 29 - sizeof uint32 [32] = 36 ok 30 - sizeof uint32 [32] = 40 ok 31 - sizeof uint64 [32] = 8 ok 32 - sizeof uint64 [32] = 16 ok 33 - sizeof uint64 [32] = 24 ok 34 - sizeof uint64 [32] = 32 ok 35 - sizeof uint64 [32] = 40 ok 36 - sizeof uint64 [32] = 48 ok 37 - sizeof uint64 [32] = 56 ok 38 - sizeof uint64 [32] = 64 ok 39 - sizeof uint64 [32] = 72 ok 40 - sizeof uint64 [32] = 80 ok 41 - sizeof sint8 [32] = 1 ok 42 - sizeof sint8 [32] = 2 ok 43 - sizeof sint8 [32] = 3 ok 44 - sizeof sint8 [32] = 4 ok 45 - sizeof sint8 [32] = 5 ok 46 - sizeof sint8 [32] = 6 ok 47 - sizeof sint8 [32] = 7 ok 48 - sizeof sint8 [32] = 8 ok 49 - sizeof sint8 [32] = 9 ok 50 - sizeof sint8 [32] = 10 ok 51 - sizeof sint16 [32] = 2 ok 52 - sizeof sint16 [32] = 4 ok 53 - sizeof sint16 [32] = 6 ok 54 - sizeof sint16 [32] = 8 ok 55 - sizeof sint16 [32] = 10 ok 56 - sizeof sint16 [32] = 12 ok 57 - sizeof sint16 [32] = 14 ok 58 - sizeof sint16 [32] = 16 ok 59 - sizeof sint16 [32] = 18 ok 60 - sizeof sint16 [32] = 20 ok 61 - sizeof sint32 [32] = 4 ok 62 - sizeof sint32 [32] = 8 ok 63 - sizeof sint32 [32] = 12 ok 64 - sizeof sint32 [32] = 16 ok 65 - sizeof sint32 [32] = 20 ok 66 - sizeof sint32 [32] = 24 ok 67 - sizeof sint32 [32] = 28 ok 68 - sizeof sint32 [32] = 32 ok 69 - sizeof sint32 [32] = 36 ok 70 - sizeof sint32 [32] = 40 ok 71 - sizeof sint64 [32] = 8 ok 72 - sizeof sint64 [32] = 16 ok 73 - sizeof sint64 [32] = 24 ok 74 - sizeof sint64 [32] = 32 ok 75 - sizeof sint64 [32] = 40 ok 76 - sizeof sint64 [32] = 48 ok 77 - sizeof sint64 [32] = 56 ok 78 - sizeof sint64 [32] = 64 ok 79 - sizeof sint64 [32] = 72 ok 80 - sizeof sint64 [32] = 80 ok 81 - sizeof float [32] = 4 ok 82 - sizeof float [32] = 8 ok 83 - sizeof float [32] = 12 ok 84 - sizeof float [32] = 16 ok 85 - sizeof float [32] = 20 ok 86 - sizeof float [32] = 24 ok 87 - sizeof float [32] = 28 ok 88 - sizeof float [32] = 32 ok 89 - sizeof float [32] = 36 ok 90 - sizeof float [32] = 40 ok 91 - sizeof double [32] = 8 ok 92 - sizeof double [32] = 16 ok 93 - sizeof double [32] = 24 ok 94 - sizeof double [32] = 32 ok 95 - sizeof double [32] = 40 ok 96 - sizeof double [32] = 48 ok 97 - sizeof double [32] = 56 ok 98 - sizeof double [32] = 64 ok 99 - sizeof double [32] = 72 ok 100 - sizeof double [32] = 80 ok 101 - sizeof opaque [32] = 8 ok 102 - sizeof opaque [32] = 16 ok 103 - sizeof opaque [32] = 24 ok 104 - sizeof opaque [32] = 32 ok 105 - sizeof opaque [32] = 40 ok 106 - sizeof opaque [32] = 48 ok 107 - sizeof opaque [32] = 56 ok 108 - sizeof opaque [32] = 64 ok 109 - sizeof opaque [32] = 72 ok 110 - sizeof opaque [32] = 80 1..110 ok 4 - arrays # Subtest: custom_type ok 1 - sizeof my_uint8 = 1 ok 2 - sizeof my_uint16 = 2 ok 3 - sizeof my_uint32 = 4 ok 4 - sizeof my_uint64 = 8 ok 5 - sizeof my_sint8 = 1 ok 6 - sizeof my_sint16 = 2 ok 7 - sizeof my_sint32 = 4 ok 8 - sizeof my_sint64 = 8 ok 9 - sizeof my_float = 4 ok 10 - sizeof my_double = 8 ok 11 - sizeof my_opaque = 8 1..11 ok 5 - custom_type 1..5 ok 8 - sizeof # Subtest: type # Subtest: simple type ok 1 - ffi.type(sint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' 1..2 ok 1 - simple type # Subtest: aliased type ok 1 - ffi.type(sint8 => my_integer_8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 4 - ffi.types returns my_integer_8 1..4 ok 2 - aliased type # Subtest: ffi basic types # Subtest: sint8 ok 1 - ffi.type(sint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'scalar'} # 0 ok 3 - size = 1 1..3 ok 1 - sint8 # Subtest: uint8 ok 1 - ffi.type(uint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'scalar'} # 0 ok 3 - size = 1 1..3 ok 2 - uint8 # Subtest: sint16 ok 1 - ffi.type(sint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'scalar'} # 0 ok 3 - size = 2 1..3 ok 3 - sint16 # Subtest: uint16 ok 1 - ffi.type(uint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'scalar'} # 0 ok 3 - size = 2 1..3 ok 4 - uint16 # Subtest: sint32 ok 1 - ffi.type(sint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'} # 0 ok 3 - size = 4 1..3 ok 5 - sint32 # Subtest: uint32 ok 1 - ffi.type(uint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'scalar'} # 0 ok 3 - size = 4 1..3 ok 6 - uint32 # Subtest: sint64 ok 1 - ffi.type(sint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'scalar'} # 0 ok 3 - size = 8 1..3 ok 7 - sint64 # Subtest: uint64 ok 1 - ffi.type(uint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'scalar'} # 0 ok 3 - size = 8 1..3 ok 8 - uint64 # Subtest: float ok 1 - ffi.type(float) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'scalar'} # 0 ok 3 - size = 4 1..3 ok 9 - float # Subtest: double ok 1 - ffi.type(double) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'scalar'} # 0 ok 3 - size = 8 1..3 ok 10 - double # Subtest: opaque ok 1 - ffi.type(opaque) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'scalar'} # 0 ok 3 - size = 8 1..3 ok 11 - opaque # Subtest: string ok 1 - ffi.type(string) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'access' => 'ro','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 8,'type' => 'string'} # 0 ok 3 - size = 8 1..3 ok 12 - string # Subtest: longdouble ok 1 - ffi.type(longdouble) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 16,'element_type' => 'float','exotic' => 1,'ffi_type' => 'longdouble','size' => 16,'type' => 'scalar'} # 0 ok 3 - size = 16 1..3 ok 13 - longdouble 1..13 ok 3 - ffi basic types # Subtest: ffi pointer types # Subtest: sint8 * ok 1 - ffi.type(sint8 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 1 - sint8 * # Subtest: uint8 * ok 1 - ffi.type(uint8 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 2 - uint8 * # Subtest: sint16 * ok 1 - ffi.type(sint16 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 3 - sint16 * # Subtest: uint16 * ok 1 - ffi.type(uint16 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 4 - uint16 * # Subtest: sint32 * ok 1 - ffi.type(sint32 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 5 - sint32 * # Subtest: uint32 * ok 1 - ffi.type(uint32 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 6 - uint32 * # Subtest: sint64 * ok 1 - ffi.type(sint64 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 7 - sint64 * # Subtest: uint64 * ok 1 - ffi.type(uint64 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 8 - uint64 * # Subtest: float * ok 1 - ffi.type(float *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 9 - float * # Subtest: double * ok 1 - ffi.type(double *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 10 - double * # Subtest: opaque * ok 1 - ffi.type(opaque *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 11 - opaque * # Subtest: string * 1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE POINTER ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE POINTER # Subtest: longdouble * ok 1 - ffi.type(longdouble *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_size' => 16,'element_type' => 'float','ffi_type' => 'longdouble','size' => 8,'type' => 'pointer'} # 0 ok 3 - size = 8 1..3 ok 13 - longdouble * 1..13 ok 4 - ffi pointer types # Subtest: ffi array types # Subtest: sint8 [5] ok 1 - ffi.type(sint8 [5]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 5,'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 5,'type' => 'array'} # 0 ok 3 - size = 5 ok 4 - size = 5 1..4 ok 1 - sint8 [5] # Subtest: uint8 [7] ok 1 - ffi.type(uint8 [7]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 7,'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 7,'type' => 'array'} # 0 ok 3 - size = 7 ok 4 - size = 7 1..4 ok 2 - uint8 [7] # Subtest: sint16 [9] ok 1 - ffi.type(sint16 [9]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 9,'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 18,'type' => 'array'} # 0 ok 3 - size = 18 ok 4 - size = 9 1..4 ok 3 - sint16 [9] # Subtest: uint16 [11] ok 1 - ffi.type(uint16 [11]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 11,'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 22,'type' => 'array'} # 0 ok 3 - size = 22 ok 4 - size = 11 1..4 ok 4 - uint16 [11] # Subtest: sint32 [13] ok 1 - ffi.type(sint32 [13]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 13,'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 52,'type' => 'array'} # 0 ok 3 - size = 52 ok 4 - size = 13 1..4 ok 5 - sint32 [13] # Subtest: uint32 [15] ok 1 - ffi.type(uint32 [15]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 15,'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 60,'type' => 'array'} # 0 ok 3 - size = 60 ok 4 - size = 15 1..4 ok 6 - uint32 [15] # Subtest: sint64 [17] ok 1 - ffi.type(sint64 [17]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 17,'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 136,'type' => 'array'} # 0 ok 3 - size = 136 ok 4 - size = 17 1..4 ok 7 - sint64 [17] # Subtest: uint64 [19] ok 1 - ffi.type(uint64 [19]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 19,'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 152,'type' => 'array'} # 0 ok 3 - size = 152 ok 4 - size = 19 1..4 ok 8 - uint64 [19] # Subtest: float [21] ok 1 - ffi.type(float [21]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 21,'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 84,'type' => 'array'} # 0 ok 3 - size = 84 ok 4 - size = 21 1..4 ok 9 - float [21] # Subtest: double [23] ok 1 - ffi.type(double [23]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 23,'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 184,'type' => 'array'} # 0 ok 3 - size = 184 ok 4 - size = 23 1..4 ok 10 - double [23] # Subtest: opaque [25] ok 1 - ffi.type(opaque [25]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 25,'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 200,'type' => 'array'} # 0 ok 3 - size = 200 ok 4 - size = 25 1..4 ok 11 - opaque [25] # Subtest: string [27] 1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE ARRAY ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE ARRAY # Subtest: longdouble [29] ok 1 - ffi.type(longdouble [29]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {'element_count' => 29,'element_size' => 16,'element_type' => 'float','ffi_type' => 'longdouble','size' => 464,'type' => 'array'} # 0 ok 3 - size = 464 ok 4 - size = 29 1..4 ok 13 - longdouble [29] 1..13 ok 5 - ffi array types # Subtest: closure types ok 1 - (int)->int is a legal closure type # {'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'}],{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'}],'size' => 8,'type' => 'closure'} # 0 ok 2 # skip arrays not currently supported as closure argument types ok 3 - inline closure illegal ok 4 - argument type closure illegal ok 5 - return type closure illegal ok 6 - a more complicated closure # {'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar'},{'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'scalar'},{'access' => 'ro','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 8,'type' => 'string'},{'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'scalar'}],{'element_size' => 1,'element_type' => 'void','ffi_type' => 'void','size' => 1,'type' => 'scalar'}],'size' => 8,'type' => 'closure'} # 0 1..6 ok 6 - closure types # Subtest: record # {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 0,'size' => 1,'type' => 'record'} # 0 # {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 0,'size' => 32,'type' => 'record'} # 0 ok 1 - sizeof my_record_1 = 1 ok 2 - sizeof my_record_32 = 32 # {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 1,'size' => 22,'type' => 'record'} # 0 # {'element_type' => 'opaque','ffi_type' => 'pointer','ref' => 1,'size' => 44,'type' => 'record'} # 0 ok 3 - sizeof my_record_22 = 22 ok 4 - sizeof my_record_44 = 44 1..4 ok 7 - record # Subtest: string # Subtest: string ok 1 - sizeof string = 8 ok 2 - not fixed size ok 3 - access = ro # {'access' => 'ro','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 8,'type' => 'string'} # 0 1..3 ok 1 - string # Subtest: string_rw ok 1 - sizeof string_rw = 8 ok 2 - not fixed size ok 3 - access = rw # {'access' => 'rw','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 8,'type' => 'string'} # 0 1..3 ok 2 - string_rw # Subtest: string_ro ok 1 - sizeof string_ro = 8 ok 2 - not fixed size ok 3 - access = ro # {'access' => 'ro','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 8,'type' => 'string'} # 0 1..3 ok 3 - string_ro # Subtest: string rw ok 1 - sizeof string rw = 8 ok 2 - not fixed size ok 3 - access = rw # {'access' => 'rw','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 8,'type' => 'string'} # 0 1..3 ok 4 - string rw # Subtest: string ro ok 1 - sizeof string ro = 8 ok 2 - not fixed size ok 3 - access = ro # {'access' => 'ro','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 0,'size' => 8,'type' => 'string'} # 0 1..3 ok 5 - string ro # Subtest: string (10) ok 1 - sizeof string (10) = 10 ok 2 - fixed size ok 3 - access = rw # {'access' => 'rw','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 1,'size' => 10,'type' => 'string'} # 0 1..3 ok 6 - string (10) # Subtest: string(10) ok 1 - sizeof string(10) = 10 ok 2 - fixed size ok 3 - access = rw # {'access' => 'rw','element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','fixed_size' => 1,'size' => 10,'type' => 'string'} # 0 1..3 ok 7 - string(10) 1..7 ok 8 - string # Subtest: private # Subtest: void ok 1 - type = FFI::Platypus::Type->new(void) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = void 1..3 ok 1 - void # Subtest: uint8 ok 1 - type = FFI::Platypus::Type->new(uint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint8 1..3 ok 2 - uint8 # Subtest: sint8 ok 1 - type = FFI::Platypus::Type->new(sint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint8 1..3 ok 3 - sint8 # Subtest: uint16 ok 1 - type = FFI::Platypus::Type->new(uint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint16 1..3 ok 4 - uint16 # Subtest: sint16 ok 1 - type = FFI::Platypus::Type->new(sint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint16 1..3 ok 5 - sint16 # Subtest: uint32 ok 1 - type = FFI::Platypus::Type->new(uint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint32 1..3 ok 6 - uint32 # Subtest: sint32 ok 1 - type = FFI::Platypus::Type->new(sint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint32 1..3 ok 7 - sint32 # Subtest: uint64 ok 1 - type = FFI::Platypus::Type->new(uint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint64 1..3 ok 8 - uint64 # Subtest: sint64 ok 1 - type = FFI::Platypus::Type->new(sint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint64 1..3 ok 9 - sint64 # Subtest: float ok 1 - type = FFI::Platypus::Type->new(float) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = float 1..3 ok 10 - float # Subtest: double ok 1 - type = FFI::Platypus::Type->new(double) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = double 1..3 ok 11 - double # Subtest: longdouble ok 1 - type = FFI::Platypus::Type->new(longdouble) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = longdouble 1..3 ok 12 - longdouble # Subtest: opaque ok 1 - type = FFI::Platypus::Type->new(opaque) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer 1..3 ok 13 - opaque # Subtest: pointer ok 1 - type = FFI::Platypus::Type->new(pointer) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer 1..3 ok 14 - pointer # Subtest: string ok 1 - type = FFI::Platypus::Type->new(string) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer 1..3 ok 15 - string 1..15 ok 9 - private 1..9 ok 9 - type # Subtest: class or instance method ok 1 - class and instance methods are identical # type: blkcnt_t # type: blksize_t # type: bool # type: char # type: dev_t # type: double # type: float # type: gid_t # type: ino_t # type: int # type: int16_t # type: int32_t # type: int64_t # type: int8_t # type: int_least16_t # type: int_least32_t # type: int_least64_t # type: int_least8_t # type: long # type: long double # type: long long # type: longdouble # type: mode_t # type: nlink_t # type: off_t # type: opaque # type: pointer # type: ptrdiff_t # type: short # type: signed char # type: signed int # type: signed long # type: signed long long # type: signed short # type: sint16 # type: sint32 # type: sint64 # type: sint8 # type: size_t # type: string # type: time_t # type: uchar # type: uid_t # type: uint # type: uint16 # type: uint16_t # type: uint32 # type: uint32_t # type: uint64 # type: uint64_t # type: uint8 # type: uint8_t # type: uint_least16_t # type: uint_least32_t # type: uint_least64_t # type: uint_least8_t # type: ulong # type: unsigned char # type: unsigned int # type: unsigned long # type: unsigned long long # type: unsigned short # type: ushort # type: void # type: wchar_t 1..1 ok 10 - class or instance method # Subtest: cast # Subtest: cast from string to pointer ok 1 - dynamic ok 2 - static 1..2 ok 1 - cast from string to pointer # Subtest: cast from pointer to string ok 1 - dynamic ok 2 - static 1..2 ok 2 - cast from pointer to string # Subtest: cast closure to opaque ok 1 - dynamic ok 2 - dynamic ok 3 - static ok 4 - static 1..4 ok 3 - cast closure to opaque 1..3 ok 11 - cast # Subtest: ignore_not_found # Subtest: ignore_not_found=undef ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 625. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 629. 1..4 ok 1 - ignore_not_found=undef # Subtest: ignore_not_found=0 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 645. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 649. 1..4 ok 2 - ignore_not_found=0 # Subtest: ignore_not_found=0 (constructor) ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 663. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 667. 1..4 ok 3 - ignore_not_found=0 (constructor) # Subtest: ignore_not_found=1 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function no exception ok 4 - f2 is undefined ok 5 - attach no exception 1..5 ok 4 - ignore_not_found=1 # Subtest: ignore_not_found=1 (constructor) ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function no exception ok 4 - f2 is undefined ok 5 - attach no exception 1..5 ok 5 - ignore_not_found=1 (constructor) # Subtest: ignore_not_found bool context ok 1 - f1 exists and resolved to boolean true ok 2 - f2 does not exist and resolved to boolean false 1..2 ok 6 - ignore_not_found bool context 1..6 ok 12 - ignore_not_found # Subtest: attach basic ok 1 - f0(22) = 22 ok 2 - f1(22) = 22 ok 3 - Roger::f1(22) = 22 ok 4 - f0_wrap(22) = 25 ok 5 - f0_wrap(22) = 25 1..5 ok 13 - attach basic # Subtest: attach void ok 1 - $i_ptr = 43 after f2(\$i_ptr) ok 2 - $i_ptr = 44 after f2_implicit(\$i_ptr) 1..2 ok 14 - attach void 1..14 ok t/ffi_platypus_api.t ..................... skipped: TODO t/ffi_platypus_buffer.t .................. # Subtest: simple ok 1 - ptr = 11632672 ok 2 - size = 16 ok 3 - scalar = me grimlock king 1..3 ok 1 - simple # Subtest: unicode ok 1 - ptr = 9562544 ok 2 - size = 12 ok 3 - scalar = привет 1..3 ok 2 - unicode 1..2 ok t/ffi_platypus_closure.t ................. # Subtest: basic ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 ok 3 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 4 - closure.(1) = 3 ok 5 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 6 - closure.(1) = 3 ok 7 - able to call sticky 1..7 ok 1 - basic # Subtest: private ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 1..2 ok 2 - private # Subtest: space ok 1 - good without space ok 2 - good with space 1..2 ok 3 - space # Subtest: die ok 1 ok 2 - does not exit # warning = 'omg i don't want to die! at t/ffi_platypus_closure.t line 50. # ' 1..2 ok 4 - die # Subtest: reuse ok 1 ok 2 1..2 ok 5 - reuse 1..5 ok t/ffi_platypus_declare.t ................. # Subtest: normal ok 1 - f0(22) = 22 ok 2 - f1(22) = 22 ok 3 - f0_wrap(22) = 25 ok 4 - f0_wrap2(22) = 25 1..4 ok 1 - normal # Subtest: with type aliases ok 1 - atoi("42") = 42 1..1 ok 2 - with type aliases # Subtest: simple closure test ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 1..2 ok 3 - simple closure test # Subtest: abis ok 1 - has a default ABI # Subtest: default_abi ok 1 - string ok 2 - integer 1..2 ok 2 - default_abi # Subtest: stdcall ok 1 - string ok 2 - integer 1..2 ok 3 - stdcall # Subtest: register ok 1 - string ok 2 - integer 1..2 ok 4 - register # Subtest: fastcall ok 1 - string ok 2 - integer 1..2 ok 5 - fastcall # Subtest: unix64 ok 1 - string ok 2 - integer 1..2 ok 6 - unix64 # Subtest: pascal ok 1 - string ok 2 - integer 1..2 ok 7 - pascal # Subtest: sysv ok 1 - string ok 2 - integer 1..2 ok 8 - sysv # Subtest: thiscall ok 1 - string ok 2 - integer 1..2 ok 9 - thiscall # Subtest: bogus ok 1 - string ok 2 - integer 1..2 ok 10 - bogus 1..10 ok 4 - abis # Subtest: lang # Subtest: C ok 1 - int is an okay type ok 2 - foo_t is not an okay type # unknown type: foo_t at t/ffi_platypus_declare.t line 100. ok 3 - sint16 is an okay type 1..3 ok 1 - C # Subtest: Foo constructor ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_declare.t line 129. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 1..5 ok 2 - Foo constructor 1..2 ok 5 - lang # Subtest: sizeof ok 1 - sizeof uint32 = 4 ok 2 - sizeof uint32[2] = 8 1..2 ok 6 - sizeof # Subtest: sticky ok 1 - call_closure(2) = 4 1..1 ok 7 - sticky # Subtest: cast # Subtest: cast from string to pointer ok 1 - dynamic ok 2 - static 1..2 ok 1 - cast from string to pointer # Subtest: cast from pointer to string ok 1 - dynamic ok 2 - static 1..2 ok 2 - cast from pointer to string # Subtest: cast closure to opaque ok 1 - dynamic ok 2 - static 1..2 ok 3 - cast closure to opaque 1..3 ok 8 - cast 1..8 ok t/ffi_platypus_dl.t ...................... # Subtest: flags ok 1 - RTLD_PLATYPUS_DEFAULT is defined # RTLD_LOCAL 0000 0 # RTLD_PLATYPUS_DEFAULT 0001 1 # RTLD_LAZY 0001 1 # RTLD_NOW 0002 2 # RTLD_NOLOAD 0004 4 # RTLD_DEEPBIND 0008 8 # RTLD_GLOBAL 0100 256 # RTLD_NODELETE 1000 4096 1..1 ok 1 - flags # Subtest: dlopen # Subtest: bad library ok 1 - Returns undef on fail # dlerror = t/ffi/libbogus.so: cannot open shared object file: No such file or directory 1..1 ok 1 - bad library # Subtest: good library ok 1 - Returns handle on good # h = 21299952 1..1 ok 2 - good library 1..2 ok 2 - dlopen # Subtest: dlsym # Subtest: good symbol ok 1 - returns an address # address = 140177798269376 1..1 ok 1 - good symbol # Subtest: bad symbol ok 1 - bad symbol returns undef # dlerror = t/ffi/libtest.so: undefined symbol: bogus 1..1 ok 2 - bad symbol 1..2 ok 3 - dlsym 1..3 ok t/ffi_platypus_function.t ................ # Subtest: built in type ok 1 - ffi.function(f0, [uint8] => uint8) ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function' ok 3 - function.call(22) = 22 ok 4 - function.(22) = 22 1..4 ok 1 - built in type # Subtest: custom type ok 1 - ffi.function(f0, [my_int_8] => my_int_8) ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function' ok 3 - function.call(22) = 22 ok 4 - function.(22) = 22 1..4 ok 2 - custom type # Subtest: private ok 1 - FFI::Platypus::Function->new ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function' ok 3 - function.call(22) = 22 ok 4 - fooble(22) = 22 1..4 ok 3 - private 1..3 ok t/ffi_platypus_lang.t .................... # Subtest: Foo constructor ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_lang.t line 14. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 ok 6 1..6 ok 1 - Foo constructor # Subtest: Foo attribute ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_lang.t line 34. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 ok 6 1..6 ok 2 - Foo attribute # Subtest: MyLang::Roger ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_lang.t line 53. ok 2 - sizeof foo_t = 4 1..2 ok 3 - MyLang::Roger 1..3 ok t/ffi_platypus_lang_asm.t ................ # Subtest: ASM ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_lang_asm.t line 13. ok 2 - foo_t is not an okay type # unknown type: foo_t at t/ffi_platypus_lang_asm.t line 16. ok 3 - sint16 is an okay type ok 4 - unable to find unmangled name 1..4 ok 1 - ASM 1..1 ok t/ffi_platypus_lang_c.t .................. # Subtest: C ok 1 - int is an okay type ok 2 - foo_t is not an okay type # unknown type: foo_t at t/ffi_platypus_lang_c.t line 15. ok 3 - sint16 is an okay type ok 4 - unable to find unmangled name 1..4 ok 1 - C 1..1 ok t/ffi_platypus_lang_win32.t .............. # BOOL sint32 # BOOLEAN uint8 # BYTE uint8 # CCHAR sint8 # CHAR sint8 # COLORREF uint32 # DWORD uint32 # DWORD32 uint32 # DWORD64 uint64 # DWORDLONG uint64 # DWORD_PTR uint16 # FLOAT float # HACCEL opaque # HALF_PTR sint16 # HANDLE opaque # HBITMAP opaque # HBRUSH opaque # HCOLORSPACE opaque # HCONV opaque # HCONVLIST opaque # HCURSOR opaque # HDC opaque # HDDEDATA opaque # HDESK opaque # HDROP opaque # HDWP opaque # HENHMETAFILE opaque # HFILE sint32 # HFONT opaque # HGDIOBJ opaque # HGLOBAL opaque # HHOOK opaque # HICON opaque # HINSTANCE opaque # HKEY opaque # HKL opaque # HLOCAL opaque # HMENU opaque # HMETAFILE opaque # HMODULE opaque # HMONITOR opaque # HPALETTE opaque # HPEN opaque # HRESULT sint32 # HRGN opaque # HRSRC opaque # HSZ opaque # HWINSTA opaque # HWND opaque # INT sint32 # INT16 sint16 # INT32 sint32 # INT64 sint64 # INT8 sint8 # INT_PTR sint32 # LANGID uint16 # LCID uint32 # LCTYPE uint32 # LGRPID uint32 # LONG sint32 # LONG32 sint32 # LONG64 sint64 # LONGLONG sint64 # LONG_PTR sint16 # LPCSTR string # LPCVOID opaque # LPVOID opaque # LRESULT sint16 # PSTR string # PVOID opaque # QWORD uint64 # SC_HANDLE opaque # SC_LOCK opaque # SERVICE_STATUS_HANDLE opaque # SHORT sint16 # SIZE_T uint16 # SSIZE_T sint16 # UCHAR uint8 # UHALF_PTR uint16 # UINT16 uint16 # UINT32 uint32 # UINT64 uint64 # UINT8 uint8 # UINT_PTR uint32 # ULONG uint32 # ULONG32 uint32 # ULONG64 uint64 # ULONGLONG uint64 # ULONG_PTR uint16 # USHORT uint16 # USN sint64 # VOID void # WORD uint16 # WPARAM uint32 # blkcnt_t uint64 # blksize_t uint64 # bool uint8 # char sint8 # complex complex_double # dev_t uint64 # double complex complex_double # float complex complex_float # gid_t uint32 # ino_t uint64 # int sint32 # int16_t sint16 # int32_t sint32 # int64_t sint64 # int8_t sint8 # int_least16_t sint16 # int_least32_t sint32 # int_least64_t sint64 # int_least8_t sint8 # long sint64 # long double longdouble # long long sint64 # mode_t uint32 # nlink_t uint64 # off_t uint64 # ptrdiff_t uint64 # short sint16 # signed char sint8 # signed int sint32 # signed long sint64 # signed long long sint64 # signed short sint16 # size_t uint64 # time_t uint64 # uchar uint8 # uid_t uint32 # uint uint32 # uint16_t uint16 # uint32_t uint32 # uint64_t uint64 # uint8_t uint8 # uint_least16_t uint16 # uint_least32_t uint32 # uint_least64_t uint64 # uint_least8_t uint8 # ulong uint64 # unsigned char uint8 # unsigned int uint32 # unsigned long uint64 # unsigned long long uint64 # unsigned short uint16 # ushort uint16 # wchar_t uint32 ok 1 - good 1..1 ok t/ffi_platypus_memory.t .................. # Subtest: malloc calloc memset free ok 1 - malloc returns 44966576 ok 2 - calloc returns 43983664 ok 3 - string = yyyyxxxx ok 4 - free $ptr1 ok 5 - free $ptr2 1..5 ok 1 - malloc calloc memset free # Subtest: memcpy ok 1 - initial data copied ok 2 - copy of copy ok 3 - memcpy returns a pointer ok 4 - free $ptr1 ok 5 - free $ptr2 1..5 ok 2 - memcpy # Subtest: realloc ok 1 - realloc call ptr = 35109568 ok 2 - initial data copied ok 3 - realloc call ptr = 45248736 (2) ok 4 - after realloc data there ok 5 - final free 1..5 ok 3 - realloc # Subtest: strdup # strdup implementation = c ok 1 - string = this and ok 2 - free $ptr1 1..2 ok 4 - strdup 1..4 ok t/ffi_platypus_record.t .................. # Subtest: integer accessor ok 1 - An object of class 'Foo1' isa 'Foo1' ok 2 - foo._record_size = 8 ok 3 - foo.first = 1 ok 4 - foo.second = 2 ok 5 - foo.first = 22 ok 6 - foo.second = 42 ok 7 - foo.first = 3 ok 8 - foo.second = 4 1..8 ok 1 - integer accessor # Subtest: values match in C ok 1 - An object of class 'Color' isa 'Color' ok 2 - color.get_red = 50 ok 3 - color.get_green = 100 ok 4 - color.get_blue = 150 1..4 ok 2 - values match in C # Subtest: complex alignment ok 1 - An object of class 'Foo2' isa 'Foo2' ok 2 - uint64 = 512 ok 3 - sint64 = -512 ok 4 - uint32 = 1024 ok 5 - sint32 = -1024 ok 6 - uint16 = 2048 ok 7 - sint16 = -2048 ok 8 - uint8 = 48 ok 9 - sint8 = -48 ok 10 - float = 1.5 ok 11 - double = -1.5 ok 12 - get_opaque = 34387552 ok 13 - opaque = 34387552 ok 14 - get_opaque = undef ok 15 - opaque = undef 1..15 ok 3 - complex alignment # Subtest: same name ok 1 - two members of the same name not allowed # accessor/method foo already exists at t/ffi_platypus_record.t line 174. 1..1 ok 4 - same name # Subtest: array alignment ok 1 - An object of class 'Foo4' isa 'Foo4' # Subtest: unsigned 8 integer ok 1 - uint8 = 1,2,3 ok 2 - get_uint8 = 1,2,3 ok 3 - uint8(1) = 2 ok 4 - uint8 = 1,20,3 1..4 ok 2 - unsigned 8 integer # Subtest: signed 8 integer ok 1 - sint8 = -1,2,-3 ok 2 - get_sint8 = -1,2,-3 ok 3 - sint8(2) = -3 ok 4 - sint8 = -1,-20,-3 1..4 ok 3 - signed 8 integer # Subtest: unsigned 16 integer ok 1 - uint16 = 1,2,3 ok 2 - get_uint16 = 1,2,3 ok 3 - uint16(1) = 2 ok 4 - uint16 = 1,20,3 1..4 ok 4 - unsigned 16 integer # Subtest: signed 16 integer ok 1 - sint16 = -1,2,-3 ok 2 - get_sint16 = -1,2,-3 ok 3 - sint16(2) = -3 ok 4 - sint16 = -1,-20,-3 1..4 ok 5 - signed 16 integer # Subtest: unsigned 32 integer ok 1 - uint32 = 1,2,3 ok 2 - get_uint32 = 1,2,3 ok 3 - uint32(1) = 2 ok 4 - uint32 = 1,20,3 1..4 ok 6 - unsigned 32 integer # Subtest: signed 32 integer ok 1 - sint32 = -1,2,-3 ok 2 - get_sint32 = -1,2,-3 ok 3 - sint32(2) = -3 ok 4 - sint32 = -1,-20,-3 1..4 ok 7 - signed 32 integer # Subtest: unsigned 64 integer ok 1 - uint64 = 1,2,3 ok 2 - get_uint64 = 1,2,3 ok 3 - uint64(1) = 2 ok 4 - uint64 = 1,20,3 1..4 ok 8 - unsigned 64 integer # Subtest: signed 64 integer ok 1 - sint64 = -1,2,-3 ok 2 - get_sint64 = -1,2,-3 ok 3 - sint64(2) = -3 ok 4 - sint64 = -1,-20,-3 1..4 ok 9 - signed 64 integer # Subtest: float ok 1 - float = 1.5,0,-1.5 ok 2 ok 3 ok 4 ok 5 - float = 1.5,20,-1.5 1..5 ok 10 - float # Subtest: double ok 1 - double = 1.5,0,-1.5 ok 2 ok 3 ok 4 ok 5 - double = 1.5,20,-1.5 1..5 ok 11 - double # Subtest: opaque ok 1 - opaque = 34707984,undef,34708720 ok 2 - opaque = 34707984,34707984,34708720 ok 3 - opaque = undef,34707984,34708720 ok 4 ok 5 ok 6 1..6 ok 12 - opaque ok 13 - align = 8 ok 14 - align is positive 1..14 ok 5 - array alignment # Subtest: string ro ok 1 - An object of class 'Foo5' isa 'Foo5' ok 2 - foo.value = undef ok 3 - foo.get_value = undef ok 4 - foo.value = my value ok 5 - foo.get_value = my value ok 6 - value is ro # member is read only at t/ffi_platypus_record.t line 328. ok 7 - foo.value = undef ok 8 - foo.get_value = undef 1..8 ok 6 - string ro # Subtest: fixed string ok 1 - An object of class 'Foo6' isa 'Foo6' ok 2 - foo.value = "\0\0\0\0\0\0\0\0\0\0" ok 3 - foo.get_value = "" ok 4 - foo.value = "one two th" ok 5 - foo.value = 123456789\0 ok 6 - foo.get_value = 123456789 1..6 ok 7 - fixed string # Subtest: string rw ok 1 - An object of class 'Foo7' isa 'Foo7' ok 2 - foo.value = hi there ok 3 - foo.get_value = hi there ok 4 - foo.value = undef ok 5 - foo.get_value = undef ok 6 - foo.value = starscream!!! ok 7 - foo.get_value = starscream!!! 1..7 ok 8 - string rw 1..8 ok t/ffi_platypus_record_tiearray.t ......... ok 1 - An object of class 'Foo' isa 'Foo' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 1..45 ok t/ffi_platypus_shareconfig.t ............. # { # 'abi' => { # 'default_abi' => 2, # 'fastcall' => 4, # 'pascal' => 6, # 'register' => 7, # 'stdcall' => 5, # 'sysv' => 1, # 'thiscall' => 3, # 'unix64' => 2 # }, # 'align' => { # 'double' => 8, # 'double complex' => 8, # 'float' => 4, # 'float complex' => 4, # 'long double' => 16, # 'pointer' => 8, # 'sint16' => 2, # 'sint32' => 4, # 'sint64' => 8, # 'sint8' => 1, # 'uint16' => 2, # 'uint32' => 4, # 'uint64' => 8, # 'uint8' => 1 # }, # 'config_dlext' => [ # 'so' # ], # 'diag' => { # 'args' => { # 'extra_compiler_flags' => '-I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include', # 'extra_linker_flags' => '-L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi' # }, # 'config' => { # 'lddlflags' => '-L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -shared -O2 -fstack-protector' # } # }, # 'probe' => { # 'abi' => 1, # 'longdouble' => 1 # }, # 'test-key' => 'test-value', # 'type_map' => { # 'blkcnt_t' => 'uint64', # 'blksize_t' => 'uint64', # 'bool' => 'uint8', # 'char' => 'sint8', # 'complex' => 'complex_double', # 'dev_t' => 'uint64', # 'double complex' => 'complex_double', # 'float complex' => 'complex_float', # 'gid_t' => 'uint32', # 'ino_t' => 'uint64', # 'int' => 'sint32', # 'int16_t' => 'sint16', # 'int32_t' => 'sint32', # 'int64_t' => 'sint64', # 'int8_t' => 'sint8', # 'int_least16_t' => 'sint16', # 'int_least32_t' => 'sint32', # 'int_least64_t' => 'sint64', # 'int_least8_t' => 'sint8', # 'long' => 'sint64', # 'long double' => 'longdouble', # 'long long' => 'sint64', # 'mode_t' => 'uint32', # 'nlink_t' => 'uint64', # 'off_t' => 'uint64', # 'ptrdiff_t' => 'uint64', # 'short' => 'sint16', # 'signed char' => 'sint8', # 'signed int' => 'sint32', # 'signed long' => 'sint64', # 'signed long long' => 'sint64', # 'signed short' => 'sint16', # 'size_t' => 'uint64', # 'time_t' => 'uint64', # 'uchar' => 'uint8', # 'uid_t' => 'uint32', # 'uint' => 'uint32', # 'uint16_t' => 'uint16', # 'uint32_t' => 'uint32', # 'uint64_t' => 'uint64', # 'uint8_t' => 'uint8', # 'uint_least16_t' => 'uint16', # 'uint_least32_t' => 'uint32', # 'uint_least64_t' => 'uint64', # 'uint_least8_t' => 'uint8', # 'ulong' => 'uint64', # 'unsigned char' => 'uint8', # 'unsigned int' => 'uint32', # 'unsigned long' => 'uint64', # 'unsigned long long' => 'uint64', # 'unsigned short' => 'uint16', # 'ushort' => 'uint16', # 'wchar_t' => 'uint32' # } # } # 0 ok 1 ok 2 1..2 ok t/ffi_platypus_type_pointersizebuffer.t .. ok 1 ok 2 ok 3 ok 4 ok 5 1..5 ok t/ffi_platypus_type_stringpointer.t ...... # Subtest: arg pass in ok 1 - not null ok 2 - \undef is null ok 3 - undef is null 1..3 ok 1 - arg pass in # Subtest: arg pass out ok 1 - not null string = hi there ok 2 - not null string = and another 1..2 ok 2 - arg pass out # Subtest: return value ok 1 - not null string = once more onto ok 2 - \null ok 3 - null 1..3 ok 3 - return value 1..3 ok Can't locate object method "tid" via package "threads" at /data/fly2400/cpanfly-5.24/var/megalib/Test2/Util.pm line 142. BEGIN failed--compilation aborted at t/forks.t line 4. Undefined subroutine &threads::_END called at (eval 7) line 1. END failed--call queue aborted at t/forks.t line 4. Can't locate object method "tid" via package "threads" at /data/fly2400/cpanfly-5.24/var/megalib/Test2/Util.pm line 142. END failed--call queue aborted at t/forks.t line 4. (in cleanup) Can't locate object method "tid" via package "threads" at /data/fly2400/cpanfly-5.24/var/megalib/Test2/Util.pm line 142 during global destruction. t/forks.t ................................ Dubious, test returned 22 (wstat 5632, 0x1600) No subtests run t/threads.t .............................. ok 1 - works in a thread ok 2 - works in main thread 1..2 ok t/type_complex_double.t .................. skipped: Test requires support for double complex t/type_complex_float.t ................... skipped: Test requires support for float complex t/type_double.t .......................... ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok t/type_float.t ........................... ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok t/type_longdouble.t ...................... # Subtest: with Math::LongDouble # Subtest: scalar ok 1 - An object of class 'Math::LongDouble' isa 'Math::LongDouble' ok 2 - add(1.5,2.5) = 4.0 1..2 ok 1 - scalar # Subtest: pointer ok 1 ok 2 ok 3 ok 4 ok 5 - An object of class 'Math::LongDouble' isa 'Math::LongDouble' ok 6 1..6 ok 2 - pointer # Subtest: array fixed ok 1 # [1.0e+00,2.0e+00,3.0e+00] ok 2 ok 3 ok 4 1..4 ok 3 - array fixed # Subtest: array var ok 1 # [1.0e+00,2.0e+00,3.0e+00] ok 2 ok 3 ok 4 1..4 ok 4 - array var # Subtest: array return # [1.0e+00,2.0e+00,3.0e+00] ok 1 ok 2 ok 3 1..3 ok 5 - array return 1..5 ok 1 - with Math::LongDouble # Subtest: without Math::LongDouble # You have Math::LongDouble, but for this test we are going to turn it off # Subtest: scalar ok 1 - add(1.5,2.5) = 4 1..1 ok 1 - scalar # Subtest: pointer ok 1 ok 2 ok 3 ok 4 ok 5 1..5 ok 2 - pointer # Subtest: array fixed ok 1 # [1,2,3] ok 2 ok 3 ok 4 1..4 ok 3 - array fixed # Subtest: array var ok 1 # [1,2,3] ok 2 ok 3 ok 4 1..4 ok 4 - array var # Subtest: array return # [1,2,3] ok 1 ok 2 ok 3 1..3 ok 5 - array return 1..5 ok 2 - without Math::LongDouble 1..2 ok t/type_opaque.t .......................... ok 1 - null = undef ok 2 - is_null(undef) == 1 ok 3 - is_null() == 1 ok 4 - is_null($ptr) = 0 ok 5 - setp(41716912); getp() = 41716912 ok 6 - get($tmp); tmp = 41716912 ok 7 - get(\$tmp); \$tmp = undef ok 8 - aa_in([one two three]) ok 9 - aa_null_in([undef,undef,undef]) ok 10 - aa_out() ok 11 - aa_null_out() ok 12 - ra_out() ok 13 - ra_null_out ok 14 - pp2p(\undef) = undef ok 15 - pp2p(\43813152) = 43813152 ok 16 - p2pp(undef) = \undef ok 17 - pp2p(43813152) = \43813152 ok 18 - call_closure(undef) = undef ok 19 - save = undef ok 20 - call_closure(\42024336) = 42024336 ok 21 - save = 42024336 # Subtest: custom type input ok 1 ok 2 1..2 ok 22 - custom type input # Subtest: custom type output ok 1 ok 2 1..2 ok 23 - custom type output 1..23 ok t/type_record.t .......................... # record size = 20 # Subtest: not a reference # Subtest: in # packed size = 20 ok 1 - get_value($packed) = 42 ok 2 - get_name($packed) = hi there ok 3 - is_null(undef) 1..3 ok 1 - in # Subtest: out # packed size = 20 ok 1 - get_value($packed) = 47 ok 2 - get_value($packed) = platypus ok 3 - null() = undef 1..3 ok 2 - out 1..2 ok 1 - not a reference # Subtest: is a reference # Subtest: in # packed size = 20 ok 1 - get_value(\$packed) = 42 ok 2 - get_name(\$packed) = hi there ok 3 - is_null(\undef) 1..3 ok 1 - in # Subtest: out # packed size = 31 ok 1 - An object of class 'My::FooRecord' isa 'My::FooRecord' ok 2 - packed.my_method = starscream ok 3 - get_value($packed) = 47 ok 4 - get_value($packed) = platypus ok 5 - null() = \undef 1..5 ok 2 - out 1..2 ok 2 - is a reference # Subtest: closure ok 1 - allow record type as arg ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 # error = record is read-only at t/type_record.t line 126. ok 8 ok 9 ok 10 ok 11 # error = record is read-only at t/type_record.t line 135. ok 12 ok 13 # error = record is read-only at t/type_record.t line 142. ok 14 ok 15 ok 16 # error = record is read-only at t/type_record.t line 151. ok 17 ok 18 ok 19 # error = record is read-only at t/type_record.t line 160. ok 20 ok 21 # error = record is read-only at t/type_record.t line 167. ok 22 ok 23 # error = record is read-only at t/type_record.t line 175. ok 24 ok 25 ok 26 # error = record is read-only at t/type_record.t line 184. ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 1..32 ok 3 - closure 1..3 ok t/type_sint16.t .......................... ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok t/type_sint32.t .......................... ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok t/type_sint64.t .......................... ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok t/type_sint8.t ........................... ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok t/type_string.t .......................... ok 1 - string_matches_foobarbaz(foobarbaz) = true ok 2 - string_matches_foobarbaz(foobarbaz) = false ok 3 - string_return_foobarbaz() = foobarbaz ok 4 - null() = undef ok 5 - is_null(undef) = 1 ok 6 - is_null() = 1 ok 7 - is_null("foo") = 0 ok 8 - $save = hey there ok 9 - $save = undef ok 10 - fixed_input_test(foobarbaz\0) ok 11 - fixed_input_is_null(undef) ok 12 - string_fixed_text(0) = zero ok 13 - string_fixed_text(1) = one ok 14 - string_fixed_text(2) = two ok 15 - string_fixed_text(3) = three ok 16 - fixed_output_null() ok 17 - save=zero 1..17 ok t/type_uint16.t .......................... ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok t/type_uint32.t .......................... ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok t/type_uint64.t .......................... ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok t/type_uint8.t ........................... ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok Test Summary Report ------------------- t/forks.t (Wstat: 5632 Tests: 0 Failed: 0) Non-zero exit status: 22 Parse errors: No plan found in TAP output Files=37, Tests=380, 10 wallclock secs ( 0.19 usr 0.16 sys + 7.29 cusr 1.81 csys = 9.45 CPU) Result: FAIL Failed 1/37 test programs. 0/380 subtests failed. PLICEASE/FFI-Platypus-0.56.tar.gz ./Build test verbose=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports PLICEASE/FFI-Platypus-0.56.tar.gz Running test for module 'FFI::Platypus' PLICEASE/FFI-Platypus-0.56.tar.gz Has already been unwrapped into directory /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.56-oY5XEh PLICEASE/FFI-Platypus-0.56.tar.gz Has already been prepared PLICEASE/FFI-Platypus-0.56.tar.gz Has already been made PLICEASE/FFI-Platypus-0.56.tar.gz Won't repeat unsuccessful test during this command PLICEASE/Alien-nragent-0.04.tar.gz Has already been unwrapped into directory /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx PLICEASE/Alien-nragent-0.04.tar.gz Has already been prepared Running make for P/PL/PLICEASE/Alien-nragent-0.04.tar.gz Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'FFI::Platypus => 0' for 'PLICEASE/Alien-nragent-0.04.tar.gz' failed when processing 'PLICEASE/FFI-Platypus-0.56.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'FFI::Platypus::DL => 0' for 'PLICEASE/Alien-nragent-0.04.tar.gz' failed when processing 'PLICEASE/FFI-Platypus-0.56.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> make cp lib/Alien/nragent.pm blib/lib/Alien/nragent.pm "/data/fly2400/ap2400-300558/bin/perl-static" -MAlien::Build::MM=cmd -e prefix site /home/fly2400/ap2400-300558/lib /home/fly2400/ap2400-300558/site/lib main> prefix /home/fly2400/ap2400-300558/site/lib/auto/share/dist/Alien-nragent "/data/fly2400/ap2400-300558/bin/perl-static" -MAlien::Build::MM=cmd -e version 0.04 "/data/fly2400/ap2400-300558/bin/perl-static" -MAlien::Build::MM=cmd -e download Alien::Build::Plugin::Core::Download> downloaded nr_agent_sdk-v0.16.2.0-beta.x86_64.tar.gz "/data/fly2400/ap2400-300558/bin/perl-static" -MAlien::Build::MM=cmd -e build Alien::Build::CommandSequence> + mkdir -p /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/auto/share/dist/Alien-nragent/include Alien::Build::CommandSequence> + mkdir -p /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/auto/share/dist/Alien-nragent/lib Alien::Build::CommandSequence> + cp -a include/* /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/auto/share/dist/Alien-nragent/include Alien::Build::CommandSequence> + cp -a lib/* /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/auto/share/dist/Alien-nragent/lib Alien::Build::Plugin::Core::Legacy> adding legacy hash to config Alien::Build::Plugin::Core::Gather> mkdir -p /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/auto/share/dist/Alien-nragent/_alien Manifying 1 pod document PLICEASE/Alien-nragent-0.04.tar.gz make -- OK Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 "/data/fly2400/ap2400-300558/bin/perl-static" -MAlien::Build::MM=cmd -e test PERL_DL_NONLAZY=1 "/data/fly2400/ap2400-300558/bin/perl-static" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # # # # ACTIVEPERL_CONFIG_DISABLE=1 # HARNESS_ACTIVE=1 # HARNESS_IS_VERBOSE=1 # HARNESS_VERSION=3.36 # LANG=en_US.UTF-8 # PERL5LIB=/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib # PERL5OPT= # PERL5_CPANPLUS_IS_RUNNING=22309 # PERL5_CPAN_IS_RUNNING=22309 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=18418,22309 # PERL_DL_NONLAZY=1 # PERL_MM_USE_DEFAULT=1 # SHELL=/bin/sh # # # # PERL5LIB path # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # # # # perl 5.024000 # Alien::Base 1.48 # Alien::Build 1.48 # Alien::Build::MM 1.48 # Capture::Tiny 0.48 # ExtUtils::MakeMaker 7.16 # FFI::CheckLib 0.20 # FFI::Platypus - # FFI::Platypus::DL - # Test2::V0 0.000084 # Test::Alien 1.48 # # # Can't locate FFI/Platypus/DL.pm in @INC (you may need to install the FFI::Platypus::DL module) (@INC contains: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /home/fly2400/ap2400-300558/site/lib /home/fly2400/ap2400-300558/lib .) at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/Alien/nragent.pm line 6. BEGIN failed--compilation aborted at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/Alien/nragent.pm line 6. Compilation failed in require at t/00_diag.t line 26. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 after test #1. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 1. t/00_diag.t ........ ok 1 - okay Dubious, test returned 2 (wstat 512, 0x200) All 1 subtests passed # Failed test 'require Alien::nragent' # at t/01_use.t line 4. # error: Can't locate FFI/Platypus/DL.pm in @INC (you may need to install the FFI::Platypus::DL module) (@INC contains: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /home/fly2400/ap2400-300558/site/lib /home/fly2400/ap2400-300558/lib .) at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/Alien/nragent.pm line 6. # BEGIN failed--compilation aborted at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/Alien/nragent.pm line 6. # Compilation failed in require at (eval 77) line 2. t/01_use.t ......... not ok 1 - require Alien::nragent 1..1 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests Can't locate FFI/Platypus/DL.pm in @INC (you may need to install the FFI::Platypus::DL module) (@INC contains: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.48-Tz3_oy/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /home/fly2400/ap2400-300558/site/lib /home/fly2400/ap2400-300558/lib .) at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/Alien/nragent.pm line 6. BEGIN failed--compilation aborted at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.04-cOwyGx/blib/lib/Alien/nragent.pm line 6. Compilation failed in require at t/alien_nragent.t line 2. BEGIN failed--compilation aborted at t/alien_nragent.t line 2. t/alien_nragent.t .. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Test Summary Report ------------------- t/00_diag.t (Wstat: 512 Tests: 1 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/01_use.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/alien_nragent.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=3, Tests=2, 1 wallclock secs ( 0.02 usr 0.02 sys + 0.63 cusr 0.15 csys = 0.82 CPU) Result: FAIL Failed 3/3 test programs. 1/2 subtests failed. make: *** [test_dynamic] Error 2 PLICEASE/Alien-nragent-0.04.tar.gz 2 dependencies missing (FFI::Platypus::DL,FFI::Platypus); additionally test harness failed make test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports PLICEASE/Alien-nragent-0.04.tar.gz VmSize: 355488 kB Finished 2018-09-06T02:11:47