Nasm-X86 v20210403 Perl 5 v5.28.0 x86_64-linux-thread-multi
- Status
- Pass
- From
- Chris Williams (BINGOS)
- Dist
-
Nasm-X86 v20210403
- Platform
- Perl 5 v5.28.0 x86_64-linux-thread-multi
- Date
- 2021-04-09 06:32:58
- ID
- 6d09d940-98fd-11eb-84bc-edd243e66a77
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear PRBRENAN,
This is a computer-generated error report created automatically by
CPANPLUS, version 0.9910. Testers personal comments may appear
at the end of this report.
Thank you for uploading your work to CPAN. Congratulations!
All tests were successful.
TEST RESULTS:
Below is the error stack from stage 'make test':
Unable to confirm presence of command: nasm
at /home/cpan/pit/jail/RAXVc6drzF/lib/perl5/Data/Table/Text.pm line 4675, <DATA> line 269.
Data::Table::Text::confirmHasCommandLineCommand("nasm") called at (eval 270) line 11
eval 'use Time::HiRes qw(time);
use Test::More;
my $localTest = ((caller(1))[0]//\'Nasm::X86\') eq "Nasm::X86"; # Local testing mode
Test::More->builder->output("/dev/null") if $localTest; # Reduce number of confirmation messages during testing
$ENV{PATH} = $ENV{PATH}.":/var/isde:sde"; # Intel emulator
if ($^O =~ m(bsd|linux)i) # Supported systems
{if (confirmHasCommandLineCommand(q(nasm)) and # Network assembler
confirmHasCommandLineCommand(q(sde64))) # Intel emulator
{plan tests => 20;
}
else
{plan skip_all =>qq(Nasm or Intel 64 emulator not available);
}
}
else
{plan skip_all =>qq(Not supported on: $^O);
}
my $start = time; # Tests
#goto latest;
if (1) { #TExit #TPrintOutString #Tassemble #TStart
Start;
PrintOutString "Hello World";
Exit;
ok assemble =~ m(Hello World);
}
if (1) { #TMov #TComment #TRs #TPrintOutNl
Start;
Comment "Print a string from memory";
my $s = "Hello World";
my $m = Rs($s);
Mov rsi, $m;
PrintOutString rsi, length($s);
Exit;
ok assemble =~ m(Hello World);
}
if (1) { #TPrintOutRaxInHex #TXor
Start;
my $q = Rs(\'abababab\');
Mov(rax, "[$q]");
PrintOutString "rax: ";
PrintOutRaxInHex;
PrintOutNl;
Xor rax, rax;
PrintOutString "rax: ";
PrintOutRaxInHex;
PrintOutNl;
Exit;
ok assemble() =~ m(rax: 6261 6261 6261 6261.*rax: 0000 0000 0000 0000)s;
}
if (1) { #TPrintOutRegistersInHex #TLea
Start;
my $q = Rs(\'abababab\');
Mov(rax, 1);
Mov(rbx, 2);
Mov(rcx, 3);
Mov(rdx, 4);
Mov(r8, 5);
Lea r9, "[rax+rbx]";
PrintOutRegistersInHex;
Exit;
ok assemble() =~ m(r8: 0000 0000 0000 0005.*r9: 0000 0000 0000 0003.*rax: 0000 0000 0000 0001)s;
}
if (1) { #TVmovdqu32 #TVprolq #TDs
Start;
my $q = Rs(\'a\'..\'z\');
my $d = Ds(\'0\'x64); # Output area
Vmovdqu32(xmm0, "[$q]"); # Load
Vprolq (xmm0, xmm0, 32); # Rotate double words in quad words
Vmovdqu32("[$d]", xmm0); # Save
PrintOutString($d, 16);
Exit;
ok assemble() =~ m(efghabcdmnopijkl)s;
}
if (1) {
Start;
my $q = Rs((\'a\'..\'p\')x2);
my $d = Ds(\'0\'x64);
Vmovdqu32(ymm0, "[$q]");
Vprolq (ymm0, ymm0, 32);
Vmovdqu32("[$d]", ymm0);
PrintOutString($d, 32);
Exit;
ok assemble() =~ m(efghabcdmnopijklefghabcdmnopijkl)s;
}
if (1) { #TPopR #TVmovdqu64
Start;
my $q = Rs((\'a\'..\'p\')x4);
my $d = Ds(\'0\'x128);
Vmovdqu32(zmm0, "[$q]");
Vprolq (zmm0, zmm0, 32);
Vmovdqu32("[$d]", zmm0);
PrintOutString($d, 64);
Sub rsp, 64;
Vmovdqu64 "[rsp]", zmm0;
PopR rax;
PrintOutRaxInHex;
Exit;
ok assemble() =~ m(efghabcdmnopijklefghabcdmnopijklefghabcdmnopijklefghabcdmnopijkl)s;
}
if (1) { #TPrintOutRegisterInHex
Start;
my $q = Rs((\'a\'..\'p\')x4);
Mov r8,"[$q]";
PrintOutRegisterInHex r8;
Exit;
ok assemble() =~ m(r8: 6867 6665 6463 6261)s;
}
if (1) { #TVmovdqu8
Start;
my $q = Rs(\'a\'..\'p\');
Vmovdqu8 xmm0, "[$q]";
PrintOutRegisterInHex xmm0;
Exit;
ok assemble() =~ m(xmm0: 706F 6E6D 6C6B 6A69 6867 6665 6463 6261)s;
}
if (1) {
Start;
my $q = Rs(\'a\'..\'p\', \'A\'..\'P\', );
Vmovdqu8 ymm0, "[$q]";
PrintOutRegisterInHex ymm0;
Exit;
ok assemble() =~ m(ymm0: 504F 4E4D 4C4B 4A49 4847 4645 4443 4241 706F 6E6D 6C6B 6A69 6867 6665 6463 6261)s;
}
if (1) {
Start;
my $q = Rs((\'a\'..\'p\', \'A\'..\'P\') x 2);
Vmovdqu8 zmm0, "[$q]";
PrintOutRegisterInHex zmm0;
Exit;
ok assemble() =~ m(zmm0: 504F 4E4D 4C4B 4A49 4847 4645 4443 4241 706F 6E6D 6C6B 6A69 6867 6665 6463 6261 504F 4E4D 4C4B 4A49 4847 4645 4443 4241 706F 6E6D 6C6B 6A69 6867 6665 6463 6261)s;
}
if (1) { #TallocateMemory #TfreeMemory
Start;
my $N = 2048;
my $n = Rq($N);
my $q = Rs(\'a\'..\'p\');
allocateMemory "[$n]";
PrintOutRegisterInHex rax;
Vmovdqu8 xmm0, "[$q]";
Vmovdqu8 "[rax]", xmm0;
PrintOutString rax,16;
PrintOutNl;
Mov rbx, rax;
freeMemory rbx, "[$n]";
PrintOutRegisterInHex rax;
Vmovdqu8 "[rbx]", xmm0;
Exit;
ok assemble() =~ m(abcdefghijklmnop)s;
}
if (1) { #TreadTimeStampCounter
Start;
for(1..10)
{readTimeStampCounter;
PrintOutRegisterInHex rax;
}
Exit;
my @s = split /\\n/, assemble();
my @S = sort @s;
is_deeply \\@s, \\@S;
}
if (1) { #TIf
Start;
Mov rax, 0;
Test rax,rax;
If
{PrintOutRegisterInHex rax;
} sub
{PrintOutRegisterInHex rbx;
};
Mov rax, 1;
Test rax,rax;
If
{PrintOutRegisterInHex rcx;
} sub
{PrintOutRegisterInHex rdx;
};
Exit;
ok assemble() =~ m(rbx.*rcx)s;
}
if (1) { #TFork #TGetPid #TGetPPid #TWaitPid
Start; # Start the program
Fork; # Fork
Test rax,rax;
If # Parent
{Mov rbx, rax;
WaitPid;
PrintOutRegisterInHex rax;
PrintOutRegisterInHex rbx;
GetPid; # Pid of parent as seen in parent
Mov rcx,rax;
PrintOutRegisterInHex rcx;
}
sub # Child
{Mov r8,rax;
PrintOutRegisterInHex r8;
GetPid; # Child pid as seen in child
Mov r9,rax;
PrintOutRegisterInHex r9;
GetPPid; # Parent pid as seen in child
Mov r10,rax;
PrintOutRegisterInHex r10;
};
Exit; # Return to operating system
my $r = assemble();
# r8: 0000 0000 0000 0000 #1 Return from fork as seen by child
# r9: 0000 0000 0003 0C63 #2 Pid of child
# r10: 0000 0000 0003 0C60 #3 Pid of parent from child
# rax: 0000 0000 0003 0C63 #4 Return from fork as seen by parent
# rbx: 0000 0000 0003 0C63 #5 Wait for child pid result
# rcx: 0000 0000 0003 0C60 #6 Pid of parent
if ($r =~ m(r8:( 0000){4}.*r9:(.*)\\s{5,}r10:(.*)\\s{5,}rax:(.*)\\s{5,}rbx:(.*)\\s{5,}rcx:(.*)\\s{2,})s)
{ok $2 eq $4;
ok $2 eq $5;
ok $3 eq $6;
ok $2 gt $6;
}
}
if (1) { #TFork #TGetPid #TGetPPid #TWaitPid
Start; # Start the program
GetUid; # Userid
PrintOutRegisterInHex rax;
Exit; # Return to operating system
my $r = assemble();
ok $r =~ m(rax:( 0000){3});
}
latest:;
if (1) { #TStat
Start; # Start the program
my $f = Rs($0); # File to stat
StatSize($f); # Stat the file
PrintOutRegisterInHex rax;
Exit; # Return to operating system
my $r = assemble() =~ s( ) ()gsr;
if ($r =~ m(rax:([0-9a-f]{16}))is) # Compare file size obtained with that from fileSize()
{is_deeply $1, sprintf("%016X", fileSize($0));
}
}
lll "Finished:", time - $start;
' called at /home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/YyWFjmYblX/Nasm-X86-20210403/blib/lib/Nasm/X86.pm line 1846
Nasm::X86::test() called at test.pl line 11
test.pl .. skipped: Nasm or Intel 64 emulator not available
Files=1, Tests=0, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.15 cusr 0.02 csys = 0.18 CPU)
Result: NOTESTS
PREREQUISITES:
Here is a list of prerequisites you specified and versions we
managed to load:
Module Name Have Want
Asm::C 20210330 0
Carp 1.50 0
Data::Dump 1.23 0
Data::Table::Text 20210328 0
Test2::API 1.302183 0
Test::More 1.302183 0
feature 1.52 0
Perl module toolchain versions installed:
Module Name Have
CPANPLUS 0.9910
CPANPLUS::Dist::Build 0.90
Cwd 3.75
ExtUtils::CBuilder 0.280236
ExtUtils::Command 7.60
ExtUtils::Install 2.20
ExtUtils::MakeMaker 7.60
ExtUtils::Manifest 1.73
ExtUtils::ParseXS 3.39
File::Spec 3.75
Module::Build 0.4231
Pod::Parser 1.63
Pod::Simple 3.35
Test2 1.302183
Test::Harness 3.42
Test::More 1.302183
version 0.9928
******************************** NOTE ********************************
The comments above are created mechanically, possibly without manual
checking by the sender. As there are many people performing automatic
tests on each upload to CPAN, it is likely that you will receive
identical messages about the same problem.
If you believe that the message is mistaken, please reply to the first
one with correction and/or additional informations, and do not take
it personally. We appreciate your patience. :)
**********************************************************************
Additional comments:
This report was machine-generated by CPANPLUS::Dist::YACSmoke 1.08.
Powered by minismokebox version 0.68
CPANPLUS is prefering Build.PL
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
AUTOMATED_TESTING = 1
LANG = C.UTF-8
LC_COLLATE = C
NONINTERACTIVE_TESTING = 1
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PERL5LIB = /home/cpan/pit/jail/RAXVc6drzF/lib/perl5:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/JX2aeMXUX2/Data-Table-Text-20210328/blib/lib:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/JX2aeMXUX2/Data-Table-Text-20210328/blib/arch:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/wKLFal34pm/Asm-C-20210330/blib/lib:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/wKLFal34pm/Asm-C-20210330/blib/arch:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/YyWFjmYblX/Nasm-X86-20210403/blib/lib:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/YyWFjmYblX/Nasm-X86-20210403/blib/arch
PERL5_CPANPLUS_IS_RUNNING = 17559
PERL5_CPANPLUS_IS_VERSION = 0.9910
PERL5_MINISMOKEBOX = 0.68
PERL5_YACSMOKE_BASE = /home/cpan/pit/thr/conf/perl-5.28.0
PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
PERL_LOCAL_LIB_ROOT = /home/cpan/pit/jail/RAXVc6drzF
PERL_MB_OPT = --install_base "/home/cpan/pit/jail/RAXVc6drzF"
PERL_MM_OPT = INSTALL_BASE=/home/cpan/pit/jail/RAXVc6drzF
PERL_MM_USE_DEFAULT = 1
SHELL = /bin/bash
TERM = screen
Perl special variables (and OS-specific diagnostics, for MSWin32):
Perl: $^X = /home/cpan/pit/thr/perl-5.28.0/bin/perl
UID: $< = 1001
EUID: $> = 1001
GID: $( = 1001 1001
EGID: $) = 1001 1001
-------------------------------
--
Summary of my perl5 (revision 5 version 28 subversion 0) configuration:
Platform:
osname=linux
osvers=5.10.16-0-lts
archname=x86_64-linux-thread-multi
uname='linux agaric 5.10.16-0-lts #1-alpine smp wed, 17 feb 2021 08:17:06 utc x86_64 linux '
config_args='-des -Dprefix=/home/cpan/pit/thr/perl-5.28.0 -Dusethreads'
hint=recommended
useposix=true
d_sigaction=define
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='cc'
ccflags ='-D_REENTRANT -D_GNU_SOURCE -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize='-O2'
cppflags='-D_REENTRANT -D_GNU_SOURCE -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong'
ccversion=''
gccversion='10.2.1 20201203'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/include/fortify /usr/lib /usr/local/lib /lib/../lib /usr/lib/../lib /lib
libs=-lpthread -lgdbm -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc
libc=/usr/lib/libc.a
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
MULTIPLICITY
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
USE_64_BIT_ALL
USE_64_BIT_INT
USE_ITHREADS
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
USE_REENTRANT_API
Locally applied patches:
Devel::PatchPerl 2.08
Built under linux
Compiled at Mar 13 2021 01:46:57
%ENV:
PERL5LIB="/home/cpan/pit/jail/RAXVc6drzF/lib/perl5:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/JX2aeMXUX2/Data-Table-Text-20210328/blib/lib:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/JX2aeMXUX2/Data-Table-Text-20210328/blib/arch:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/wKLFal34pm/Asm-C-20210330/blib/lib:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/wKLFal34pm/Asm-C-20210330/blib/arch:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/YyWFjmYblX/Nasm-X86-20210403/blib/lib:/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/YyWFjmYblX/Nasm-X86-20210403/blib/arch"
PERL5_CPANPLUS_IS_RUNNING="17559"
PERL5_CPANPLUS_IS_VERSION="0.9910"
PERL5_MINISMOKEBOX="0.68"
PERL5_YACSMOKE_BASE="/home/cpan/pit/thr/conf/perl-5.28.0"
PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
PERL_LOCAL_LIB_ROOT="/home/cpan/pit/jail/RAXVc6drzF"
PERL_MB_OPT="--install_base "/home/cpan/pit/jail/RAXVc6drzF""
PERL_MM_OPT="INSTALL_BASE=/home/cpan/pit/jail/RAXVc6drzF"
PERL_MM_USE_DEFAULT="1"
@INC:
/home/cpan/pit/jail/RAXVc6drzF/lib/perl5/5.28.0/x86_64-linux-thread-multi
/home/cpan/pit/jail/RAXVc6drzF/lib/perl5/5.28.0
/home/cpan/pit/jail/RAXVc6drzF/lib/perl5/x86_64-linux-thread-multi
/home/cpan/pit/jail/RAXVc6drzF/lib/perl5
/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/JX2aeMXUX2/Data-Table-Text-20210328/blib/lib
/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/JX2aeMXUX2/Data-Table-Text-20210328/blib/arch
/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/wKLFal34pm/Asm-C-20210330/blib/lib
/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/wKLFal34pm/Asm-C-20210330/blib/arch
/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/YyWFjmYblX/Nasm-X86-20210403/blib/lib
/home/cpan/pit/thr/conf/perl-5.28.0/.cpanplus/5.28.0/build/YyWFjmYblX/Nasm-X86-20210403/blib/arch
/home/cpan/pit/thr/perl-5.28.0/lib/site_perl/5.28.0/x86_64-linux-thread-multi
/home/cpan/pit/thr/perl-5.28.0/lib/site_perl/5.28.0
/home/cpan/pit/thr/perl-5.28.0/lib/5.28.0/x86_64-linux-thread-multi
/home/cpan/pit/thr/perl-5.28.0/lib/5.28.0