PATH=/usr/bin:/bin:/data/fly2400/cpanfly-5.24/var/megalib/bin Start 2019-07-03T02:02:09 ActivePerl-2400 CPAN-2.10 Reading '/data/fly2400/cpanfly-5.24/var/cpan/Metadata' Database was generated on Tue, 02 Jul 2019 00:56:30 GMT Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/P/PL/PLICEASE/Alien-nragent-0.06.tar.gz ok Alien-nragent-0.06/ Alien-nragent-0.06/author.yml Alien-nragent-0.06/lib/ Alien-nragent-0.06/lib/Alien/ Alien-nragent-0.06/lib/Alien/nragent.pm Alien-nragent-0.06/META.json Alien-nragent-0.06/dist.ini Alien-nragent-0.06/Changes Alien-nragent-0.06/LICENSE Alien-nragent-0.06/README Alien-nragent-0.06/xt/ Alien-nragent-0.06/xt/author/ Alien-nragent-0.06/xt/author/version.t Alien-nragent-0.06/xt/author/pod_coverage.t Alien-nragent-0.06/xt/author/strict.t Alien-nragent-0.06/xt/author/pod_spelling_system.t Alien-nragent-0.06/xt/author/no_tabs.t Alien-nragent-0.06/xt/author/pod_spelling_common.t Alien-nragent-0.06/xt/author/pod.t Alien-nragent-0.06/xt/author/eol.t Alien-nragent-0.06/xt/release/ Alien-nragent-0.06/xt/release/fixme.t Alien-nragent-0.06/xt/release/changes.t Alien-nragent-0.06/t/ Alien-nragent-0.06/t/alien_nragent.t Alien-nragent-0.06/t/01_use.t Alien-nragent-0.06/t/00_diag.t Alien-nragent-0.06/META.yml Alien-nragent-0.06/MANIFEST Alien-nragent-0.06/alienfile Alien-nragent-0.06/Makefile.PL Alien-nragent-0.06/INSTALL ---- Unsatisfied dependencies detected during ---- ---- PLICEASE/Alien-nragent-0.06.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.78.tar.gz ok Alien-Build-1.78 Alien-Build-1.78/README Alien-Build-1.78/Changes Alien-Build-1.78/SUPPORT Alien-Build-1.78/LICENSE Alien-Build-1.78/INSTALL Alien-Build-1.78/dist.ini Alien-Build-1.78/META.yml Alien-Build-1.78/MANIFEST Alien-Build-1.78/META.json Alien-Build-1.78/author.yml Alien-Build-1.78/t Alien-Build-1.78/t/01_use.t Alien-Build-1.78/t/bin Alien-Build-1.78/t/bin/ftpd Alien-Build-1.78/t/00_diag.t Alien-Build-1.78/t/bin/httpd Alien-Build-1.78/Makefile.PL Alien-Build-1.78/maint Alien-Build-1.78/maint/gen.pl Alien-Build-1.78/t/alienfile.t Alien-Build-1.78/example Alien-Build-1.78/example/README Alien-Build-1.78/t/alien_role.t Alien-Build-1.78/t/test_alien.t Alien-Build-1.78/t/alien_base.t Alien-Build-1.78/inc Alien-Build-1.78/inc/trivial.xs Alien-Build-1.78/t/alien_build.t Alien-Build-1.78/inc/probebad.pl Alien-Build-1.78/xt/author Alien-Build-1.78/xt/author/eol.t Alien-Build-1.78/xt/author/pod.t Alien-Build-1.78/lib Alien-Build-1.78/lib/alienfile.pm Alien-Build-1.78/lib/Test Alien-Build-1.78/lib/Test/Alien.pm Alien-Build-1.78/lib/Alien Alien-Build-1.78/lib/Alien/Base.pm Alien-Build-1.78/lib/Alien/Role.pm Alien-Build-1.78/maint/travis-dzil Alien-Build-1.78/Changes.Test-Alien Alien-Build-1.78/Changes.Alien-Base Alien-Build-1.78/lib/Alien/Build.pm Alien-Build-1.78/example/wrapper.pl Alien-Build-1.78/t/test_alien_run.t Alien-Build-1.78/t/alien_build_rc.t Alien-Build-1.78/t/alien_build_mm.t Alien-Build-1.78/corpus/rc Alien-Build-1.78/corpus/rc/basic.pl Alien-Build-1.78/xt/author/strict.t Alien-Build-1.78/xt/release Alien-Build-1.78/xt/release/fixme.t Alien-Build-1.78/example/user Alien-Build-1.78/example/user/README Alien-Build-1.78/t/lib/MyTest Alien-Build-1.78/t/lib/MyTest/FTP.pm Alien-Build-1.78/corpus/dir Alien-Build-1.78/corpus/dir/ftp.list Alien-Build-1.78/maint/travis-daemon Alien-Build-1.78/xt/author/no_tabs.t Alien-Build-1.78/xt/author/version.t Alien-Build-1.78/example/xz.alienfile Alien-Build-1.78/t/test_alien_build.t Alien-Build-1.78/t/alien_build_meta.t Alien-Build-1.78/t/alien_build_util.t Alien-Build-1.78/t/lib/MyTest/HTTP.pm Alien-Build-1.78/t/lib/MyTest/File.pm Alien-Build-1.78/corpus/dist2 Alien-Build-1.78/corpus/dist2/foo.tar Alien-Build-1.78/corpus/dir/file.html Alien-Build-1.78/corpus/dir/http.html Alien-Build-1.78/xt/release/changes.t Alien-Build-1.78/lib/Test/Alien Alien-Build-1.78/lib/Test/Alien/Run.pm Alien-Build-1.78/lib/Alien/Build Alien-Build-1.78/lib/Alien/Build/MM.pm Alien-Build-1.78/maint/travis-run-test Alien-Build-1.78/lib/Alien/Base Alien-Build-1.78/lib/Alien/Base/FAQ.pod Alien-Build-1.78/example/curl.alienfile Alien-Build-1.78/t/alien_base_wrapper.t Alien-Build-1.78/t/alien_build_plugin.t Alien-Build-1.78/t/lib/MyTest/System.pm Alien-Build-1.78/corpus/basic Alien-Build-1.78/corpus/basic/alienfile Alien-Build-1.78/corpus/blank Alien-Build-1.78/corpus/blank/alienfile Alien-Build-1.78/lib/Test/Alien/Build.pm Alien-Build-1.78/lib/Alien/Build/Util.pm Alien-Build-1.78/example/gmake.alienfile Alien-Build-1.78/example/bzip2.alienfile Alien-Build-1.78/t/alien_build_tempdir.t Alien-Build-1.78/corpus/lib/Alien Alien-Build-1.78/corpus/lib/Alien/Foo.pm Alien-Build-1.78/corpus/dir/ftp_abs.list Alien-Build-1.78/t/alien_base_pkgconfig.t Alien-Build-1.78/t/test_alien_synthetic.t Alien-Build-1.78/corpus/lib/Alien/Foo1.pm Alien-Build-1.78/corpus/lib/Alien/Foo2.pm Alien-Build-1.78/corpus/dist Alien-Build-1.78/corpus/dist/foo-1.00.tar Alien-Build-1.78/corpus/dist/foo-1.00.zip Alien-Build-1.78/corpus/dir/http_rel.html Alien-Build-1.78/maint/cip-before-install Alien-Build-1.78/maint/ci-test-plugins.pl Alien-Build-1.78/xt/author/pod_coverage.t Alien-Build-1.78/lib/Alien/Build/Plugin.pm Alien-Build-1.78/lib/Alien/Base/Wrapper.pm Alien-Build-1.78/example/openssl.alienfile Alien-Build-1.78/t/test_alien_cancompile.t Alien-Build-1.78/corpus/lib/Foo/Bar Alien-Build-1.78/corpus/lib/Foo/Bar/Baz.pm Alien-Build-1.78/maint/travis-install-deps Alien-Build-1.78/Changes.Alien-Base-Wrapper Alien-Build-1.78/t/test_alien_canplatypus.t Alien-Build-1.78/t/lib/Test2/Require Alien-Build-1.78/t/lib/Test2/Require/Dev.pm Alien-Build-1.78/corpus/lib/Foo/Bar/Baz1.pm Alien-Build-1.78/corpus/dist/foo-1.00.tar.Z Alien-Build-1.78/corpus/dist/foo-1.00 Alien-Build-1.78/corpus/dist/foo-1.00/foo.c Alien-Build-1.78/maint/gen-test-archives.pl Alien-Build-1.78/lib/Test/Alien/Synthetic.pm Alien-Build-1.78/lib/Alien/Base/PkgConfig.pm Alien-Build-1.78/example/xz-manual.alienfile Alien-Build-1.78/example/dontpanic.alienfile Alien-Build-1.78/example/user/xs-mb Alien-Build-1.78/example/user/xs-mb/Build.PL Alien-Build-1.78/t/alien_build_interpolate.t Alien-Build-1.78/t/alien_build_plugin_meta.t Alien-Build-1.78/corpus/lib/Alien/libfoo1.pm Alien-Build-1.78/corpus/lib/Alien/libfoo3.pm Alien-Build-1.78/corpus/lib/Alien/libfoo2.pm Alien-Build-1.78/corpus/lib/Alien/foomake.pm Alien-Build-1.78/corpus/lib/pkgconfig Alien-Build-1.78/corpus/lib/pkgconfig/foo.pc Alien-Build-1.78/corpus/lib/pkgconfig/xor.pc Alien-Build-1.78/corpus/dist/foo-1.00.tar.xz Alien-Build-1.78/corpus/dist/foo-1.00.tar.gz Alien-Build-1.78/corpus/pkgconfig Alien-Build-1.78/corpus/pkgconfig/libbar1.pc Alien-Build-1.78/corpus/pkgconfig/libfoo1.pc Alien-Build-1.78/lib/Test/Alien/CanCompile.pm Alien-Build-1.78/lib/Alien/Base/Authoring.pod Alien-Build-1.78/corpus/dist/foo-1.00.tar.bz2 Alien-Build-1.78/lib/Test/Alien/CanPlatypus.pm Alien-Build-1.78/example/user/xs-dzil Alien-Build-1.78/example/user/xs-dzil/dist.ini Alien-Build-1.78/example/user/xs-mm Alien-Build-1.78/example/user/xs-mm/Example.xs Alien-Build-1.78/t/alien_build_version_basic.t Alien-Build-1.78/corpus/lib/Alien/SansShare.pm Alien-Build-1.78/lib/Alien/Build/Interpolate.pm Alien-Build-1.78/lib/Alien/Build/Manual Alien-Build-1.78/lib/Alien/Build/Manual/FAQ.pod Alien-Build-1.78/example/user/xs-mm/Makefile.PL Alien-Build-1.78/corpus/dist/foo-1.00/configure Alien-Build-1.78/Changes.Alien-Build-Decode-Mojo Alien-Build-1.78/lib/Alien/Build/Plugin Alien-Build-1.78/lib/Alien/Build/Plugin/Core.pod Alien-Build-1.78/example/user/xs-dzil/Example.xs Alien-Build-1.78/t/alien_build_commandsequence.t Alien-Build-1.78/t/alien_build_plugin_core_ffi.t Alien-Build-1.78/xt/author/pod_spelling_common.t Alien-Build-1.78/xt/author/pod_spelling_system.t Alien-Build-1.78/lib/Alien/Build/Version Alien-Build-1.78/lib/Alien/Build/Version/Basic.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Build.pod Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch.pod Alien-Build-1.78/lib/Alien/Build/Plugin/Probe.pod Alien-Build-1.78/lib/Alien/Build/Manual/Alien.pod Alien-Build-1.78/t/alien_build_plugin_core_tail.t Alien-Build-1.78/t/alien_base__system_installed.t Alien-Build-1.78/t/alien_build_plugin_test_mock.t Alien-Build-1.78/t/alien_build_plugin_fetch_lwp.t Alien-Build-1.78/t/lib/MyTest/FauxFetchCommand.pm Alien-Build-1.78/maint/update-cmake-libpalindrome Alien-Build-1.78/lib/Alien/Build/Plugin/Prefer.pod Alien-Build-1.78/lib/Alien/Build/Plugin/Decode.pod Alien-Build-1.78/t/alien_build_plugin_build_make.t Alien-Build-1.78/t/alien_build_plugin_fetch_wget.t Alien-Build-1.78/t/alien_build_plugin_core_setup.t Alien-Build-1.78/t/alien_build_plugin_build_msys.t Alien-Build-1.78/lib/Alien/Build/CommandSequence.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Extract.pod Alien-Build-1.78/lib/Alien/Build/Plugin/Core Alien-Build-1.78/lib/Alien/Build/Plugin/Core/FFI.pm Alien-Build-1.78/example/user/tool/t Alien-Build-1.78/example/user/tool/t/lzma_example.t Alien-Build-1.78/t/alien_build_plugin_decode_mojo.t Alien-Build-1.78/t/alien_build_plugin_build_cmake.t Alien-Build-1.78/t/alien_build_plugin_core_legacy.t Alien-Build-1.78/t/alien_build_plugin_decode_html.t Alien-Build-1.78/t/alien_build_plugin_fetch_local.t Alien-Build-1.78/t/alien_build_plugin_core_gather.t Alien-Build-1.78/corpus/cmake-libpalindrome Alien-Build-1.78/corpus/cmake-libpalindrome/LICENSE Alien-Build-1.78/corpus/alien_base_pkgconfig Alien-Build-1.78/corpus/alien_base_pkgconfig/gsl.pc Alien-Build-1.78/lib/Alien/Build/Plugin/Download.pod Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch/LWP.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Core/Tail.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Test Alien-Build-1.78/lib/Alien/Build/Plugin/Test/Mock.pm Alien-Build-1.78/example/user/xs-mm/t Alien-Build-1.78/example/user/xs-mm/t/lzma_example.t Alien-Build-1.78/example/user/xs-mb/t Alien-Build-1.78/example/user/xs-mb/t/lzma_example.t Alien-Build-1.78/t/alien_build_plugin_pkgconfig_pp.t Alien-Build-1.78/t/alien_build_interpolate_default.t Alien-Build-1.78/t/alien_build_plugin_fetch_netftp.t Alien-Build-1.78/t/alien_build_commandsequence__cd.t Alien-Build-1.78/corpus/lib/Alien/Foo2 Alien-Build-1.78/corpus/lib/Alien/Foo2/ConfigData.pm Alien-Build-1.78/corpus/lib/Alien/Foo1 Alien-Build-1.78/corpus/lib/Alien/Foo1/ConfigData.pm Alien-Build-1.78/corpus/alien_base_pkgconfig/test.pc Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch/Wget.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Build Alien-Build-1.78/lib/Alien/Build/Plugin/Build/MSYS.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Build/Make.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Core/Setup.pm Alien-Build-1.78/lib/Alien/Build/Manual/AlienUser.pod Alien-Build-1.78/t/alien_build_plugin_core_override.t Alien-Build-1.78/t/alien_build_plugin_core_download.t Alien-Build-1.78/corpus/lib/pkgconfig/xor-chillout.pc Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch/Local.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Build/CMake.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Core/Gather.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Core/Legacy.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Decode Alien-Build-1.78/lib/Alien/Build/Plugin/Decode/HTML.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Decode/Mojo.pm Alien-Build-1.78/example/user/xs-dzil/t Alien-Build-1.78/example/user/xs-dzil/t/lzma_example.t Alien-Build-1.78/example/user/tool/lib/LZMA Alien-Build-1.78/example/user/tool/lib/LZMA/Example.pm Alien-Build-1.78/t/alien_build_plugin_probe_cbuilder.t Alien-Build-1.78/t/alien_build_plugin_build_autoconf.t Alien-Build-1.78/t/alien_build_plugin_fetch_httptiny.t Alien-Build-1.78/t/alien_build_plugin_fetch_localdir.t Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch/NetFTP.pm Alien-Build-1.78/lib/Alien/Build/Plugin/PkgConfig Alien-Build-1.78/lib/Alien/Build/Plugin/PkgConfig/PP.pm Alien-Build-1.78/lib/Alien/Build/Manual/AlienAuthor.pod Alien-Build-1.78/lib/Alien/Build/Interpolate Alien-Build-1.78/lib/Alien/Build/Interpolate/Default.pm Alien-Build-1.78/example/user/inline-c/t Alien-Build-1.78/example/user/inline-c/t/lzma_example.t Alien-Build-1.78/example/user/xs-mm/lib/LZMA Alien-Build-1.78/example/user/xs-mm/lib/LZMA/Example.pm Alien-Build-1.78/example/user/xs-mb/lib/LZMA Alien-Build-1.78/example/user/xs-mb/lib/LZMA/Example.pm Alien-Build-1.78/example/user/xs-mb/lib/LZMA/Example.xs Alien-Build-1.78/t/alien_build_plugin_build_searchdep.t Alien-Build-1.78/corpus/cmake-libpalindrome/palx Alien-Build-1.78/corpus/cmake-libpalindrome/palx/main.c Alien-Build-1.78/maint/Alien-Base-PkgConfig Alien-Build-1.78/maint/Alien-Base-PkgConfig/Makefile.PL Alien-Build-1.78/lib/Alien/Build/Plugin/Core/Override.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Core/Download.pm Alien-Build-1.78/lib/Alien/Build/Manual/Contributing.pod Alien-Build-1.78/lib/Alien/Build/Manual/PluginAuthor.pod Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch/LocalDir.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch/HTTPTiny.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Build/Autoconf.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Probe Alien-Build-1.78/lib/Alien/Build/Plugin/Probe/CBuilder.pm Alien-Build-1.78/example/user/xs-dzil/lib/LZMA Alien-Build-1.78/example/user/xs-dzil/lib/LZMA/Example.pm Alien-Build-1.78/t/alien_build_plugin_extract_negotiate.t Alien-Build-1.78/t/alien_build_plugin_extract_directory.t Alien-Build-1.78/t/alien_build_plugin_decode_dirlisting.t Alien-Build-1.78/t/alien_build_plugin_core_cleaninstall.t Alien-Build-1.78/t/alien_build_plugin_fetch_curlcommand.t Alien-Build-1.78/t/alien_build_plugin_probe_commandline.t Alien-Build-1.78/t/alien_build_plugin_prefer_badversion.t Alien-Build-1.78/lib/Alien/Build/Plugin/Build/SearchDep.pm Alien-Build-1.78/example/user/inline-c/lib/LZMA Alien-Build-1.78/example/user/inline-c/lib/LZMA/Example.pm Alien-Build-1.78/t/alien_build_plugin_prefer_goodversion.t Alien-Build-1.78/t/alien_build_plugin_extract_archivetar.t Alien-Build-1.78/t/alien_build_plugin_download_negotiate.t Alien-Build-1.78/t/alien_build_plugin_extract_archivezip.t Alien-Build-1.78/corpus/cmake-libpalindrome/CMakeLists.txt Alien-Build-1.78/example/user/ffi-platypus/t Alien-Build-1.78/example/user/ffi-platypus/t/lzma_example.t Alien-Build-1.78/t/alien_build_plugin_prefer_sortversions.t Alien-Build-1.78/t/alien_build_plugin_pkgconfig_negotiate.t Alien-Build-1.78/t/alien_build_plugin_extract_commandline.t Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/Fetch Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/Fetch/Foo.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Prefer Alien-Build-1.78/lib/Alien/Build/Plugin/Prefer/BadVersion.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Fetch/CurlCommand.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Core/CleanInstall.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Decode/DirListing.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Probe/CommandLine.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Extract Alien-Build-1.78/lib/Alien/Build/Plugin/Extract/Directory.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Extract/Negotiate.pm Alien-Build-1.78/t/alien_build_plugin_pkgconfig_makestatic.t Alien-Build-1.78/t/alien_build_plugin_pkgconfig_libpkgconf.t Alien-Build-1.78/lib/Alien/Build/Plugin/Prefer/GoodVersion.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Extract/ArchiveTar.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Extract/ArchiveZip.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Download Alien-Build-1.78/lib/Alien/Build/Plugin/Download/Negotiate.pm Alien-Build-1.78/t/alien_build_plugin_pkgconfig_commandline.t Alien-Build-1.78/t/alien_build_plugin_gather_isolatedynamic.t Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-Foo2 Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-Foo2/README Alien-Build-1.78/corpus/lib/Alien/Build/Plugin Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/RogerRamjet.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Prefer/SortVersions.pm Alien-Build-1.78/lib/Alien/Build/Plugin/Extract/CommandLine.pm Alien-Build-1.78/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm Alien-Build-1.78/example/user/ffi-platypus/lib/LZMA Alien-Build-1.78/example/user/ffi-platypus/lib/LZMA/Example.pm Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/Fetch/Corpus.pm Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/Download Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/Download/Foo.pm Alien-Build-1.78/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm Alien-Build-1.78/lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm Alien-Build-1.78/corpus/cmake-libpalindrome/palx/CMakeLists.txt Alien-Build-1.78/lib/Alien/Build/Plugin/Gather Alien-Build-1.78/lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm Alien-Build-1.78/lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm Alien-Build-1.78/t/alien_build_plugin_decode_dirlistingftpcopy.t Alien-Build-1.78/t/alien_build_plugin_pkgconfig_negotiate__pick.t Alien-Build-1.78/lib/Alien/Build/Plugin/Decode/DirListingFtpcopy.pm Alien-Build-1.78/t/alien_build_plugin_extract_commandline__tar_can.t Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/record Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/record/old.yml Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-Foo2/lib Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2.a Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/record/old.json Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/dir Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/dir/foo-1.02.tar Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/dir/foo-1.00.tar Alien-Build-1.78/corpus/cmake-libpalindrome/libpalindrome Alien-Build-1.78/corpus/cmake-libpalindrome/libpalindrome/palindrome.c Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/lib Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/lib/libfoo.a Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/include Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/include/foo.h Alien-Build-1.78/corpus/alien_build_plugin_fetch_wget/dir/html_test.html Alien-Build-1.78/corpus/cmake-libpalindrome/libpalindrome/CMakeLists.txt Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/bin Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/bin/foo-config Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/NesAdvantage Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/NesAdvantage/Negotiate.pm Alien-Build-1.78/corpus/cmake-libpalindrome/libpalindrome/libpalindrome.h Alien-Build-1.78/corpus/lib/Alien/Build/Plugin/NesAdvantage/Controller.pm Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/dynamic Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/dynamic/libfoo.so Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/_alien Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/_alien/alien.json Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo3/_alien Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo3/_alien/alien.json Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo1/_alien Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo1/_alien/alien.json Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/record Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/record/old.yml Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/_alien/for_libfoo2 Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo1/_alien/for_libfoo1 Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/record/old.json Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/dynamic/libfoo.so.2 Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/lib/pkgconfig Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/lib/pkgconfig/x1.pc Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/dir Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.01.tar Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.02.tar Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.00.tar Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/share/pkgconfig Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-libfoo2/share/pkgconfig/x2.pc Alien-Build-1.78/corpus/alien_build_plugin_fetch_curlcommand/dir/html_test.html Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2-3.2.1/include Alien-Build-1.78/corpus/lib/auto/share/dist/Alien-Foo2/lib/libfoo2-3.2.1/include/foo2.h Configuring P/PL/PLICEASE/Alien-Build-1.78.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.78.tar.gz /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK Running make for P/PL/PLICEASE/Alien-Build-1.78.tar.gz >>> make cp lib/Alien/Base/Wrapper.pm blib/lib/Alien/Base/Wrapper.pm cp lib/Alien/Build/CommandSequence.pm blib/lib/Alien/Build/CommandSequence.pm cp lib/Alien/Build/Plugin/Build.pod blib/lib/Alien/Build/Plugin/Build.pod cp lib/Alien/Build/Manual/Alien.pod blib/lib/Alien/Build/Manual/Alien.pod cp lib/Alien/Build/Plugin/Core/Override.pm blib/lib/Alien/Build/Plugin/Core/Override.pm cp lib/Alien/Build/MM.pm blib/lib/Alien/Build/MM.pm cp lib/Alien/Build/Manual/AlienAuthor.pod blib/lib/Alien/Build/Manual/AlienAuthor.pod cp lib/Alien/Build/Manual/AlienUser.pod blib/lib/Alien/Build/Manual/AlienUser.pod cp lib/Alien/Build/Interpolate/Default.pm blib/lib/Alien/Build/Interpolate/Default.pm cp lib/Alien/Build/Plugin/Core/CleanInstall.pm blib/lib/Alien/Build/Plugin/Core/CleanInstall.pm cp lib/Alien/Build/Plugin/Build/CMake.pm blib/lib/Alien/Build/Plugin/Build/CMake.pm cp lib/Alien/Build/Plugin/Core/Legacy.pm blib/lib/Alien/Build/Plugin/Core/Legacy.pm cp lib/Alien/Base/Authoring.pod blib/lib/Alien/Base/Authoring.pod cp lib/Alien/Build.pm blib/lib/Alien/Build.pm cp lib/Alien/Build/Plugin/Build/Autoconf.pm blib/lib/Alien/Build/Plugin/Build/Autoconf.pm cp lib/Alien/Build/Plugin/Core/Download.pm blib/lib/Alien/Build/Plugin/Core/Download.pm cp lib/Alien/Build/Plugin/Core/FFI.pm blib/lib/Alien/Build/Plugin/Core/FFI.pm cp lib/Alien/Base.pm blib/lib/Alien/Base.pm cp lib/Alien/Build/Interpolate.pm blib/lib/Alien/Build/Interpolate.pm cp lib/Alien/Build/Plugin/Build/MSYS.pm blib/lib/Alien/Build/Plugin/Build/MSYS.pm cp lib/Alien/Build/Plugin/Core.pod blib/lib/Alien/Build/Plugin/Core.pod cp lib/Alien/Build/Plugin/Build/SearchDep.pm blib/lib/Alien/Build/Plugin/Build/SearchDep.pm cp lib/Alien/Build/Manual/PluginAuthor.pod blib/lib/Alien/Build/Manual/PluginAuthor.pod cp lib/Alien/Build/Plugin/Build/Make.pm blib/lib/Alien/Build/Plugin/Build/Make.pm cp lib/Alien/Build/Manual/Contributing.pod blib/lib/Alien/Build/Manual/Contributing.pod cp lib/Alien/Build/Plugin/Core/Tail.pm blib/lib/Alien/Build/Plugin/Core/Tail.pm cp lib/Alien/Base/PkgConfig.pm blib/lib/Alien/Base/PkgConfig.pm cp lib/Alien/Build/Plugin.pm blib/lib/Alien/Build/Plugin.pm cp lib/Alien/Build/Manual/FAQ.pod blib/lib/Alien/Build/Manual/FAQ.pod cp lib/Alien/Base/FAQ.pod blib/lib/Alien/Base/FAQ.pod cp lib/Alien/Build/Plugin/Core/Setup.pm blib/lib/Alien/Build/Plugin/Core/Setup.pm cp lib/Alien/Build/Plugin/Core/Gather.pm blib/lib/Alien/Build/Plugin/Core/Gather.pm cp lib/Alien/Build/Plugin/Fetch/HTTPTiny.pm blib/lib/Alien/Build/Plugin/Fetch/HTTPTiny.pm cp lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm cp lib/Alien/Build/Plugin/PkgConfig/PP.pm blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm cp lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm blib/lib/Alien/Build/Plugin/PkgConfig/MakeStatic.pm cp lib/Alien/Build/Plugin/Download.pod blib/lib/Alien/Build/Plugin/Download.pod cp lib/Alien/Build/Plugin/Extract.pod blib/lib/Alien/Build/Plugin/Extract.pod cp lib/Alien/Build/Plugin/Extract/Negotiate.pm blib/lib/Alien/Build/Plugin/Extract/Negotiate.pm cp lib/Alien/Build/Plugin/PkgConfig/CommandLine.pm blib/lib/Alien/Build/Plugin/PkgConfig/CommandLine.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/NetFTP.pm blib/lib/Alien/Build/Plugin/Fetch/NetFTP.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/Fetch/CurlCommand.pm blib/lib/Alien/Build/Plugin/Fetch/CurlCommand.pm cp lib/Alien/Build/Plugin/Decode/DirListingFtpcopy.pm blib/lib/Alien/Build/Plugin/Decode/DirListingFtpcopy.pm cp lib/Alien/Build/Plugin/Fetch/Local.pm blib/lib/Alien/Build/Plugin/Fetch/Local.pm cp lib/Alien/Build/Plugin/Extract/CommandLine.pm blib/lib/Alien/Build/Plugin/Extract/CommandLine.pm cp lib/Alien/Build/Plugin/Fetch.pod blib/lib/Alien/Build/Plugin/Fetch.pod cp lib/Alien/Build/Plugin/Gather/IsolateDynamic.pm blib/lib/Alien/Build/Plugin/Gather/IsolateDynamic.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/Decode/DirListing.pm blib/lib/Alien/Build/Plugin/Decode/DirListing.pm cp lib/Alien/Build/Plugin/Decode/Mojo.pm blib/lib/Alien/Build/Plugin/Decode/Mojo.pm cp lib/Alien/Build/Plugin/Download/Negotiate.pm blib/lib/Alien/Build/Plugin/Download/Negotiate.pm cp lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm blib/lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm cp lib/Alien/Build/Plugin/Extract/Directory.pm blib/lib/Alien/Build/Plugin/Extract/Directory.pm cp lib/Alien/Build/Plugin/Decode.pod blib/lib/Alien/Build/Plugin/Decode.pod cp lib/Alien/Build/Plugin/Prefer/SortVersions.pm blib/lib/Alien/Build/Plugin/Prefer/SortVersions.pm cp lib/Alien/Build/Util.pm blib/lib/Alien/Build/Util.pm cp lib/Alien/Build/Plugin/Test/Mock.pm blib/lib/Alien/Build/Plugin/Test/Mock.pm cp lib/Test/Alien/Synthetic.pm blib/lib/Test/Alien/Synthetic.pm cp lib/alienfile.pm blib/lib/alienfile.pm cp lib/Alien/Build/Plugin/Probe/CommandLine.pm blib/lib/Alien/Build/Plugin/Probe/CommandLine.pm cp lib/Alien/Build/Plugin/Prefer/GoodVersion.pm blib/lib/Alien/Build/Plugin/Prefer/GoodVersion.pm cp lib/Alien/Build/Plugin/Probe/CBuilder.pm blib/lib/Alien/Build/Plugin/Probe/CBuilder.pm cp lib/Test/Alien/CanCompile.pm blib/lib/Test/Alien/CanCompile.pm cp lib/Alien/Build/Plugin/Prefer.pod blib/lib/Alien/Build/Plugin/Prefer.pod cp lib/Test/Alien/Build.pm blib/lib/Test/Alien/Build.pm cp lib/Test/Alien/Run.pm blib/lib/Test/Alien/Run.pm cp lib/Test/Alien.pm blib/lib/Test/Alien.pm cp lib/Alien/Role.pm blib/lib/Alien/Role.pm cp lib/Alien/Build/Version/Basic.pm blib/lib/Alien/Build/Version/Basic.pm cp lib/Test/Alien/CanPlatypus.pm blib/lib/Test/Alien/CanPlatypus.pm cp lib/Alien/Build/Plugin/Prefer/BadVersion.pm blib/lib/Alien/Build/Plugin/Prefer/BadVersion.pm cp lib/Alien/Build/Plugin/Probe.pod blib/lib/Alien/Build/Plugin/Probe.pod Manifying 29 pod documents Manifying 25 pod documents Manifying 23 pod documents PLICEASE/Alien-Build-1.78.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.78-9NaHn2/blib/lib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch:/data/fly2400/cpanfly-5.24/var/megalib:/data/fly2400/cpanfly-5.24/var/megalib # PERL5OPT= # PERL5_CPANPLUS_IS_RUNNING=20755 # PERL5_CPAN_IS_RUNNING=20755 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=18780,20755 # 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.78-9NaHn2/blib/lib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.06 # Alien::Libbz2 - # Alien::cmake3 - # Alien::gzip 0.05 # Alien::xz - # Archive::Tar 2.32 # Archive::Zip 1.64 # Capture::Tiny 0.48 # Devel::Hide 0.0010 # ExtUtils::CBuilder 0.280225 # ExtUtils::MakeMaker 7.16 # ExtUtils::ParseXS 3.35 # FFI::CheckLib 0.25 # FFI::Platypus - # File::Listing 6.04 # File::Listing::Ftpcopy 0.08 # File::Which 1.23 # File::chdir 0.1010 # HTML::LinkExtor 3.69 # HTTP::Tiny 0.076 # IO::Compress::Bzip2 2.086 # IO::Socket::SSL 2.066 # IO::Uncompress::Bunzip2 2.086 # IO::Zlib 1.10 # JSON::PP 4.04 # LWP 6.39 # LWP::Protocol::https 6.07 # Module::Load 0.34 # Mojo::DOM58 2.000 # Mojolicious 7.31 # Net::FTP 3.11 # Net::SSLeay 1.85 # Path::Tiny 0.108 # PkgConfig 0.23026 # PkgConfig::LibPkgConf 0.10 # Readonly 2.05 # Sort::Versions 1.62 # Test2::API 1.302164 # Test2::Mock 0.000084 # Test2::Require 0.000084 # Test2::Require::Module 0.000084 # Test2::V0 0.000084 # Text::ParseWords 3.30 # URI 1.76 # YAML 1.29 # # # # --- # cmake_generator: Unix Makefiles # compiler_type: unix # pkg-config: # pkg-config: /usr/bin/pkg-config # pkgconf: ~ # system_type: unix # pkg-config negotiate pick = PkgConfig::LibPkgConf # # # [config.site] # # file automatically generated by /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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::CleanInstall ok 16 - require Alien::Build::Plugin::Core::Download ok 17 - require Alien::Build::Plugin::Core::FFI ok 18 - require Alien::Build::Plugin::Core::Gather ok 19 - require Alien::Build::Plugin::Core::Legacy ok 20 - require Alien::Build::Plugin::Core::Override ok 21 - require Alien::Build::Plugin::Core::Setup ok 22 - require Alien::Build::Plugin::Core::Tail ok 23 - require Alien::Build::Plugin::Decode::DirListing ok 24 - require Alien::Build::Plugin::Decode::DirListingFtpcopy ok 25 - require Alien::Build::Plugin::Decode::HTML ok 26 - require Alien::Build::Plugin::Download::Negotiate ok 27 - require Alien::Build::Plugin::Extract::ArchiveTar ok 28 - require Alien::Build::Plugin::Extract::ArchiveZip ok 29 - require Alien::Build::Plugin::Extract::CommandLine ok 30 - require Alien::Build::Plugin::Extract::Directory ok 31 - require Alien::Build::Plugin::Extract::Negotiate ok 32 - require Alien::Build::Plugin::Fetch::CurlCommand ok 33 - require Alien::Build::Plugin::Fetch::HTTPTiny ok 34 - require Alien::Build::Plugin::Fetch::LWP ok 35 - require Alien::Build::Plugin::Fetch::Local ok 36 - require Alien::Build::Plugin::Fetch::LocalDir ok 37 - require Alien::Build::Plugin::Fetch::NetFTP ok 38 - require Alien::Build::Plugin::Fetch::Wget ok 39 - require Alien::Build::Plugin::Gather::IsolateDynamic ok 40 - require Alien::Build::Plugin::PkgConfig::CommandLine ok 41 - require Alien::Build::Plugin::PkgConfig::LibPkgConf ok 42 - require Alien::Build::Plugin::PkgConfig::MakeStatic ok 43 - require Alien::Build::Plugin::PkgConfig::Negotiate ok 44 - require Alien::Build::Plugin::PkgConfig::PP ok 45 - require Alien::Build::Plugin::Prefer::BadVersion ok 46 - require Alien::Build::Plugin::Prefer::GoodVersion ok 47 - require Alien::Build::Plugin::Prefer::SortVersions ok 48 - require Alien::Build::Plugin::Probe::CBuilder ok 49 - require Alien::Build::Plugin::Probe::CommandLine ok 50 - require Alien::Build::Plugin::Test::Mock ok 51 - require Alien::Build::Util ok 52 - require Alien::Build::Version::Basic ok 53 - require Alien::Role ok 54 - require Test::Alien ok 55 - require Test::Alien::Build ok 56 - require Test::Alien::CanCompile ok 57 - require Test::Alien::CanPlatypus ok 58 - require Test::Alien::Run ok 59 - require Test::Alien::Synthetic ok 60 - require alienfile ok 61 - test for Alien::Base ok 62 - test for Alien::Base::PkgConfig ok 63 - test for Alien::Base::Wrapper ok 64 - test for Alien::Build ok 65 - test for Alien::Build::CommandSequence ok 66 - test for Alien::Build::Interpolate ok 67 - test for Alien::Build::Interpolate::Default ok 68 - test for Alien::Build::MM ok 69 - test for Alien::Build::Plugin ok 70 - test for Alien::Build::Plugin::Build::Autoconf ok 71 - test for Alien::Build::Plugin::Build::CMake ok 72 - test for Alien::Build::Plugin::Build::MSYS ok 73 - test for Alien::Build::Plugin::Build::Make ok 74 - test for Alien::Build::Plugin::Build::SearchDep ok 75 - test for Alien::Build::Plugin::Core::CleanInstall ok 76 - test for Alien::Build::Plugin::Core::Download ok 77 - test for Alien::Build::Plugin::Core::FFI ok 78 - test for Alien::Build::Plugin::Core::Gather ok 79 - test for Alien::Build::Plugin::Core::Legacy ok 80 - test for Alien::Build::Plugin::Core::Override ok 81 - test for Alien::Build::Plugin::Core::Setup ok 82 - test for Alien::Build::Plugin::Core::Tail ok 83 - test for Alien::Build::Plugin::Decode::DirListing ok 84 - test for Alien::Build::Plugin::Decode::DirListingFtpcopy ok 85 - test for Alien::Build::Plugin::Decode::HTML ok 86 - test for Alien::Build::Plugin::Download::Negotiate ok 87 - test for Alien::Build::Plugin::Extract::ArchiveTar ok 88 - test for Alien::Build::Plugin::Extract::ArchiveZip ok 89 - test for Alien::Build::Plugin::Extract::CommandLine ok 90 - test for Alien::Build::Plugin::Extract::Directory ok 91 - test for Alien::Build::Plugin::Extract::Negotiate ok 92 - test for Alien::Build::Plugin::Fetch::CurlCommand ok 93 - test for Alien::Build::Plugin::Fetch::HTTPTiny ok 94 - test for Alien::Build::Plugin::Fetch::LWP ok 95 - test for Alien::Build::Plugin::Fetch::Local ok 96 - test for Alien::Build::Plugin::Fetch::LocalDir ok 97 - test for Alien::Build::Plugin::Fetch::NetFTP ok 98 - test for Alien::Build::Plugin::Fetch::Wget ok 99 - test for Alien::Build::Plugin::Gather::IsolateDynamic ok 100 - test for Alien::Build::Plugin::PkgConfig::CommandLine ok 101 - test for Alien::Build::Plugin::PkgConfig::LibPkgConf ok 102 - test for Alien::Build::Plugin::PkgConfig::MakeStatic ok 103 - test for Alien::Build::Plugin::PkgConfig::Negotiate ok 104 - test for Alien::Build::Plugin::PkgConfig::PP ok 105 - test for Alien::Build::Plugin::Prefer::BadVersion ok 106 - test for Alien::Build::Plugin::Prefer::GoodVersion ok 107 - test for Alien::Build::Plugin::Prefer::SortVersions ok 108 - test for Alien::Build::Plugin::Probe::CBuilder ok 109 - test for Alien::Build::Plugin::Probe::CommandLine ok 110 - test for Alien::Build::Plugin::Test::Mock ok 111 - test for Alien::Build::Util ok 112 - test for Alien::Build::Version::Basic ok 113 - test for Alien::Role ok 114 - test for Test::Alien ok 115 - test for Test::Alien::Build ok 116 - test for Test::Alien::CanCompile ok 117 - test for Test::Alien::CanPlatypus ok 118 - test for Test::Alien::Run ok 119 - test for Test::Alien::Synthetic ok 120 - test for alienfile 1..120 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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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 - version atleast 1.2 ok 8 - version not atleast 1.3 ok 9 - version exactly 1.2.3 ok 10 - version atmost 1.4 ok 11 - install type { ok 1 ok 2 ok 3 1..3 } ok 12 - config.name ok 13 - config.finished_installing ok 14 - dynamic_libs ok 15 - bin_dir ok 16 - runtime_prop ok 17 ok 18 ok 19 1..19 } ok 4 - Alien::Build quazi system dylib { ok 1 - libs ok 2 - dynamic_libs 1..2 } ok 5 - 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 6 - build flags { ok 1 - unix { ok 1 1..1 } ok 2 - windows { ok 1 ok 2 ok 3 1..3 } 1..2 } ok 7 - ffi_name { ok 1 - call dynamic_libs ok 2 ok 3 - call dynamic_libs ok 4 1..4 } ok 8 - 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..8 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.78-9NaHn2/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" }' # clean_install: !!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.78-9NaHn2/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::Yvpgcy1 # default_hook: # build_ffi: &1 !!perl/code '{ "DUMMY" }' # clean_install: !!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/23yvpgcyNS/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.78-9NaHn2/blib/lib/Alien/Build.pm line 327. 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.78-9NaHn2/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 } ok 9 - hook properties reset on each try { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - set and unset at the right time. ok 4 1..4 } 1..9 } ok 6 - probe { ok 1 - system { # dir = /tmp/JJI1ByB5ws/root/probe_R5pG ok 1 ok 2 1..2 } ok 2 - share { # dir = /tmp/520LObg0je/root/probe_gAaY ok 1 ok 2 1..2 } ok 3 - throw exception { # dir = /tmp/TFO7ds8viu/root/probe_Efs6 # Alien::Build> error in probe (will do a share install): error will robinson! at t/alien_build.t line 405. # 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/XZArr8W5g2/stage/_alien # Alien::Build::Auto::Blank7=HASH(0x3833a18) 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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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/RVIhtbnmuK/root/download_YjtS/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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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/2cL8SJVYtg/root/download_q4BA/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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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/tqBnXVMAbN/root/download_Ds7I/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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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/WlvXO9m6My/root/download_Zaeb/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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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/9EnGg5dTtL/root/download_4fEF/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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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/wbRorllBXF/root/download_JVpc/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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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 directory 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.78-9NaHn2/corpus/dist/foo-1.00.tar ok 2 - no exception ok 3 - directory exists # dir = /tmp/ELZAWHPjxJ/root/build_TFbJ/foo-1.00 ok 4 - configure exists ok 5 - foo.c exists # build.install.extract = /tmp/ELZAWHPjxJ/root/build_TFbJ/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/XixtxclZXI/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/aCmp2bHv9j/root/destdir_Xfs7/tmp/w2Gx8bJ2l_/usr/local # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/aCmp2bHv9j/root/destdir_Xfs7/tmp/w2Gx8bJ2l_/usr/local => /tmp/w2Gx8bJ2l_/blib/lib/auto/share/Alien-Foo # Alien::Build::Util> mkdir -p /tmp/w2Gx8bJ2l_/blib/lib/auto/share/Alien-Foo/lib # Alien::Build::Util> Alien::Build> cp /tmp/aCmp2bHv9j/root/destdir_Xfs7/tmp/w2Gx8bJ2l_/usr/local/lib/libfoo.a /tmp/w2Gx8bJ2l_/blib/lib/auto/share/Alien-Foo/lib/libfoo.a # Alien::Build::Util> mkdir -p /tmp/w2Gx8bJ2l_/blib/lib/auto/share/Alien-Foo/bin # Alien::Build::Util> Alien::Build> cp /tmp/aCmp2bHv9j/root/destdir_Xfs7/tmp/w2Gx8bJ2l_/usr/local/bin/foo /tmp/w2Gx8bJ2l_/blib/lib/auto/share/Alien-Foo/bin/foo # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/w2Gx8bJ2l_/blib/lib/auto/share/Alien-Foo/_alien # Alien::Build::Auto::Blank18=HASH(0x3950600) 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/gWUbxOVlf2/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/Ck1RUVNlsF/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.78-9NaHn2/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/IkomRcARG3/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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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/M232ofpmhS/stage/_alien # extract = /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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::Jtuf35::Alienfile> the build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/jtNUuUY6Ef/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::Jtuf36::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/zAGxQtIRUR/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::Zxt39::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::Tvml41::Alienfile> the build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/M6MtUvmUlF/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::Ujul44::Alienfile> the build # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/ujuYWUM7lE/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/yKAp0UNL45/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::Yp48::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/4MdUY6Tvxz/stage/_alien ok 6 - alien checkpoint ok ok 7 - alien resume ok # Alien::Build::Auto::Dvxz51::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/Ymp4GYFlSN/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/oTK96CIyBc/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.78-9NaHn2/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/IIhRuEuWBh/foo # Alien::Build::CommandSequence> + cd /tmp/IIhRuEuWBh/foo ok 1 - created file ok 2 - content 1..2 } ok 2 - cd list { # Alien::Build::CommandSequence> + mkdir -p /tmp/I8OUwC1BKm/foo # Alien::Build::CommandSequence> + cd /tmp/I8OUwC1BKm/foo ok 1 - created file ok 2 - content 1..2 } ok 3 - cd list with code ref { # Alien::Build::CommandSequence> + mkdir -p /tmp/k3UH3t8o1m/foo # Alien::Build::CommandSequence> + cd /tmp/k3UH3t8o1m/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 85) line 1. # BEGIN failed--compilation aborted at (eval 85) 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.78-9NaHn2/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/megalib /home/fly2400/ap2400-300558/site/lib /home/fly2400/ap2400-300558/lib .) at (eval 86) line 1. # BEGIN failed--compilation aborted at (eval 86) 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.78-9NaHn2 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/jSmYehcMy5/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 # # clean :: alien_clean # # alien_clean: # $(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 # # alien_clean_install : _alien/mm/prefix # $(FULLPERL) -MAlien::Build::MM=cmd -e clean_install # 1..1 } ok 3 - set_prefix { ok 1 - type = perl { # main> prefix /tmp/uXzJuLuMD3/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/wC7dPGqy54/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/ZCMe2yewf8/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/CqePEd6pJl/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/xgUCYYG3jf/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 } ok 6 - clean_install { ok 1 ok 2 1..2 } 1..6 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/QfdtsnavHK/prefix # root: /tmp/QfdtsnavHK/root # stage: /tmp/QfdtsnavHK/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::Fdtsnav2::Alienfile> --- # autoconf_prefix: /tmp/QfdtsnavHK/prefix # complete: # download: 1 # download: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/corpus/dist/foo-1.00.tar # extract: /tmp/QfdtsnavHK/root/extract_yhSl/foo-1.00 # patch: ~ # prefix: /tmp/QfdtsnavHK/prefix # root: /tmp/QfdtsnavHK/root # stage: /tmp/QfdtsnavHK/stage # Alien::Build::Auto::Fdtsnav2::Alienfile> prefix = /tmp/QfdtsnavHK/prefix # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mirror /tmp/QfdtsnavHK/root/destdir_jwnW/tmp/QfdtsnavHK/prefix => /tmp/QfdtsnavHK/stage # Alien::Build::Util> Alien::Build> cp /tmp/QfdtsnavHK/root/destdir_jwnW/tmp/QfdtsnavHK/prefix/file2 /tmp/QfdtsnavHK/stage/file2 # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/QfdtsnavHK/stage/_alien # --- # _ab_build_ffi: /tmp/QfdtsnavHK/root/build_HDav # _ab_build_share: /tmp/QfdtsnavHK/root/build_pKQ6 # autoconf_prefix: /tmp/QfdtsnavHK/prefix # complete: # download: 1 # download: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/corpus/dist/foo-1.00.tar # extract: /tmp/QfdtsnavHK/root/extract_yhSl/foo-1.00 # patch: ~ # prefix: /tmp/QfdtsnavHK/prefix # root: /tmp/QfdtsnavHK/root # stage: /tmp/QfdtsnavHK/stage ok 4 - after build { # %{configure} = /tmp/QfdtsnavHK/root/extract_yhSl/foo-1.00/configure --prefix=/tmp/QfdtsnavHK/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/wApt_Z9l7S/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/PdAGQRVfWa/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/mGxmlpmYKF/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_cleaninstall.t ............. ok 1 - basic { ok 1 - alienfile compiles ok 2 - run clean_install # Alien::Build::Plugin::Core::CleanInstall> removing /tmp/5b_DIgfH8D/prefix/foo.txt # Alien::Build::Plugin::Core::CleanInstall> keeping /tmp/5b_DIgfH8D/prefix/_alien # Alien::Build::Plugin::Core::CleanInstall> removing /tmp/5b_DIgfH8D/prefix/include # Alien::Build::Plugin::Core::CleanInstall> removing /tmp/5b_DIgfH8D/prefix/lib # Alien::Build::Plugin::Core::CleanInstall> removing /tmp/5b_DIgfH8D/prefix/bin ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 2 - do not remove on system install { ok 1 - alienfile compiles ok 2 - run clean_install ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 } ok 3 - do not try to remove when it isn't there { ok 1 - alienfile compiles ok 2 - run clean_install 1..2 } 1..3 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/rmviNysgQb/root/destdir_vrja/tmp/rmviNysgQb/prefix => /tmp/rmviNysgQb/stage # Alien::Build::Util> mkdir -p /tmp/rmviNysgQb/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/rmviNysgQb/root/destdir_vrja/tmp/rmviNysgQb/prefix/lib/libfoo.a /tmp/rmviNysgQb/stage/lib/libfoo.a # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/rmviNysgQb/stage/_alien # in build_ffi DESTDIR = /tmp/rmviNysgQb/root/destdir_bXS1 # in gather_ffi # Alien::Build::Plugin::Core::Gather> mirror /tmp/rmviNysgQb/root/destdir_bXS1/tmp/rmviNysgQb/prefix => /tmp/rmviNysgQb/stage # Alien::Build::Util> mkdir -p /tmp/rmviNysgQb/stage/dynamic # Alien::Build::Util> Alien::Build> cp /tmp/rmviNysgQb/root/destdir_bXS1/tmp/rmviNysgQb/prefix/dynamic/libfoo.so /tmp/rmviNysgQb/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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/cQJtqWuypw/root/destdir_5i6s/tmp/cQJtqWuypw/prefix => /tmp/cQJtqWuypw/stage # Alien::Build::Util> mkdir -p /tmp/cQJtqWuypw/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/cQJtqWuypw/root/destdir_5i6s/tmp/cQJtqWuypw/prefix/lib/libfoo.a /tmp/cQJtqWuypw/stage/lib/libfoo.a # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/cQJtqWuypw/stage/_alien # in build_ffi DESTDIR = /tmp/cQJtqWuypw/root/destdir_NuiO # in gather_ffi # Alien::Build::Plugin::Core::Gather> mirror /tmp/cQJtqWuypw/root/destdir_NuiO/tmp/cQJtqWuypw/prefix => /tmp/cQJtqWuypw/stage # Alien::Build::Util> mkdir -p /tmp/cQJtqWuypw/stage/dynamic # Alien::Build::Util> Alien::Build> cp /tmp/cQJtqWuypw/root/destdir_NuiO/tmp/cQJtqWuypw/prefix/dynamic/libfoo.so /tmp/cQJtqWuypw/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/8hukAznUEb/root/destdir_FURl/tmp/8hukAznUEb/prefix => /tmp/8hukAznUEb/stage # Alien::Build::Util> mkdir -p /tmp/8hukAznUEb/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/8hukAznUEb/root/destdir_FURl/tmp/8hukAznUEb/prefix/lib/libfoo.a /tmp/8hukAznUEb/stage/lib/libfoo.a # Alien::Build::Util> mkdir -p /tmp/8hukAznUEb/stage/bin # Alien::Build::Util> Alien::Build> cp /tmp/8hukAznUEb/root/destdir_FURl/tmp/8hukAznUEb/prefix/bin/foo.exe /tmp/8hukAznUEb/stage/bin/foo.exe # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/8hukAznUEb/stage/_alien # --- # _ab_build_ffi: /tmp/8hukAznUEb/root/build_qTv1 # _ab_build_share: /tmp/8hukAznUEb/root/build_YcYC # complete: # download: 1 # download: /tmp/8hukAznUEb/root/download_YQD6/foo-1.00.tar.gz # extract: /tmp/8hukAznUEb/root/build_YcYC # patch: ~ # prefix: /tmp/8hukAznUEb/prefix # root: /tmp/8hukAznUEb/root # stage: /tmp/8hukAznUEb/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/1XkQJZXno9/stage # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/1XkQJZXno9/stage/_alien ok 1 # --- # _ab_build_ffi: /tmp/1XkQJZXno9/root/build_dRh1 # _ab_build_share: /tmp/1XkQJZXno9/root/build_vVDe # complete: # download: 1 # download: /tmp/1XkQJZXno9/root/download_zdvE/foo-1.00.tar.gz # extract: /tmp/1XkQJZXno9/root/build_vVDe # patch: /tmp/A4O3o8qEoA # prefix: /tmp/1XkQJZXno9/stage # root: /tmp/1XkQJZXno9/root # stage: /tmp/1XkQJZXno9/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::Jqojhujwc2::Alienfile> prefix = /tmp/jqojXhujwc/stage # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/jqojXhujwc/stage/_alien ok 3 - has arch and arch-indy pkg-config paths 1..3 } ok 4 - _alien/alien.json should be okay with unicode { ok 1 - alien builds okay # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/3A40fp40KB/stage/_alien ok 2 ok 3 ok 4 1..4 } 1..4 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" }' # clean_install: !!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.78-9NaHn2/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" }' # clean_install: !!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.78-9NaHn2/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" }' # clean_install: !!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.78-9NaHn2/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_decode_mojo.t ................... ok 1 - updates requires { ok 1 # $VAR1 = { # 'URI' => 0, # 'URI::Escape' => 0, # 'Mojo::DOM58' => '1.00' # }; 1..1 } ok 2 - decode class = Mojo::DOM { ok 1 ok 2 - 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 3 - 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 4 - 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..4 } ok 3 - decode class = Mojo::DOM58 { ok 1 ok 2 - 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 3 - 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 4 - 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..4 } 1..3 ok t/alien_build_plugin_download_negotiate.t ............ ok 1 - pick fetch { ok 1 - http { ok 1 ok 2 1..2 } ok 2 - http override decoder scalar { ok 1 ok 2 1..2 } ok 3 - http override decoder array { ok 1 ok 2 1..2 } ok 4 - https (ssl modules already installed) { ok 1 ok 2 1..2 } ok 5 - https (ssl modules NOT already installed) { ok 1 ok 2 1..2 } ok 6 - https (ssl modules NOT already installed, no curl) { ok 1 ok 2 1..2 } ok 7 - ftp direct { ok 1 ok 2 1..2 } ok 8 - ftp direct proxy { ok 1 ok 2 1..2 } ok 9 - local file URI { ok 1 ok 2 1..2 } ok 10 - local file { ok 1 ok 2 1..2 } ok 11 - bootstrap ssl { ok 1 - without Net::SSLeay { ok 1 1..1 } ok 2 - with Net::SSLeay { ok 1 1..1 } 1..2 } ok 12 - bootstrap ssl http { ok 1 1..1 } 1..12 } ok 2 - get the version { # Alien::Build::Plugin::Core::Download> candidate */data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.78-9NaHn2/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/ZHzZdn7ML9/root/build_SJ4Y/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/UkAXfbP5ln/root/build_00Lk/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/PBA7K89RR_/root/build_wvRJ/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/s9xTLlwZqK/foo-1.00.tar ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/s9xTLlwZqK/foo-1.00.tar ok 2 - directory created # dir = /tmp/ZGiNXmV6Pi/root/build_FDhd/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 3 - with extension tar.Z { # archive = /tmp/vZ_HCC8uYx/foo-1.00.tar.Z ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/vZ_HCC8uYx/foo-1.00.tar.Z ok 2 - directory created # dir = /tmp/ZGiNXmV6Pi/root/build_MmGT/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 4 - with extension tar.bz2 { # archive = /tmp/GUA95Qjsau/foo-1.00.tar.bz2 ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/GUA95Qjsau/foo-1.00.tar.bz2 ok 2 - directory created # dir = /tmp/ZGiNXmV6Pi/root/build_eIKX/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 5 - with extension tar.gz { # archive = /tmp/DXLrytKvL0/foo-1.00.tar.gz ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/DXLrytKvL0/foo-1.00.tar.gz ok 2 - directory created # dir = /tmp/ZGiNXmV6Pi/root/build__fzb/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 6 - with extension tar.xz { # archive = /tmp/stV_fXbTHd/foo-1.00.tar.xz ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + tar -xf /tmp/stV_fXbTHd/foo-1.00.tar.xz ok 2 - directory created # dir = /tmp/ZGiNXmV6Pi/root/build_7f8V/foo-1.00 ok 3 - configure exists ok 4 - foo.c exists 1..4 } ok 7 - with extension zip { # archive = /tmp/PsDKMHrcBF/foo-1.00.zip ok 1 - no error from extract # Alien::Build::Plugin::Extract::CommandLine> + unzip /tmp/PsDKMHrcBF/foo-1.00.zip # Archive: /tmp/PsDKMHrcBF/foo-1.00.zip # extracting: configure # inflating: foo.c ok 2 - directory created # dir = /tmp/ZGiNXmV6Pi/root/build_69Hx 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/vjjk3YnDbG/root/build_IYUI 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/_X9n_2uMrH/root/build_Uf6h/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> writeout: ab-filename :%{filename_effective}\n # Alien::Build::Plugin::Fetch::CurlCommand> writeout: ab-content_type :%{content_type}\n # Alien::Build::Plugin::Fetch::CurlCommand> writeout: ab-url :%{url_effective}\n # Alien::Build::Plugin::Fetch::CurlCommand> + /bin/curl -L -f -O -J -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> writeout: ab-filename :%{filename_effective}\n # Alien::Build::Plugin::Fetch::CurlCommand> writeout: ab-content_type :%{content_type}\n # Alien::Build::Plugin::Fetch::CurlCommand> writeout: ab-url :%{url_effective}\n # Alien::Build::Plugin::Fetch::CurlCommand> + /bin/curl -L -f -O -J -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> writeout: ab-filename :%{filename_effective}\n # Alien::Build::Plugin::Fetch::CurlCommand> writeout: ab-content_type :%{content_type}\n # Alien::Build::Plugin::Fetch::CurlCommand> writeout: ab-url :%{url_effective}\n # Alien::Build::Plugin::Fetch::CurlCommand> + /bin/curl -L -f -O -J -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html # Alien::Build::Plugin::Fetch::CurlCommand> % Total % Received % Xferd Average Speed Time Time Time Current # Alien::Build::Plugin::Fetch::CurlCommand> Dload Upload Total Spent Left Speed # Alien::Build::Plugin::Fetch::CurlCommand> 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 # Alien::Build::Plugin::Fetch::CurlCommand> curl: (22) The requested URL returned error: 404 Not Found ok 1 - throws error # error is: error in curl fetch at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/Fetch/CurlCommand.pm line 202. 1..1 } 1..5 } ok 2 - live test { 1..0 # SKIP set ALIEN_BUILD_LIVE_TEST=1 to enable test } 1..2 ok t/alien_build_plugin_fetch_httptiny.t ................ ok 1 - updates requires { ok 1 # --- # HTTP::Tiny: 0.044 # URI: 0 1..1 } ok 2 - updates requires ssl { ok 1 # --- # HTTP::Tiny: 0.044 # IO::Socket::SSL: 1.56 # Net::SSLeay: 1.49 # URI: 0 1..1 } ok 3 - 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 4 - fetch { 1..0 # SKIP no httpd.json } 1..4 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.78-9NaHn2/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.78-9NaHn2/corpus/dist/foo-1.00 # - filename: foo-1.00.tar # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/corpus/dist/foo-1.00 # - filename: foo-1.00.tar # url: /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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" }' # clean_install: !!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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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" }' # clean_install: !!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.78-9NaHn2/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.78-9NaHn2/blib/lib/Alien/Build/Plugin/Fetch/Wget.pm line 90. 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/oI5i_Cr9KN/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/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix => /tmp/fcNjRE3n4Y/stage # Alien::Build::Util> mkdir -p /tmp/fcNjRE3n4Y/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/lib/libfoo.a /tmp/fcNjRE3n4Y/stage/lib/libfoo.a # Alien::Build::Util> mkdir -p /tmp/fcNjRE3n4Y/stage/bin # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/bin/foo.exe /tmp/fcNjRE3n4Y/stage/bin/foo.exe # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/bin/foo /tmp/fcNjRE3n4Y/stage/bin/foo # Alien::Build::Util> mkdir -p /tmp/fcNjRE3n4Y/stage/dynamic # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/dynamic/foo.dll /tmp/fcNjRE3n4Y/stage/dynamic/foo.dll # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/dynamic/libfoo.bundle /tmp/fcNjRE3n4Y/stage/dynamic/libfoo.bundle # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/dynamic/libfoo.dylib /tmp/fcNjRE3n4Y/stage/dynamic/libfoo.dylib # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/dynamic/libfoo.la /tmp/fcNjRE3n4Y/stage/dynamic/libfoo.la # Alien::Build::Util> Alien::Build> cp /tmp/fcNjRE3n4Y/root/destdir_LNnQ/tmp/fcNjRE3n4Y/prefix/dynamic/foo.dll.a /tmp/fcNjRE3n4Y/stage/dynamic/foo.dll.a # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/fcNjRE3n4Y/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.78-9NaHn2/corpus/lib/pkgconfig ok 2 - available { ok 1 - no command line { ok 1 1..1 } ok 2 - pkg-config { ok 1 1..1 } ok 3 - pkgconf { ok 1 1..1 } ok 4 - 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.78-9NaHn2/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 - version requirements { ok 1 - atleast_version or minimum_version { ok 1 - old name bad { # 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.78-9NaHn2/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 2 - old name good (exact) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --atleast-version=1.2.3 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } ok 3 - old name good (much older) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --atleast-version=1.1.1 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } ok 4 - atleast_version bad { # 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.78-9NaHn2/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 - atleast_version good (exact) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --atleast-version=1.2.3 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } ok 6 - atleast_version good (older) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --atleast-version=1.1.1 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } 1..6 } ok 2 - exact { ok 1 - exact version (less) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --exact-version=1.2.2 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.78-9NaHn2/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 2 - exact version (exact) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --exact-version=1.2.3 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } ok 3 - exact version (more) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --exact-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.78-9NaHn2/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 3 - max_version { ok 1 - max version (lot less) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --max-version=1.0.0 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.78-9NaHn2/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 2 - max version (less) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --max-version=1.2.2 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.78-9NaHn2/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 3 - max version (exact) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --max-version=1.2.3 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } ok 4 - max version (more) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --max-version=1.2.4 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } ok 5 - max version (lots more) { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --max-version=3.3.3 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 1..1 } 1..5 } 1..3 } ok 5 - system available, okay { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --atleast-version=1.2.3 foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] 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/bN8s1oLeMV/stage/_alien ok 2 # cflags_static = -fPIC -I/test/include/foo 1..2 } ok 6 - hook prop { # Alien::Build::CommandSequence> + pkg-config --exists foo # Alien::Build::CommandSequence> + pkg-config --modversion foo # Alien::Build::CommandSequence> [output consumed by Alien::Build recipe] ok 1 ok 2 1..2 } 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::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/ydjHs0YCw_/stage/_alien # --- # alien_build_version: 1.78 # 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/ydjHs0YCw_/prefix # install_type: system # legacy: # finished_installing: 1 # install_type: system # name: xor # original_prefix: /tmp/ydjHs0YCw_/prefix # version: 4.2.1 # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # prefix: /tmp/ydjHs0YCw_/prefix # version: 4.2.1 ok 4 1..4 } 1..1 } ok 8 - 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/ZVpQAwQR_Y/root/destdir_iRQP/tmp/ZVpQAwQR_Y/prefix => /tmp/ZVpQAwQR_Y/stage # Alien::Build::Util> mkdir -p /tmp/ZVpQAwQR_Y/stage/include # Alien::Build::Util> Alien::Build> cp /tmp/ZVpQAwQR_Y/root/destdir_iRQP/tmp/ZVpQAwQR_Y/prefix/include/foofoo.h /tmp/ZVpQAwQR_Y/stage/include/foofoo.h # Alien::Build::Util> mkdir -p /tmp/ZVpQAwQR_Y/stage/lib # Alien::Build::Util> Alien::Build> cp /tmp/ZVpQAwQR_Y/root/destdir_iRQP/tmp/ZVpQAwQR_Y/prefix/lib/libfoofoo.a /tmp/ZVpQAwQR_Y/stage/lib/libfoofoo.a # Alien::Build::Util> mkdir -p /tmp/ZVpQAwQR_Y/stage/lib/pkgconfig # Alien::Build::Util> Alien::Build> cp /tmp/ZVpQAwQR_Y/root/destdir_iRQP/tmp/ZVpQAwQR_Y/prefix/lib/pkgconfig/foo-foo.pc /tmp/ZVpQAwQR_Y/stage/lib/pkgconfig/foo-foo.pc # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/ZVpQAwQR_Y/stage/_alien ok 4 - test from stage { ok 1 - inc dir exists # inc = /tmp/ZVpQAwQR_Y/prefix/include ok 2 - libfoofoo.a ok 3 - lib dir exists # lib = /tmp/ZVpQAwQR_Y/prefix/lib ok 4 - libfoofoo.a 1..4 } # clean: rm: /tmp/ZVpQAwQR_Y/stage # clean: rm: /tmp/ZVpQAwQR_Y/alienfile # clean: rm: /tmp/ZVpQAwQR_Y/root ok 5 - test from alien { ok 1 - inc dir exists # inc = /tmp/ZVpQAwQR_Y/prefix/include ok 2 - libfoofoo.a ok 3 - lib dir exists # lib = /tmp/ZVpQAwQR_Y/prefix/lib ok 4 - libfoofoo.a 1..4 } 1..5 } ok 9 - 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::Gdgorh19::Alienfile> PKG_CONFIG = pkg-config # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/gYFdgoCrJh/stage/_alien 1..2 } 1..9 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.78-9NaHn2/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.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 78. # 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 - version requirements { ok 1 - atleast_version or minimum_version { ok 1 - old name bad { # Alien::Build> error in probe (will do a share install): package foo is version 1.2.3, but at least 1.2.4 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 88. # 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 2 - old name good (exact) { # ok 1 1..1 } ok 3 - old name good (much older) { # ok 1 1..1 } ok 4 - atleast_version bad { # Alien::Build> error in probe (will do a share install): package foo is version 1.2.3, but at least 1.2.4 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 88. # 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 - atleast_version good (exact) { # ok 1 1..1 } ok 6 - atleast_version good (older) { # ok 1 1..1 } 1..6 } ok 2 - exact { ok 1 - exact version (less) { # Alien::Build> error in probe (will do a share install): package foo is version 1.2.3, but exactly 1.2.2 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 97. # 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 2 - exact version (exact) { # ok 1 1..1 } ok 3 - exact version (more) { # Alien::Build> error in probe (will do a share install): package foo is version 1.2.3, but exactly 1.2.4 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 97. # 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 3 - max_version { ok 1 - max version (lot less) { # Alien::Build> error in probe (will do a share install): package foo is version 1.2.3, but max 1.0.0 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 106. # 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 2 - max version (less) { # Alien::Build> error in probe (will do a share install): package foo is version 1.2.3, but max 1.2.2 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/LibPkgConf.pm line 106. # 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 - max version (exact) { # ok 1 1..1 } ok 4 - max version (more) { # ok 1 1..1 } ok 5 - max version (lots more) { # ok 1 1..1 } 1..5 } 1..3 } 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/1ZjQDFXotc/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/_qJglW36ec/stage/_alien # --- # alien_build_version: 1.78 # 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/_qJglW36ec/prefix # install_type: system # legacy: # finished_installing: 1 # install_type: system # name: xor # original_prefix: /tmp/_qJglW36ec/prefix # version: 4.2.1 # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # prefix: /tmp/_qJglW36ec/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::Bcuuu21::Alienfile> PKG_CONFIG = pkg-config # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/bcEuDuYSuH/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.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 85. # 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/u3SWQVvYso/stage/lib/pkgconfig/bar1.pc to static # Alien::Build::Plugin::PkgConfig::MakeStatic> converting /tmp/u3SWQVvYso/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/u3SWQVvYso/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 - version stuff { ok 1 - nodda { # Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - reqs ok 2 - apply 1..2 } ok 2 - minimum_version { # Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - reqs ok 2 - apply 1..2 } ok 3 - atleast_version { # Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - reqs ok 2 - apply 1..2 } ok 4 - exact_version { # Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - reqs ok 2 - apply 1..2 } ok 5 - max_version { # Using PkgConfig plugin: PkgConfig::LibPkgConf ok 1 - reqs ok 2 - apply 1..2 } 1..5 } ok 4 - 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..4 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 - Windows { # which: undef # which: pkgconf N/A # which: pkg-config => /usr/bin/pkg-config ok 1 1..1 } ok 3 - PP is fallback { # which: undef # which: pkgconf N/A # which: pkg-config N/A ok 1 1..1 } 1..3 } 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.78-9NaHn2/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.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 85. # 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 - version requirements { ok 1 - atleast_version or minimum_version { ok 1 - old name bad { # Alien::Build> error in probe (will do a share install): package foo is 1.2.3, but at least 1.2.4 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 97. # 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 2 - old name good (exact) { # ok 1 1..1 } ok 3 - old name good (much older) { # ok 1 1..1 } ok 4 - atleast_version bad { # Alien::Build> error in probe (will do a share install): package foo is 1.2.3, but at least 1.2.4 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 97. # 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 - atleast_version good (exact) { # ok 1 1..1 } ok 6 - atleast_version good (older) { # ok 1 1..1 } 1..6 } ok 2 - exact { ok 1 - exact version (less) { # Alien::Build> error in probe (will do a share install): package foo is 1.2.3, but exactly 1.2.2 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 106. # 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 2 - exact version (exact) { # ok 1 1..1 } ok 3 - exact version (more) { # Alien::Build> error in probe (will do a share install): package foo is 1.2.3, but exactly 1.2.4 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 106. # 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 3 - max_version { ok 1 - max version (lot less) { # Alien::Build> error in probe (will do a share install): package foo is 1.2.3, but max of 1.0.0 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 115. # 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 2 - max version (less) { # Alien::Build> error in probe (will do a share install): package foo is 1.2.3, but max of 1.2.2 is required. at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib/Alien/Build/Plugin/PkgConfig/PP.pm line 115. # 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 - max version (exact) { # ok 1 1..1 } ok 4 - max version (more) { # ok 1 1..1 } ok 5 - max version (lots more) { # ok 1 1..1 } 1..5 } 1..3 } 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/o7sm5SzS7r/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/MuweJddZd1/stage/_alien # --- # alien_build_version: 1.78 # 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/MuweJddZd1/prefix # install_type: system # legacy: # finished_installing: 1 # install_type: system # name: xor # original_prefix: /tmp/MuweJddZd1/prefix # version: 4.2.1 # libs: '-L/test/lib -lxor ' # libs_static: '-L/test/lib -lxor -lxor1 ' # prefix: /tmp/MuweJddZd1/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::Izpb19::Alienfile> PKG_CONFIG = ppkg-config # Alien::Build::Plugin::Core::Legacy> adding legacy hash to config # Alien::Build::Plugin::Core::Gather> mkdir -p /tmp/3Hiz6p7IbL/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 # Alien::Build::Plugin::Fetch::Foo> url = undef # Alien::Build::Plugin::Core::Download> candidate *file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> candidate file://localhost/foo-1.2.3.tar.gz # Alien::Build::Plugin::Fetch::Foo> url = file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> setting version based on archive to 1.2.4 # Alien::Build::Plugin::Core::Download> downloaded foo-1.2.4.tar.gz ok 3 1..3 } ok 4 - filters out list version { ok 1 - alienfile compiles ok 2 - alien download # Alien::Build::Plugin::Fetch::Foo> url = undef # Alien::Build::Plugin::Core::Download> candidate *file://localhost/foo-1.2.3.tar.gz # Alien::Build::Plugin::Fetch::Foo> url = file://localhost/foo-1.2.3.tar.gz # Alien::Build::Plugin::Core::Download> setting version based on archive to 1.2.3 # Alien::Build::Plugin::Core::Download> downloaded foo-1.2.3.tar.gz ok 3 1..3 } ok 5 - filters out code ref { ok 1 - alienfile compiles ok 2 - alien download # Alien::Build::Plugin::Fetch::Foo> url = undef # Alien::Build::Plugin::Core::Download> candidate *file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> candidate file://localhost/foo-1.2.3.tar.gz # Alien::Build::Plugin::Fetch::Foo> url = file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> setting version based on archive to 1.2.4 # Alien::Build::Plugin::Core::Download> downloaded foo-1.2.4.tar.gz 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 # Alien::Build::Plugin::Fetch::Foo> url = undef # Alien::Build::Plugin::Core::Download> candidate *file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Fetch::Foo> url = file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> setting version based on archive to 1.2.4 # Alien::Build::Plugin::Core::Download> downloaded foo-1.2.4.tar.gz ok 3 1..3 } ok 4 - filters out list version { ok 1 - alienfile compiles ok 2 - alien download # Alien::Build::Plugin::Fetch::Foo> url = undef # Alien::Build::Plugin::Core::Download> candidate *file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> candidate file://localhost/foo-1.2.3.tar.gz # Alien::Build::Plugin::Fetch::Foo> url = file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> setting version based on archive to 1.2.4 # Alien::Build::Plugin::Core::Download> downloaded foo-1.2.4.tar.gz ok 3 1..3 } ok 5 - filters out code ref { ok 1 - alienfile compiles ok 2 - alien download # Alien::Build::Plugin::Fetch::Foo> url = undef # Alien::Build::Plugin::Core::Download> candidate *file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Fetch::Foo> url = file://localhost/foo-1.2.4.tar.gz # Alien::Build::Plugin::Core::Download> setting version based on archive to 1.2.4 # Alien::Build::Plugin::Core::Download> downloaded foo-1.2.4.tar.gz 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" }' # clean_install: !!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.78-9NaHn2/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/uNIjhllGXQ/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/UXtbCekqB6/stage/_alien ok 3 - alien install type is system ok 4 - version matches ok 5 - set probe hook prop 1..5 } 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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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_plugin_test_mock.t ..................... ok 1 - basic { ok 1 - alienfile compiles 1..1 } ok 2 - probe { ok 1 - share { ok 1 - alienfile compiles ok 2 - alien install type is share 1..2 } ok 2 - share { ok 1 - alienfile compiles ok 2 - alien install type is system 1..2 } ok 3 - share { ok 1 - alienfile compiles ok 2 - alien install type is share 1..2 } 1..3 } ok 3 - download { ok 1 - default { ok 1 - alienfile compiles ok 2 - alien download # Alien::Build> single file, assuming archive ok 3 1..3 } ok 2 - override { ok 1 - alienfile compiles ok 2 - alien download # 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.78-9NaHn2/blib/lib/Alien/Build.pm line 406. # 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 ok 3 1..3 } 1..2 } ok 4 - extract { ok 1 - default { ok 1 - alienfile compiles ok 2 - alien extraction ok 3 1..3 } ok 2 - override { ok 1 - alienfile compiles ok 2 - alien extraction ok 3 1..3 } 1..2 } ok 5 - build { ok 1 - default { 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/Ik992KfcUD/stage/_alien ok 3 ok 4 1..4 } ok 2 - override { 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/nBbeXE9e6X/stage/_alien ok 3 ok 4 1..4 } 1..2 } ok 6 - gather { ok 1 - share { ok 1 - default { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - 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/u5YIhY1rFW/stage/_alien ok 4 # cflags = -I/tmp/u5YIhY1rFW/prefix/include # libs = -L/tmp/u5YIhY1rFW/prefix/lib -lfoo 1..4 } 1..1 } ok 2 - share { ok 1 - override { ok 1 - alienfile compiles ok 2 - alien install type is share ok 3 - 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/_Otu7dahqw/stage/_alien ok 4 1..4 } 1..1 } ok 3 - system { ok 1 - default { 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/Hbcuh0EleH/stage/_alien ok 4 # cflags = -I/tmp/Hbcuh0EleH/prefix/include # libs = -L/tmp/Hbcuh0EleH/prefix/lib -lfoo 1..4 } 1..1 } ok 4 - system { ok 1 - override { 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/4ja9a2jFBk/stage/_alien ok 4 1..4 } 1..1 } 1..4 } 1..6 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/wfOv7jkjf3/root ok 2 - cleanup on empty { ok 1 - tempdir = /tmp/wfOv7jkjf3/root/foo_klE0 ok 2 - directory removed 1..2 } ok 3 - do not cleanup non-empty { ok 1 - tempdir = /tmp/wfOv7jkjf3/root/bar_wxaB 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_mP4G/etc # Alien::Build::Util> Alien::Build> cp /tmp/mirror_src_2tuw/etc/foorc /tmp/mirror_dst_mP4G/etc/foorc # Alien::Build::Util> mkdir -p /tmp/mirror_dst_mP4G/bin # Alien::Build::Util> Alien::Build> cp /tmp/mirror_src_2tuw/bin/foomake /tmp/mirror_dst_mP4G/bin/foomake # /tmp/mirror_dst_mP4G: # total 8 # drwxrwxr-x 2 fly2400 fly2400 4096 Jul 3 02:02 bin # drwxrwxr-x 2 fly2400 fly2400 4096 Jul 3 02:02 etc # # /tmp/mirror_dst_mP4G/bin: # total 4 # -rwxr-xr-x 1 fly2400 fly2400 18 Jul 3 02:02 foomake # # /tmp/mirror_dst_mP4G/etc: # total 4 # -rw-rw-r-- 1 fly2400 fly2400 18 Jul 3 02:02 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/jubex77fuy/tmp/OrmhdVRhfn ok 1 1..1 } ok 4 - _ssl_reqs { ok 1 # --- # IO::Socket::SSL: 1.56 # Net::SSLeay: 1.49 1..1 } ok 5 - _has_ssl { ok 1 # _has_ssl = 1 1..1 } 1..5 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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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.78-9NaHn2/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 testalienl7OQY/test.xs => testalienl7OQY/test.c # # compile testalienl7OQY/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 testalienl7OQY/test.o testalienl7OQY/test.c # link testalienl7OQY/test.o # gcc -shared -O2 -fstack-protector -o testalienl7OQY/test.so testalienl7OQY/test.o # created lib testalienl7OQY/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 testalienUQ31z/test.xs => testalienUQ31z/test.c # # compile testalienUQ31z/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 testalienUQ31z/test.o testalienUQ31z/test.c # link testalienUQ31z/test.o # gcc -shared -O2 -fstack-protector -o testalienUQ31z/test.so testalienUQ31z/test.o # created lib testalienUQ31z/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 testalienD7zs6/test.xs => testalienD7zs6/test.c # # compile testalienD7zs6/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 testalienD7zs6/test.o testalienD7zs6/test.c # link testalienD7zs6/test.o # gcc -shared -O2 -fstack-protector -o testalienD7zs6/test.so testalienD7zs6/test.o # created lib testalienD7zs6/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 testalienV2RzA/test.xs => testalienV2RzA/test.c # # compile testalienV2RzA/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 testalienV2RzA/test.o testalienV2RzA/test.c # link testalienV2RzA/test.o # gcc -shared -O2 -fstack-protector -o testalienV2RzA/test.so testalienV2RzA/test.o # created lib testalienV2RzA/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::Uyd0=HASH->isa('Alien::Build') ok 2 - has prefix dir # prefix = /tmp/5OEuIyLQId/stage ok 3 - has root dir # root = /tmp/5OEuIyLQId/root ok 4 - has stage dir # stage = /tmp/5OEuIyLQId/stage 1..4 } ok 2 - from file { ok 1 - Alien::Build::Auto::Basic1=HASH->isa('Alien::Build') ok 2 - has prefix dir # prefix = /tmp/nuDXdahZWD/stage ok 3 - has root dir # root = /tmp/nuDXdahZWD/root ok 4 - has stage dir # stage = /tmp/nuDXdahZWD/stage 1..4 } ok 3 - alienfile compiles ok 4 - Alien::Build::Auto::Uvq2=HASH->isa('Alien::Build') ok 5 - alienfile compiles ok 6 - compile error in alienfile fails test # Alien::Build::Auto::Dtnpq5::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/WHx_hmfjkO/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/vo6kNBILbE/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 # Alien::Build> single file, assuming archive 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 424 "/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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::Ysa23=HASH->isa('Alien::Build') 1..4 } 1..4 } ok 10 - targ { ok 1 - alienfile compiles 1..1 } ok 11 - alienfile_ok takes a already formed Alien::Build instance { ok 1 ok 2 1..2 } ok 12 - alienfile_skip_if_missing_prereqs { ok 1 - no missing (share) { ok 1 1..1 } ok 2 - no missing (system) { ok 1 1..1 } ok 3 - missing configure { ok 1 1..1 } ok 4 - missing configure (no version) { ok 1 1..1 } ok 5 - missing share { ok 1 1..1 } ok 6 - missing share (no version) { ok 1 1..1 } ok 7 - missing system { ok 1 1..1 } ok 8 - missing system (no version) { ok 1 1..1 } ok 9 - mismatch { ok 1 ok 2 1..2 } 1..9 } 1..12 ok t/test_alien_cancompile.t ............................ ok 1 - unmocked { ok 1 - skip 1..1 } ok 2 - skip/import { ok 1 - have compiler { ok 1 - skip ok 2 - import 1..2 } ok 2 - no compiler { ok 1 - skip ok 2 - import 1..2 } 1..2 } 1..2 ok t/test_alien_canplatypus.t ........................... ok 1 - skip/import { ok 1 - have platypus { ok 1 - skip ok 2 - import 1..2 } ok 2 - no platypus { ok 1 - skip ok 2 - import 1..2 } 1..2 } 1..1 ok t/test_alien_run.t ................................... ok 1 - run with exit 0 { ok 1 - run_ok # [cmd] # /data/fly2400/ap2400-300558/bin/perl-static /tmp/SuMKApnCnr/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=71, Tests=391, 33 wallclock secs ( 0.33 usr 0.26 sys + 25.56 cusr 5.76 csys = 31.91 CPU) Result: PASS PLICEASE/Alien-Build-1.78.tar.gz make test TEST_VERBOSE=1 -- OK PPD for Alien-Build-1.78 already made PLICEASE/Alien-nragent-0.06.tar.gz Has already been unwrapped into directory /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib to PERL5LIB for 'prepare' Configuring P/PL/PLICEASE/Alien-nragent-0.06.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.06.tar.gz /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK Running make for P/PL/PLICEASE/Alien-nragent-0.06.tar.gz Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib to PERL5LIB for 'make' ---- Unsatisfied dependencies detected during ---- ---- PLICEASE/Alien-nragent-0.06.tar.gz ---- FFI::Platypus [build_requires] FFI::Platypus::DL [requires] Running test for module 'FFI::Platypus' Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib to PERL5LIB for 'get' Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/P/PL/PLICEASE/FFI-Platypus-0.90.tar.gz ok FFI-Platypus-0.90 FFI-Platypus-0.90/README FFI-Platypus-0.90/Changes FFI-Platypus-0.90/SUPPORT FFI-Platypus-0.90/LICENSE FFI-Platypus-0.90/INSTALL FFI-Platypus-0.90/dist.ini FFI-Platypus-0.90/xs FFI-Platypus-0.90/xs/DL.xs FFI-Platypus-0.90/META.yml FFI-Platypus-0.90/MANIFEST FFI-Platypus-0.90/t FFI-Platypus-0.90/t/forks.t FFI-Platypus-0.90/t/gh117.t FFI-Platypus-0.90/t/gh129.t FFI-Platypus-0.90/xs/ABI.xs FFI-Platypus-0.90/xs/API.xs FFI-Platypus-0.90/xs/meta.c FFI-Platypus-0.90/META.json FFI-Platypus-0.90/author.yml FFI-Platypus-0.90/t/01_use.t FFI-Platypus-0.90/xs/names.c FFI-Platypus-0.90/xs/Type.xs FFI-Platypus-0.90/xs/windl.c FFI-Platypus-0.90/inc FFI-Platypus-0.90/inc/mymm.pl FFI-Platypus-0.90/t/00_diag.t FFI-Platypus-0.90/t/app_fbx.t FFI-Platypus-0.90/t/threads.t FFI-Platypus-0.90/xs/custom.c FFI-Platypus-0.90/xs/havepm.c FFI-Platypus-0.90/Makefile.PL FFI-Platypus-0.90/CONTRIBUTING FFI-Platypus-0.90/ffi FFI-Platypus-0.90/ffi/memory.c FFI-Platypus-0.90/t/ffi FFI-Platypus-0.90/t/ffi/meta.c FFI-Platypus-0.90/xs/closure.c FFI-Platypus-0.90/xs/complex.c FFI-Platypus-0.90/xs/Record.xs FFI-Platypus-0.90/t/ffi_build.t FFI-Platypus-0.90/t/ffi_probe.t FFI-Platypus-0.90/t/ffi/align.c FFI-Platypus-0.90/t/ffi/basic.c FFI-Platypus-0.90/t/ffi/color.c FFI-Platypus-0.90/t/ffi/float.c FFI-Platypus-0.90/t/ffi/gh117.c FFI-Platypus-0.90/t/ffi/sint8.c FFI-Platypus-0.90/t/ffi/uint8.c FFI-Platypus-0.90/xs/Closure.xs FFI-Platypus-0.90/inc/mm-test.pl FFI-Platypus-0.90/maint FFI-Platypus-0.90/maint/cip-test FFI-Platypus-0.90/t/type_float.t FFI-Platypus-0.90/t/type_sint8.t FFI-Platypus-0.90/t/type_uint8.t FFI-Platypus-0.90/t/ffi/double.c FFI-Platypus-0.90/t/ffi/record.c FFI-Platypus-0.90/t/ffi/sint16.c FFI-Platypus-0.90/t/ffi/sint32.c FFI-Platypus-0.90/t/ffi/sint64.c FFI-Platypus-0.90/t/ffi/string.c FFI-Platypus-0.90/t/ffi/uint16.c FFI-Platypus-0.90/t/ffi/uint32.c FFI-Platypus-0.90/t/ffi/uint64.c FFI-Platypus-0.90/xs/Function.xs FFI-Platypus-0.90/xs/Internal.xs FFI-Platypus-0.90/inc/mm-build.pl FFI-Platypus-0.90/inc/mm-clean.pl FFI-Platypus-0.90/inc/probe FFI-Platypus-0.90/inc/probe/abi.c FFI-Platypus-0.90/lib/FFI FFI-Platypus-0.90/lib/FFI/typemap FFI-Platypus-0.90/t/type_double.t FFI-Platypus-0.90/t/type_opaque.t FFI-Platypus-0.90/t/type_record.t FFI-Platypus-0.90/t/type_sint16.t FFI-Platypus-0.90/t/type_sint32.t FFI-Platypus-0.90/t/type_sint64.t FFI-Platypus-0.90/t/type_string.t FFI-Platypus-0.90/t/type_uint16.t FFI-Platypus-0.90/t/type_uint32.t FFI-Platypus-0.90/t/type_uint64.t FFI-Platypus-0.90/t/ffi/closure.c FFI-Platypus-0.90/t/ffi/memcmp4.c FFI-Platypus-0.90/t/ffi/pointer.c FFI-Platypus-0.90/xt/author FFI-Platypus-0.90/xt/author/eol.t FFI-Platypus-0.90/xt/author/pod.t FFI-Platypus-0.90/examples FFI-Platypus-0.90/examples/char.pl FFI-Platypus-0.90/examples/math.pl FFI-Platypus-0.90/examples/pipe.pl FFI-Platypus-0.90/examples/time.pl FFI-Platypus-0.90/examples/uuid.pl FFI-Platypus-0.90/examples/zmq3.pl FFI-Platypus-0.90/inc/mm-config.pl FFI-Platypus-0.90/inc/My FFI-Platypus-0.90/inc/My/Config.pm FFI-Platypus-0.90/lib/FFI/Build.pm FFI-Platypus-0.90/lib/FFI/Probe.pm FFI-Platypus-0.90/t/ffi_build_mm.t FFI-Platypus-0.90/t/ffi_platypus.t FFI-Platypus-0.90/include FFI-Platypus-0.90/include/ppport.h FFI-Platypus-0.90/Changes.FFI-Build FFI-Platypus-0.90/examples/bzip2.pl FFI-Platypus-0.90/inc/My/ConfigH.pm FFI-Platypus-0.90/include/libtest.h FFI-Platypus-0.90/xs/ClosureData.xs FFI-Platypus-0.90/examples/closure.c FFI-Platypus-0.90/examples/getpid.pl FFI-Platypus-0.90/examples/malloc.pl FFI-Platypus-0.90/examples/notify.pl FFI-Platypus-0.90/examples/string.pl FFI-Platypus-0.90/inc/Alien FFI-Platypus-0.90/inc/Alien/psapi.pm FFI-Platypus-0.90/inc/probe/alloca.c FFI-Platypus-0.90/maint/generate-abw FFI-Platypus-0.90/t/ffi/longdouble.c FFI-Platypus-0.90/xs/record_opaque.c FFI-Platypus-0.90/xs/record_simple.c FFI-Platypus-0.90/xs/record_string.c FFI-Platypus-0.90/xt/author/strict.t FFI-Platypus-0.90/xt/release FFI-Platypus-0.90/xt/release/fixme.t FFI-Platypus-0.90/examples/archive.pl FFI-Platypus-0.90/examples/closure.pl FFI-Platypus-0.90/examples/integer.pl FFI-Platypus-0.90/examples/time_oo.pl FFI-Platypus-0.90/inc/mm-config-pb.pl FFI-Platypus-0.90/inc/probe/complex.c FFI-Platypus-0.90/lib/FFI/Platypus.pm FFI-Platypus-0.90/lib/FFI/Platypus.xs FFI-Platypus-0.90/lib/FFI/Build FFI-Platypus-0.90/lib/FFI/Build/MM.pm FFI-Platypus-0.90/maint/cip-test-cpan FFI-Platypus-0.90/t/ffi_platypus_dl.t FFI-Platypus-0.90/t/type_longdouble.t FFI-Platypus-0.90/t/ffi/align_array.c FFI-Platypus-0.90/t/ffi/align_fixed.c FFI-Platypus-0.90/xt/author/no_tabs.t FFI-Platypus-0.90/xt/author/version.t FFI-Platypus-0.90/examples/var_array.c FFI-Platypus-0.90/inc/mm-config-set.pl FFI-Platypus-0.90/maint/tt FFI-Platypus-0.90/maint/tt/accessor.tt FFI-Platypus-0.90/t/ffi_build_file_c.t FFI-Platypus-0.90/t/ffi_platypus_api.t FFI-Platypus-0.90/t/ffi_probe_runner.t FFI-Platypus-0.90/t/ffi/align_string.c FFI-Platypus-0.90/t/ffi/string_array.c FFI-Platypus-0.90/xs/perl_math_int64.c FFI-Platypus-0.90/xt/release/changes.t FFI-Platypus-0.90/examples/var_array.pl FFI-Platypus-0.90/inc/My/ShareConfig.pm FFI-Platypus-0.90/inc/probe/bigendian.c FFI-Platypus-0.90/maint/generate-readme FFI-Platypus-0.90/t/ffi_platypus_lang.t FFI-Platypus-0.90/t/ffi/complex_float.c FFI-Platypus-0.90/t/lib/Test FFI-Platypus-0.90/t/lib/Test/Cleanup.pm FFI-Platypus-0.90/examples/get_uptime.pl FFI-Platypus-0.90/examples/win32_beep.pl FFI-Platypus-0.90/inc/probe/longdouble.c FFI-Platypus-0.90/include/ffi_platypus.h FFI-Platypus-0.90/lib/FFI/Platypus FFI-Platypus-0.90/lib/FFI/Platypus/DL.pm FFI-Platypus-0.90/t/ffi_build_file_cxx.t FFI-Platypus-0.90/t/ffi_build_platform.t FFI-Platypus-0.90/t/type_complex_float.t FFI-Platypus-0.90/t/ffi/complex_double.c FFI-Platypus-0.90/t/lib/Test/Platypus.pm FFI-Platypus-0.90/examples/time_record.pl FFI-Platypus-0.90/inc/probe/bigendian64.c FFI-Platypus-0.90/lib/FFI/Build/File FFI-Platypus-0.90/lib/FFI/Build/File/C.pm FFI-Platypus-0.90/lib/FFI/Platypus/API.pm FFI-Platypus-0.90/lib/FFI/Probe FFI-Platypus-0.90/lib/FFI/Probe/Runner.pm FFI-Platypus-0.90/maint/cip-test-examples FFI-Platypus-0.90/t/ffi_build_file_base.t FFI-Platypus-0.90/t/ffi_platypus_buffer.t FFI-Platypus-0.90/t/ffi_platypus_lang_c.t FFI-Platypus-0.90/t/ffi_platypus_memory.t FFI-Platypus-0.90/t/ffi_platypus_record.t FFI-Platypus-0.90/t/type_complex_double.t FFI-Platypus-0.90/lib/FFI/Platypus/Lang.pm FFI-Platypus-0.90/maint/cip-before-install FFI-Platypus-0.90/maint/run-after_build.pl FFI-Platypus-0.90/t/ffi_platypus_closure.t FFI-Platypus-0.90/t/ffi_platypus_declare.t FFI-Platypus-0.90/xt/author/pod_coverage.t FFI-Platypus-0.90/inc/Alien/Base FFI-Platypus-0.90/inc/Alien/Base/Wrapper.pm FFI-Platypus-0.90/include/perl_math_int64.h FFI-Platypus-0.90/lib/FFI/Build/Platform.pm FFI-Platypus-0.90/lib/FFI/Build/File/CXX.pm FFI-Platypus-0.90/lib/FFI/Platypus/Type.pod FFI-Platypus-0.90/maint/run-before_build.pl FFI-Platypus-0.90/t/ffi_build_file_object.t FFI-Platypus-0.90/t/ffi_platypus_function.t FFI-Platypus-0.90/t/ffi_platypus_internal.t FFI-Platypus-0.90/t/ffi_platypus_lang_asm.t FFI-Platypus-0.90/examples/closure-opaque.pl FFI-Platypus-0.90/inc/Alien/FFI FFI-Platypus-0.90/inc/Alien/FFI/pkgconfig.pm FFI-Platypus-0.90/lib/FFI/Build/File/Base.pm FFI-Platypus-0.90/lib/FFI/Platypus/Buffer.pm FFI-Platypus-0.90/lib/FFI/Platypus/Memory.pm FFI-Platypus-0.90/lib/FFI/Platypus/Record.pm FFI-Platypus-0.90/lib/FFI/Platypus/Lang FFI-Platypus-0.90/lib/FFI/Platypus/Lang/C.pm FFI-Platypus-0.90/t/ffi_build_file_library.t FFI-Platypus-0.90/include/ffi_platypus_call.h FFI-Platypus-0.90/include/ffi_platypus_guts.h FFI-Platypus-0.90/lib/FFI/Platypus/Closure.pm FFI-Platypus-0.90/lib/FFI/Platypus/Declare.pm FFI-Platypus-0.90/t/ffi_platypus_lang_win32.t FFI-Platypus-0.90/t/ffi_probe_runner_result.t FFI-Platypus-0.90/inc/Alien/FFI/PkgConfigPP.pm FFI-Platypus-0.90/lib/FFI/Build/File/Object.pm FFI-Platypus-0.90/lib/FFI/Platypus/Function.pm FFI-Platypus-0.90/lib/FFI/Platypus/Internal.pm FFI-Platypus-0.90/lib/FFI/Platypus/Lang/ASM.pm FFI-Platypus-0.90/maint/tt/accessor_wrapper.tt FFI-Platypus-0.90/t/ffi_platypus_shareconfig.t FFI-Platypus-0.90/t/ffi_probe_runner_builder.t FFI-Platypus-0.90/corpus/ffi_build/source FFI-Platypus-0.90/corpus/ffi_build/source/foo.c FFI-Platypus-0.90/corpus/ffi_probe_runner FFI-Platypus-0.90/corpus/ffi_probe_runner/bar.c FFI-Platypus-0.90/corpus/ffi_probe_runner/foo.c FFI-Platypus-0.90/lib/FFI/Build/File/Library.pm FFI-Platypus-0.90/corpus/ffi_build_file_c FFI-Platypus-0.90/corpus/ffi_build_file_c/foo1.c FFI-Platypus-0.90/corpus/ffi_build_file_c/foo2.c FFI-Platypus-0.90/examples/list_integer_types.pl FFI-Platypus-0.90/lib/FFI/Platypus/Lang/Win32.pm FFI-Platypus-0.90/lib/FFI/Probe/Runner FFI-Platypus-0.90/lib/FFI/Probe/Runner/Result.pm FFI-Platypus-0.90/maint/generate-record-accessor FFI-Platypus-0.90/corpus/ffi_build/project2 FFI-Platypus-0.90/corpus/ffi_build/project2/bar.c FFI-Platypus-0.90/corpus/ffi_build_file_c/basic.c FFI-Platypus-0.90/examples/attach_from_pointer.pl FFI-Platypus-0.90/examples/win32_getSystemTime.pl FFI-Platypus-0.90/lib/FFI/Platypus/ShareConfig.pm FFI-Platypus-0.90/lib/FFI/Probe/Runner/Builder.pm FFI-Platypus-0.90/xt/author/pod_spelling_common.t FFI-Platypus-0.90/xt/author/pod_spelling_system.t FFI-Platypus-0.90/corpus/ffi_build/project1 FFI-Platypus-0.90/corpus/ffi_build/project1/foo1.c FFI-Platypus-0.90/corpus/ffi_build/project1/foo2.c FFI-Platypus-0.90/corpus/ffi_build_mm/lb1 FFI-Platypus-0.90/corpus/ffi_build_mm/lb1/hello1.c FFI-Platypus-0.90/corpus/ffi_build_mm/lb1/hello2.c FFI-Platypus-0.90/corpus/ffi_build_mm/lb2 FFI-Platypus-0.90/corpus/ffi_build_mm/lb2/hello1.c FFI-Platypus-0.90/corpus/ffi_build_mm/lb2/hello2.c FFI-Platypus-0.90/t/ffi_platypus_record_tiearray.t FFI-Platypus-0.90/corpus/ffi_build_mm/lb1/hello.fbx FFI-Platypus-0.90/t/ffi_platypus_function_wrapper.t FFI-Platypus-0.90/t/ffi_platypus_type_stringarray.t FFI-Platypus-0.90/corpus/ffi_build_file_cxx FFI-Platypus-0.90/corpus/ffi_build_file_cxx/foo1.cxx FFI-Platypus-0.90/corpus/ffi_build_file_cxx/foo2.cpp FFI-Platypus-0.90/corpus/ffi_build_file_cxx/basic.cxx FFI-Platypus-0.90/lib/FFI/Platypus/Record FFI-Platypus-0.90/lib/FFI/Platypus/Record/TieArray.pm FFI-Platypus-0.90/t/ffi_platypus_type_stringpointer.t FFI-Platypus-0.90/corpus/ffi_build_file_base FFI-Platypus-0.90/corpus/ffi_build_file_base/basic.foo FFI-Platypus-0.90/corpus/ffi_build_mm/project1/ffi FFI-Platypus-0.90/corpus/ffi_build_mm/project1/ffi/x.c FFI-Platypus-0.90/corpus/ffi_build_mm/project1/ffi/y.c FFI-Platypus-0.90/corpus/ffi_build_mm/project1/ffi/z.c FFI-Platypus-0.90/lib/FFI/Platypus/Type FFI-Platypus-0.90/lib/FFI/Platypus/Type/StringArray.pm FFI-Platypus-0.90/Changes.FFI-Platypus-Type-StringArray FFI-Platypus-0.90/corpus/ffi_build/project-cxx FFI-Platypus-0.90/corpus/ffi_build/project-cxx/foo1.cxx FFI-Platypus-0.90/corpus/ffi_build/project-cxx/foo2.cpp FFI-Platypus-0.90/corpus/ffi_build_mm/project1/t/ffi FFI-Platypus-0.90/corpus/ffi_build_mm/project1/t/ffi/a.c FFI-Platypus-0.90/corpus/ffi_build_mm/project1/t/ffi/b.c FFI-Platypus-0.90/corpus/ffi_build_mm/project1/t/ffi/c.c FFI-Platypus-0.90/lib/FFI/Platypus/Type/StringPointer.pm FFI-Platypus-0.90/corpus/ffi_build_file_c/include FFI-Platypus-0.90/corpus/ffi_build_file_c/include/myfoo.h FFI-Platypus-0.90/t/ffi_platypus_type_pointersizebuffer.t FFI-Platypus-0.90/corpus/ffi_build_file_cxx/include FFI-Platypus-0.90/corpus/ffi_build_file_cxx/include/myfoo.h FFI-Platypus-0.90/lib/FFI/Platypus/Type/PointerSizeBuffer.pm Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib to PERL5LIB for 'prepare' Configuring P/PL/PLICEASE/FFI-Platypus-0.90.tar.gz with Makefile.PL >>> /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL using already installed Alien::FFI (version 0.23) 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 FFI::Platypus Writing MYMETA.yml and MYMETA.json PLICEASE/FFI-Platypus-0.90.tar.gz /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK Running make for P/PL/PLICEASE/FFI-Platypus-0.90.tar.gz Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib to PERL5LIB for 'make' >>> make PR alien.ffi.class=Alien::FFI PR alien.ffi.version=3.2.1 PR alien.ffi.cflags=-I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include PR alien.ffi.libs=-L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib -lffi PR eumm.cc=['gcc'] PR eumm.inc=['-Iinclude','-I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include'] PR eumm.ccflags=['-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'] PR eumm.cccdlflags=['-fPIC'] PR eumm.optimize=['-O2'] PR eumm.ld=['gcc'] PR eumm.ldflags=['-L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib','-fstack-protector'] PR eumm.lddlflags=['-L/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/../lib','-shared','-O2','-fstack-protector'] XX src/dlrun.c XX bin/ CC src/dlrun.c LD src/dlrun.o VV bin/dlrun UN src/dlrun.o PR header."stdlib.h"=1 PR header."stdint.h"=1 PR header."sys/types.h"=1 PR header."sys/stat.h"=1 PR header."unistd.h"=1 PR header."alloca.h"=1 PR header."dlfcn.h"=1 PR header."limits.h"=1 PR header."stddef.h"=1 PR header."wchar.h"=1 PR header."signal.h"=1 PR header."inttypes.h"=1 PR header."windows.h"=0 PR header."sys/cygwin.h"=0 PR header."string.h"=1 PR header."psapi.h"=0 PR header."stdio.h"=1 PR header."stdbool.h"=1 PR header."complex.h"=1 PR type.char.align=1 PR type.char.sign=signed PR type.char.size=1 PR type.signed char.align=1 PR type.signed char.sign=signed PR type.signed char.size=1 PR type.unsigned char.align=1 PR type.unsigned char.sign=unsigned PR type.unsigned char.size=1 PR type.short.align=2 PR type.short.sign=signed PR type.short.size=2 PR type.signed short.align=2 PR type.signed short.sign=signed PR type.signed short.size=2 PR type.unsigned short.align=2 PR type.unsigned short.sign=unsigned PR type.unsigned short.size=2 PR type.int.align=4 PR type.int.sign=signed PR type.int.size=4 PR type.signed int.align=4 PR type.signed int.sign=signed PR type.signed int.size=4 PR type.unsigned int.align=4 PR type.unsigned int.sign=unsigned PR type.unsigned int.size=4 PR type.long.align=8 PR type.long.sign=signed PR type.long.size=8 PR type.signed long.align=8 PR type.signed long.sign=signed PR type.signed long.size=8 PR type.unsigned long.align=8 PR type.unsigned long.sign=unsigned PR type.unsigned long.size=8 PR type.uint8_t.align=1 PR type.uint8_t.sign=unsigned PR type.uint8_t.size=1 PR type.int8_t.align=1 PR type.int8_t.sign=signed PR type.int8_t.size=1 PR type.uint16_t.align=2 PR type.uint16_t.sign=unsigned PR type.uint16_t.size=2 PR type.int16_t.align=2 PR type.int16_t.sign=signed PR type.int16_t.size=2 PR type.uint32_t.align=4 PR type.uint32_t.sign=unsigned PR type.uint32_t.size=4 PR type.int32_t.align=4 PR type.int32_t.sign=signed PR type.int32_t.size=4 PR type.uint64_t.align=8 PR type.uint64_t.sign=unsigned PR type.uint64_t.size=8 PR type.int64_t.align=8 PR type.int64_t.sign=signed PR type.int64_t.size=8 PR type.size_t.align=8 PR type.size_t.sign=unsigned PR type.size_t.size=8 PR type.ssize_t.align=8 PR type.ssize_t.sign=signed PR type.ssize_t.size=8 PR type.float.align=4 PR type.float.size=4 PR type.double.align=8 PR type.double.size=8 PR type.long double.align=16 PR type.long double.size=16 PR type.float complex.align=4 PR type.float complex.size=8 PR type.double complex.align=8 PR type.double complex.size=16 PR type.long double complex.align=16 PR type.long double complex.size=32 PR type.bool.align=1 PR type.bool.sign=unsigned PR type.bool.size=1 PR type._Bool.align=1 PR type._Bool.sign=unsigned PR type._Bool.size=1 PR type.pointer.align=8 PR type.pointer.size=8 PR type.uintptr_t.align=8 PR type.uintptr_t.sign=unsigned PR type.uintptr_t.size=8 PR type.intptr_t.align=8 PR type.intptr_t.sign=signed PR type.intptr_t.size=8 PR type.long long.align=8 PR type.long long.sign=signed PR type.long long.size=8 PR type.signed long long.align=8 PR type.signed long long.sign=signed PR type.signed long long.size=8 PR type.unsigned long long.align=8 PR type.unsigned long long.sign=unsigned PR type.unsigned long long.size=8 PR type.dev_t.align=8 PR type.dev_t.sign=unsigned PR type.dev_t.size=8 PR type.ino_t.align=8 PR type.ino_t.sign=unsigned PR type.ino_t.size=8 PR type.mode_t.align=4 PR type.mode_t.sign=unsigned PR type.mode_t.size=4 PR type.nlink_t.align=8 PR type.nlink_t.sign=unsigned PR type.nlink_t.size=8 PR type.uid_t.align=4 PR type.uid_t.sign=unsigned PR type.uid_t.size=4 PR type.gid_t.align=4 PR type.gid_t.sign=unsigned PR type.gid_t.size=4 PR type.off_t.align=8 PR type.off_t.sign=signed PR type.off_t.size=8 PR type.blksize_t.align=8 PR type.blksize_t.sign=signed PR type.blksize_t.size=8 PR type.blkcnt_t.align=8 PR type.blkcnt_t.sign=signed PR type.blkcnt_t.size=8 PR type.time_t.align=8 PR type.time_t.sign=signed PR type.time_t.size=8 PR type.ptrdiff_t.align=8 PR type.ptrdiff_t.sign=signed PR type.ptrdiff_t.size=8 PR type.wchar_t.align=4 PR type.wchar_t.sign=signed PR type.wchar_t.size=4 PR type.wint_t.align=4 PR type.wint_t.sign=unsigned PR type.wint_t.size=4 PR probe.abi=1 PR probe.alloca=1 PR probe.complex=0 PR probe.longdouble=1 PR abi.sysv=1 PR abi.unix64=2 PR abi.thiscall=3 PR abi.fastcall=4 PR abi.stdcall=5 PR abi.pascal=6 PR abi.register=7 PR abi.default_abi=2 PR abi.unix64=2 cp lib/FFI/Build/File/CXX.pm blib/lib/FFI/Build/File/CXX.pm cp lib/FFI/Platypus/Type/StringArray.pm blib/lib/FFI/Platypus/Type/StringArray.pm cp lib/FFI/Probe/Runner/Builder.pm blib/lib/FFI/Probe/Runner/Builder.pm cp lib/FFI/Platypus/Lang/ASM.pm blib/lib/FFI/Platypus/Lang/ASM.pm cp lib/FFI/Platypus/Lang/Win32.pm blib/lib/FFI/Platypus/Lang/Win32.pm cp lib/FFI/Platypus/Lang.pm blib/lib/FFI/Platypus/Lang.pm cp lib/FFI/Build.pm blib/lib/FFI/Build.pm cp lib/FFI/Platypus/Function.pm blib/lib/FFI/Platypus/Function.pm cp lib/FFI/Probe/Runner.pm blib/lib/FFI/Probe/Runner.pm cp lib/FFI/Platypus.pm blib/lib/FFI/Platypus.pm cp lib/FFI/Platypus/Declare.pm blib/lib/FFI/Platypus/Declare.pm cp lib/FFI/Platypus/API.pm blib/lib/FFI/Platypus/API.pm cp lib/FFI/Platypus/Buffer.pm blib/lib/FFI/Platypus/Buffer.pm cp lib/FFI/Build/MM.pm blib/lib/FFI/Build/MM.pm cp lib/FFI/Platypus/ShareConfig.pm blib/lib/FFI/Platypus/ShareConfig.pm cp lib/FFI/Platypus/Closure.pm blib/lib/FFI/Platypus/Closure.pm cp lib/FFI/Platypus/Record/TieArray.pm blib/lib/FFI/Platypus/Record/TieArray.pm cp lib/FFI/Platypus/Memory.pm blib/lib/FFI/Platypus/Memory.pm cp lib/FFI/Platypus/Type.pod blib/lib/FFI/Platypus/Type.pod cp lib/FFI/Probe.pm blib/lib/FFI/Probe.pm cp lib/FFI/Platypus/Type/StringPointer.pm blib/lib/FFI/Platypus/Type/StringPointer.pm cp lib/FFI/Build/File/Base.pm blib/lib/FFI/Build/File/Base.pm cp lib/FFI/Platypus/Lang/C.pm blib/lib/FFI/Platypus/Lang/C.pm cp lib/FFI/Platypus/Type/PointerSizeBuffer.pm blib/lib/FFI/Platypus/Type/PointerSizeBuffer.pm cp lib/FFI/Platypus/Record.pm blib/lib/FFI/Platypus/Record.pm cp lib/FFI/Probe/Runner/Result.pm blib/lib/FFI/Probe/Runner/Result.pm cp lib/FFI/typemap blib/lib/FFI/typemap cp lib/FFI/Build/File/Object.pm blib/lib/FFI/Build/File/Object.pm cp lib/FFI/Platypus/Internal.pm blib/lib/FFI/Platypus/Internal.pm cp lib/FFI/Build/Platform.pm blib/lib/FFI/Build/Platform.pm cp lib/FFI/Build/File/C.pm blib/lib/FFI/Build/File/C.pm cp lib/FFI/Build/File/Library.pm blib/lib/FFI/Build/File/Library.pm cp lib/FFI/Platypus/DL.pm blib/lib/FFI/Platypus/DL.pm Running Mkbootstrap for lib/FFI/Platypus () chmod 644 "lib/FFI/Platypus.bs" "/data/fly2400/ap2400-300558/bin/perl-static" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib/FFI/Platypus.bs blib/arch/auto/FFI/Platypus/Platypus.bs 644 "/data/fly2400/ap2400-300558/bin/perl-static" "/data/fly2400/cpanfly-5.24/var/megalib/ExtUtils/xsubpp" -typemap '/home/fly2400/ap2400-300558/lib/ExtUtils/typemap' lib/FFI/Platypus.xs > lib/FFI/Platypus.xsc mv lib/FFI/Platypus.xsc lib/FFI/Platypus.c "/data/fly2400/ap2400-300558/bin/perl-static" "/data/fly2400/cpanfly-5.24/var/megalib/ExtUtils/xsubpp" -typemap '/home/fly2400/ap2400-300558/lib/ExtUtils/typemap' lib/FFI/Platypus.xs > lib/FFI/Platypus.xsc mv lib/FFI/Platypus.xsc lib/FFI/Platypus.c gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include \ -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 \ -DVERSION=\"0.90\" \ -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" lib/FFI/Platypus.c -o lib/FFI/Platypus.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/closure.c -o xs/closure.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/complex.c -o xs/complex.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/custom.c -o xs/custom.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/havepm.c -o xs/havepm.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/meta.c -o xs/meta.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/names.c -o xs/names.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/perl_math_int64.c -o xs/perl_math_int64.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/record_opaque.c -o xs/record_opaque.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/record_simple.c -o xs/record_simple.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/record_string.c -o xs/record_string.o gcc -c -Iinclude -I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -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 -DVERSION=\"0.90\" -DXS_VERSION=\"0.90\" -fPIC "-I/home/fly2400/ap2400-300558/lib/CORE" xs/windl.c -o xs/windl.o rm -f blib/arch/auto/FFI/Platypus/Platypus.so 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 \ chmod 755 blib/arch/auto/FFI/Platypus/Platypus.so CC ffi/memory.c LD blib/lib/auto/share/dist/FFI-Platypus/lib/libplfill.so Manifying 32 pod documents PLICEASE/FFI-Platypus-0.90.tar.gz make -- OK Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 "/data/fly2400/ap2400-300558/bin/perl-static" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib/FFI/Platypus.bs blib/arch/auto/FFI/Platypus/Platypus.bs 644 CC t/ffi/align.c CC t/ffi/align_array.c CC t/ffi/align_fixed.c CC t/ffi/align_string.c CC t/ffi/basic.c CC t/ffi/closure.c CC t/ffi/color.c CC t/ffi/complex_double.c CC t/ffi/complex_float.c CC t/ffi/double.c CC t/ffi/float.c CC t/ffi/gh117.c CC t/ffi/longdouble.c CC t/ffi/memcmp4.c CC t/ffi/meta.c CC t/ffi/pointer.c CC t/ffi/record.c CC t/ffi/sint16.c CC t/ffi/sint32.c CC t/ffi/sint64.c CC t/ffi/sint8.c CC t/ffi/string.c CC t/ffi/string_array.c CC t/ffi/uint16.c CC t/ffi/uint32.c CC t/ffi/uint64.c CC t/ffi/uint8.c LD t/ffi/libtest.so 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/FFI-Platypus-0.90-nSvdIV/blib/lib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.90-nSvdIV/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib # PERL5OPT= # PERL5_CPANPLUS_IS_RUNNING=20755 # PERL5_CPAN_IS_RUNNING=20755 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=18780,20755 # 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.90-nSvdIV/blib/lib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.90-nSvdIV/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # # # # perl 5.024000 # Alien::Base 1.78 # Capture::Tiny 0.48 # ExtUtils::CBuilder 0.280225 # ExtUtils::MakeMaker 7.16 # ExtUtils::ParseXS 3.35 # FFI::CheckLib 0.25 # IPC::Cmd 1.02 # JSON::PP 4.04 # List::Util 1.5 # PkgConfig 0.23026 # Test::More 1.302164 # constant 1.33 # # # # mode : already-installed # Alien::FFI->VERSION = 0.23 # 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->version = 3.2.1 # my_configure = %{configure} --disable-shared --enable-static --disable-builddir # # # # ffi.platypus.memory.strdup_impl =libc # ffi.platypus.memory.strndup_impl=libc # # # # Types: # double : double, float complex # float : float # longdouble : double complex, long double, long double complex # sint16 : int16_t, short, signed short # sint32 : int, int32_t, signed int, wchar_t # sint64 : blkcnt_t, blksize_t, int64_t, intptr_t, long, long long, off_t, ptrdiff_t, signed long, signed long long, ssize_t, time_t # sint8 : char, int8_t, signed char # uint16 : uint16_t, unsigned short, ushort # uint32 : gid_t, mode_t, uid_t, uint, uint32_t, unsigned int, wint_t # uint64 : dev_t, ino_t, nlink_t, size_t, uint64_t, uintptr_t, ulong, unsigned long, unsigned long long # uint8 : bool, uchar, uint8_t, unsigned char # # # # ABIs: # default_abi 2 # fastcall 4 # pascal 6 # register 7 # stdcall 5 # sysv 1 # thiscall 3 # unix64 2 # # # # Probes: # bigendian64 0 # abi 1 # alloca 1 # longdouble 1 # bigendian 0 # # # # 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 # # # # [PLATFORM] # osname : linux # cc : gcc # cxx : g++ # for : --- # ld : gcc # ccflags : -fPIC -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 # ldflags : -shared -O2 -fstack-protector # object suffix : .o # library prefix : lib # library suffix : .so # cc mm works : -MM # # # t/00_diag.t .............................. 1..1 ok 1 - okay ok t/01_use.t ............................... ok 1 - require FFI::Build; ok 2 - require FFI::Build::File::Base; ok 3 - require FFI::Build::File::C; ok 4 - require FFI::Build::File::CXX; ok 5 - require FFI::Build::File::Library; ok 6 - require FFI::Build::File::Object; ok 7 - require FFI::Build::MM; ok 8 - require FFI::Build::Platform; ok 9 - require FFI::Platypus; ok 10 - require FFI::Platypus::API; ok 11 - require FFI::Platypus::Buffer; ok 12 - require FFI::Platypus::Closure; ok 13 - require FFI::Platypus::DL; ok 14 - require FFI::Platypus::Declare; ok 15 - require FFI::Platypus::Function; ok 16 - require FFI::Platypus::Internal; ok 17 - require FFI::Platypus::Lang; ok 18 - require FFI::Platypus::Lang::ASM; ok 19 - require FFI::Platypus::Lang::C; ok 20 - require FFI::Platypus::Lang::Win32; ok 21 - require FFI::Platypus::Memory; ok 22 - require FFI::Platypus::Record; ok 23 - require FFI::Platypus::Record::TieArray; ok 24 - require FFI::Platypus::ShareConfig; ok 25 - require FFI::Platypus::Type::PointerSizeBuffer; ok 26 - require FFI::Platypus::Type::StringArray; ok 27 - require FFI::Platypus::Type::StringPointer; ok 28 - require FFI::Probe; ok 29 - require FFI::Probe::Runner; ok 30 - require FFI::Probe::Runner::Builder; ok 31 - require FFI::Probe::Runner::Result; ok 32 - test for FFI::Build ok 33 - test for FFI::Build::File::Base ok 34 - test for FFI::Build::File::C ok 35 - test for FFI::Build::File::CXX ok 36 - test for FFI::Build::File::Library ok 37 - test for FFI::Build::File::Object ok 38 - test for FFI::Build::MM ok 39 - test for FFI::Build::Platform ok 40 - test for FFI::Platypus ok 41 - test for FFI::Platypus::API ok 42 - test for FFI::Platypus::Buffer ok 43 - test for FFI::Platypus::Closure ok 44 - test for FFI::Platypus::DL ok 45 - test for FFI::Platypus::Declare ok 46 - test for FFI::Platypus::Function ok 47 - test for FFI::Platypus::Internal ok 48 - test for FFI::Platypus::Lang ok 49 - test for FFI::Platypus::Lang::ASM ok 50 - test for FFI::Platypus::Lang::C ok 51 - test for FFI::Platypus::Lang::Win32 ok 52 - test for FFI::Platypus::Memory ok 53 - test for FFI::Platypus::Record ok 54 - test for FFI::Platypus::Record::TieArray ok 55 - test for FFI::Platypus::ShareConfig ok 56 - test for FFI::Platypus::Type::PointerSizeBuffer ok 57 - test for FFI::Platypus::Type::StringArray ok 58 - test for FFI::Platypus::Type::StringPointer ok 59 - test for FFI::Probe ok 60 - test for FFI::Probe::Runner ok 61 - test for FFI::Probe::Runner::Builder ok 62 - test for FFI::Probe::Runner::Result 1..62 ok t/app_fbx.t .............................. ok 1 1..1 ok t/ffi_build.t ............................ # Subtest: basic ok 1 - An object of class 'FFI::Build' isa 'FFI::Build' ok 2 - foo is somewhere in the native name for the lib # lib.file.path = ./libfoo.so ok 3 - dir is a dir ok 4 - An object of class 'FFI::Build::Platform' isa 'FFI::Build::Platform' ok 5 - An object of class 'FFI::Build::File::C' isa 'FFI::Build::File::C' 1..5 ok 1 - basic # Subtest: file classes ok 1 - at least one # class = FFI::Build::File::C # class = FFI::Build::File::CXX # class = FFI::Build::File::Library # class = FFI::Build::File::Object # class = FFI::Build::File::Foo2 # class = FFI::Build::File::Foo1 1..1 ok 2 - file classes # Subtest: build # Subtest: name # corpus/ffi_build/project1/foo1.c # corpus/ffi_build/project1/foo2.c ok 1 - no error # +gcc -fPIC -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 -c corpus/ffi_build/project1/foo1.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo1.c.o # +gcc -fPIC -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 -c corpus/ffi_build/project1/foo2.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo2.c.o # +gcc -shared -O2 -fstack-protector corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo1.c.o corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo2.c.o -o corpus/ffi_build/project1/tmpbuild.FQ8mIx/libfoo.so ok 2 ok 3 1..3 ok 1 - name # Subtest: object # corpus/ffi_build/project1/foo1.c # corpus/ffi_build/project1/foo2.c ok 1 - no error # +gcc -shared -O2 -fstack-protector corpus/ffi_build/project1/_build/foo1.c.o corpus/ffi_build/project1/_build/foo2.c.o -o corpus/ffi_build/project1/tmpbuild.GK6ENs/libfoo.so ok 2 ok 3 1..3 ok 2 - object # Subtest: array # corpus/ffi_build/project1/foo1.c # corpus/ffi_build/project1/foo2.c ok 1 - no error # +gcc -fPIC -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 -c corpus/ffi_build/project1/foo1.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo1.c.o # +gcc -fPIC -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 -c corpus/ffi_build/project1/foo2.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo2.c.o # +gcc -shared -O2 -fstack-protector corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo1.c.o corpus/ffi_build/project1/tmpbuild.tmpbuild.22077.1562144600/foo2.c.o -o corpus/ffi_build/project1/tmpbuild.jq1SpQ/libfoo.so ok 2 ok 3 1..3 ok 3 - array 1..3 ok 3 - build # Subtest: build c++ # corpus/ffi_build/project-cxx/foo1.cxx # corpus/ffi_build/project-cxx/foo2.cpp ok 1 - no error # +g++ -fPIC -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 -c corpus/ffi_build/project-cxx/foo1.cxx -o corpus/ffi_build/project-cxx/tmpbuild.22077.1562144600/foo1.o # +g++ -fPIC -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 -c corpus/ffi_build/project-cxx/foo2.cpp -o corpus/ffi_build/project-cxx/tmpbuild.22077.1562144600/foo2.o # +g++ -shared -O2 -fstack-protector corpus/ffi_build/project-cxx/tmpbuild.22077.1562144600/foo1.o corpus/ffi_build/project-cxx/tmpbuild.22077.1562144600/foo2.o -o corpus/ffi_build/project-cxx/tmpbuild.BOQ08s/libfoo.so ok 2 - foo1 found ok 3 - foo2 found ok 4 ok 5 1..5 ok 4 - build c++ # Subtest: alien 1..0 # SKIP Test requires Acme::Alien::DontPanic 1.03 ok 5 # skip Test requires Acme::Alien::DontPanic 1.03 1..5 ok t/ffi_build_file_base.t .................. # Subtest: basic # Subtest: basic usage ok 1 # error = content is required at t/ffi_build_file_base.t line 18. 1..1 ok 1 - basic usage # Subtest: array filename ok 1 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Base' ok 2 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Foo' ok 3 - stringifies to path ok 4 ok 5 - is_temp ok 6 - basename ok 7 - dirname # dirname = corpus/ffi_build_file_base ok 8 - No forward slashes! ok 9 - native name # native = corpus/ffi_build_file_base/basic.foo 1..9 ok 2 - array filename # Subtest: string filename ok 1 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Base' ok 2 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Foo' ok 3 ok 4 - is_temp ok 5 - No forward slashes! 1..5 ok 3 - string filename # Subtest: string ref ok 1 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Base' ok 2 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Foo' ok 3 - has the correct extension ok 4 - is_temp ok 5 # path: ffi_build_Uku1Nx.foo ok 6 - No forward slashes! ok 7 - file exists ok 8 - file is removed after destroy 1..8 ok 4 - string ref # Subtest: string ref keep ok 1 ok 2 - file exists ok 3 - No forward slashes! ok 4 - file exists after undef 1..4 ok 5 - string ref keep 1..5 ok 1 - basic 1..1 ok t/ffi_build_file_c.t ..................... # Subtest: basic ok 1 - An object of class 'FFI::Build::File::C' isa 'FFI::Build::File::C' ok 2 - An object of class 'FFI::Build::File::C' isa 'FFI::Build::File::Base' ok 3 ok 4 1..4 ok 1 - basic # Subtest: compile ok 1 - An object of class 'FFI::Build::File::Object' isa 'FFI::Build::File::Object' ok 2 1..2 ok 2 - compile # Subtest: headers ok 1 - no die ok 2 - dep is afile: corpus/ffi_build_file_c/foo2.c ok 3 - dep is afile: corpus/ffi_build_file_c/include/myfoo.h 1..3 ok 3 - headers 1..3 ok t/ffi_build_file_cxx.t ................... # Subtest: basic ok 1 - An object of class 'FFI::Build::File::CXX' isa 'FFI::Build::File::CXX' ok 2 - An object of class 'FFI::Build::File::CXX' isa 'FFI::Build::File::C' ok 3 - An object of class 'FFI::Build::File::CXX' isa 'FFI::Build::File::Base' ok 4 ok 5 1..5 ok 1 - basic # Subtest: compile ok 1 - An object of class 'FFI::Build::File::Object' isa 'FFI::Build::File::Object' ok 2 1..2 ok 2 - compile # Subtest: headers ok 1 - no die ok 2 - dep is afile: corpus/ffi_build_file_cxx/foo2.cpp ok 3 - dep is afile: corpus/ffi_build_file_cxx/include/myfoo.h 1..3 ok 3 - headers 1..3 ok t/ffi_build_file_library.t ............... # Subtest: basic ok 1 ok 2 # path = corpus/basic.so 1..2 ok 1 - basic 1..1 ok t/ffi_build_file_object.t ................ # Subtest: basic ok 1 ok 2 # path = corpus/basic.o 1..2 ok 1 - basic 1..1 ok t/ffi_build_mm.t ......................... # Subtest: basic ok 1 - An object of class 'FFI::Build::MM' isa 'FFI::Build::MM' ok 2 ok 3 ok 4 # Subtest: build with fbx file ok 1 - An object of class 'FFI::Build' isa 'FFI::Build' ok 2 1..2 ok 5 - build with fbx file # Subtest: build with default ok 1 - An object of class 'FFI::Build' isa 'FFI::Build' ok 2 1..2 ok 6 - build with default ok 7 # [postamble] # .PHONY: fbx_build ffi fbx_test ffi-test fbc_clean ffi-clean # # realclean :: fbx_clean # # fbx_clean ffi-clean: # $(FULLPERL) -MFFI::Build::MM=cmd -e fbx_clean # # pure_all :: fbx_build # # fbx_build ffi: # $(FULLPERL) -MFFI::Build::MM=cmd -e fbx_build # # subdirs-test_dynamic subdirs-test_static subdirs-test :: fbx_test # # fbx_test ffi-test: # $(FULLPERL) -MFFI::Build::MM=cmd -e fbx_test # # ok 8 ok 9 1..9 ok 1 - basic # Subtest: with a build! # Subtest: namespace is clean ok 1 - fbx_build not imported yet ok 2 - fbx_test not imported yet ok 3 - fbx_clean not imported yet 1..3 ok 1 - namespace is clean # Subtest: perl Makefile.PL ok 1 1..1 ok 2 - perl Makefile.PL # Subtest: import ok 1 - fbx_build not imported yet ok 2 - fbx_test not imported yet ok 3 - fbx_clean not imported yet 1..3 ok 3 - import # Subtest: make # CC ffi/x.c # CC ffi/y.c # CC ffi/z.c # LD blib/lib/auto/share/dist/Crock-O-Stimpy/lib/libCrock-O-Stimpy.so ok 1 ok 2 ok 3 1..3 ok 4 - make # Subtest: make test # CC t/ffi/a.c # CC t/ffi/b.c # CC t/ffi/c.c # LD t/ffi/_build/libtest.so ok 1 1..1 ok 5 - make test # Subtest: make clean ok 1 1..1 ok 6 - make clean 1..6 ok 2 - with a build! # Subtest: alien 1..0 # SKIP todo ok 3 # skip todo 1..3 ok t/ffi_build_platform.t ................... # Subtest: basic ok 1 - An object of class 'FFI::Build::Platform' isa 'FFI::Build::Platform' # osname : linux # cc : gcc # cxx : g++ # for : --- # ld : gcc # ccflags : -fPIC -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 # ldflags : -shared -O2 -fstack-protector # object suffix : .o # library prefix : lib # library suffix : .so # cc mm works : -MM 1..1 ok 1 - basic # Subtest: cc mm works # CC (checkfor -MM) ok 1 # cc_mm_works = -MM 1..1 ok 2 - cc mm works 1..2 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: default_abi ok 1 - string ok 2 - integer 1..2 ok 2 - default_abi # Subtest: sysv ok 1 - string ok 2 - integer 1..2 ok 3 - sysv # Subtest: unix64 ok 1 - string ok 2 - integer 1..2 ok 4 - unix64 # Subtest: thiscall ok 1 - string ok 2 - integer 1..2 ok 5 - thiscall # Subtest: register ok 1 - string ok 2 - integer 1..2 ok 6 - register # Subtest: fastcall ok 1 - string ok 2 - integer 1..2 ok 7 - fastcall # Subtest: stdcall ok 1 - string ok 2 - integer 1..2 ok 8 - stdcall # 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 # {'ffi_type' => 'pointer','ref' => 0,'size' => 22,'type' => 'record','type_code' => 2308} 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','type_code' => 16451}} 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','type_code' => 16451}} 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','type_code' => 16451}} 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','type_code' => 16451}} 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','type_code' => 16451}} 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','type_code' => 16451}} 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','type_code' => 16452}} 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','type_code' => 16452}} 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','type_code' => 16452}} 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','type_code' => 16452}} 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','type_code' => 16452}} 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','type_code' => 16452}} 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','type_code' => 16644}} 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','type_code' => 16644}} 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','type_code' => 16644}} 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','type_code' => 16644}} 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','type_code' => 16644}} 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','type_code' => 16644}} 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','type_code' => 16417}} 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','type_code' => 16417}} 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','type_code' => 16417}} 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','type_code' => 16417}} 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','type_code' => 16417}} 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','type_code' => 16417}} 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','type_code' => 16401}} 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','type_code' => 16401}} 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','type_code' => 16401}} 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','type_code' => 16401}} 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','type_code' => 16401}} 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','type_code' => 16401}} 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','type_code' => 16418}} 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','type_code' => 16418}} 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','type_code' => 16418}} 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','type_code' => 16418}} 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','type_code' => 16418}} 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','type_code' => 16418}} 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','type_code' => 16402}} 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','type_code' => 16402}} 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','type_code' => 16402}} 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','type_code' => 16402}} 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','type_code' => 16402}} 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','type_code' => 16402}} 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','type_code' => 16419}} 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','type_code' => 16419}} 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','type_code' => 16419}} 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','type_code' => 16419}} 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','type_code' => 16419}} 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','type_code' => 16419}} 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','type_code' => 16403}} 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','type_code' => 16403}} 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','type_code' => 16403}} 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','type_code' => 16403}} 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','type_code' => 16403}} 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','type_code' => 16403}} 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','type_code' => 16420}} 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','type_code' => 16420}} 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','type_code' => 16420}} 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','type_code' => 16420}} 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','type_code' => 16420}} 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','type_code' => 16420}} 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','type_code' => 16404}} 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','type_code' => 16404}} 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','type_code' => 16404}} 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','type_code' => 16404}} 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','type_code' => 16404}} 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','type_code' => 16404}} 1..6 ok 11 - sint64 1..11 ok 4 - custom type # Subtest: find lib # Subtest: find_lib ok 1 - found f0 = 47749441519856 1..1 ok 1 - find_lib # Subtest: external ok 1 - ffi.find_symbol(f0) = 47749441519856 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 2 - external # Subtest: internal ok 1 - ffi.find_symbol(printf) = 47749406082576 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) = 47749441519856 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 1 - external # Subtest: internal ok 1 - ffi.find_symbol(printf) = 47749406082576 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','type_code' => 17} # 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','type_code' => 33} # 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','type_code' => 18} # 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','type_code' => 34} # 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','type_code' => 19} # 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','type_code' => 35} # 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','type_code' => 20} # 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','type_code' => 36} # 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','type_code' => 67} # 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','type_code' => 68} # 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','type_code' => 260} # 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,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 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','ffi_type' => 'longdouble','size' => 16,'type' => 'scalar','type_code' => 69} # 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','type_code' => 4113} # 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','type_code' => 4129} # 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','type_code' => 4114} # 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','type_code' => 4130} # 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','type_code' => 4115} # 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','type_code' => 4131} # 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','type_code' => 4116} # 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','type_code' => 4132} # 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','type_code' => 4163} # 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','type_code' => 4164} # 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','type_code' => 4356} # 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','type_code' => 4165} # 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','type_code' => 8209} # 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','type_code' => 8225} # 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','type_code' => 8210} # 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','type_code' => 8226} # 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','type_code' => 8211} # 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','type_code' => 8227} # 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','type_code' => 8212} # 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','type_code' => 8228} # 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','type_code' => 8259} # 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','type_code' => 8260} # 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','type_code' => 8452} # 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','type_code' => 8261} # 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,'ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19}],{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19}],'size' => 8,'type' => 'closure','type_code' => 1284} # 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,'ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'scalar','type_code' => 17},{'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772},{'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'scalar','type_code' => 260}],{'element_size' => 0,'element_type' => 'void','ffi_type' => 'void','size' => 0,'type' => 'scalar','type_code' => 8}],'size' => 8,'type' => 'closure','type_code' => 1284} # 0 1..6 ok 6 - closure types # Subtest: record # {'ffi_type' => 'pointer','ref' => 0,'size' => 1,'type' => 'record','type_code' => 2308} # 0 # {'ffi_type' => 'pointer','ref' => 0,'size' => 32,'type' => 'record','type_code' => 2308} # 0 ok 1 - sizeof my_record_1 = 1 ok 2 - sizeof my_record_32 = 32 # {'ffi_type' => 'pointer','ref' => 1,'size' => 22,'type' => 'record','type_code' => 2308} # 0 # {'ffi_type' => 'pointer','ref' => 1,'size' => 44,'type' => 'record','type_code' => 2308} # 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 - access = ro # {'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 1 - string # Subtest: string_rw ok 1 - sizeof string_rw = 8 ok 2 - access = rw # {'access' => 'rw','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 2 - string_rw # Subtest: string_ro ok 1 - sizeof string_ro = 8 ok 2 - access = ro # {'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 3 - string_ro # Subtest: string rw ok 1 - sizeof string rw = 8 ok 2 - access = rw # {'access' => 'rw','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 4 - string rw # Subtest: string ro ok 1 - sizeof string ro = 8 ok 2 - access = ro # {'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 5 - string ro # Subtest: string (10) ok 1 - is actually a record type ok 2 - sizeof string (10) = 10 # {'ffi_type' => 'pointer','ref' => 0,'size' => 10,'type' => 'record','type_code' => 2308} # 0 1..2 ok 6 - string (10) # Subtest: string(10) ok 1 - is actually a record type ok 2 - sizeof string(10) = 10 # {'ffi_type' => 'pointer','ref' => 0,'size' => 10,'type' => 'record','type_code' => 2308} # 0 1..2 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: double complex # type: float # type: float complex # type: gid_t # type: ino_t # type: int # type: int16_t # type: int32_t # type: int64_t # type: int8_t # type: intptr_t # type: long # type: long double # type: long double complex # 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: ssize_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: uintptr_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 # type: wint_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::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 622. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 626. 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::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 642. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 646. 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::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 660. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 664. 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::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::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 # Subtest: customer mangler ok 1 1..1 ok 15 - customer mangler 1..15 ok t/ffi_platypus_api.t ..................... skipped: TODO t/ffi_platypus_buffer.t .................. # Subtest: simple ok 1 - ptr = 31978688 ok 2 - scalar to pointer matches ok 3 - size = 16 ok 4 - scalar = me grimlock king 1..4 ok 1 - simple # Subtest: unicode ok 1 - ptr = 32577744 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 - closure.call(1) = 3 ok 6 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 7 - closure.(1) = 3 ok 8 - closure.call(1) = 3 1..8 ok 1 - basic # Subtest: sticky ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' # _svrefcnt = 1 ok 2 - called $closure->sticky ok 3 ok 4 - called $closure->sticky ok 5 ok 6 - called $closure->unstick ok 7 1..7 ok 2 - sticky # Subtest: private ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 1..2 ok 3 - private # Subtest: space ok 1 - good without space ok 2 - good with space 1..2 ok 4 - 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 72. # ' 1..2 ok 5 - die # Subtest: reuse ok 1 ok 2 1..2 ok 6 - reuse # Subtest: immediate ok 1 1..1 ok 7 - immediate 1..7 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: prototype ok 1 - no compile error ok 2 - f(22) = 22 1..2 ok 2 - prototype # Subtest: with type aliases ok 1 - atoi("42") = 42 1..1 ok 3 - 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 4 - 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: register ok 1 - string ok 2 - integer 1..2 ok 3 - register # Subtest: thiscall ok 1 - string ok 2 - integer 1..2 ok 4 - thiscall # Subtest: fastcall ok 1 - string ok 2 - integer 1..2 ok 5 - fastcall # Subtest: sysv ok 1 - string ok 2 - integer 1..2 ok 6 - sysv # Subtest: unix64 ok 1 - string ok 2 - integer 1..2 ok 7 - unix64 # Subtest: stdcall ok 1 - string ok 2 - integer 1..2 ok 8 - stdcall # 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 5 - 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 120. 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 149. 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 6 - lang # Subtest: sizeof ok 1 - sizeof uint32 = 4 ok 2 - sizeof uint32[2] = 8 1..2 ok 7 - sizeof # Subtest: sticky ok 1 - call_closure(2) = 4 1..1 ok 8 - 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 9 - cast 1..9 ok t/ffi_platypus_dl.t ...................... # Subtest: flags ok 1 - RTLD_PLATYPUS_DEFAULT is defined # RTLD_LOCAL 0000 0 # RTLD_LAZY 0001 1 # RTLD_PLATYPUS_DEFAULT 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 = 41556560 1..1 ok 2 - good library 1..2 ok 2 - dlopen # Subtest: dlsym # Subtest: good symbol ok 1 - returns an address # address = 47179934961904 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::Function' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function::Function' ok 4 - function.call(22) = 22 ok 5 - function.(22) = 22 1..5 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::Function' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function::Function' ok 4 - function.call(22) = 22 ok 5 - function.(22) = 22 1..5 ok 2 - custom type # Subtest: private ok 1 - FFI::Platypus::Function->new ok 2 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function::Function' ok 4 - function.call(22) = 22 ok 5 - fooble(22) = 22 1..5 ok 3 - private # Subtest: meta # Subtest: unattached ok 1 ok 2 1..2 ok 1 - unattached # Subtest: attached ok 1 ok 2 1..2 ok 2 - attached 1..2 ok 4 - meta # Subtest: sub_ref ok 1 - calls okay ok 2 - it is a code reference # name = FFI::Platypus::Function::Function::__ANON__ 1..2 ok 5 - sub_ref # Subtest: prototype # Subtest: one ok 1 ok 2 1..2 ok 1 - one # Subtest: two ok 1 ok 2 1..2 ok 2 - two 1..2 ok 6 - prototype 1..6 ok t/ffi_platypus_function_wrapper.t ........ # Subtest: built in type ok 1 - ffi.function(f0, [uint8] => uint8) ok 2 - An object of class 'FFI::Platypus::Function::Wrapper' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Wrapper' isa 'FFI::Platypus::Function::Wrapper' ok 4 - function.call(22) = 44 ok 5 - function.(22) = 44 ok 6 - baboon(11) = 22 1..6 ok 1 - built in type # Subtest: sub_ref ok 1 - calls okay ok 2 - it is a code reference # name = FFI::Platypus::Function::Wrapper::__ANON__ 1..2 ok 2 - sub_ref # Subtest: prototype # Subtest: one ok 1 ok 2 1..2 ok 1 - one # Subtest: two ok 1 ok 2 1..2 ok 2 - two 1..2 ok 3 - prototype 1..3 ok t/ffi_platypus_internal.t ................ # Subtest: basic # alpha order: ok 1 - FFI_PL_BASE_CLOSURE 0x0400 ok 2 - FFI_PL_BASE_COMPLEX 0x0080 ok 3 - FFI_PL_BASE_FLOAT 0x0040 ok 4 - FFI_PL_BASE_MASK 0x0ff8 ok 5 - FFI_PL_BASE_OPAQUE 0x0100 ok 6 - FFI_PL_BASE_RECORD 0x0800 ok 7 - FFI_PL_BASE_SINT 0x0010 ok 8 - FFI_PL_BASE_STRING 0x0200 ok 9 - FFI_PL_BASE_UINT 0x0020 ok 10 - FFI_PL_BASE_VOID 0x0008 ok 11 - FFI_PL_SHAPE_ARRAY 0x2000 ok 12 - FFI_PL_SHAPE_CUSTOM_MASK 0xf000 ok 13 - FFI_PL_SHAPE_CUSTOM_PERL 0x4000 ok 14 - FFI_PL_SHAPE_POINTER 0x1000 ok 15 - FFI_PL_SHAPE_SCALAR 0x0000 ok 16 - FFI_PL_SIZE_0 0x0000 ok 17 - FFI_PL_SIZE_128 0x0005 ok 18 - FFI_PL_SIZE_16 0x0002 ok 19 - FFI_PL_SIZE_256 0x0006 ok 20 - FFI_PL_SIZE_32 0x0003 ok 21 - FFI_PL_SIZE_512 0x0007 ok 22 - FFI_PL_SIZE_64 0x0004 ok 23 - FFI_PL_SIZE_8 0x0001 ok 24 - FFI_PL_SIZE_MASK 0x0007 ok 25 - FFI_PL_SIZE_PTR 0x0004 ok 26 - FFI_PL_TYPE_CLOSURE 0x0504 ok 27 - FFI_PL_TYPE_COMPLEX_DOUBLE 0x0085 ok 28 - FFI_PL_TYPE_COMPLEX_FLOAT 0x0084 ok 29 - FFI_PL_TYPE_DOUBLE 0x0044 ok 30 - FFI_PL_TYPE_FLOAT 0x0043 ok 31 - FFI_PL_TYPE_LONG_DOUBLE 0x0045 ok 32 - FFI_PL_TYPE_OPAQUE 0x0104 ok 33 - FFI_PL_TYPE_RECORD 0x0904 ok 34 - FFI_PL_TYPE_SINT16 0x0012 ok 35 - FFI_PL_TYPE_SINT32 0x0013 ok 36 - FFI_PL_TYPE_SINT64 0x0014 ok 37 - FFI_PL_TYPE_SINT8 0x0011 ok 38 - FFI_PL_TYPE_STRING 0x0304 ok 39 - FFI_PL_TYPE_UINT16 0x0022 ok 40 - FFI_PL_TYPE_UINT32 0x0023 ok 41 - FFI_PL_TYPE_UINT64 0x0024 ok 42 - FFI_PL_TYPE_UINT8 0x0021 ok 43 - FFI_PL_TYPE_VOID 0x0008 # value order: ok 44 - FFI_PL_SIZE_0 0x0000 ok 45 - FFI_PL_SHAPE_SCALAR 0x0000 ok 46 - FFI_PL_SIZE_8 0x0001 ok 47 - FFI_PL_SIZE_16 0x0002 ok 48 - FFI_PL_SIZE_32 0x0003 ok 49 - FFI_PL_SIZE_PTR 0x0004 ok 50 - FFI_PL_SIZE_64 0x0004 ok 51 - FFI_PL_SIZE_128 0x0005 ok 52 - FFI_PL_SIZE_256 0x0006 ok 53 - FFI_PL_SIZE_MASK 0x0007 ok 54 - FFI_PL_SIZE_512 0x0007 ok 55 - FFI_PL_BASE_VOID 0x0008 ok 56 - FFI_PL_TYPE_VOID 0x0008 ok 57 - FFI_PL_BASE_SINT 0x0010 ok 58 - FFI_PL_TYPE_SINT8 0x0011 ok 59 - FFI_PL_TYPE_SINT16 0x0012 ok 60 - FFI_PL_TYPE_SINT32 0x0013 ok 61 - FFI_PL_TYPE_SINT64 0x0014 ok 62 - FFI_PL_BASE_UINT 0x0020 ok 63 - FFI_PL_TYPE_UINT8 0x0021 ok 64 - FFI_PL_TYPE_UINT16 0x0022 ok 65 - FFI_PL_TYPE_UINT32 0x0023 ok 66 - FFI_PL_TYPE_UINT64 0x0024 ok 67 - FFI_PL_BASE_FLOAT 0x0040 ok 68 - FFI_PL_TYPE_FLOAT 0x0043 ok 69 - FFI_PL_TYPE_DOUBLE 0x0044 ok 70 - FFI_PL_TYPE_LONG_DOUBLE 0x0045 ok 71 - FFI_PL_BASE_COMPLEX 0x0080 ok 72 - FFI_PL_TYPE_COMPLEX_FLOAT 0x0084 ok 73 - FFI_PL_TYPE_COMPLEX_DOUBLE 0x0085 ok 74 - FFI_PL_BASE_OPAQUE 0x0100 ok 75 - FFI_PL_TYPE_OPAQUE 0x0104 ok 76 - FFI_PL_BASE_STRING 0x0200 ok 77 - FFI_PL_TYPE_STRING 0x0304 ok 78 - FFI_PL_BASE_CLOSURE 0x0400 ok 79 - FFI_PL_TYPE_CLOSURE 0x0504 ok 80 - FFI_PL_BASE_RECORD 0x0800 ok 81 - FFI_PL_TYPE_RECORD 0x0904 ok 82 - FFI_PL_BASE_MASK 0x0ff8 ok 83 - FFI_PL_SHAPE_POINTER 0x1000 ok 84 - FFI_PL_SHAPE_ARRAY 0x2000 ok 85 - FFI_PL_SHAPE_CUSTOM_PERL 0x4000 ok 86 - FFI_PL_SHAPE_CUSTOM_MASK 0xf000 1..86 ok 1 - basic 1..1 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 sint64 # blksize_t sint64 # bool uint8 # char sint8 # dev_t uint64 # double double # double complex longdouble # float float # float complex double # gid_t uint32 # ino_t uint64 # int sint32 # int16_t sint16 # int32_t sint32 # int64_t sint64 # int8_t sint8 # intptr_t sint64 # long sint64 # long double longdouble # long double complex longdouble # long long sint64 # mode_t uint32 # nlink_t uint64 # off_t sint64 # ptrdiff_t sint64 # short sint16 # signed char sint8 # signed int sint32 # signed long sint64 # signed long long sint64 # signed short sint16 # size_t uint64 # ssize_t sint64 # time_t sint64 # uchar uint8 # uid_t uint32 # uint uint32 # uint16_t uint16 # uint32_t uint32 # uint64_t uint64 # uint8_t uint8 # uintptr_t uint64 # ulong uint64 # unsigned char uint8 # unsigned int uint32 # unsigned long uint64 # unsigned long long uint64 # unsigned short uint16 # ushort uint16 # wchar_t sint32 # wint_t uint32 ok 1 - good 1..1 ok t/ffi_platypus_memory.t .................. # lib=undef # lib=/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.90-nSvdIV/blib/lib/auto/share/dist/FFI-Platypus/lib/libplfill.so # Subtest: malloc calloc memset free ok 1 - malloc returns 29256224 ok 2 - calloc returns 30233600 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 = 32810624 ok 2 - initial data copied ok 3 - realloc call ptr = 33403584 (2) ok 4 - after realloc data there ok 5 - final free 1..5 ok 3 - realloc # Subtest: strdup # strdup implementation = libc ok 1 - string = this and ok 2 - free $ptr1 1..2 ok 4 - strdup # Subtest: strndup # strndup implementation = libc # Subtest: full string ok 1 1..1 ok 1 - full string # Subtest: partial string ok 1 1..1 ok 2 - partial string 1..2 ok 5 - strndup 1..5 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 # {'ffi_type' => 'pointer','ref' => 1,'size' => 8,'type' => 'record','type_code' => 2308} # {'ffi_type' => 'pointer','ref' => 0,'size' => 8,'type' => 'record','type_code' => 2308} 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 = 24137056 ok 13 - opaque = 24137056 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 187. 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 = 23956000,undef,23954256 ok 2 - opaque = 23956000,23956000,23954256 ok 3 - opaque = undef,23956000,23954256 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 341. 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' # }, # 'alien' => { # 'class' => 'Alien::FFI', # 'mode' => 'already-installed' # }, # 'align' => { # 'double' => '8', # 'double complex' => '8', # 'float' => '4', # 'float complex' => '4', # 'long double' => '16', # 'long double complex' => '16', # 'pointer' => '8', # 'sint16' => '2', # 'sint32' => '4', # 'sint64' => '8', # 'sint8' => '1', # 'uint16' => '2', # 'uint32' => '4', # 'uint64' => '8', # 'uint8' => '1' # }, # 'ccflags' => '-I/data/fly2400/cpanfly-5.24/var/megalib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include', # 'config_dlext' => [ # 'so' # ], # 'diag' => {}, # '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' # ], # 'probe' => { # 'abi' => 1, # 'alloca' => 1, # 'bigendian' => 0, # 'bigendian64' => 0, # 'longdouble' => 1 # }, # 'test-key' => 'test-value', # 'type_map' => { # 'blkcnt_t' => 'sint64', # 'blksize_t' => 'sint64', # 'bool' => 'uint8', # 'char' => 'sint8', # 'dev_t' => 'uint64', # 'double' => 'double', # 'double complex' => 'longdouble', # 'float' => 'float', # 'float complex' => 'double', # 'gid_t' => 'uint32', # 'ino_t' => 'uint64', # 'int' => 'sint32', # 'int16_t' => 'sint16', # 'int32_t' => 'sint32', # 'int64_t' => 'sint64', # 'int8_t' => 'sint8', # 'intptr_t' => 'sint64', # 'long' => 'sint64', # 'long double' => 'longdouble', # 'long double complex' => 'longdouble', # 'long long' => 'sint64', # 'mode_t' => 'uint32', # 'nlink_t' => 'uint64', # 'off_t' => 'sint64', # 'ptrdiff_t' => 'sint64', # 'short' => 'sint16', # 'signed char' => 'sint8', # 'signed int' => 'sint32', # 'signed long' => 'sint64', # 'signed long long' => 'sint64', # 'signed short' => 'sint16', # 'size_t' => 'uint64', # 'ssize_t' => 'sint64', # 'time_t' => 'sint64', # 'uchar' => 'uint8', # 'uid_t' => 'uint32', # 'uint' => 'uint32', # 'uint16_t' => 'uint16', # 'uint32_t' => 'uint32', # 'uint64_t' => 'uint64', # 'uint8_t' => 'uint8', # 'uintptr_t' => 'uint64', # 'ulong' => 'uint64', # 'unsigned char' => 'uint8', # 'unsigned int' => 'uint32', # 'unsigned long' => 'uint64', # 'unsigned long long' => 'uint64', # 'unsigned short' => 'uint16', # 'ushort' => 'uint16', # 'wchar_t' => 'sint32', # 'wint_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_stringarray.t ........ # Subtest: fixed length input # Subtest: with default ok 1 - a1(0) = foo ok 2 - a1(0) = bar ok 3 - a1(0) = baz ok 4 - a1(0) = hey ok 5 - a1(0) = five ok 6 - a1(0) = undef 1..6 ok 1 - with default # Subtest: with default ok 1 - a2(0) = foo ok 2 - a2(0) = bar ok 3 - a2(0) = baz ok 4 - a2(0) = undef ok 5 - a2(0) = five ok 6 - a2(0) = undef 1..6 ok 2 - with default 1..2 ok 1 - fixed length input # Subtest: variable length input ok 1 - get_string_from_array(@list, 0) = foo ok 2 - get_string_from_array(@list, 1) = bar ok 3 - get_string_from_array(@list, 2) = baz ok 4 - get_string_from_array(@list, 3) = undef 1..4 ok 2 - variable length input # Subtest: fixed length return ok 1 - returns null ok 2 - returns with just strings ok 3 - returns with NULL/undef in the middle ok 4 - returns with NULL/undef in the middle with default 1..4 ok 3 - fixed length return # Subtest: null terminated return ok 1 - returns null ok 2 ok 3 ok 4 1..4 ok 4 - null terminated return 1..4 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 t/ffi_probe.t ............................ # Subtest: check_header ok 1 - An object of class 'FFI::Probe' isa 'FFI::Probe' # PR header."stdio.h"=1 # PR header."bogus/does/not/exist.h"=0 ok 2 ok 3 # ==probe.log== # code: #include # CC ffi-probe-LpcTNo/ffi_build_NWOkDK.c # header."stdio.h"=1 # code: #include # code: #include # +gcc -fPIC -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 -c ffi-probe-LpcTNo/ffi_build_qfLWBp.c -o ffi-probe-LpcTNo/_build/ffi_build_qfLWBp.c.o # ffi-probe-LpcTNo/ffi_build_qfLWBp.c:2:34: fatal error: bogus/does/not/exist.h: No such file or directory # compilation terminated. # header."bogus/does/not/exist.h"=0 # ==probe.pl== # do { my $x = { # 'header' => { # 'bogus/does/not/exist.h' => 0, # 'stdio.h' => 1 # } # }; # $x;} ok 4 ok 5 # ok 6 ok 7 # ==probe2.log== # ==probe.pl== # do { my $x = { # 'header' => { # 'bogus/does/not/exist.h' => 0, # 'stdio.h' => 1 # } # }; # $x;} 1..7 ok 1 - check_header # Subtest: check_eval # PR foo.bar.baz=3 ok 1 - foo.bar.baz ok 2 # PR foo.bar.string=hello world 7 ok 3 - foo.bar.string ok 4 # PR header."stddef.h"=1 # PR type.unsigned char.align=1 # PR type.unsigned char.sign=unsigned # PR type.unsigned char.size=1 ok 5 ok 6 ok 7 ok 8 # PR type.float.align=4 # PR type.float.size=4 ok 9 ok 10 ok 11 # PR type.pointer.align=8 # PR type.pointer.size=8 ok 12 ok 13 ok 14 # ==probe.log== # code: #include # code: # code: # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", 1+2); # code: # code: return 0; # code: } # [build] # CC ffi-probe-bJdFE6/ffi_build_Oh2tqy.c # LD ffi-probe-bJdFE6/libeval1.so # [stdout] # eval1=<<<3>>> # [stderr] # # rv = 0 # foo.bar.baz=3 # code: #include # code: # code: char buffer[256]; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: sprintf(buffer, "hello world %d", 3+4); # code: # code: printf("eval1=<<<%s>>>\n", buffer); # code: # code: return 0; # code: } # [build] # CC ffi-probe-bJdFE6/ffi_build_HjyvSu.c # LD ffi-probe-bJdFE6/libeval2.so # [stdout] # eval1=<<>> # [stderr] # # rv = 0 # foo.bar.string=hello world 7 # code: #include # CC ffi-probe-bJdFE6/ffi_build_ObUtU_.c # header."stddef.h"=1 # code: #include # code: #include # code: # code: #define signed(type) (((type)-1) < 0) ? "signed" : "unsigned" # code: struct align { char a; unsigned char b; }; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", (int)offsetof(struct align, b)); # code: printf("eval2=<<<%s>>>\n", signed(unsigned char)); # code: printf("eval3=<<<%d>>>\n", (int)sizeof(unsigned char)); # code: # code: return 0; # code: } # [build] # CC ffi-probe-bJdFE6/ffi_build_NpYbLp.c # LD ffi-probe-bJdFE6/libeval4.so # [stdout] # eval1=<<<1>>> # eval2=<<>> # eval3=<<<1>>> # [stderr] # # rv = 0 # type.unsigned char.align=1 # type.unsigned char.sign=unsigned # type.unsigned char.size=1 # code: #include # code: #include # code: # code: struct align { char a; float b; }; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", (int)offsetof(struct align, b)); # code: printf("eval2=<<<%d>>>\n", (int)sizeof(float)); # code: # code: return 0; # code: } # [build] # CC ffi-probe-bJdFE6/ffi_build_H2_I0Y.c # LD ffi-probe-bJdFE6/libeval5.so # [stdout] # eval1=<<<4>>> # eval2=<<<4>>> # [stderr] # # rv = 0 # type.float.align=4 # type.float.size=4 # code: #include # code: #include # code: # code: struct align { char a; void* b; }; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", (int)offsetof(struct align, b)); # code: printf("eval2=<<<%d>>>\n", (int)sizeof(void *)); # code: # code: return 0; # code: } # [build] # CC ffi-probe-bJdFE6/ffi_build_xCp0Jo.c # LD ffi-probe-bJdFE6/libeval6.so # [stdout] # eval1=<<<8>>> # eval2=<<<8>>> # [stderr] # # rv = 0 # type.pointer.align=8 # type.pointer.size=8 # ==probe.pl== # do { my $x = { # 'foo' => { # 'bar' => { # 'baz' => '3', # 'string' => 'hello world 7' # } # }, # 'header' => { # 'stddef.h' => 1 # }, # 'type' => { # 'float' => { # 'align' => '4', # 'size' => '4' # }, # 'pointer' => { # 'align' => '8', # 'size' => '8' # }, # 'unsigned char' => { # 'align' => '1', # 'sign' => 'unsigned', # 'size' => '1' # } # } # }; # $x;} 1..14 ok 2 - check_eval 1..2 ok t/ffi_probe_runner.t ..................... # Subtest: basic # exe=blib/lib/auto/share/dist/FFI-Platypus/probe/bin/dlrun ok 1 - An object of class 'FFI::Probe::Runner' isa 'FFI::Probe::Runner' ok 2 ok 3 1..3 ok 1 - basic # Subtest: run not pass # CC corpus/ffi_probe_runner/foo.c # LD test-probe-OmAxR_/libfrooble1.so # lib=test-probe-OmAxR_/libfrooble1.so ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 1..9 ok 2 - run not pass # Subtest: run pass # CC corpus/ffi_probe_runner/bar.c # LD test-probe-62OHQu/libfrooble2.so # lib=test-probe-62OHQu/libfrooble2.so ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 1..9 ok 3 - run pass 1..3 ok t/ffi_probe_runner_builder.t ............. # dir = test-probe-duVajh # libs=-ldl # libs= # libs=-lpthread # libs=-lnsl # libs=-lm # libs=-lcrypt # libs=-lutil # libs=-lc ok 1 - An object of class 'FFI::Probe::Runner::Builder' isa 'FFI::Probe::Runner::Builder' # +gcc -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 -c -o test-probe-duVajh/src/dlrun.o test-probe-duVajh/src/dlrun.c # +gcc -fstack-protector -o test-probe-duVajh/bin/dlrun test-probe-duVajh/src/dlrun.o -ldl # +test-probe-duVajh/bin/dlrun verify self # dlrun verify self ok ok 2 - no error ok 3 - executable exists # exe = test-probe-duVajh/bin/dlrun # + test-probe-duVajh/bin/dlrun verify self # dlrun verify self ok ok 4 - verify ok # + ldd test-probe-duVajh/bin/dlrun # linux-vdso.so.1 => (0x00007fff19fa9000) # libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00002b3073914000) # libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00002b3073b18000) # /lib64/ld-linux-x86-64.so.2 (0x00002b30736ef000) 1..4 ok t/ffi_probe_runner_result.t .............. ok 1 - An object of class 'FFI::Probe::Runner::Result' isa 'FFI::Probe::Runner::Result' ok 2 ok 3 - An object of class 'FFI::Probe::Runner::Result' isa 'FFI::Probe::Runner::Result' ok 4 ok 5 ok 6 - An object of class 'FFI::Probe::Runner::Result' isa 'FFI::Probe::Runner::Result' ok 7 ok 8 1..8 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 66) 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. t/forks.t ................................ Dubious, test returned 22 (wstat 5632, 0x1600) No subtests run t/gh117.t ................................ # value64 = 1099511627775 ok 1 1..1 ok t/gh129.t ................................ # Subtest: attached function ok 1 1..1 ok 1 - attached function # Subtest: dynamic function ok 1 1..1 ok 2 - dynamic function # Subtest: type wrapper argument ok 1 1..1 ok 3 - type wrapper argument # Subtest: type wrapper argument post ok 1 1..1 ok 4 - type wrapper argument post # Subtest: type wrapper return type ok 1 1..1 ok 5 - type wrapper return type 1..5 ok 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(42942368); getp() = 42942368 ok 6 - get($tmp); tmp = 42942368 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_out_nt() ok 14 - ra_null_out ok 15 - pp2p(\undef) = undef ok 16 - pp2p(\29509104) = 29509104 ok 17 - p2pp(undef) = \undef ok 18 - pp2p(29509104) = \29509104 ok 19 - call_closure(undef) = undef ok 20 - save = undef ok 21 - call_closure(\42997536) = 42997536 ok 22 - save = 42997536 # Subtest: custom type input ok 1 ok 2 1..2 ok 23 - custom type input # Subtest: custom type output ok 1 ok 2 1..2 ok 24 - custom type output 1..24 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 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 # Subtest: fixed length input # Subtest: with default ok 1 - a2(0) = foo ok 2 - a2(0) = bar ok 3 - a2(0) = baz ok 4 - a2(0) = undef ok 5 - a2(0) = five 1..5 ok 1 - with default 1..1 ok 26 - fixed length input # Subtest: variable length input ok 1 - get_string_from_array(@list, 0) = foo ok 2 - get_string_from_array(@list, 1) = bar ok 3 - get_string_from_array(@list, 2) = baz ok 4 - get_string_from_array(@list, 3) = undef 1..4 ok 27 - variable length input # Subtest: fixed length return ok 1 - returns null ok 2 - returns with just strings ok 3 - returns with NULL/undef in the middle 1..3 ok 28 - fixed length return # Subtest: null terminated return ok 1 - returns null ok 2 ok 3 ok 4 1..4 ok 29 - null terminated return # Subtest: argument update ok 1 1..1 ok 30 - argument update # Subtest: write to string ok 1 1..1 ok 31 - write to string 1..31 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=55, Tests=486, 19 wallclock secs ( 0.31 usr 0.14 sys + 14.20 cusr 3.50 csys = 18.15 CPU) Result: FAIL Failed 1/55 test programs. 0/486 subtests failed. make: *** [test_dynamic] Error 255 PLICEASE/FFI-Platypus-0.90.tar.gz make test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports PLICEASE/FFI-Platypus-0.90.tar.gz Running test for module 'FFI::Platypus::DL' PLICEASE/FFI-Platypus-0.90.tar.gz Has already been unwrapped into directory /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/FFI-Platypus-0.90-nSvdIV PLICEASE/FFI-Platypus-0.90.tar.gz Has already been prepared PLICEASE/FFI-Platypus-0.90.tar.gz Has already been made PLICEASE/FFI-Platypus-0.90.tar.gz Won't repeat unsuccessful test during this command PLICEASE/Alien-nragent-0.06.tar.gz Has already been unwrapped into directory /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of PLICEASE/Alien-nragent-0.06.tar.gz Has already been prepared Running make for P/PL/PLICEASE/Alien-nragent-0.06.tar.gz Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'FFI::Platypus => 0' for 'PLICEASE/Alien-nragent-0.06.tar.gz' failed when processing 'PLICEASE/FFI-Platypus-0.90.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'FFI::Platypus::DL => 0' for 'PLICEASE/Alien-nragent-0.06.tar.gz' failed when processing 'PLICEASE/FFI-Platypus-0.90.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.06 "/data/fly2400/ap2400-300558/bin/perl-static" -MAlien::Build::MM=cmd -e download Alien::Build::Plugin::Core::Download> downloaded nr_agent_sdk-v0.17.0.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.06-Ctq0Of/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.06-Ctq0Of/blib/lib/auto/share/dist/Alien-nragent/lib Alien::Build::CommandSequence> + cp LICENSE /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/blib/lib/auto/share/dist/Alien-nragent Alien::Build::CommandSequence> + cp -a include/* /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/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.06-Ctq0Of/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.06-Ctq0Of/blib/lib/auto/share/dist/Alien-nragent/_alien Manifying 1 pod document PLICEASE/Alien-nragent-0.06.tar.gz make -- OK Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.06-Ctq0Of/blib/lib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch:/data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib:/data/fly2400/cpanfly-5.24/var/megalib # PERL5OPT= # PERL5_CPANPLUS_IS_RUNNING=20755 # PERL5_CPAN_IS_RUNNING=20755 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=18780,20755 # 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.06-Ctq0Of/blib/lib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch # /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib # /data/fly2400/cpanfly-5.24/var/megalib # # # # perl 5.024000 # Alien::Base 1.78 # Alien::Build 1.78 # Alien::Build::MM 1.78 # Capture::Tiny 0.48 # ExtUtils::MakeMaker 7.16 # FFI::CheckLib 0.25 # FFI::Platypus - # FFI::Platypus::DL - # Test2::V0 0.000084 # Test::Alien 1.78 # # # 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.06-Ctq0Of/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.06-Ctq0Of/blib/lib/Alien/nragent.pm line 6. BEGIN failed--compilation aborted at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/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.06-Ctq0Of/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.06-Ctq0Of/blib/lib/Alien/nragent.pm line 6. # BEGIN failed--compilation aborted at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/blib/lib/Alien/nragent.pm line 6. # Compilation failed in require at (eval 80) 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.06-Ctq0Of/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/lib /data/fly2400/cpanfly-5.24/var/megalib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-Build-1.78-9NaHn2/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.06-Ctq0Of/blib/lib/Alien/nragent.pm line 6. BEGIN failed--compilation aborted at /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Alien-nragent-0.06-Ctq0Of/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.03 usr 0.02 sys + 0.65 cusr 0.14 csys = 0.84 CPU) Result: FAIL Failed 3/3 test programs. 1/2 subtests failed. make: *** [test_dynamic] Error 2 PLICEASE/Alien-nragent-0.06.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.06.tar.gz VmSize: 366256 kB Finished 2019-07-03T02:03:41